{"version":3,"file":"static/js/3927.27f9bc1be8c5f6832208.js","mappings":"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","sources":["components/Connect2024/connectHelpers.ts","components/CircleProgressBar.tsx","helpers/countdownHelpers.ts","components/Countdown.tsx","components/IconComponents/OutlinedCheckmarkIcon.tsx","components/IconComponents/ZoomIcon.tsx","components/PageSection.tsx","components/LayeredBackground/LayeredImageBackground.tsx","components/LayeredBackground/LayeredVideoBackground.tsx","components/LayeredBackground/LayeredColorBackground.tsx","components/LayeredBackground/LayeredGradientBackground.tsx","components/LayeredBackground/LayeredBackground.tsx","components/PageSectionWrapper.tsx","components/styleObjects/pictureDialogStyle.ts","components/PictureDialog.tsx","components/PopupPicture.tsx","components/SectionComponents/BulletPointsHeader.tsx","components/SectionComponents/styleObjects/CapterraTestimonialStyles.ts","components/SectionComponents/CapterraTestimonialCard.tsx","components/SectionComponents/CapterraTestimonial.tsx","components/SectionComponents/styleObjects/cardCarouselStyles.ts","services/tagPublicService.ts","services/categoryPublicService.ts","services/pressReleasePublicService.ts","components/SectionComponents/CardCarousel.tsx","components/IconComponents/RightChevronIconRound.tsx","components/SectionComponents/styleObjects/CtaBannerCarouselSyles.ts","components/SectionComponents/CtaBanner.tsx","components/SectionComponents/CtaBannerCarousel.tsx","components/SectionComponents/CustomFormLeadshareBox.tsx","components/SectionComponents/CustomFormPPCHeader.tsx","components/SectionComponents/styleObjects/FeatureIcons.ts","components/SectionComponents/helpers/LargeStackItem.tsx","components/SectionComponents/helpers/SmallStackItem.tsx","components/SectionComponents/helpers/BoxFeatureItem.tsx","components/SectionComponents/Features.tsx","components/SectionComponents/GTMDataLayerForwarder.tsx","components/SectionComponents/styleObjects/IframeStyles.ts","components/SectionComponents/Iframe.tsx","components/SectionComponents/LandingPageHeader.tsx","components/SectionComponents/ModularSection.tsx","components/styleObjects/SubNavigation.ts","components/styleObjects/SubNavigationMobile.ts","components/SectionComponents/SubNavigationMobile.tsx","components/SectionComponents/SubNavigation.tsx","components/SectionComponents/TitleBodyButtons.tsx","services/videoPublicService.ts","components/SectionComponents/VideoLibrary/videoLibraryStyles.ts","components/IconComponents/TabIcon.tsx","components/SectionComponents/VideoLibrary/TagFilterBarMenu.tsx","components/SectionComponents/VideoLibrary/TagFilterBar.tsx","components/SectionComponents/VideoLibrary/MobileTagFilterBar.tsx","components/IconComponents/VideoPlayIcon.tsx","components/SectionComponents/VideoLibrary/VideoLibraryCard.tsx","components/SectionComponents/VideoLibrary/VideoLibraryContent.tsx","components/SectionComponents/VideoLibrary/VideoLibrary.tsx","components/SectionComponents/helpers/RenderColumnTypes.tsx","components/SectionComponents/helpers/styleObjects/Testimonial.ts","components/IconComponents/QuoteIcon.tsx","components/SectionComponents/helpers/Testimonial.tsx","components/SectionComponents/helpers/layeredBackgroundHelpers.ts","components/SectionComponents/helpers/modularSectionHelper.ts","components/SectionComponents/styleObjects/LeadShare.ts","components/styleObjects/pageSectionStyles.ts","helpers/debounceHelper.ts","hooks/useLazyLoad.ts","models/column.ts","models/layeredBackground.ts","models/section/cardCarouselSection.ts","services/sessionStorageService.js","stateManagement/atoms/admin.ts"],"sourcesContent":["export const connectColors = {\n electricBlue: '#0033FF',\n neonYellow: '#FFF100',\n neonGreen: '#00FF00',\n black: '#000000',\n white: '#FFFFFF',\n grey: '#7f8084',\n};\n\nexport const navLinks = [\n { text: 'Speakers', href: '#connect-speakers' },\n { text: 'Why attend', href: '#connect-why-attend' },\n { text: 'Sponsors', href: '#connect-sponsors' },\n { text: 'Exhibitors', href: '#connect-exhibitors' },\n { text: 'Registration fees', href: '#connect-fees' },\n { text: 'Video Hub', href: 'https://www.geotab.com/connect-video-hub', openInNewTab: true },\n];\n\nexport const registerLink = 'https://site.pheedloop.com/event/Connect2024/register#start';\n\nexport const scheduleLink = 'https://site.pheedloop.com/event/Connect2024/schedule';\n\nexport const liveStreamLink = 'https://pheedloop.com/Connect2024/virtual/?page=lobby';\n\nexport const keepInTouchLink = 'https://www.geotab.com/connect24-event-notice/';\n","import React from 'react';\nimport { Grid } from '@mui/material';\nimport { breakpoints, v2Colors } from '@web-for-marketing/react-ui';\nimport { Text } from '@web-for-marketing/react-ui';\nimport { connectColors } from './Connect2024/connectHelpers';\n\ninterface CircleProgressBarProps {\n percentage: number;\n innerText: string | number;\n outerText: string | number;\n connect2024?: boolean;\n}\n\nconst classes = {\n contentContainer: {\n textAlign: 'center',\n position: 'relative',\n },\n outerText: (connect2024?: boolean) =>\n ({\n color: connect2024 ? connectColors.white : v2Colors.core.geotab,\n fontWeight: connect2024 ? 500 : 700,\n letterSpacing: connect2024 ? '5.6px' : undefined,\n fontSize: connect2024 ? '2.8rem' : undefined,\n textTransform: connect2024 ? 'uppercase' : undefined,\n marginTop: connect2024 ? '3rem' : undefined,\n [`@media (max-width: ${breakpoints.sm})`]: {\n marginTop: connect2024 ? '1rem' : undefined,\n },\n }) as const,\n progress: (connect2024?: boolean) =>\n ({\n maxWidth: connect2024 ? '17rem' : undefined,\n maxHeight: connect2024 ? '17rem' : undefined,\n width: connect2024 ? '100%' : '12rem',\n height: connect2024 ? '100%' : '12rem',\n }) as const,\n} as const;\n\nconst circleConfig = {\n viewBox: '0 0 38 38',\n x: 19,\n y: 19,\n r: 15.91549430918954,\n};\n\nexport const CircleProgressBar = React.memo(\n ({ percentage, innerText, outerText, connect2024 }: CircleProgressBarProps) => {\n return (\n \n \n \n \n \n {innerText}\n \n \n \n {outerText}\n \n \n );\n }\n);\n\nCircleProgressBar.displayName = 'CircleProgressBar';\n","import dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\ndayjs.extend(utc);\n\ninterface TimeLeft {\n days: number;\n hours: number;\n minutes: number;\n seconds: number;\n}\n\nconst dateAndTimesFormatOrder = ['year', 'month', 'day', 'hour', 'minute'];\nconst parsedDateTimeFormat = 'YYYY/MM/DD/HH/mm';\n\nexport function getPercentage(value: number, total: number): number {\n return Math.round((value / total) * 100);\n}\n\nexport function calculateTimeLeft(utcDateTime: string): TimeLeft {\n let timeLeft = {\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n };\n\n const dateAndTimes = dayjs\n .utc(utcDateTime)\n .local()\n .format(parsedDateTimeFormat)\n .split('/')\n .reduce>((dateTimeObj, value, i) => {\n dateTimeObj[dateAndTimesFormatOrder[i]] = +value;\n return dateTimeObj;\n }, {});\n\n const currentDate = +new Date();\n const countdownDate = +new Date(\n dateAndTimes.year,\n dateAndTimes.month - 1,\n dateAndTimes.day,\n dateAndTimes.hour,\n dateAndTimes.minute\n );\n const difference = countdownDate - currentDate;\n\n if (difference > 0) {\n timeLeft = {\n days: Math.floor(difference / (1000 * 60 * 60 * 24)),\n hours: Math.floor((difference / (1000 * 60 * 60)) % 24),\n minutes: Math.floor((difference / 1000 / 60) % 60),\n seconds: Math.floor((difference / 1000) % 60),\n };\n }\n\n return timeLeft;\n}\n","import React, { useState, useEffect, useRef } from 'react';\nimport { Grid2 } from '@mui/material';\nimport { CircleProgressBar } from './CircleProgressBar';\nimport { getPercentage, calculateTimeLeft } from '@helpers/countdownHelpers';\n\ninterface CountdownProps {\n utcDateTime: string;\n connect2024?: boolean;\n}\n\nexport function Countdown({ utcDateTime, connect2024 }: CountdownProps): JSX.Element {\n const sizeProps = connect2024 ? { xs: 6, sm: 3 } : undefined;\n const timer = useRef>();\n const [timeLeft, setTimeLeft] = useState({\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n });\n\n useEffect(() => {\n setTimeLeft(calculateTimeLeft(utcDateTime));\n }, [utcDateTime]);\n\n useEffect(() => {\n if (timer.current) clearTimeout(timer.current);\n\n if (timeLeft.days > 0 || timeLeft.hours > 0 || timeLeft.minutes > 0 || timeLeft.seconds > 0) {\n timer.current = setTimeout(() => {\n setTimeLeft(calculateTimeLeft(utcDateTime));\n }, 1000);\n }\n\n return () => {\n if (timer.current) clearTimeout(timer.current);\n };\n }, [timeLeft, utcDateTime]);\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import React from 'react';\n\nexport function OutlinedCheckmarkIcon(props: React.SVGProps): JSX.Element {\n return (\n \n \n \n );\n}\n","import React from 'react';\n\ntype ZoomIconProps = React.SVGProps & {\n zoomIn?: boolean;\n zoomOut?: boolean;\n};\n\nexport function ZoomIcon({ zoomIn = false, zoomOut = false, ...other }: ZoomIconProps): JSX.Element {\n return (\n \n \n \n \n \n \n {zoomIn ? (\n <>\n \n \n \n ) : null}\n {zoomOut ? (\n <>\n \n \n ) : null}\n \n );\n}\n","import React, { useCallback } from 'react';\nimport { Divider } from '@mui/material';\nimport {\n StandardImageBanner,\n CallToActionBanner,\n ThreeColumnCards,\n FourColumnImages,\n CustomizableImageGallery,\n CustomSection,\n VideoCards,\n EventsSections,\n LinkList,\n BoxTiles,\n ResourceBoxes,\n ScrollingBanner,\n AccordionList,\n PPCFormHeader,\n Testimonial,\n FeatureAccordion,\n MultistepSection,\n AnimatedStatsSection,\n MarketplaceSolutions,\n VerticalAccordion,\n CapterraBanner,\n ProductTour,\n} from './SectionComponents';\nimport { Features } from './SectionComponents/Features';\nimport { Iframe } from './SectionComponents/Iframe';\nimport { CardCarousel } from './SectionComponents/CardCarousel';\nimport { CustomFormPPCHeader } from './SectionComponents/CustomFormPPCHeader';\nimport { isMobileAtom } from '@atoms/appSettings';\nimport { useAtom } from 'jotai';\nimport { useLazyLoad } from '@hooks/useLazyLoad';\nimport { PageSectionWrapper } from './PageSectionWrapper';\nimport loadable from '@loadable/component';\nimport { CustomFormLeadshareBox } from './SectionComponents/CustomFormLeadshareBox';\nimport { CapterraTestimonial } from './SectionComponents/CapterraTestimonial';\nimport { VideoLibrary } from './SectionComponents/VideoLibrary/VideoLibrary';\nimport { GTMDataLayerForwarder } from './SectionComponents/GTMDataLayerForwarder';\nimport { Section } from '@models/section';\nimport { FeaturesTypeContent } from '@models/section/featuresSection';\nimport { CardsTypeContent } from '@models/section/threeColumnCardsSection';\nimport { FourColumnImagesTypeContent } from '@models/section/fourColumnImageSection';\nimport { ImageGalleryTypeContent } from '@models/section/customizableImageGallerySection';\nimport { ModularSection } from './SectionComponents/ModularSection';\nimport { SubNavigation } from './SectionComponents/SubNavigation';\nimport { DeviceComparison } from './SectionComponents/DeviceComparison/DeviceComparison';\nimport { LandingPageHeader } from './SectionComponents/LandingPageHeader';\nimport { BulletPointsHeader } from './SectionComponents/BulletPointsHeader';\nimport { hasBackgroundLayer } from './SectionComponents/helpers/layeredBackgroundHelpers';\n\nconst CustomFormLoadable = loadable(() => import('@components/SectionComponents/CustomForm'));\nconst LeadShareLoadable = loadable(() => import('@components/SectionComponents/LeadShare'));\n\ninterface PageSectionProps {\n section: Section;\n}\n\nfunction PageSectionComponent({ section }: PageSectionProps): JSX.Element | null {\n const [isMobile] = useAtom(isMobileAtom);\n const lazyLoad = useLazyLoad(section ? section.order > 2 : false);\n\n const isStickySection = section && section.sectionTypeId === 34 ? true : false;\n\n const getSelection = useCallback(\n (sectionData: Section) => {\n if (sectionData) {\n const { order, videos } = sectionData;\n\n switch (sectionData.sectionTypeId) {\n case 1:\n return (\n \n );\n case 3: {\n const typeVariationProps = {\n type: sectionData.jsonContent.type,\n features: sectionData.jsonContent.features,\n };\n return (\n \n );\n }\n case 4: {\n const typeVariationProps = {\n type: sectionData.jsonContent.type,\n cards: sectionData.jsonContent.cards,\n };\n return (\n \n );\n }\n case 5:\n return (\n \n );\n case 7: {\n const typeVariationProps = {\n type: sectionData.jsonContent.type,\n imageBoxes: sectionData.jsonContent.imageBoxes,\n };\n return (\n \n );\n }\n case 8: {\n const typeVariationProps = {\n type: sectionData.jsonContent.type,\n images: sectionData.jsonContent.images,\n };\n return (\n \n );\n }\n case 9:\n return (\n \n );\n case 10:\n return ;\n case 11:\n return (\n \n );\n case 12:\n return (\n \n );\n case 13:\n return ;\n case 14:\n return (\n \n );\n case 15:\n return (\n \n );\n case 16:\n return (\n \n );\n case 17:\n return (\n \n );\n case 18:\n return (\n \n );\n case 20:\n return (\n \n );\n case 21:\n return (\n \n );\n case 22:\n return (\n \n );\n case 23:\n return (\n \n );\n case 24:\n return (\n \n );\n case 25:\n return (\n \n );\n case 26:\n return (\n \n );\n case 27:\n return ;\n case 28:\n return (\n \n );\n case 29:\n return (\n \n );\n case 30:\n return ;\n case 31:\n return (\n \n );\n case 32:\n return (\n \n );\n case 33:\n return (\n \n );\n case 34:\n return ;\n case 35:\n return (\n \n );\n case 36:\n return (\n \n );\n case 37:\n return (\n \n );\n case 38:\n return ;\n case 39:\n return (\n \n );\n case 40:\n return (\n \n );\n default:\n return null;\n }\n }\n },\n [lazyLoad]\n );\n\n return section ? (\n <>\n {section.jsonContent.border === 'top' || section.jsonContent.border === 'both' ? : null}\n {section.reference && section.reference !== '' ? (\n \n ) : null}\n \n {getSelection(section)}\n \n {section.jsonContent.border === 'bottom' || section.jsonContent.border === 'both' ? (\n \n ) : null}\n \n ) : null;\n}\n\nexport const PageSection = React.memo(PageSectionComponent);\n","import React from 'react';\nimport { ClassNames } from '@emotion/react';\nimport { LazyLoadContainer } from '@web-for-marketing/react-ui';\nimport { HorizontalDock, ImageBackground, VerticalDock, ImageBackgroundConfig } from '@models/layeredBackground';\nimport { useStaticValues } from '@stateManagement/StaticValuesContext';\nimport { PageHelmetPreloadLink } from '@components/PageHelmetPreloadLink';\n\ninterface BackgroundStyles {\n backgroundImage: string;\n backgroundSize: string;\n backgroundPosition: string;\n backgroundAttachment: string;\n}\n\ninterface LayeredImageBackgroundProps {\n background: ImageBackground;\n lazyLoad: boolean;\n}\n\nfunction getDockedPosition(dock: HorizontalDock | VerticalDock): string {\n if (dock === HorizontalDock.Right || dock === VerticalDock.Bottom) {\n return '100%';\n }\n\n if (dock === HorizontalDock.Left || dock === VerticalDock.Top) {\n return '0%';\n }\n\n return '50%';\n}\n\nfunction getBackground(imageConfig: ImageBackgroundConfig, mediaUrl: string): BackgroundStyles {\n let backgroundSize = '';\n let backgroundAttachment = '';\n\n const backgroundImage = `url('${mediaUrl}')`;\n\n if (imageConfig.cover) {\n backgroundSize = 'cover';\n } else {\n backgroundSize = 'auto';\n }\n\n if (imageConfig.parallax && (imageConfig.verticalDock === VerticalDock.Center || imageConfig.cover)) {\n backgroundAttachment = 'fixed';\n } else {\n backgroundAttachment = 'local';\n }\n\n const horizontalPosition = `calc(${getDockedPosition(imageConfig.horizontalDock)} - ${\n imageConfig.horizontalOffset\n }px)`;\n const verticalPosition = `calc(${getDockedPosition(imageConfig.verticalDock)} - ${imageConfig.verticalOffset}px)`;\n\n const backgroundPosition = `${horizontalPosition} ${verticalPosition}`;\n\n return {\n backgroundImage,\n backgroundSize,\n backgroundPosition,\n backgroundAttachment,\n };\n}\n\nexport function LayeredImageBackground({ background, lazyLoad }: LayeredImageBackgroundProps): JSX.Element {\n const { prefixStringWithBaseUrl } = useStaticValues();\n const prefixedMediaUrl = background.config.mediaUrl ? prefixStringWithBaseUrl(background.config.mediaUrl) : '';\n const { backgroundImage, backgroundPosition, backgroundSize, backgroundAttachment } = getBackground(\n background.config,\n prefixedMediaUrl\n );\n\n return (\n <>\n {!lazyLoad ? : null}\n \n {({ css }) => (\n \n )}\n \n \n );\n}\n","import React, { useEffect, useRef } from 'react';\nimport { VideoBackground } from '@models/layeredBackground';\nimport { useStaticValues } from '@stateManagement/StaticValuesContext';\n\ninterface LayeredVideoBackgroundProps {\n background: VideoBackground;\n lazyLoad: boolean;\n}\n\nexport function LayeredVideoBackground({ background, lazyLoad }: LayeredVideoBackgroundProps): JSX.Element {\n const { prefixStringWithBaseUrl } = useStaticValues();\n const mediaSrc = prefixStringWithBaseUrl(background.config.mediaUrl);\n const videoRef = useRef(null);\n\n // React sets the muted property and does not guarantee that the muted attribute will appear on the video element.\n // This could cause issues in some browsers that look for the muted attribute as mentioned in https://github.com/facebook/react/issues/10389.\n // This is to enure that the muted attribute will appear on the video element.\n useEffect(() => {\n if (videoRef.current) {\n videoRef.current.setAttribute('muted', '');\n }\n }, []);\n\n return (\n <>\n \n \n );\n}\n","import React from 'react';\nimport { ColorBackground } from '@models/layeredBackground';\nimport { getRgbaColor } from '@web-for-marketing/react-ui';\n\nexport interface LayeredColorBackgroundProps {\n background: ColorBackground;\n}\n\nexport function LayeredColorBackground({ background }: LayeredColorBackgroundProps): JSX.Element {\n return (\n \n );\n}\n","import React from 'react';\nimport { GradientBackground, GradientBackgroundConfig, GradientType } from '@models/layeredBackground';\nimport { getRgbaColor } from '@web-for-marketing/react-ui';\n\nexport interface LayeredGradientBackgroundProps {\n background: GradientBackground;\n}\n\nexport const gradientTypes: Record = {\n [GradientType.Linear]: 'linear-gradient',\n [GradientType.Radial]: 'radial-gradient',\n};\n\nfunction getGradientBackground(gradientConfig: GradientBackgroundConfig): string | undefined {\n const type = gradientTypes[gradientConfig.type];\n const angle = gradientConfig.type === GradientType.Radial ? 'circle' : `${gradientConfig.angle}deg`;\n const colors: string[] = [];\n\n gradientConfig.colors.forEach((color) => {\n const rgbaColor = getRgbaColor(color.color, color.transparency);\n colors.push(`${rgbaColor} ${color.position}%`);\n });\n\n return `${type}(${angle}, ${colors.join(',')})`;\n}\n\nexport function LayeredGradientBackground({ background }: LayeredGradientBackgroundProps): JSX.Element {\n return (\n \n );\n}\n","import React from 'react';\nimport { Background, BackgroundType } from '@models/layeredBackground';\nimport { LayeredImageBackground } from './LayeredImageBackground';\nimport { LayeredVideoBackground } from './LayeredVideoBackground';\nimport { LayeredColorBackground } from './LayeredColorBackground';\nimport { LayeredGradientBackground } from './LayeredGradientBackground';\n\ninterface LayeredBackgroundProps {\n backgroundLayers: Background[];\n lazyLoad: boolean;\n}\n\nexport function LayeredBackground({ backgroundLayers, lazyLoad }: LayeredBackgroundProps): JSX.Element {\n return (\n <>\n {backgroundLayers.map((background, index) => {\n if (background.enabled) {\n const key = `${JSON.stringify(background)}-${index}`;\n switch (background.type) {\n case BackgroundType.Image:\n return ;\n case BackgroundType.Video:\n return ;\n case BackgroundType.Color:\n return ;\n case BackgroundType.Gradient:\n return ;\n default:\n return null;\n }\n }\n })}\n \n );\n}\n","import React from 'react';\nimport { pageSectionStyles as classes } from './styleObjects/pageSectionStyles';\nimport { LazyLoadContainer } from '@web-for-marketing/react-ui';\nimport { LayeredBackground } from './LayeredBackground/LayeredBackground';\nimport { useAtom } from 'jotai';\nimport { isMobileAtom, navHeightAtom } from '@atoms/appSettings';\nimport { Section } from '@models/section';\n\ninterface PageSectionWrapperProps {\n children: React.ReactNode;\n section: Section;\n lazyLoad: boolean;\n isSticky?: boolean;\n}\n\nexport function PageSectionWrapper({ children, section, lazyLoad, isSticky }: PageSectionWrapperProps): JSX.Element {\n const [isMobile] = useAtom(isMobileAtom);\n const [navHeight] = useAtom(navHeightAtom);\n const { backgroundLayers, mobileBackgroundLayers } = section.jsonContent;\n\n const layers =\n isMobile && mobileBackgroundLayers && mobileBackgroundLayers.length ? mobileBackgroundLayers : backgroundLayers;\n\n return (\n \n {layers ? : null}\n
{children}
\n \n );\n}\n","import { v2Colors } from '@web-for-marketing/react-ui';\n\nexport const pictureDialogStyle = {\n fullWidth: {\n width: '100%',\n },\n image: {\n objectFit: 'cover',\n withd: 'auto',\n },\n overlay: {\n position: 'absolute',\n top: '0',\n bottom: '0',\n left: '0',\n right: '0',\n margin: 'auto',\n opacity: 0,\n transition: '.5s ease',\n backgroundColor: v2Colors.core.geotab,\n width: '100%',\n '&:hover, &:focus': {\n opacity: '0.7',\n },\n },\n overlayText: {\n color: '#FFFFFF',\n fontSize: '3rem',\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n textAlign: 'center',\n },\n modal: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n },\n pictureDialog: {\n width: '90%',\n maxHeight: '90%',\n margin: '1rem',\n background: '#FFFFFF',\n borderRadius: '1rem',\n padding: '1rem',\n outline: 'none',\n overflow: 'auto',\n position: 'relative',\n '& img': {\n width: 'auto !important',\n },\n },\n closeButton: {\n top: '1.5rem',\n left: '1.5rem',\n position: 'absolute',\n backgroundColor: '#FFFFFF',\n boxShadow: '0.1rem 0.1rem 0.25rem',\n opacity: '0.7',\n '&:hover, &:focus': {\n backgroundColor: '#FFFFFF',\n opacity: '1',\n },\n },\n} as const;\n","import React from 'react';\nimport Modal from '@mui/material/Modal';\nimport Backdrop from '@mui/material/Backdrop';\nimport { CloseIcon } from './IconComponents/CloseIcon';\nimport { ZoomIcon } from './IconComponents/ZoomIcon';\nimport { Grid, IconButton } from '@mui/material';\nimport { Picture } from './Picture';\nimport { pictureDialogStyle as classes } from './styleObjects/pictureDialogStyle';\n\ninterface PictureDialogProps {\n imagePath: string | undefined;\n mobilePath: string | undefined;\n alt: string | undefined;\n mobileAlt: string | undefined;\n}\n\nexport function PictureDialog({ imagePath, mobilePath, alt, mobileAlt }: PictureDialogProps): JSX.Element {\n const [open, setOpen] = React.useState(false);\n\n const handleOpen = (): void => {\n setOpen(true);\n };\n\n const handleClose = (): void => {\n setOpen(false);\n };\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import React from 'react';\nimport { Picture, PictureProps } from './Picture';\nimport { PictureDialog } from './PictureDialog';\n\nconst classes = {\n modalContainer: {\n position: 'relative',\n width: '100%',\n },\n} as const;\n\nexport type PopupPictureProps = PictureProps & { imageZoom?: boolean };\n\nexport function PopupPicture({ imageZoom, ...props }: PopupPictureProps): JSX.Element {\n const { imagePath, mobilePath, alt, mobileAlt } = props;\n\n return imageZoom ? (\n
\n \n \n
\n ) : (\n \n );\n}\n","import React from 'react';\nimport { SectionContainer } from './SectionContainer';\nimport { Heading, LazyLoadContainer, v2Colors, Text, V2Button } from '@web-for-marketing/react-ui';\nimport { Grid2, Stack } from '@mui/material';\nimport { RichTextContent } from '@components/RichTextContent';\nimport { OutlinedCheckmarkIcon } from '@components/IconComponents/OutlinedCheckmarkIcon';\nimport { BulletPointsHeaderSectionData } from '@models/section/bulletPointsHeaderSection';\nimport { PopoutButton } from '@components/PopoutCustomSection/PopoutButton';\nimport { getLinkTargetValue } from './helpers/SectionComponentHelper';\nimport { Picture } from '@components/Picture';\n\ninterface BulletPointsHeaderProps {\n sectionData: BulletPointsHeaderSectionData;\n lazyLoad: boolean;\n headerSection: boolean;\n hasBackground: boolean;\n}\n\nconst classes = {\n list: {\n listStyleType: 'none',\n padding: 0,\n margin: 0,\n },\n} as const;\n\nexport function BulletPointsHeader({\n sectionData,\n lazyLoad,\n headerSection,\n hasBackground,\n}: BulletPointsHeaderProps): JSX.Element {\n const { title, bulletPoints, buttons, image, label, headingVariant } = sectionData;\n\n return (\n \n \n \n \n \n {label ? (\n \n {label}\n \n ) : null}\n \n {title}\n \n {bulletPoints.length ? (\n \n {bulletPoints.map((bulletPoint, index) => (\n \n \n \n \n ))}\n \n ) : null}\n {buttons.length ? (\n \n {buttons.map((button, index) =>\n button.isPopout ? (\n \n ) : (\n \n {button.buttonText}\n \n )\n )}\n \n ) : null}\n \n \n {image.imagePath || image.mobilePath ? (\n \n \n \n ) : null}\n \n \n \n );\n}\n","import { colors, breakpoints, v2Colors } from '@web-for-marketing/react-ui';\n\nexport const capterraTestimonialStyles = {\n testimonialSectionContainer: {\n borderRadius: '1rem',\n padding: '0 1rem',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'center',\n flexWrap: 'wrap',\n [`@media (max-width: ${breakpoints.md})`]: {\n padding: 0,\n borderRadius: '0.8rem 0.8rem 0 0',\n },\n },\n swipeViewContainer: {\n width: '100%',\n },\n headerContainer: {\n maxWidth: '72rem',\n margin: '0 auto',\n textAlign: 'center',\n [`@media (max-width: ${breakpoints.md})`]: {\n marginBottom: '2.4rem',\n },\n [`@media (max-width: ${breakpoints.sm})`]: {\n display: 'none',\n },\n },\n title: {\n margin: '0 auto 1.5rem',\n },\n testimonialGridContainer: {\n overflow: 'hidden',\n position: 'relative',\n },\n quoteAuthorSectionMargin: {\n marginTop: '2.5rem',\n },\n horizontalDivider: {\n display: 'block',\n border: `solid 1.5px ${colors.interactive.primary}`,\n color: colors.interactive.primary,\n width: '3.2rem',\n margin: '1.2rem 0',\n },\n chevronIcon: {\n overflow: 'visible',\n position: 'absolute',\n top: '45%',\n zIndex: '999',\n cursor: 'pointer',\n background: 'none',\n border: 'none',\n [`@media (max-width: ${breakpoints.md})`]: {\n display: 'none',\n },\n },\n rightChevronIcon: {\n right: 0,\n },\n leftChevronIcon: {\n left: 0,\n transform: 'rotate(180deg)',\n },\n grayIcon: {\n '& path': {\n fill: v2Colors.core.smoke,\n },\n },\n cardBody: {\n minHeight: '43rem',\n minWidth: '22rem',\n border: `solid 1px ${v2Colors.border.primary}`,\n borderRadius: '0.8rem',\n backgroundColor: v2Colors.background.white,\n padding: '3.2rem',\n textAlign: 'left',\n '&:hover': {\n boxShadow: '0 0.4rem 1.2rem 0 rgba(0, 0, 0, 0.1)',\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n maxWidth: '50rem',\n },\n [`@media (max-width: ${breakpoints.sm})`]: {\n padding: '2.4rem',\n height: 'auto',\n },\n },\n testimonialQuote: {\n width: '100%',\n marginTop: '1.2rem',\n maxHeight: '17rem',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: '5',\n flex: '1',\n [`@media (max-width: ${breakpoints.md})`]: {\n fontSize: '1.8rem',\n },\n },\n cardLogo: {\n width: '12rem',\n },\n newTabIcon: {\n color: colors.interactive.inverseSecondary,\n height: '1.8rem',\n width: '1.8rem',\n },\n authorContainer: {\n width: '100%',\n [`@media (max-width: ${breakpoints.md})`]: {\n fontSize: '1.4rem',\n },\n },\n legalText: {\n marginTop: '1.2rem',\n fontSize: '1rem !important',\n },\n} as const;\n","import React from 'react';\nimport { Grid } from '@mui/material';\nimport { CapterraLogo } from '@icon/CapterraLogo';\nimport { RatingSelect } from '@components/BlogSection/BlogComponents/Shared/RatingSelect';\nimport { CMSLink } from '@components/CMSLink';\nimport { Divider } from '@mui/material';\nimport { capterraTestimonialStyles as classes } from './styleObjects/CapterraTestimonialStyles';\nimport { CapterraTestimonialContent } from '@models/section/capterraTestimonialSection';\nimport { Text } from '@web-for-marketing/react-ui';\nimport { NewTabIcon } from '@icon/NewTabIcon';\n\nexport interface TestimonialCardProps {\n testimonial: CapterraTestimonialContent;\n isHidden?: boolean;\n}\n\nexport function CapterraTestimonialCard({ testimonial, isHidden }: TestimonialCardProps): JSX.Element {\n return (\n \n \n \n \n \n \n {testimonial.externalLink ? (\n \n \n \n ) : null}\n \n \n \n \n \n \n \n {`${testimonial.rating}/5 stars`}\n \n \n
\n \n {testimonial.quote}\n \n
\n \n
\n \n {`${testimonial.authorName}, ${testimonial.authorRole}`}\n \n \n {testimonial.industry}\n \n \n {testimonial.companySize}\n \n \n
\n
\n );\n}\n","import React, { useState } from 'react';\nimport { Grid } from '@mui/material';\nimport { GridContainer } from '@components/GeotabGridComponents/GridContainer';\nimport { Text, Heading } from '@web-for-marketing/react-ui';\nimport { capterraTestimonialStyles as classes } from './styleObjects/CapterraTestimonialStyles';\nimport { CapterraTestimonialSectionData } from '@models/section/capterraTestimonialSection';\nimport { CarouselDotTabs } from '@components/BlogSection/BlogComponents/Home/CarouselDotTabs';\nimport SwipeableViews from 'react-swipeable-views-react-18-fix';\nimport { RightChevronIcon } from '@icon/RightChevronIcon';\nimport { CapterraTestimonialCard } from '@components/SectionComponents/CapterraTestimonialCard';\n\nexport interface CapterraTestimonialProps {\n sectionData: CapterraTestimonialSectionData;\n headerSection: boolean;\n}\n\nexport function CapterraTestimonial({ sectionData, headerSection }: CapterraTestimonialProps): JSX.Element {\n const [activeStep, setActiveStep] = useState(0);\n const testimonialListArray = [];\n if (sectionData.testimonials.length > 4) {\n for (let i = 0; i < sectionData.testimonials.length; i += 4) {\n const testimonialCards = sectionData.testimonials.slice(i, i + 4);\n testimonialListArray.push(testimonialCards);\n }\n }\n const maxSteps = testimonialListArray.length > 0 ? testimonialListArray.length : 1;\n\n if (activeStep > maxSteps - 1) {\n setActiveStep(activeStep - 1);\n }\n\n function handleStepChange(step: number): void {\n setActiveStep(step);\n }\n\n return (\n \n {maxSteps === 1 ? null : (\n <>\n {\n handleStepChange(activeStep - 1);\n }}\n disabled={activeStep === 0}\n aria-label='go to previous slide'\n >\n \n \n {\n handleStepChange(activeStep + 1);\n }}\n disabled={activeStep === maxSteps - 1}\n aria-label='go to next slide'\n >\n \n \n \n )}\n \n \n {sectionData.title}\n \n {sectionData.description ? (\n \n {sectionData.description}\n \n ) : null}\n \n
\n \n {testimonialListArray.length === 0 ? (\n \n {sectionData.testimonials.map((testimonial, index) => {\n return (\n \n \n \n );\n })}\n \n ) : (\n testimonialListArray.map((subArray, index) => {\n const isHidden = activeStep !== index;\n\n return (\n \n {subArray.map((testimonial, index) => {\n return (\n \n \n \n );\n })}\n \n );\n })\n )}\n \n
\n
\n \n
\n
\n );\n}\n","import { breakpoints, space, v2Colors } from '@web-for-marketing/react-ui';\n\nexport const classes = {\n arrowButton: {\n padding: '1rem !important',\n '&:first-child': {\n marginRight: '2.5rem',\n },\n '& svg': {\n color: 'currentColor',\n width: '3rem',\n height: '3rem',\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n display: 'none',\n },\n },\n carouselFixedContainer: {\n position: 'relative',\n overflow: 'hidden',\n [`@media (min-width: ${breakpoints.md})`]: {\n '&::after': {\n content: '\"\"',\n width: '5rem',\n background: 'linear-gradient(270deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%)',\n height: '100%',\n position: 'absolute',\n right: 0,\n top: 0,\n },\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n marginRight: `-${space.containerOuterPadding}`,\n marginLeft: `-${space.containerOuterPadding}`,\n },\n },\n scrollingWrapper: {\n display: 'grid',\n gridAutoFlow: 'column',\n gridAutoColumns: '30%',\n transform: 'translateX(30%)',\n overflowX: 'scroll',\n scrollbarWidth: 'none',\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n [`@media (max-width: ${breakpoints.lg})`]: {\n gridAutoColumns: '45%',\n transform: 'translateX(45%)',\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n padding: '0 2rem',\n scrollPaddingLeft: '2rem',\n scrollPaddingRight: '70%',\n scrollSnapType: 'x mandatory',\n gridAutoColumns: '40%',\n transform: 'translateX(40%)',\n },\n [`@media (max-width: ${breakpoints.sm})`]: {\n scrollPaddingRight: '55%',\n gridAutoColumns: '70%',\n transform: 'translateX(70%)',\n },\n },\n idle: {\n transform: 'none !important',\n transition: 'transform 0.5s cubic-bezier(0.23, 1, 0.32, 1)',\n },\n reverse: {\n transform: 'translateX(-30%)',\n [`@media (max-width: ${breakpoints.lg})`]: {\n transform: 'translateX(-45%)',\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n transform: 'translateX(-40%)',\n },\n [`@media (max-width: ${breakpoints.sm})`]: {\n transform: 'translateX(-70%)',\n },\n },\n card: {\n backgroundColor: v2Colors.core.snow,\n maxHeight: '50rem',\n border: '1px solid #C7CBD2',\n borderRadius: '10px',\n boxShadow: '0 0 0 rgb(102 120 140 / 10%), 0 0 0 rgb(102 120 140 / 10%)',\n transition: 'transform ease 500ms, box-shadow ease 500ms',\n margin: '1rem 0',\n scrollSnapAlign: 'end',\n marginRight: '6rem',\n '&:hover': {\n boxShadow: '0 0 .6rem rgba(102,120,140,0.1), 0 1rem 1rem rgba(102,120,140,0.1)',\n transform: 'translateY(-1rem)',\n },\n '&:focus': {\n boxShadow: '0 0 .6rem rgba(102,120,140,0.1), 0 1rem 1rem rgba(102,120,140,0.1)',\n borderColor: v2Colors.core.innovation,\n outline: 'none',\n },\n '@media (max-width: 1499.9px)': {\n marginRight: '4.5rem',\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n '&:last-of-type': {\n marginRight: 0,\n },\n '&:not(:last-of-type)': {\n marginRight: '2.5rem',\n },\n },\n [`@media (max-width: ${breakpoints.sm})`]: {\n '&:not(:last-of-type)': {\n marginRight: '2rem',\n },\n },\n },\n cardPlaceholder: {\n height: '45rem',\n },\n cardPlaceholderImage: {\n height: '40%',\n width: '100%',\n borderRadius: '10px 10px 0 0',\n backgroundColor: v2Colors.background.light,\n },\n cardTextContainer: {\n padding: '3rem 3rem 4rem',\n '& > *:not(:last-child)': {\n marginBottom: '1rem',\n },\n },\n cardTitle: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: '4',\n },\n viewAll: {\n transition: 'background-color 500ms ease',\n borderRadius: '10px',\n padding: '1rem',\n '&:hover,&:focus': {\n backgroundColor: v2Colors.action.active,\n outline: 'none',\n },\n },\n title: {\n marginBottom: '3rem',\n [`@media (max-width: ${breakpoints.md})`]: {\n marginBottom: '2rem',\n },\n },\n body: {\n [`@media (max-width: ${breakpoints.md})`]: {\n marginBottom: '2rem',\n },\n },\n picture: {\n borderRadius: '10px 10px 0 0',\n height: '16rem',\n [`@media (max-width: ${breakpoints.sm})`]: {\n height: '12rem',\n },\n [`@media (max-width: ${breakpoints.sm})`]: {\n height: '10rem',\n },\n },\n} as const;\n","import { httpGet } from './apiService';\nimport { CarouselResult } from '@models/section/cardCarouselSection';\n\nconst tagBaseApiUrl = '/api/tag';\n\nconst taggedEntityTypeMap: { [key: string]: string | null } = {\n 'tag-press-release': 'press-release',\n 'tag-success-story': 'case-study',\n 'tag-white-paper': 'white-paper',\n 'tag-blog': 'blog',\n 'tag-glossary': 'glossary',\n 'tag-video': 'video',\n};\n\nexport async function getCarouselByTag(tagId: number, taggedEntityType?: string): Promise {\n const entityType = taggedEntityType ? taggedEntityTypeMap[taggedEntityType] : null;\n\n const url = entityType ? `${tagBaseApiUrl}/carousel/${tagId}/${entityType}` : `${tagBaseApiUrl}/carousel/${tagId}`;\n\n return (await httpGet(url)).json();\n}\n","import { httpGet } from './apiService';\nimport { CarouselResult } from '@models/section/cardCarouselSection';\n\nconst categoryBaseApiUrl = '/api/category';\n\nexport async function getCarouselByCategory(categoryId: number): Promise {\n return (await httpGet(`${categoryBaseApiUrl}/carousel/${categoryId}`)).json();\n}\n","import { httpGet } from './apiService';\nimport { PagedResult } from '@models/pagination';\nimport { TaggedSlugEntityPreview } from '@models/tag';\n\nconst baseApiUrl = '/api/press-release';\n\nexport async function getPagedPressReleaseList(\n pageNumber: number,\n rowsPerPage: number,\n languageId: number\n): Promise> {\n const url = `${baseApiUrl}/paged/${pageNumber}/${rowsPerPage}/${languageId}`;\n return (await httpGet(url)).json();\n}\n","import React, { useEffect, useState } from 'react';\nimport { GridContainer } from '@components/GeotabGridComponents/GridContainer';\nimport { LazyLoadContainer, Heading, Text } from '@web-for-marketing/react-ui';\nimport { ChevronRight } from '@icon/ChevronRight';\nimport { ChevronLeft } from '@icon/ChevronLeft';\nimport { Grid, Button } from '@mui/material';\nimport { getLanguageRouteAndPrefixByCodeAndRouteKey } from '@helpers/languages';\nimport { useAtom } from 'jotai';\nimport { selectedLanguageAtom } from '@atoms/appSettings';\nimport { getLanguageByCode } from '@helpers/languages';\nimport { languageRouteTypes } from '@helpers/languageRoutes';\nimport { getTranslation } from '@helpers/languageTranslations';\nimport { useTranslation } from '@stateManagement/TranslationContext';\nimport { Picture } from '@components/Picture';\nimport { getFormattedLocalDateTime } from '@helpers/dates';\nimport { classes } from './styleObjects/cardCarouselStyles';\nimport { CMSLink } from '@components/CMSLink';\nimport { getCarouselByTag } from '@services/tagPublicService';\nimport { getCarouselByCategory } from '@services/categoryPublicService';\nimport { CarouselType, CarouselResult, CardCarouselSectionData } from '@models/section/cardCarouselSection';\nimport { getPagedPressReleaseList } from '@services/pressReleasePublicService';\nimport { PagedResult } from '@models/pagination';\nimport { TaggedSlugEntityPreview } from '@models/tag';\n\ninterface CardCarouselProps {\n sectionData: CardCarouselSectionData;\n lazyLoad: boolean;\n headerSection: boolean;\n}\n\nconst entityTypeRouteTypeMap = {\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\nexport function CardCarousel({ sectionData, lazyLoad, headerSection }: CardCarouselProps): JSX.Element {\n const [selectedLanguage] = useAtom(selectedLanguageAtom);\n const [result, setResult] = useState(null);\n const { selectedLanguageTranslation } = useTranslation();\n const entities = result ? result.entities : [];\n const [cardOrder, setCardOrder] = useState([]);\n const [carouselStatus, setCarouselStatus] = useState<'forward' | 'reverse' | 'idle'>('idle');\n const carouselType = sectionData.carouselType || CarouselType.Tag;\n const title = sectionData.title;\n const isTag = carouselType === CarouselType.Tag;\n const isCategory = carouselType === CarouselType.Category;\n const isArticle = carouselType === CarouselType.Article;\n\n let viewAllUrl = '';\n\n if (sectionData.viewAllUrl) {\n viewAllUrl = sectionData.viewAllUrl;\n } else if (result) {\n const routeKey = isCategory ? 'categoryUrl' : isTag ? 'tagUrl' : isArticle ? 'pressRoomHomeUrl' : '';\n\n if (routeKey) {\n const routePrefix = getLanguageRouteAndPrefixByCodeAndRouteKey(selectedLanguage, routeKey);\n viewAllUrl = `${routePrefix}${result.carouselTypeEntitySlug ?? ''}`;\n }\n }\n\n const translatedArticleType = getTranslation(selectedLanguageTranslation, 'articleTypes');\n\n const friendlyType = {\n BlogArticle: translatedArticleType.blog,\n SuccessStoryArticle: translatedArticleType.caseStudy,\n PressReleaseArticle: translatedArticleType.pressRelease,\n WhitePaperArticle: translatedArticleType.whitePaper,\n Video: translatedArticleType.video,\n GlossaryArticle: translatedArticleType.glossary,\n };\n\n useEffect(() => {\n const getFunction = isTag ? getCarouselByTag : getCarouselByCategory;\n\n if (sectionData.carouselTypeEntityId) {\n getFunction(sectionData.carouselTypeEntityId, sectionData.articleType)\n .then((result) => {\n const cardOrder = Array.from(Array(result.entities.length).keys(), (item) => item + 1);\n setResult(result);\n setCardOrder(cardOrder);\n })\n .catch((err) => {\n console.error(err);\n });\n } else if (isArticle) {\n const page = 1;\n const pageSize = 6;\n const languageId = getLanguageByCode(selectedLanguage)?.id || 1;\n\n getPagedPressReleaseList(page, pageSize, languageId)\n .then(({ pageRecords }: PagedResult) => {\n const cardOrder = Array.from(Array(pageRecords.length).keys(), (item) => item + 1);\n setResult({\n entities: pageRecords,\n });\n setCardOrder(cardOrder);\n })\n .catch((err) => {\n console.error(err);\n });\n } else {\n setResult(null);\n }\n }, [selectedLanguage, sectionData?.carouselTypeEntityId, sectionData?.articleType, isTag, isArticle]);\n\n useEffect(() => {\n setCarouselStatus('idle');\n }, [cardOrder]);\n\n function changeToNextCard(): void {\n const newOrder = cardOrder.map((order) => {\n if (order === 1) {\n return entities.length;\n } else {\n return order - 1;\n }\n });\n\n setCardOrder(newOrder);\n setCarouselStatus('forward');\n }\n\n function changeToPreviousCard(): void {\n const newOrder = cardOrder.map((order) => {\n if (order === entities.length) {\n return 1;\n } else {\n return order + 1;\n }\n });\n\n setCardOrder(newOrder);\n setCarouselStatus('reverse');\n }\n\n return (\n \n \n {title ? (\n \n {title}\n \n ) : null}\n {sectionData.body}\n \n \n
\n {entities.length ? (\n \n {entities.map((article, index) => (\n \n \n
\n {sectionData.hideCardLabel ? null : (\n \n {friendlyType[article.type]}\n \n )}\n \n {article.title}\n \n \n {getFormattedLocalDateTime(\n article.publishedDateUtc,\n 'LL',\n selectedLanguage\n )}\n \n
\n \n ))}\n \n ) : (\n
\n {Array.from([1, 2, 3, 4]).map((item) => (\n
\n
\n
\n ))}\n
\n )}\n
\n \n {entities.length ? (\n <>\n
\n {entities.length > 3 ? (\n <>\n \n \n \n \n \n \n \n ) : null}\n
\n \n {`${\n getTranslation(selectedLanguageTranslation, 'articleTypesAction', 'viewAll') ||\n 'View all'\n }`}\n \n \n ) : null}\n
\n
\n
\n );\n}\n","import React from 'react';\n\nexport function RightChevronIconRound(props: React.SVGProps): JSX.Element {\n return (\n \n \n \n \n );\n}\n","import { v2Colors, breakpoints, getRgbaColor } from '@web-for-marketing/react-ui';\nimport type { CtaBannerHeights } from '@models/column';\n\nexport const ctaBannerCarouselStyles = {\n parentContainer: {\n position: 'relative',\n width: '100%',\n },\n bannerContainer: (height: CtaBannerHeights) =>\n ({\n position: 'relative' as const,\n textAlign: 'left',\n height: height === 'tall' ? '60rem' : height === 'medium' ? '50rem' : '40rem',\n backgroundImage: 'linear-gradient(to top, rgba(1, 23, 41, 0.80), rgba(1, 23, 41, 0))',\n [`@media (max-width: ${breakpoints.md})`]: {\n height: '50rem',\n borderRadius: '1rem',\n },\n }) as const,\n bannerContentContainer: {\n height: '100%',\n paddingBottom: '12rem',\n paddingLeft: '6rem',\n [`@media (max-width: ${breakpoints.md})`]: {\n paddingBottom: '4rem',\n paddingLeft: '3rem',\n paddingRight: '3rem',\n },\n },\n bannerImage: {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n zIndex: '-1',\n [`@media (max-width: ${breakpoints.md})`]: {\n borderRadius: '1rem',\n },\n },\n swipeViewsContainerParent: {\n width: '100%',\n borderRadius: '1rem',\n [`@media (max-width: ${breakpoints.md})`]: {\n overflow: 'visible !important',\n '& > * > div': {\n '&:first-child': {\n paddingLeft: '0.75rem',\n },\n '&[aria-hidden=\"true\"]': {\n opacity: 0.75,\n },\n },\n },\n },\n swipeViewsContainer: {\n columnGap: '1.5rem',\n },\n slide: {\n width: 'calc(100% - 1.5rem)',\n },\n paginationControls: {\n display: 'flex',\n flexDirection: 'column',\n position: 'absolute',\n bottom: 40,\n right: 40,\n width: '15rem',\n },\n paginationButtons: {\n display: 'flex',\n justifyContent: 'center',\n columnGap: 20,\n },\n iconButton: {\n padding: 0,\n '&:hover, &:active': {\n '& svg': {\n fill: getRgbaColor(v2Colors.core.snow, 0.4),\n },\n },\n '&:disabled svg': {\n '& path': {\n fill: getRgbaColor(v2Colors.core.snow, 0.4),\n },\n '& rect': {\n stroke: 'none',\n },\n },\n },\n leftChevronIcon: {\n transform: 'rotate(180deg)',\n },\n title: {\n display: '-webkit-box',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n WebkitLineClamp: '2',\n WebkitBoxOrient: 'vertical',\n },\n description: {\n display: '-webkit-box',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n WebkitLineClamp: '3',\n WebkitBoxOrient: 'vertical',\n },\n linkText: {\n textUnderlineOffset: '0.5rem',\n '&:focus, &:hover, &:active': {\n textDecoration: 'underline',\n '& svg': {\n width: '5rem',\n },\n },\n },\n linkArrow: {\n color: v2Colors.core.snow,\n display: 'inline-block',\n verticalAlign: 'middle',\n width: '3rem',\n '& path': {\n strokeWidth: 2,\n },\n transform: 'rotate(180deg)',\n transition: 'width 300ms ease-out',\n },\n} as const;\n","import React from 'react';\nimport { Grid } from '@mui/material';\nimport { CtaBannerContent } from '@models/column';\nimport { CMSLink } from '@components/CMSLink';\nimport { ShortArrow } from '@components/IconComponents/ShortArrow';\nimport { Picture } from '@components/Picture';\nimport { RichTextContent } from '@components/RichTextContent';\nimport { breakpoints } from '@web-for-marketing/react-ui';\nimport { Heading, Text } from '@web-for-marketing/react-ui';\nimport { ctaBannerCarouselStyles as classes } from './styleObjects/CtaBannerCarouselSyles';\n\ninterface CtaBannerProps {\n banner: CtaBannerContent;\n lazyLoad?: boolean;\n isHidden?: boolean;\n trackingClass?: string;\n}\n\nexport function CtaBanner({ banner, lazyLoad, isHidden, trackingClass }: CtaBannerProps): JSX.Element {\n const { title, description, linkText, linkUrl, ariaLabel, imagePath, mobileImagePath, imageAlt, mobileAlt } =\n banner;\n\n return (\n <>\n \n \n \n \n \n {title}\n \n \n \n \n \n \n \n \n {linkText} \n \n \n \n \n \n \n );\n}\n","import React, { useState } from 'react';\nimport { v2Colors, getRgbaColor } from '@web-for-marketing/react-ui';\nimport SwipeableViews from 'react-swipeable-views-react-18-fix';\nimport { IconButton } from '@mui/material';\nimport { useAtom } from 'jotai';\nimport { isMobileAtom } from '@atoms/appSettings';\nimport { CtaBannerCarouselFormContent } from '@models/column';\nimport { CarouselDotTabs } from '@components/BlogSection/BlogComponents/Home/CarouselDotTabs';\nimport { RightChevronIconRound } from '@components/IconComponents/RightChevronIconRound';\nimport { CtaBanner } from './CtaBanner';\nimport { ctaBannerCarouselStyles as classes } from './styleObjects/CtaBannerCarouselSyles';\n\nexport interface CtaBannerCarouselProps {\n content: CtaBannerCarouselFormContent;\n lazyLoad?: boolean;\n}\n\nexport function CtaBannerCarousel({ content, lazyLoad }: CtaBannerCarouselProps): JSX.Element {\n const [isMobile] = useAtom(isMobileAtom);\n const [activeBanner, setActiveBanner] = useState(0);\n const trackingClass = content.trackingClass;\n\n if (activeBanner > content.banners.length - 1) {\n setActiveBanner((prevBanner) => prevBanner - 1);\n }\n\n const handleBannerChange = (bannerIndex: number): void => {\n setActiveBanner(bannerIndex);\n };\n\n return (\n
\n \n {content.banners.map((banner, index) => (\n \n \n
\n ))}\n \n {!isMobile && content.banners.length > 1 ? (\n
\n \n
\n handleBannerChange(activeBanner - 1)}\n disabled={activeBanner === 0}\n >\n \n \n handleBannerChange(activeBanner + 1)}\n disabled={activeBanner === content.banners.length - 1}\n >\n \n \n
\n
\n ) : null}\n \n );\n}\n","import React from 'react';\nimport { CustomFormLeadshareBoxData } from '@models/section/customFormLeadshareBoxSection';\nimport { CallToActionBanner } from '@components/SectionComponents/CallToActionBanner';\nimport { GridContainer } from '@components/GeotabGridComponents/GridContainer';\nimport { CMSLink } from '@components/CMSLink';\nimport { Grid } from '@mui/material';\nimport { LeadShareStyle as classes } from './styleObjects/LeadShare';\nimport { Heading, LazyLoadContainer, Text } from '@web-for-marketing/react-ui';\nimport { ParseAbbreviations } from '@components/ParseAbbreviations';\nimport { getLinkTargetValue } from '@sections/helpers/SectionComponentHelper';\nimport loadable from '@loadable/component';\nimport OemLeadPageBg from '@images/StaticPages/DemoPage/oem-lead-page-bg@2x.jpg';\n\ninterface CustomFormLeadshareBoxProps {\n sectionData: CustomFormLeadshareBoxData;\n lazyLoad: boolean;\n headerSection: boolean;\n}\nconst CustomFormLoadable = loadable(() => import('@components/SectionComponents/CustomForm'));\n\nconst defaultGradient =\n 'linear-gradient(-285deg, rgb(37, 71, 123) 0%, rgba(37, 71, 123, 0) 0%, rgba(0, 128, 178, 0.95) 100%)';\n\nexport function CustomFormLeadshareBox({\n sectionData,\n lazyLoad,\n headerSection,\n}: CustomFormLeadshareBoxProps): JSX.Element {\n return (\n
\n \n \n \n \n {sectionData.contentTitle ? (\n \n {sectionData.contentTitle}\n \n ) : null}\n {sectionData.contentSubtitle ? (\n \n {sectionData.contentSubtitle}\n \n ) : null}\n {sectionData.contentBody ? (\n \n ) : null}\n {sectionData.videoSource ? (\n \n \n \n ) : null}\n {sectionData.buttonText ? (\n \n {sectionData.buttonText}\n \n ) : null}\n \n \n \n \n \n \n \n \n
\n );\n}\n","import React, { useMemo } from 'react';\nimport { Grid } from '@mui/material';\nimport { GridContainer } from '@components/GeotabGridComponents/GridContainer';\nimport { LazyLoadContainer, Heading, Text } from '@web-for-marketing/react-ui';\nimport { useStaticValues } from '@stateManagement/StaticValuesContext';\nimport { ppcFormHeaderStyles as classes } from './styleObjects/PPCFormHeaderStyles';\nimport { DownChevronIcon } from '@icon/DownChevronIcon';\nimport { CustomFormPPCHeaderSectionData } from '@models/section/customFormPPCHeaderSection';\nimport { ClassNames } from '@emotion/react';\nimport { PageHelmetPreloadLink } from '@components/PageHelmetPreloadLink';\nimport loadable from '@loadable/component';\nimport { RichTextContent } from '@components/RichTextContent';\n\ninterface CustomFormPPCHeaderProps {\n sectionData: CustomFormPPCHeaderSectionData;\n lazyLoad: boolean;\n headerSection?: boolean;\n}\n\nconst CustomFormLoadable = loadable(() => import('@components/SectionComponents/CustomForm'));\n\nexport function CustomFormPPCHeader({ sectionData, lazyLoad, headerSection }: CustomFormPPCHeaderProps): JSX.Element {\n const { heading, description, bannerImage, testimonial, goToSection, customForm } = sectionData;\n const { prefixStringWithBaseUrl } = useStaticValues();\n\n const imageUrl = useMemo(\n () => (bannerImage ? prefixStringWithBaseUrl(bannerImage) : ''),\n [bannerImage, prefixStringWithBaseUrl]\n );\n\n const authorImageUrl = useMemo(\n () => (testimonial.authorImage ? prefixStringWithBaseUrl(testimonial.authorImage) : ''),\n [testimonial.authorImage, prefixStringWithBaseUrl]\n );\n\n return (\n \n {({ css }) => (\n \n {!lazyLoad && imageUrl ? : null}\n \n \n
\n {heading ? (\n \n {heading}\n \n ) : null}\n {description ? (\n \n ) : null}\n {testimonial.hideTestimonial ? null : (\n \n {authorImageUrl ? (\n \n ) : null}\n
\n \n {testimonial.quote}\n \n \n {authorImageUrl ? (\n \n ) : null}\n \n {testimonial.author}\n \n \n
\n \n )}\n
\n
\n \n
\n \n
\n \n {goToSection ? (\n \n \n \n ) : null}\n
\n \n \n \n \n )}\n
\n );\n}\n","import { breakpoints, v2Colors } from '@web-for-marketing/react-ui';\n\nexport const featureIconsStyles = {\n titles: {\n color: v2Colors.core.geotab,\n textAlign: 'center',\n maxWidth: '72rem',\n margin: '0 auto',\n marginBottom: '3rem !important',\n '@media (max-width: 640px)': {\n textAlign: 'left',\n },\n },\n bodies: {\n marginBottom: '4rem !important',\n textAlign: 'center',\n },\n media: {\n height: '7.5rem',\n marginBottom: '1rem !important',\n },\n leftImage: {\n width: 'auto',\n },\n centerImage: {\n width: 'auto',\n display: 'block',\n margin: '0 auto',\n },\n rightImage: {\n width: 'auto',\n display: 'block',\n float: 'right',\n },\n leftHeading: {\n textAlign: 'left',\n clear: 'both',\n },\n centerHeading: {\n textAlign: 'center',\n clear: 'both',\n },\n rightHeading: {\n textAlign: 'right',\n clear: 'both',\n },\n leftBody: {\n textAlign: 'left',\n },\n centerBody: {\n textAlign: 'center',\n },\n rightBody: {\n textAlign: 'right',\n },\n leftLink: {\n alignSelf: 'flex-start',\n },\n centerLink: {\n alignSelf: 'center',\n },\n rightLink: {\n alignSelf: 'flex-end',\n },\n modelMedia: {\n height: '7rem',\n width: '7rem',\n marginRight: '3rem',\n },\n officeContainer: {\n paddingTop: '8rem',\n paddingBottom: '6rem',\n },\n modelBody: {\n marginBottom: '1rem !important',\n },\n officeMedia: {\n borderRadius: '50%',\n },\n listContainer: {\n marginBottom: '1rem !important',\n },\n modelTitle: {\n marginBottom: '2rem',\n [`@media (max-width: ${breakpoints.md})`]: {\n marginBottom: '1rem',\n marginTop: '1rem',\n },\n },\n lists: {\n listStyle: 'disc',\n paddingInlineStart: '2rem',\n minWidth: '50%',\n },\n listItems: {\n fontSize: '1.8rem',\n lineHeight: 1.5,\n color: v2Colors.core.slate,\n display: 'list-item',\n padding: 0,\n paddingLeft: '0.5rem',\n maxWidth: '45rem',\n },\n leftAlign: {\n textAlign: 'left',\n margin: 'unset',\n },\n rightAlign: {\n textAlign: 'right',\n margin: 'unset',\n float: 'right',\n },\n featureLinks: {\n textDecoration: 'underline',\n },\n boxContainer: {\n padding: '3.2rem',\n border: `1px solid ${v2Colors.border.primary}`,\n backgroundColor: v2Colors.background.lightest,\n borderRadius: '4px',\n boxSizing: 'border-box',\n height: '100%',\n [`@media (max-width: ${breakpoints.md})`]: {\n padding: '2.4rem',\n },\n },\n boxIcon: {\n width: '5rem',\n height: '5rem',\n [`@media (max-width: ${breakpoints.md})`]: {\n width: '4rem',\n height: '4rem',\n },\n },\n} as const;\n","import React from 'react';\nimport { Grid, List, ListItem } from '@mui/material';\nimport { getAnimationStyle } from './AnimationStyleHelper';\nimport { featureIconsStyles as classes } from '../styleObjects/FeatureIcons';\nimport { ParseAbbreviations } from '../../ParseAbbreviations';\nimport { getLinkTargetValue } from './SectionComponentHelper';\nimport { CMSLink } from '@components/CMSLink';\nimport { isPreviewingAnimationAtom } from '@atoms/animation';\nimport { useAtom } from 'jotai';\nimport { Heading } from '@web-for-marketing/react-ui';\nimport { Picture } from '@components/Picture';\nimport { LargeStackFeature } from '@models/section/featuresSection';\nimport { TextAlignValues } from '@models/editorForm';\nimport { RichTextContent } from '@components/RichTextContent';\nimport { SectionAnimation } from '@models/section';\n\ninterface LargeStackItemProps {\n animations: SectionAnimation;\n lazyLoad: boolean;\n alignFeatures: TextAlignValues;\n feature: LargeStackFeature;\n shouldIncreaseHeadingLevel: boolean;\n}\n\nexport function LargeStackItem({\n feature,\n animations,\n alignFeatures,\n lazyLoad,\n shouldIncreaseHeadingLevel,\n}: LargeStackItemProps): JSX.Element {\n const [isPreviewingAnimation] = useAtom(isPreviewingAnimationAtom);\n const { image, title, body, list, button } = feature;\n\n return (\n \n \n \n \n \n {title ? (\n \n \n \n ) : null}\n {body ? (\n \n ) : null}\n {list && list.length ? (\n \n \n {list.map((value, index: number) => {\n return (\n \n \n \n );\n })}\n \n \n ) : null}\n {button && button.buttonText ? (\n \n {button.buttonText}\n \n ) : null}\n \n \n );\n}\n","import React from 'react';\nimport { featureIconsStyles as classes } from '../styleObjects/FeatureIcons';\nimport { ParseAbbreviations } from '../../ParseAbbreviations';\nimport { Heading } from '@web-for-marketing/react-ui';\nimport { Picture } from '@components/Picture';\nimport { SmallStackFeature } from '@models/section/featuresSection';\nimport { TextAlignValues } from '@models/editorForm';\nimport { RichTextContent } from '@components/RichTextContent';\nimport { CMSLink } from '@components/CMSLink';\nimport { getLinkTargetValue } from '@sections/helpers/SectionComponentHelper';\n\ninterface SmallStackItemProps {\n lazyLoad: boolean;\n alignFeatures: TextAlignValues;\n feature: SmallStackFeature;\n shouldIncreaseHeadingLevel: boolean;\n}\n\nexport function SmallStackItem({\n feature,\n alignFeatures,\n lazyLoad,\n shouldIncreaseHeadingLevel,\n}: SmallStackItemProps): JSX.Element {\n const { image, title, body, link, target } = feature;\n\n return (\n
\n \n {title ? (\n \n {link ? (\n \n \n \n ) : (\n \n )}\n \n ) : null}\n \n
\n );\n}\n","import React from 'react';\nimport { Stack } from '@mui/material';\nimport { featureIconsStyles as classes } from '../styleObjects/FeatureIcons';\nimport { ForwardIcon, Heading, V2Button } from '@web-for-marketing/react-ui';\nimport { Picture } from '@components/Picture';\nimport { BoxFeature } from '@models/section/featuresSection';\nimport { TextAlignValues } from '@models/editorForm';\nimport { RichTextContent } from '@components/RichTextContent';\nimport { getLinkTargetValue } from './SectionComponentHelper';\n\ninterface BoxFeatureItemProps {\n lazyLoad: boolean;\n alignFeatures: TextAlignValues;\n feature: BoxFeature;\n shouldIncreaseHeadingLevel: boolean;\n}\n\nexport function BoxFeatureItem({\n feature,\n alignFeatures,\n lazyLoad,\n shouldIncreaseHeadingLevel,\n}: BoxFeatureItemProps): JSX.Element {\n const { image, title, body, linkPath, linkText, ariaLabel, shouldOpenNewTab } = feature;\n\n return (\n \n
\n \n
\n \n \n {title}\n \n \n {linkText && linkPath ? (\n }\n css={classes[`${alignFeatures}Link`]}\n >\n {linkText}\n \n ) : null}\n \n
\n );\n}\n","import React from 'react';\nimport { Grid } from '@mui/material';\nimport { getAnimationStyle } from './helpers/AnimationStyleHelper';\nimport { LargeStackItem } from './helpers/LargeStackItem';\nimport { SmallStackItem } from './helpers/SmallStackItem';\nimport { featureIconsStyles as classes } from './styleObjects/FeatureIcons';\nimport { ParseAbbreviations } from '../ParseAbbreviations';\nimport { isPreviewingAnimationAtom } from '@atoms/animation';\nimport { useAtom } from 'jotai';\nimport { Heading } from '@web-for-marketing/react-ui';\nimport { RichTextContent } from '@components/RichTextContent';\nimport {\n BoxFeature,\n FeaturesSectionContent,\n LargeStackFeature,\n SmallStackFeature,\n} from '@models/section/featuresSection';\nimport { SectionAnimation } from '@models/section';\nimport { BoxFeatureItem } from './helpers/BoxFeatureItem';\nimport { SectionContainer } from './SectionContainer';\n\ntype FeaturesProps = FeaturesSectionContent & {\n lazyLoad: boolean;\n animations: SectionAnimation;\n headerSection?: boolean;\n};\n\nexport function Features({\n title,\n body,\n features,\n animations,\n align,\n alignFeatures,\n type,\n lazyLoad,\n headerSection,\n}: FeaturesProps): JSX.Element {\n const [isPreviewingAnimation] = useAtom(isPreviewingAnimationAtom);\n const shouldIncreaseHeadingLevel = headerSection || !title;\n\n return (\n \n \n {title ? (\n \n {title}\n \n ) : null}\n {body ? (\n \n ) : null}\n \n {features.map((feature, index) => {\n switch (type) {\n case 'smallStack':\n return (\n \n \n \n );\n case 'largeStack':\n return (\n \n \n \n );\n case 'boxes':\n return (\n \n \n \n );\n default:\n break;\n }\n })}\n \n \n \n );\n}\n\nFeatures.defaultProps = {\n features: [\n { title: '', body: '', image: { imageAlt: '', imagePath: '' } },\n { title: '', body: '', image: { imageAlt: '', imagePath: '' } },\n { title: '', body: '', image: { imageAlt: '', imagePath: '' } },\n ],\n animations: {\n animationsEnabled: false,\n },\n align: 'center',\n alignFeatures: 'left',\n type: 'smallStack',\n};\n","import React, { useEffect } from 'react';\nimport { Heading } from '@web-for-marketing/react-ui';\nimport { v2Colors } from '@web-for-marketing/react-ui';\nimport { Grid } from '@mui/material';\nimport { getSessionStorageItem } from '@services/sessionStorageService';\nimport { DataLayerFormValue } from '@models/dataLayer';\nimport { isEditingAtom } from '@atoms/admin';\nimport { useAtom } from 'jotai';\n\nconst classes = {\n adminContainer: {\n backgroundColor: v2Colors.core.cloud,\n },\n adminHeading: {\n margin: '8rem auto',\n },\n};\n\ndeclare const window: Window & { dataLayer: DataLayerFormValue[] };\n\nexport function GTMDataLayerForwarder(): JSX.Element | null {\n const [isEditing] = useAtom(isEditingAtom);\n\n useEffect(() => {\n const gtmDataLayer = window.dataLayer;\n const sessionData = getSessionStorageItem('dataLayerFormValues');\n const dataLayerFormValues = sessionData ? JSON.parse(sessionData) : null;\n\n if (gtmDataLayer && dataLayerFormValues && Array.isArray(dataLayerFormValues)) {\n dataLayerFormValues.forEach((value: DataLayerFormValue) => {\n gtmDataLayer.push(value);\n });\n sessionStorage.removeItem('dataLayerFormValues');\n }\n }, []);\n\n return isEditing ? (\n \n \n GTM Data Layer Forwarder Section\n \n \n ) : null;\n}\n","export const iframeStyles = {\n container: {\n width: '100%',\n },\n iframe: {\n display: 'block',\n margin: '20px auto',\n },\n invalidHeading: {\n textAlign: 'center',\n margin: '0 auto',\n },\n removeBorder: {\n border: 'none',\n },\n} as const;\n","import React from 'react';\nimport { useAtom } from 'jotai';\nimport { isMobileAtom } from '@atoms/appSettings';\nimport { iframeStyles as classes } from './styleObjects/IframeStyles';\nimport { getAnimationStyle } from './helpers/AnimationStyleHelper';\nimport { Heading, LazyLoadContainer } from '@web-for-marketing/react-ui';\nimport { isPreviewingAnimationAtom } from '@atoms/animation';\nimport { IframeData } from '@models/section/iFrameSection';\nimport { SectionAnimation } from '@models/section';\nimport { Grid } from '@mui/material';\n\nexport const defaultHeight = '200px';\nexport const defaultWidth = '80%';\n\ninterface IframeProps {\n lazyLoad: boolean;\n iframeComponent: IframeData;\n animations?: SectionAnimation;\n}\n\nexport function Iframe({ iframeComponent, animations, lazyLoad }: IframeProps): JSX.Element {\n const [isMobile] = useAtom(isMobileAtom);\n const [isPreviewingAnimation] = useAtom(isPreviewingAnimationAtom);\n const height = isMobile ? iframeComponent.mobileHeight || defaultHeight : iframeComponent.height || defaultHeight;\n const width = isMobile ? iframeComponent.mobileWidth || defaultWidth : iframeComponent.width || defaultWidth;\n\n return (\n \n {iframeComponent.url ? (\n \n ) : (\n \n Url is not valid.\n \n )}\n \n );\n}\n","import React, { useMemo } from 'react';\nimport { LandingPageHeaderSectionData } from '@models/section/landingPageHeaderSection';\nimport { SectionContainer } from './SectionContainer';\nimport { Heading, LazyLoadContainer, Text, v2Colors } from '@web-for-marketing/react-ui';\nimport { Grid2, Stack } from '@mui/material';\nimport { customSectionForms } from '@components/EditorFormComponents/helpers/CustomSectionTypes';\nimport { DownChevronIcon } from '@components/IconComponents/DownChevronIcon';\nimport { RichTextContent } from '@components/RichTextContent';\nimport { OutlinedCheckmarkIcon } from '@components/IconComponents/OutlinedCheckmarkIcon';\nimport { useAtom } from 'jotai';\nimport { isMobileAtom } from '@atoms/appSettings';\n\ninterface LandingPageHeaderProps {\n sectionData: LandingPageHeaderSectionData;\n lazyLoad: boolean;\n headerSection?: boolean;\n hasBackground: boolean;\n}\n\nconst classes = {\n placeHolderBox: (theme: LandingPageHeaderSectionData['theme']) =>\n ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n height: '48rem',\n backgroundColor: theme === 'dark' ? v2Colors.background.darkest : v2Colors.action.active,\n border: `4px dashed ${theme === 'dark' ? v2Colors.text.inversePrimary : v2Colors.text.primary}`,\n width: '100%',\n borderRadius: '8px',\n }) as const,\n list: {\n listStyleType: 'none',\n padding: 0,\n margin: 0,\n },\n nextSectionContainer: {\n display: 'flex',\n width: '100%',\n justifyContent: 'center',\n marginTop: '2rem',\n },\n nextSectionLink: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '7rem',\n height: '7rem',\n padding: 0,\n },\n} as const;\n\nexport function LandingPageHeader({\n sectionData,\n lazyLoad,\n headerSection,\n hasBackground,\n}: LandingPageHeaderProps): JSX.Element {\n const [isMobile] = useAtom(isMobileAtom);\n const CustomSectionForm = useMemo(() => {\n const form = customSectionForms.find((form) => form.value === sectionData.formType);\n return form ? form.component : null;\n }, [sectionData.formType]);\n const { theme, title, subtitle, bulletPoints, params, navigationId, formOrientation } = sectionData;\n const isDarkTheme = theme === 'dark';\n\n const customForm = CustomSectionForm ? (\n \n ) : (\n
\n \n Custom Form Section\n \n Edit the section to configure the form\n
\n );\n\n return (\n \n \n \n \n \n \n {title}\n \n {/* Must ensure two forms with the same id do not appear in the DOM */}\n {isMobile ? customForm : null}\n \n {bulletPoints.length ? (\n \n {bulletPoints.map((bulletPoint, index) => (\n \n \n \n \n ))}\n \n ) : null}\n \n \n {/* Must ensure two forms with the same id do not appear in the DOM */}\n {!isMobile ? {customForm} : null}\n \n {navigationId ? (\n \n ) : null}\n \n \n );\n}\n","import React from 'react';\nimport { ModularSectionData } from '@models/section/modularSection';\nimport { LazyLoadContainer } from '@web-for-marketing/react-ui';\nimport { Grid2, Stack } from '@mui/material';\nimport { RenderColumnTypes } from './helpers/RenderColumnTypes';\nimport { SectionColumn, FlexAlignment } from '@models/column';\nimport { getTotalColumnSpanCount, getColumnCount } from './helpers/modularSectionHelper';\nimport { breakpoints } from '@web-for-marketing/react-ui';\nimport { splitPaddingValues } from './helpers/spacingStyleHelpers';\nimport { getAnimationStyle } from './helpers/AnimationStyleHelper';\nimport { useAtom } from 'jotai';\nimport { SectionAnimation, ContentSpacing } from '@models/section';\nimport { isMobileAtom } from '@atoms/appSettings';\nimport { isPreviewingAnimationAtom } from '@atoms/animation';\nimport { SectionContainer } from './SectionContainer';\n\ninterface ModularSectionProps {\n sectionData: ModularSectionData;\n lazyLoad: boolean;\n headerSection?: boolean;\n animations?: SectionAnimation;\n}\n\nconst flexAlignToTextAlign = {\n 'flex-start': 'left',\n center: 'center',\n 'flex-end': 'right',\n} as const;\n\nconst classes = {\n module: (horizontalAlignment: FlexAlignment) => ({\n width: '100%',\n height: '100%',\n textAlign: flexAlignToTextAlign[horizontalAlignment] || 'left',\n }),\n mainContainer: (padding: ContentSpacing) => {\n const { paddingTop, paddingBottom } = splitPaddingValues(padding);\n\n return {\n [`@media (max-width: ${breakpoints.md})`]: {\n overflowX: 'hidden',\n },\n [`@media (min-width: ${breakpoints.md})`]: {\n paddingTop: `${paddingTop}rem`,\n paddingBottom: `${paddingBottom}rem`,\n },\n } as const;\n },\n};\n\nexport function ModularSection({ sectionData, lazyLoad, headerSection, animations }: ModularSectionProps): JSX.Element {\n const totalColumnSpanCount = getTotalColumnSpanCount(sectionData.modules);\n const spacing = sectionData.spacing || '8rem 0';\n const [isPreviewingAnimation] = useAtom(isPreviewingAnimationAtom);\n const [isMobile] = useAtom(isMobileAtom);\n const modules = sectionData.mobileSwap && isMobile ? sectionData.modules.reverse() : sectionData.modules;\n\n return (\n \n \n \n {modules.map((module, index) => {\n // the column span of the module in a 12 column layout\n const twelveColumnSpan = (12 * module.columnSpan) / totalColumnSpanCount;\n // the twelveColumnSpan value can be a decimal, so we round it up for when a whole value is needed\n const roundedTwelveColumnSpan = Math.ceil(twelveColumnSpan);\n\n return (\n \n \n \n \n \n );\n })}\n \n \n \n );\n}\n","import { breakpoints, v2Colors } from '@web-for-marketing/react-ui';\n\nexport const subNavigationStyles = {\n subNavigationContainer: {\n backgroundColor: v2Colors.background.white,\n width: '100%',\n boxSizing: 'border-box',\n maxHeight: '6.4rem',\n borderBottom: '1px solid #D9E1E8',\n [`@media (max-width: ${breakpoints.md})`]: {\n maxHeight: 'unset',\n borderBottom: 'none',\n },\n },\n subNavigation: {\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n justifyContent: 'center',\n flexWrap: 'nowrap',\n overflowX: 'auto',\n boxSizing: 'border-box',\n maxWidth: 1630,\n margin: '0 auto',\n minHeight: '6.4rem',\n maxHeight: '6.4rem',\n '@media (max-width: 1679.9px)': {\n paddingLeft: '3.6rem ',\n paddingRight: '3.6rem ',\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n overflowX: 'hidden',\n },\n },\n smallLeftMarginIcon: {\n marginLeft: '0.5rem',\n },\n arrowContainer: {\n margin: '0 1.6rem',\n },\n buttonContainer: {\n margin: '0 .8rem',\n maxHeight: '4.2rem',\n },\n buttonItem: {\n width: '100%',\n padding: '.4rem 2.4rem !important',\n borderRadius: '.8rem',\n minHeight: '4.2rem',\n },\n buttonDivider: {\n marginRight: '2rem',\n borderLeft: '2px solid #C0CCD8',\n height: '2.6rem',\n },\n linkItemContainer: {\n overflow: 'auto',\n scrollbarWidth: 'none',\n },\n linkItem: {\n color: v2Colors.text.activePrimary,\n padding: '.8rem 1.6rem',\n margin: '0 1.6rem',\n fontWeight: 500,\n fontSize: '1.8rem',\n textDecoration: 'none',\n borderRadius: '.8rem',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n '&:hover': {\n backgroundColor: `${v2Colors.core.cloud} !important`,\n color: v2Colors.text.activeSecondary,\n padding: '.8rem 1.6rem',\n },\n '&:focus-visible': {\n outline: 'none',\n textDecoration: 'underline',\n backgroundColor: `${v2Colors.core.cloud} !important`,\n color: v2Colors.text.activeSecondary,\n padding: '.8rem 1.6rem',\n },\n },\n arrowButton: {\n '&:hover': {\n backgroundColor: `${v2Colors.core.cloud} !important`,\n color: v2Colors.text.activeSecondary,\n },\n },\n flipArrow: {\n transform: 'scaleX(-1)',\n },\n} as const;\n","import { breakpoints, space, v2Colors } from '@web-for-marketing/react-ui';\n\nexport const subNavigationMobileStyles = {\n subNavigation: {\n overflow: 'hidden',\n flexWrap: 'nowrap',\n overflowX: 'auto',\n boxSizing: 'border-box',\n maxWidth: 1630,\n margin: '0 auto',\n minHeight: '4rem',\n maxHeight: '4rem',\n borderBottom: '1px solid #D9E1E8',\n [`@media (max-width: ${breakpoints.md})`]: {\n overflowX: 'hidden',\n },\n [`@media (min-width: ${breakpoints.sm})`]: {\n minHeight: '4rem',\n maxHeight: '4rem',\n },\n },\n dropDownButton: {\n display: 'flex',\n minHeight: '4rem',\n justifyContent: 'space-between',\n fontWeight: 500,\n fontSize: '1.4rem !important',\n textDecoration: 'none',\n width: '100%',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n transform: 'translateX(0px)',\n [`@media (max-width: ${breakpoints.sm})`]: {\n width: '100%',\n },\n '@media (max-width: 1679.9px)': {\n paddingLeft: `${space.containerOuterPadding} !important`,\n paddingRight: `${space.containerOuterPadding} !important`,\n },\n '&:focus': {\n color: v2Colors.text.activeSecondary,\n },\n '&:focus-visible': {\n outline: `1px solid ${v2Colors.core.innovation}`,\n outlineOffset: '-2px',\n borderRadius: '.6rem',\n },\n },\n dropDownMenu: {\n backgroundColor: v2Colors.background.white,\n },\n smallLeftMarginIcon: {\n marginLeft: '0.5rem',\n },\n arrowContainer: {\n margin: '0 1.6rem',\n },\n buttonContainer: {\n backgroundColor: v2Colors.background.light,\n },\n buttonItem: {\n width: '100%',\n padding: '0 !important',\n margin: 0,\n fontWeight: 500,\n fontSize: '1.4rem !important',\n textDecoration: 'none',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n minHeight: '4rem',\n display: 'flex',\n justifyContent: 'flex-start',\n transform: 'translateX(0px)',\n '@media (max-width: 1679.9px)': {\n padding: `1rem ${space.containerOuterPadding} !important`,\n },\n [`@media (max-width: ${breakpoints.sm})`]: {\n width: '100%',\n },\n '&:hover': {\n color: v2Colors.text.activeSecondary,\n },\n '&:focus-visible': {\n outline: `1px solid ${v2Colors.core.innovation}`,\n outlineOffset: '-1px',\n borderRadius: '.6rem',\n },\n },\n linkItemContainer: {\n overflow: 'hidden',\n display: 'flex',\n borderBottom: `1px solid ${v2Colors.border.primary}`,\n minHeight: '4rem',\n [`@media (max-width: ${breakpoints.md})`]: {\n overflowX: 'hidden',\n },\n padding: 0,\n },\n linkItem: {\n color: v2Colors.text.activePrimary,\n width: '100%',\n padding: 0,\n margin: 0,\n fontWeight: 500,\n fontSize: '1.4rem',\n textDecoration: 'none',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n '@media (max-width: 1679.9px)': {\n padding: `1rem ${space.containerOuterPadding}`,\n },\n '&:hover': {\n color: v2Colors.text.activeSecondary,\n textDecoration: 'underline',\n },\n '&:focus': {\n color: v2Colors.text.activeSecondary,\n },\n '&:focus-visible': {\n outline: `1px solid ${v2Colors.core.innovation}`,\n outlineOffset: '-1px',\n borderRadius: '.6rem',\n },\n },\n rotate: {\n transform: 'rotate(180deg)',\n },\n} as const;\n","import React, { useState, useRef } from 'react';\nimport { Button } from '@mui/material';\nimport { SubNavigationData } from '@models/section/subNavigationSection';\nimport { subNavigationMobileStyles as classes } from '@components/styleObjects/SubNavigationMobile';\nimport { CMSLink } from '@components/CMSLink';\nimport { getLinkTargetValue } from './helpers/SectionComponentHelper';\nimport { NewTabIcon } from '@web-for-marketing/react-ui';\nimport { PopoutButton } from '@components/PopoutCustomSection/PopoutButton';\nimport { v2Colors } from '@web-for-marketing/react-ui';\nimport { DropdownIcon } from '@components/IconComponents/DropdownIcon';\nimport { useAccessiblePopout } from '@web-for-marketing/react-ui';\n\nexport interface SubNavigationMobileProps {\n sectionData: SubNavigationData;\n}\n\nexport function SubNavigationMobile({ sectionData }: SubNavigationMobileProps): JSX.Element {\n const [open, setOpen] = useState(false);\n const [selected, setIsSelected] = useState(sectionData.links[0].linkText);\n\n const handleClose = (): void => setOpen(false);\n const popover = useRef(null);\n\n useAccessiblePopout(popover, open, handleClose, {\n disableScroll: false,\n });\n\n const handleClick = (): void => {\n setOpen((prevState) => !prevState);\n };\n\n return (\n
\n
\n \n {selected}\n \n \n
\n {open ? (\n
\n {sectionData.links.map((link, index) => (\n
\n {\n setIsSelected(link.linkText);\n handleClose();\n }}\n >\n {link.linkText}\n {link.linkTarget ? (\n
\n ))}\n {sectionData.buttons.length ? (\n <>\n {sectionData.buttons.map(\n (\n {\n buttonText,\n buttonLinkPath,\n buttonTarget,\n buttonClassName,\n ariaLabel,\n isPopout,\n popoutDisplayMode,\n popoutBackgroundImage,\n popoutCustomSection,\n params = [],\n },\n index\n ) =>\n buttonText ? (\n \n {isPopout ? (\n \n ) : (\n \n {buttonText}\n \n )}\n
\n ) : null\n )}\n \n ) : null}\n
\n ) : null}\n \n );\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { Button, Grid } from '@mui/material';\nimport { SubNavigationData } from '@models/section/subNavigationSection';\nimport { subNavigationStyles as classes } from '@components/styleObjects/SubNavigation';\nimport { CMSLink } from '@components/CMSLink';\nimport { getLinkTargetValue } from './helpers/SectionComponentHelper';\nimport { NewTabIcon } from '@web-for-marketing/react-ui';\nimport { PopoutButton } from '@components/PopoutCustomSection/PopoutButton';\nimport { useAtom } from 'jotai';\nimport { isMobileAtom } from '@atoms/appSettings';\nimport { RightArrowIcon } from '@components/IconComponents/RightArrowIcon';\nimport { v2Colors } from '@web-for-marketing/react-ui';\nimport { SubNavigationMobile } from './SubNavigationMobile';\nimport { debounce } from '@helpers/debounceHelper';\n\nexport interface SubNavigationProps {\n sectionData: SubNavigationData;\n}\n\nexport function SubNavigation({ sectionData }: SubNavigationProps): JSX.Element {\n const [isMobile] = useAtom(isMobileAtom);\n const containerRef = useRef(null);\n const [showLeftArrow, setShowLeftArrow] = useState(false);\n const [showRightArrow, setShowRightArrow] = useState(false);\n\n useEffect(() => {\n const container = containerRef.current;\n\n if (!container) return;\n\n const resizeObserver = new ResizeObserver(() => {\n updateScrollArrows();\n });\n\n resizeObserver.observe(container);\n\n return () => {\n resizeObserver.unobserve(container);\n };\n }, []);\n\n const updateScrollArrows = (): void => {\n const container = containerRef.current;\n if (!container) return;\n\n setShowLeftArrow(container.scrollLeft > 0);\n setShowRightArrow(container.scrollLeft + container.clientWidth < container.scrollWidth);\n };\n\n const handleScroll = (direction: 'left' | 'right'): void => {\n const container = containerRef.current;\n const adjustment = direction === 'left' ? -100 : 100;\n if (container) {\n container.scrollTo({\n left: container.scrollLeft + adjustment, // Adjust scroll amount as needed\n behavior: 'smooth',\n });\n updateScrollArrows();\n }\n };\n\n const handleScrollDebounced = debounce(updateScrollArrows, 100);\n\n return (\n
\n {isMobile ? (\n \n ) : (\n
\n {showLeftArrow ? (\n
\n handleScroll('left')}\n css={classes.arrowButton}\n aria-hidden\n data-testid='scroll-left-button'\n tabIndex={-1}\n >\n \n \n
\n ) : null}\n \n {sectionData.links.map((link, index) => (\n \n \n {link.linkText}\n {link.linkTarget ? (\n \n ) : null}\n \n \n ))}\n \n {showRightArrow ? (\n \n handleScroll('right')}\n css={classes.arrowButton}\n aria-hidden\n tabIndex={-1}\n data-testid='scroll-right-button'\n >\n \n \n \n ) : null}\n {sectionData.buttons.length ? (\n <>\n \n <>\n {sectionData.buttons.map(\n (\n {\n buttonText,\n buttonLinkPath,\n buttonType,\n buttonTarget,\n buttonClassName,\n ariaLabel,\n isPopout,\n popoutDisplayMode,\n popoutBackgroundImage,\n popoutCustomSection,\n params = [],\n },\n index\n ) =>\n buttonText ? (\n \n {isPopout ? (\n \n ) : (\n \n {buttonText}\n \n )}\n \n ) : null\n )}\n \n \n ) : null}\n
\n )}\n
\n );\n}\n","import React, { useState } from 'react';\nimport { Grid2, Stack } from '@mui/material';\nimport { ParseAbbreviations } from '../ParseAbbreviations';\nimport { getLinkTargetValue } from './helpers/SectionComponentHelper';\nimport { PopoutButton } from '@components/PopoutCustomSection/PopoutButton';\nimport { Checkbox, Heading, Text } from '@web-for-marketing/react-ui';\nimport { RichTextContent } from '@components/RichTextContent';\nimport { FlexAlignment, TitleBodyButtonsFormContent } from '@models/column';\nimport { TextColor, V2Button } from '@web-for-marketing/react-ui';\nimport { Widget } from './Widget';\n\ninterface TitleBodyButtonsProps {\n content: TitleBodyButtonsFormContent;\n textColor?: TextColor;\n headerSection?: boolean;\n horizontalAlignment: FlexAlignment;\n}\n\nconst classes = {\n buttonWrapper: {\n maxWidth: '100% !important',\n },\n fullWidth: {\n width: '100%',\n },\n title: (fullWidth?: boolean) => ({\n maxWidth: fullWidth ? undefined : '60rem',\n }),\n};\n\nexport function TitleBodyButtons({\n content,\n textColor,\n headerSection,\n horizontalAlignment,\n}: TitleBodyButtonsProps): JSX.Element {\n const [checkBoxChecked, setCheckBoxChecked] = useState(false);\n\n return (\n \n {content.label ? (\n \n {content.label}\n \n ) : null}\n \n {content.title ? (\n \n ) : null}\n {content.body ? (\n \n ) : null}\n {content.widget ? : null}\n {content.requestConsent ? (\n
\n setCheckBoxChecked(event.target.checked)}\n id={`${content.title || ''}consent-checkbox`}\n label={\n \n }\n />\n
\n ) : null}\n {content.buttons && content.buttons.length ? (\n
\n \n {content.buttons.map(\n (\n {\n buttonText,\n buttonLinkPath,\n buttonType,\n buttonTarget,\n buttonClassName,\n buttonColor,\n ariaLabel,\n isPopout,\n popoutCustomSection,\n popoutDisplayMode,\n popoutBackgroundImage,\n params = [],\n },\n index\n ) =>\n buttonText ? (\n \n {isPopout ? (\n \n ) : (\n \n {buttonText}\n \n )}\n \n ) : null\n )}\n \n
\n ) : null}\n
\n
\n );\n}\n","import { httpGet } from './apiService';\nimport { Video } from '@models/video';\nimport { PagedResult } from '@models/pagination';\n\nconst videoApiUrl = '/api/video';\n\nexport function getVideosByTagId(tagIds: number[], page = 1, maxRecordsPerPage = 9): Promise> {\n const ids = tagIds.map((tagId) => `tagIds=${tagId}`).join('&');\n return httpGet(`${videoApiUrl}/paged/tag/?${ids}&page=${page}&maxRecordsPerPage=${maxRecordsPerPage}`).then(\n (result) => result.json()\n );\n}\n","import { connectColors } from '@components/Connect2024/connectHelpers';\nimport { colors, overlays, breakpoints, v2Colors, shadows } from '@web-for-marketing/react-ui';\nimport { typographyStyles } from '@web-for-marketing/react-ui';\n\nexport const videoLibraryStyles = {\n filterChip: (isSelected: boolean | undefined, connect2024?: boolean) =>\n ({\n ...typographyStyles.header4,\n whiteSpace: 'nowrap',\n border: isSelected ? 'none' : connect2024 ? `2px solid ${connectColors.white}` : 'none',\n fontWeight: 400,\n color: connect2024\n ? connectColors.white\n : isSelected\n ? v2Colors.text.inversePrimary\n : typographyStyles.header4.color,\n backgroundColor: isSelected\n ? connect2024\n ? connectColors.electricBlue\n : colors.interactive.primary\n : connect2024\n ? connectColors.black\n : overlays.activeSecondary,\n borderRadius: '100px',\n padding: '1.5rem 3rem',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n transition: 'background-color ease 500ms, color ease 500ms',\n '& svg path': {\n fill: connect2024\n ? connectColors.white\n : isSelected\n ? v2Colors.text.inversePrimary\n : v2Colors.text.activePrimary,\n transition: 'fill 500ms ease',\n },\n '&:hover': {\n cursor: 'pointer',\n '& svg path': {\n fill: 'currentColor',\n },\n ...(isSelected\n ? {}\n : connect2024\n ? {\n backgroundColor: connectColors.white,\n color: connectColors.electricBlue,\n }\n : {\n color: v2Colors.text.inversePrimary,\n backgroundColor: colors.interactive.primary,\n }),\n },\n '&:focus': connect2024\n ? {\n outline: `2px solid ${connectColors.white}`,\n outlineOffset: '-5px',\n }\n : undefined,\n }) as const,\n cardChip: (connect?: boolean) => ({\n ...typographyStyles.body2,\n color: connect ? connectColors.white : v2Colors.text.primary,\n background: connect ? connectColors.electricBlue : overlays.activeSecondary,\n borderRadius: '40px',\n padding: '0.8rem 2rem',\n width: 'fit-content',\n }),\n filterContainer: {\n width: '100%',\n '& > *:not(:last-child)': {\n marginRight: '2rem',\n },\n },\n topSpacing: {\n marginTop: '6rem',\n [`@media (max-width: ${breakpoints.sm})`]: {\n marginTop: '3rem',\n },\n },\n videoCard: (connect?: boolean) => ({\n height: '48rem',\n border: `1px solid ${connect ? connectColors.white : v2Colors.border.primary}`,\n backgroundColor: connect ? connectColors.black : v2Colors.background.white,\n borderRadius: '8px',\n display: 'block',\n textDecoration: 'none',\n overflow: 'hidden',\n [`@media (max-width: ${breakpoints.sm})`]: {\n height: '100%',\n },\n [`@media (min-width: ${breakpoints.sm})`]: {\n '&:hover,&:focus': {\n boxShadow: shadows.hard,\n '& .videoCardCTA': {\n maxHeight: 0,\n opacity: 0,\n transition: 'max-height 100ms ease, opacity 100ms ease',\n marginBottom: '0 !important',\n },\n '& .videoCardDescription': {\n maxHeight: '50rem',\n opacity: 1,\n transition: 'max-height 400ms ease, opacity 400ms ease',\n },\n '& img': {\n height: '18rem',\n transition: 'height 400ms ease',\n },\n },\n },\n }),\n videoCardCTA: {\n maxHeight: '50rem',\n opacity: 1,\n transition: 'max-height 400ms ease, opacity 400ms ease',\n },\n videoCardDescription: {\n maxHeight: 0,\n opacity: 0,\n overflow: 'hidden',\n transition: 'max-height 400ms ease, opacity 400ms ease',\n },\n videoCardContent: {\n padding: '1.6rem',\n },\n skeletonVideoCard: (connect?: boolean) => ({\n border: `1px solid ${connect ? connectColors.white : v2Colors.border.primary}`,\n padding: '1.6rem',\n borderRadius: '8px',\n }),\n imageContainer: {\n width: '100%',\n position: 'relative',\n },\n playIcon: {\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n },\n cardImage: {\n height: '25rem',\n width: '100%',\n transition: 'height 400ms ease',\n borderRadius: '8px',\n objectFit: 'cover',\n },\n cardText: {\n marginTop: '2rem',\n '& > *:not(:last-child)': {\n marginBottom: '1.2rem',\n },\n },\n cardTitle: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: '2',\n },\n cardDescription: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: '3',\n marginBottom: '1.2rem',\n },\n menu: {\n marginTop: '1rem !important',\n border: `1px solid ${v2Colors.border.primary}`,\n borderRadius: '8px',\n minWidth: '28rem !important',\n },\n menuItem: {\n ...typographyStyles.body1,\n color: v2Colors.text.primary,\n padding: '16px 24px',\n '&:hover, &:focus': {\n backgroundColor: v2Colors.core.cloud,\n },\n },\n} as const;\n","import React from 'react';\n\nexport function TabIcon(props: React.SVGProps): JSX.Element {\n return (\n \n \n \n );\n}\n","import React, { useState } from 'react';\nimport { SelectIcon } from '@web-for-marketing/react-ui';\nimport { videoLibraryStyles as classes } from './videoLibraryStyles';\nimport { ClassNames } from '@emotion/react';\nimport { Menu, MenuItem } from '@mui/material';\nimport { TagFilter, VideoTag } from '@models/section/videoLibrarySection';\n\nexport interface TagFilterBarMenuProps {\n selectedTag: TagFilter;\n menuItems: VideoTag[];\n onSelect: (tagId: number) => void;\n connect2024?: boolean;\n}\n\nexport function TagFilterBarMenu({\n selectedTag,\n menuItems,\n onSelect,\n connect2024,\n}: TagFilterBarMenuProps): JSX.Element {\n const [anchorEl, setAnchorEl] = useState(null);\n const open = Boolean(anchorEl);\n\n function handleClick(event: React.MouseEvent): void {\n setAnchorEl(event.currentTarget);\n }\n\n function handleClose(): void {\n setAnchorEl(null);\n }\n\n return (\n <>\n item.id).includes(selectedTag),\n connect2024\n )}\n >\n More\n \n \n \n {({ css }) => (\n \n {menuItems.map((item) => (\n onSelect(item.id)}\n >\n {item.name}\n \n ))}\n \n )}\n \n \n );\n}\n","import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { videoLibraryStyles as classes } from './videoLibraryStyles';\nimport { Grid, Skeleton } from '@mui/material';\nimport { TabIcon } from '@icon/TabIcon';\nimport { TagFilter, VideoTag } from '@models/section/videoLibrarySection';\nimport { TagFilterBarMenu } from './TagFilterBarMenu';\n\nexport interface TagFilterBarProps {\n onChange: (value: TagFilter) => void;\n selectedTag: TagFilter;\n tags: VideoTag[];\n connect2024?: boolean;\n}\n\nexport function TagFilterBar({ onChange, selectedTag, tags, connect2024 }: TagFilterBarProps): JSX.Element {\n const [showFilterBar, setShowFilterBar] = useState(false);\n const [visibleCount, setVisibleCount] = useState(tags.length);\n const visibleTags = tags.slice(0, visibleCount);\n const menuItemsCount = tags.length - visibleTags.length;\n const menuItems = menuItemsCount !== 0 ? tags.slice(-menuItemsCount) : [];\n const filterContainer = useRef(null);\n\n const computeTags = useCallback((buttonWidths: number[], container: HTMLDivElement | null): void => {\n if (container) {\n let visibileCount = 0;\n // buttonWidths[0] is the width of the \"All videos\" button\n let remainingSpace = container.clientWidth - buttonWidths[0] - 180; // removes space for \"All Videos\", \"More\" button, and extra margin\n const tagWidths = buttonWidths.slice(1);\n tagWidths.forEach((width) => {\n remainingSpace = remainingSpace - width - 20;\n if (remainingSpace > 0) {\n visibileCount++;\n }\n });\n setVisibleCount(visibileCount);\n }\n }, []);\n\n useEffect(() => {\n const buttonWidths: number[] = [];\n\n if (filterContainer.current) {\n const shouldUpdateStyles = filterContainer.current.style.display === 'none';\n if (shouldUpdateStyles) {\n // buttons in container need to be visible to get their widths\n filterContainer.current.style.display = 'flex';\n }\n\n [...filterContainer.current.getElementsByTagName('button')].forEach((button) => {\n const { width } = button.getBoundingClientRect();\n buttonWidths.push(width);\n });\n computeTags(buttonWidths, filterContainer.current);\n\n if (shouldUpdateStyles) {\n // filter bar should stay hidden until visibleCount state has been updated\n filterContainer.current.style.display = 'none';\n setShowFilterBar(true);\n }\n }\n\n const handleResize = (): void => computeTags(buttonWidths, filterContainer.current);\n\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [tags.length, computeTags]);\n\n function handleFilterChange(tagFilter: TagFilter): void {\n if (tagFilter !== selectedTag) {\n onChange(tagFilter);\n }\n }\n\n return (\n <>\n \n handleFilterChange('All')}\n >\n \n All Videos\n \n {visibleTags.map((tag) => (\n handleFilterChange(tag.id)}\n >\n {tag.name}\n \n ))}\n {menuItems.length ? (\n \n ) : null}\n \n {!showFilterBar ? (\n \n {Array.from(new Array(5)).map((_item, index) => (\n \n ))}\n \n ) : null}\n \n );\n}\n","import React, { useState, useRef } from 'react';\nimport { TagFilter, VideoTag } from '@models/section/videoLibrarySection';\nimport { space, useAccessiblePopout } from '@web-for-marketing/react-ui';\nimport { shadows, v2Colors } from '@web-for-marketing/react-ui';\nimport { typographyStyles } from '@web-for-marketing/react-ui';\nimport { ExpandIcon } from '@web-for-marketing/react-ui';\nimport { connectColors } from '@components/Connect2024/connectHelpers';\n\nexport interface MobileTagFilterBarProps {\n onChange: (value: TagFilter) => void;\n selectedTag: TagFilter;\n tags: VideoTag[];\n connect2024?: boolean;\n}\n\nconst classes = {\n mobileTagFilter: {\n width: '100vw',\n margin: `0 -${space.containerOuterPadding}`,\n },\n button: (connect?: boolean) =>\n ({\n border: 'none',\n background: 'none',\n ...typographyStyles.header4,\n color: connect ? connectColors.white : typographyStyles.header4.color,\n fontWeight: 400,\n display: 'block',\n width: '100%',\n padding: '1.6rem 3.6rem',\n textAlign: 'left',\n }) as const,\n drodownButton: (connect?: boolean) => ({\n borderTop: `1px solid ${connect ? connectColors.white : v2Colors.border.primary}`,\n borderBottom: `1px solid ${connect ? connectColors.white : v2Colors.border.primary}`,\n display: 'flex',\n justifyContent: 'space-between',\n }),\n dropdown: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n maxHeight: 0,\n overflow: 'hidden',\n transition: 'max-height 500ms ease',\n },\n showOpen: (connect?: boolean) => ({\n boxShadow: shadows.soft,\n borderBottom: connect ? `1px solid ${connectColors.white}` : undefined,\n maxHeight: '200rem',\n transition: 'max-height 500ms ease',\n }),\n expandIcon: (connect?: boolean) => ({\n transition: 'transform 500ms ease',\n '& path': {\n fill: connect ? connectColors.white : undefined,\n },\n }),\n rotate: {\n transform: 'rotate(180deg)',\n },\n selected: (connect?: boolean) => ({\n backgroundColor: connect ? connectColors.white : v2Colors.core.cloud,\n color: connect ? connectColors.electricBlue : undefined,\n }),\n} as const;\n\nexport function MobileTagFilterBar({ onChange, selectedTag, tags, connect2024 }: MobileTagFilterBarProps): JSX.Element {\n const [open, setOpen] = useState(false);\n const popover = useRef(null);\n useAccessiblePopout(popover, open, close, {\n disableScroll: false,\n });\n const buttonText = selectedTag === 'All' ? 'All Videos' : tags.find((tag) => tag.id === selectedTag)?.name;\n\n function handleFilterChange(tagFilter: TagFilter): void {\n if (tagFilter !== selectedTag) {\n onChange(tagFilter);\n }\n }\n\n function close(): void {\n setOpen(false);\n }\n\n function toggleOpen(): void {\n setOpen((open) => !open);\n }\n\n function handleSelection(selection: TagFilter): void {\n handleFilterChange(selection);\n close();\n }\n\n return (\n
\n \n {buttonText}\n \n \n
\n handleSelection('All')}\n css={[\n classes.button(connect2024),\n selectedTag === 'All' ? classes.selected(connect2024) : undefined,\n ]}\n tabIndex={open ? 0 : -1}\n >\n All Videos\n \n {tags.map((tag) => (\n handleSelection(tag.id)}\n css={[\n classes.button(connect2024),\n selectedTag === tag.id ? classes.selected(connect2024) : undefined,\n ]}\n tabIndex={open ? 0 : -1}\n >\n {tag.name}\n \n ))}\n
\n
\n );\n}\n","import React from 'react';\n\nexport function VideoPlayIcon(props: React.SVGProps): JSX.Element {\n return (\n \n \n \n );\n}\n","import React from 'react';\nimport { Video } from '@models/video';\nimport { videoLibraryStyles as classes } from './videoLibraryStyles';\nimport { getLanguageRouteAndPrefixByIdAndRouteKey } from '@helpers/languages';\nimport { VideoPlayIcon } from '@icon/VideoPlayIcon';\nimport { getVideoThumbnailImage } from '@helpers/videoDriveKeyHelper';\nimport { useStaticValues } from '@stateManagement/StaticValuesContext';\nimport { Heading, Text } from '@web-for-marketing/react-ui';\nimport { languageRouteTypes } from '@helpers/languageRoutes';\nimport { RichTextContent } from '@components/RichTextContent';\nimport { getTranslation } from '@helpers/languageTranslations';\nimport { useTranslation } from '@stateManagement/TranslationContext';\n\nexport interface VideoLibraryCardProps {\n video: Video;\n lazyLoad: boolean;\n connect2024?: boolean;\n}\n\nexport function VideoLibraryCard({ connect2024, video, lazyLoad }: VideoLibraryCardProps): JSX.Element {\n const { prefixStringWithBaseUrl } = useStaticValues();\n const { selectedLanguageTranslation } = useTranslation();\n const videoTranslation = getTranslation(selectedLanguageTranslation, 'videoTile');\n\n const videoImage = video.imagePath\n ? prefixStringWithBaseUrl(video.imagePath)\n : getVideoThumbnailImage(video.videoKey, video.videoType);\n\n return (\n \n
\n
\n \n \n
\n
\n {video.tags && video.tags.length ? (\n
{video.tags[0].name}
\n ) : null}\n \n {video.title}\n \n \n {videoTranslation.watchVideo ?? 'Watch Video'}\n \n
\n \n \n {videoTranslation.watchVideo ?? 'Watch Video'}\n \n
\n
\n
\n \n );\n}\n","import React, { useEffect, useState, useCallback, useMemo, useRef } from 'react';\nimport { TagFilter, VideoTag } from '@models/section/videoLibrarySection';\nimport { Heading, LazyLoadContainer, Pagination, Text } from '@web-for-marketing/react-ui';\nimport { Grid, Hidden, Skeleton, Stack } from '@mui/material';\nimport { Video } from '@models/video';\nimport { getVideosByTagId } from '@services/videoPublicService';\nimport { videoLibraryStyles as classes } from './videoLibraryStyles';\nimport { PagedResult } from '@models/pagination';\nimport { TagFilterBar } from './TagFilterBar';\nimport { MobileTagFilterBar } from './MobileTagFilterBar';\nimport { VideoLibraryCard } from './VideoLibraryCard';\nimport { isMobileAtom } from '@atoms/appSettings';\nimport { useAtom } from 'jotai';\nimport { logError } from '@helpers/errors';\n\ninterface VideoLibraryContentProps {\n lazyLoad: boolean;\n title: string | React.ReactElement;\n description: string;\n tags: VideoTag[];\n displayTagCategories: boolean;\n connect2024?: boolean;\n headerSection?: boolean;\n scrollTopSpacing?: number;\n}\n\nexport function VideoLibraryContent({\n lazyLoad,\n tags,\n title,\n description,\n displayTagCategories,\n connect2024,\n headerSection,\n scrollTopSpacing = 0,\n}: VideoLibraryContentProps): JSX.Element {\n const [videos, setVideos] = useState | null>(null);\n const [loading, setLoading] = useState(true);\n const containerRef = useRef(null);\n const [selectedTag, setSelectedTag] = useState('All');\n const [isMobile] = useAtom(isMobileAtom);\n const initialWidth = isMobile ? 'xs' : 'lg';\n\n const filteredTagIds = useMemo(() => {\n if (selectedTag !== 'All') {\n return [selectedTag];\n } else {\n const allTagIds = tags.map((tag) => tag.id);\n return allTagIds;\n }\n }, [selectedTag, tags]);\n\n const getVideos = useCallback((ids: number[], page: number): void => {\n if (ids.length) {\n setLoading(true);\n getVideosByTagId(ids, page)\n .then((result) => {\n setVideos(result);\n })\n .catch((err) => {\n setVideos(null);\n logError(err, 'fetching videos by tag ids');\n })\n .finally(() => {\n setLoading(false);\n });\n } else {\n setVideos(null);\n }\n }, []);\n\n useEffect(() => {\n getVideos(filteredTagIds, 1);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [getVideos, tags.length, selectedTag]);\n\n function handlePageChange(page: number): void {\n if (page !== videos?.currentPage) {\n getVideos(filteredTagIds, page);\n if (containerRef.current) {\n const { top } = containerRef.current.getBoundingClientRect();\n const scrollPosition = window.scrollY + top - (isMobile ? 0 : scrollTopSpacing);\n window.scrollTo({ top: scrollPosition });\n }\n }\n }\n\n return (\n
\n {title ? (\n \n {title}\n \n ) : null}\n {description ? (\n \n {description}\n \n ) : null}\n \n {displayTagCategories && tags.length ? (\n
\n \n \n \n \n \n \n
\n ) : null}\n {loading ? (\n
\n \n {Array.from(new Array(6)).map((_item, index) => (\n \n
\n \n
\n \n \n \n
\n
\n
\n ))}\n
\n
\n ) : videos ? (\n <>\n
\n \n {videos.pageRecords.map((video) => {\n return (\n \n \n \n );\n })}\n \n
\n {videos.totalRecordCount > videos.maxRecordsPerPage ? (\n \n \n \n ) : null}\n \n ) : null}\n
\n
\n );\n}\n","import React from 'react';\nimport { VideoLibraryData } from '@models/section/videoLibrarySection';\nimport { GridContainer } from '@components/GeotabGridComponents/GridContainer';\nimport { VideoLibraryContent } from './VideoLibraryContent';\nimport { useAtom } from 'jotai';\nimport { navHeightAtom } from '@atoms/appSettings';\n\ninterface VideoLibraryProps {\n sectionData: VideoLibraryData;\n lazyLoad: boolean;\n headerSection?: boolean;\n}\n\nexport function VideoLibrary({ sectionData, lazyLoad, headerSection }: VideoLibraryProps): JSX.Element {\n const [navHeight] = useAtom(navHeightAtom);\n\n return (\n \n \n \n );\n}\n","import React from 'react';\nimport { ParseAbbreviations } from '../../ParseAbbreviations';\nimport { getLinkTargetValue } from './SectionComponentHelper';\nimport { CMSLink } from '@components/CMSLink';\nimport { DangerouslySetInnerHTML } from './DangerouslySetInnerHTML';\nimport { tryDecodeURI } from '@helpers/string';\nimport { Countdown } from '../../Countdown';\nimport { Card } from '../../Cards/Card';\nimport { cardTypes } from '../../../helpers/ObjectTypeModels/Card';\nimport { Testimonial } from './Testimonial';\nimport { CustomSection } from '@components/SectionComponents/CustomSection';\nimport { ColumnCount, FlexAlignment, SectionColumn } from '@models/column';\nimport { Heading } from '@web-for-marketing/react-ui';\nimport { RichTextContent } from '@components/RichTextContent';\nimport { TitleBodyButtons } from '@components/SectionComponents/TitleBodyButtons';\nimport { CtaBannerCarousel } from '@components/SectionComponents/CtaBannerCarousel';\nimport { MediaType } from './MediaType';\nimport loadable from '@loadable/component';\nimport { ClassNames } from '@emotion/react';\nimport { PopupPicture } from '@components/PopupPicture';\nimport { Grid2 } from '@mui/material';\nimport { richTextHtmlStyles } from '../styleObjects/richTextHtmlStyles';\n\nconst CustomFormLoadable = loadable(() => import('@components/SectionComponents/CustomForm'));\n\ntype RenderColumnTypesProps = {\n column: SectionColumn;\n lazyLoad?: boolean;\n headerSection?: boolean;\n columnCount?: ColumnCount;\n horizontalAlignment?: FlexAlignment;\n};\n\nexport function RenderColumnTypes({\n column,\n lazyLoad,\n headerSection,\n columnCount,\n horizontalAlignment = 'flex-start',\n}: RenderColumnTypesProps): JSX.Element | null {\n function getContent(): JSX.Element | null {\n const { type, content } = column;\n\n switch (type) {\n case 'title-body-buttons':\n return (\n \n );\n case 'cta-banner-carousel':\n return ;\n case 'layered-content':\n return (\n <>\n {content.subtitle ? (\n \n {content.subtitle}\n \n ) : null}\n {content.title ? (\n \n \n \n ) : null}\n {content.body ? (\n \n ) : null}\n {content.linkPath && content.linkText ? (\n \n {content.linkText}\n \n ) : null}\n \n );\n case 'image':\n return content.image.imagePath || content.image.mobilePath ? (\n \n {({ css }) => (\n \n )}\n \n ) : null;\n case 'video':\n case 'media':\n return ;\n case 'hover-card':\n case 'cards':\n return (\n \n {Array.isArray(content)\n ? content.map((content, index) => {\n const cardContent = {\n ariaLabel: content.ariaLabel,\n linkTarget: content.linkTarget,\n image: {\n lazyLoad: lazyLoad,\n ...content.image,\n },\n };\n\n return (\n \n \n \n );\n })\n : null}\n \n );\n case 'html':\n return ;\n case 'testimonial':\n return ;\n case 'countdown':\n return ;\n case 'custom-section':\n return (\n \n );\n case 'custom-form':\n return (\n \n );\n default:\n return null;\n }\n }\n\n return column && column.content && column.type ? getContent() : null;\n}\n","import { shadows, breakpoints, v2Colors } from '@web-for-marketing/react-ui';\nimport { ColumnCount, TestimonialBackgroundColor } from '@models/column';\n\nconst testimonialBackgrounds = {\n [TestimonialBackgroundColor.Gray]: v2Colors.background.light,\n [TestimonialBackgroundColor.White]: v2Colors.background.white,\n};\n\nexport const testimonialStyles = {\n testimonialBackground: (color?: TestimonialBackgroundColor) => ({\n backgroundColor: testimonialBackgrounds[color || TestimonialBackgroundColor.Gray],\n boxShadow: color === TestimonialBackgroundColor.White ? shadows.hard : undefined,\n padding: '2.4rem',\n borderRadius: '8px',\n }),\n ratingContainer: {\n marginBottom: '1.6rem',\n },\n linkContainer: {\n marginTop: '2.4rem',\n },\n testimonialLink: {\n color: v2Colors.text.activePrimary,\n fontWeight: 500,\n borderRadius: '8px',\n padding: '0.8rem 1.6rem',\n marginLeft: '-1.6rem',\n '&:hover': {\n backgroundColor: v2Colors.action.active,\n textDecoration: 'none',\n },\n '&:focus': {\n backgroundColor: v2Colors.action.active,\n color: v2Colors.text.activeSecondary,\n outline: 'none',\n },\n },\n linkText: {\n textDecoration: 'underline',\n },\n portrait: {\n width: '8rem',\n height: '8rem',\n borderRadius: '50%',\n marginBottom: '2rem',\n [`@media (max-width: ${breakpoints.md})`]: {\n marginBottom: 0,\n },\n },\n profileContainer: (direction?: 'Left' | 'Right', columnCount?: ColumnCount) => ({\n maxWidth: columnCount === 3 ? '100%' : '30rem',\n width: columnCount === 3 ? '100%' : undefined,\n marginRight: direction !== 'Right' && columnCount !== 3 ? '2.4rem' : undefined,\n marginLeft: direction === 'Right' && columnCount !== 3 ? '2.4rem' : undefined,\n marginBottom: columnCount === 3 ? '1.6rem' : undefined,\n [`@media (max-width: ${breakpoints.lg})`]: {\n width: columnCount === 2 ? '100%' : undefined,\n maxWidth: columnCount === 2 ? '100%' : undefined,\n marginBottom: columnCount === 2 ? '1.6rem' : undefined,\n marginRight: columnCount === 2 ? 0 : undefined,\n marginLeft: columnCount === 2 ? 0 : undefined,\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n maxWidth: '100% !important',\n marginBottom: '1.6rem',\n marginLeft: '0 !important',\n marginRight: '0 !important',\n },\n }),\n content: {\n flex: 1,\n },\n profileInfo: (columnCount?: ColumnCount) => ({\n maxWidth: columnCount === 3 ? '30rem' : '100%',\n [`@media (max-width: ${breakpoints.lg})`]: {\n maxWidth: columnCount === 2 ? '30rem' : undefined,\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n maxWidth: '30rem !important',\n marginLeft: '2rem',\n },\n }),\n quoteIcon: {\n color: v2Colors.core.haze,\n width: '2.4rem',\n height: '2.4rem',\n },\n newTabIcon: {\n verticalAlign: 'text-top',\n width: '1em',\n height: '1em',\n '& path': {\n fill: 'currentColor',\n },\n },\n} as const;\n","import React from 'react';\n\nexport function QuoteIcon(props: React.SVGProps): JSX.Element {\n return (\n \n \n \n \n );\n}\n","import React from 'react';\nimport { Picture } from '../../Picture';\nimport { Grid2, Link, Stack } from '@mui/material';\nimport { testimonialStyles as classes } from './styleObjects/Testimonial';\nimport { RatingSelect } from '@components/BlogSection/BlogComponents/Shared/RatingSelect';\nimport { getLinkTargetValue } from './SectionComponentHelper';\nimport { QuoteIcon } from '@components/IconComponents/QuoteIcon';\nimport { NewTabIcon, Heading, Text } from '@web-for-marketing/react-ui';\nimport type { ColumnCount, TestimonialColumnContent } from '@models/column';\n\ninterface TestimonialProps {\n content: TestimonialColumnContent;\n lazyLoad?: boolean;\n columnCount?: ColumnCount;\n}\n\nexport function Testimonial({ lazyLoad, content, columnCount }: TestimonialProps): JSX.Element | null {\n const isMultiColumn = columnCount && columnCount > 1;\n\n if (content.buttonEnabled === undefined) {\n content.buttonEnabled = true;\n }\n\n if (content.ratingEnabled) {\n content.testimonialStyle = 'Rating';\n }\n\n const buttonTarget = getLinkTargetValue(content.button?.buttonTarget) || '_self';\n\n return (\n \n \n
\n \n
\n {content.name ? (\n \n {content.name}\n \n ) : null}\n {content.role ? (\n \n {content.role}\n \n ) : null}\n
\n
\n \n {content.testimonialStyle === 'Rating' ? (\n \n
\n \n
\n {`${content.rating}/5 stars`}\n
\n ) : null}\n \n {content.testimonialStyle === 'Quote' ? (\n
\n \n
\n ) : null}\n
\n {content.body ? (\n \n {content.body}\n \n ) : null}\n {content.buttonEnabled && content.button ? (\n
\n \n {content.button.buttonText}{' '}\n {buttonTarget === '_blank' ? : null}\n \n
\n ) : null}\n
\n
\n \n
\n \n );\n}\n","import { Background, BackgroundType } from '@models/layeredBackground';\n\nexport function hasBackgroundLayer(backgroundLayers: Background[] | undefined): boolean {\n if (!backgroundLayers) {\n return false;\n }\n\n if (backgroundLayers.length === 0) {\n return false;\n }\n\n return backgroundLayers.some((background) => {\n if (!background.enabled) return false;\n\n if (background.type === BackgroundType.Image || background.type === BackgroundType.Video) {\n return !!background.config.mediaUrl;\n }\n\n if (background.type === BackgroundType.Color) {\n return !!background.config.color;\n }\n\n if (background.type === BackgroundType.Gradient) {\n return background.config.colors.some((gradient) => !!gradient.color);\n }\n });\n}\n","import { Module } from '@models/section/modularSection';\nimport { ColumnCount } from '@models/column';\n\nexport function getTotalColumnSpanCount(modules: Module[]): number {\n let count = 0;\n modules.forEach((module) => {\n count += module.columnSpan;\n });\n\n return count;\n}\n\nexport function getColumnCount(colSpan: number): ColumnCount {\n if (colSpan < 6) {\n return 3;\n }\n\n if (colSpan < 12) {\n return 2;\n }\n\n return 1;\n}\n","import { v2Colors, getRgbaColor, breakpoints, shadows } from '@web-for-marketing/react-ui';\n\nexport const LeadShareStyle = {\n container: {\n background: v2Colors.core.cloud,\n },\n containerNoColor: {\n background: v2Colors.core.snow,\n },\n media: {\n height: '100%',\n objectFit: 'fill',\n },\n videoMedia: {\n paddingTop: '56.25%',\n width: '100%',\n height: 0,\n position: 'relative',\n marginTop: '2rem',\n marginBottom: '3rem',\n '& > iframe': {\n height: '100%',\n position: 'absolute',\n width: '100%',\n top: 0,\n left: 0,\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n width: 'calc(100% - 7.2rem)',\n paddingTop: 'calc(56.25% - 3rem)',\n },\n },\n card: {\n position: 'relative',\n boxSizing: 'border-box',\n height: '100%',\n width: '100%',\n borderRadius: 10,\n backgroundColor: v2Colors.core.snow,\n display: 'flex',\n alignItems: 'center',\n border: 'solid 1px #DFE3EA',\n boxShadow: `0 0 0 ${getRgbaColor(v2Colors.core.slate, 0.1)}, 0 0 0 ${getRgbaColor(v2Colors.core.slate, 0.1)}`,\n transition: 'transform ease 0.75s, box-shadow ease 500ms',\n '&:hover': {\n boxShadow: `0 0 6px ${getRgbaColor(v2Colors.core.slate, 0.1)}, 0 10px 10px ${getRgbaColor(\n v2Colors.core.slate,\n 0.1\n )}`,\n transition: 'transform ease 750ms, box-shadow ease 750ms',\n transform: 'translateY(-10px)',\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n margin: '0 auto',\n flexDirection: 'column',\n '&:hover': {\n transform: 'none',\n },\n },\n },\n reverseCard: {\n flexDirection: 'row-reverse',\n },\n cardParentContainer: {\n padding: '2rem 0',\n },\n titles: {\n color: v2Colors.core.geotab,\n textAlign: 'center',\n maxWidth: '72rem',\n margin: '0 auto 1rem',\n },\n cardContainer: {\n minHeight: '36rem',\n width: '100%',\n marginBottom: '3rem',\n boxSizing: 'border-box',\n [`@media (max-width: ${breakpoints.md})`]: {\n minHeight: 'initial',\n maxHeight: 'initial',\n height: 'auto',\n width: '100%',\n marginBottom: '3rem',\n boxSizing: 'border-box',\n },\n },\n cardImage: {\n minWidth: '48.718%',\n maxWidth: '48.718%',\n height: 'inherit',\n [`@media (max-width: ${breakpoints.md})`]: {\n minWidth: '100%',\n maxWidth: '100%',\n maxHeight: '22rem',\n },\n },\n cardContent: {\n padding: '0 6rem 0 7rem',\n [`@media (max-width: ${breakpoints.md})`]: {\n padding: '2rem 3rem 2rem 2rem',\n },\n },\n linkText: {\n position: 'absolute',\n bottom: '3rem',\n left: '3rem',\n [`@media (max-width: ${breakpoints.md})`]: {\n bottom: '1.5rem',\n },\n },\n bodyText: {\n paddingBottom: '9.4rem',\n },\n noButtonBody: {\n paddingBottom: '4rem',\n },\n verticalContainer: {\n paddingTop: 0,\n paddingBottom: 0,\n zIndex: 3,\n [`@media (max-width: ${breakpoints.md})`]: {\n paddingTop: '4rem',\n },\n },\n arrowContainer: {\n display: 'flex',\n marginBottom: '1rem',\n },\n cardTitle: {\n fontWeight: '400',\n },\n cardLink: {\n marginTop: '2rem',\n },\n cardSubTitle: {\n marginBottom: '1rem',\n fontWeight: '500',\n },\n demoItemContainer: {\n textAlign: 'left',\n paddingTop: '2rem',\n paddingBottom: '2rem',\n },\n demoTextInnerContainer: {\n width: '100%',\n },\n demoFormContainer: {\n width: '100%',\n marginTop: '-30%',\n '@media (min-width: 1200px)': {\n marginTop: '-15%',\n },\n [`@media (max-width: ${breakpoints.md})`]: {\n marginTop: '0',\n },\n },\n demoFormInnerContainer: {\n width: '100%',\n boxShadow: `0 0 6px ${getRgbaColor(v2Colors.core.slate, 0.1)}, 0 10px 10px ${getRgbaColor(\n v2Colors.core.slate,\n 0.1\n )}`,\n borderRadius: 10,\n backgroundColor: v2Colors.core.snow,\n textAlign: 'center',\n maxWidth: '60rem',\n },\n demoTextInput: {\n width: '100%',\n maxWidth: '700px',\n '& label.Mui-focused': {\n color: v2Colors.core.innovation,\n },\n '& .MuiOutlinedInput-root': {\n '&:hover fieldset': {\n borderColor: v2Colors.core.innovation,\n },\n '&.Mui-focused fieldset': {\n borderColor: v2Colors.core.innovation,\n },\n },\n },\n textSubheader: {\n marginBottom: '3rem',\n },\n subTitle: {\n marginBottom: '1rem',\n },\n customFormContainer: {\n maxWidth: '60rem',\n padding: '3.6rem 3.6rem 4rem',\n boxShadow: shadows.soft,\n borderRadius: 10,\n backgroundColor: v2Colors.core.snow,\n },\n} as const;\n","import { breakpoints, v2Colors } from '@web-for-marketing/react-ui';\n\nexport const pageSectionStyles = {\n cardContainer: {\n backgroundColor: v2Colors.core.snow,\n position: 'relative',\n },\n stickyContainer: (topOffset: number) =>\n ({\n position: 'sticky',\n top: `${topOffset}px`,\n zIndex: 300,\n [`@media (max-width: ${breakpoints.md})`]: {\n top: 0,\n },\n }) as const,\n hiddenText: {\n width: '100%',\n bottom: '1rem',\n left: '1rem',\n position: 'absolute',\n transition: 'color 0.25s ease',\n opacity: 0.4,\n },\n overlay: {\n backgroundColor: 'rgba(1, 23, 41, 0.3)',\n position: 'absolute',\n height: '100%',\n width: '100%',\n display: 'block',\n zIndex: 9,\n '&:hover p': {\n color: v2Colors.core.snow,\n opacity: 1,\n },\n },\n errorNotification: {\n backgroundColor: v2Colors.core.ember,\n position: 'absolute',\n width: '30rem',\n zIndex: 9,\n bottom: '2rem',\n left: '2rem',\n borderRadius: '0.8rem',\n display: 'flex',\n alignItems: 'flex-start',\n flexDirection: 'row',\n justifyContent: 'space-around',\n padding: '1rem',\n },\n warningIcon: {\n width: '5rem',\n height: '5rem',\n marginRight: '1rem',\n '& path': {\n fill: v2Colors.core.snow,\n },\n },\n hideButton: {\n display: 'none',\n },\n showButton: {\n display: 'flex',\n },\n} as const;\n","export const debounce = (\n func: (...args: unknown[]) => void,\n delay: number\n): ((this: unknown, ...args: unknown[]) => void) => {\n let timeoutId: ReturnType;\n return function (this: unknown, ...args: unknown[]) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => func.apply(this, args), delay);\n };\n};\n","import { isEditingAtom } from '@atoms/admin';\nimport { useAtom } from 'jotai';\n\nexport function useLazyLoad(lazyLoad: boolean | undefined): boolean {\n const [isEditing] = useAtom(isEditingAtom);\n const shouldLazyLoad = lazyLoad ? lazyLoad && !isEditing : false;\n\n return shouldLazyLoad;\n}\n","import { FormParams } from '@models/form';\nimport { CustomFormSectionData } from '@models/section/customFormSection';\nimport { MobileFriendlySectionImage, SectionButtonContentV2, SectionImage } from '@models/section';\nimport { TextColor } from '@web-for-marketing/react-ui';\nimport { SectionWidget } from './widget';\nimport { RichTextListStyle } from './richTextEditor';\n\nexport type FlexAlignment = 'flex-start' | 'center' | 'flex-end';\n\nexport type SectionColumn =\n | NoneColumn\n | TestimonialColumn\n | TitleBodyButtonsColumn\n | LayeredColumn\n | ImageColumn\n | MediaColumn\n | CardsColumn\n | CtaBannerCarouselColumn\n | HtmlColumn\n | CountdownColumn\n | CustomSectionColumn\n | CustomFormColumn;\n\nexport type ColumnSideContent = SectionColumn & {\n align: FlexAlignment;\n};\n\nexport interface NoneColumn {\n type: 'none';\n content: null;\n}\n\nexport interface CustomFormColumn {\n type: 'custom-form';\n content: CustomFormSectionData;\n}\n\nexport interface TitleBodyButtonsColumn {\n type: 'title-body-buttons';\n content: TitleBodyButtonsFormContent;\n}\n\nexport type CtaBannerHeights = 'short' | 'medium' | 'tall';\n\ninterface CtaBannerCarouselColumn {\n type: 'cta-banner-carousel';\n content: CtaBannerCarouselFormContent;\n}\n\nexport interface CtaBannerCarouselFormContent {\n banners: CtaBannerContent[];\n height: CtaBannerHeights;\n trackingClass?: string;\n}\n\nexport interface CtaBannerContent {\n title: string;\n description: string;\n linkText: string;\n linkUrl: string;\n ariaLabel: string;\n imagePath: string;\n mobileImagePath: string;\n imageAlt: string;\n mobileAlt?: string;\n decoration?: boolean;\n mobileDecoration?: boolean;\n}\n\nexport interface TitleBodyButtonsFormContent {\n title?: string;\n body?: string;\n buttons?: SectionButtonContentV2[];\n textColor?: TextColor;\n requestConsent?: boolean;\n checkboxText?: string;\n titleFullWidth?: boolean;\n label?: string;\n widget?: SectionWidget;\n listStyle?: RichTextListStyle;\n}\n\nexport interface LayeredColumn {\n type: 'layered-content';\n content: LayeredColumnContent;\n}\n\nexport interface ImageColumn {\n type: 'image';\n content: ImageColumnContent;\n}\n\nexport interface MediaColumn {\n type: 'video' | 'media';\n content: MediaColumnContent;\n}\n\nexport interface CardsColumn {\n type: 'hover-card' | 'cards';\n content: CardsColumnContent;\n}\n\nexport interface HtmlColumn {\n type: 'html';\n content: string;\n}\n\nexport interface TestimonialColumn {\n type: 'testimonial';\n content: TestimonialColumnContent;\n}\n\nexport interface CountdownColumn {\n type: 'countdown';\n content: CountdownColumnContent;\n}\n\nexport interface CustomSectionColumn {\n type: 'custom-section';\n content: CustomSectionColumnContent;\n}\n\nexport type ColumnCount = 1 | 2 | 3;\n\nexport interface LayeredColumnContent {\n title: string;\n body: string;\n subtitle: string;\n linkPath: string;\n linkTarget?: boolean;\n linkText: string;\n ariaLabel: string;\n textColor?: TextColor;\n}\n\nexport type CardsColumnContent = {\n ariaLabel: string;\n linkPath: string;\n linkTarget: string;\n image: MobileFriendlySectionImage;\n}[];\n\nexport interface ImageColumnContent {\n image: MobileFriendlySectionImage & {\n imageZoom?: boolean;\n };\n}\n\nexport type MediaSize = 'small' | 'medium' | 'large';\n\nexport interface MediaColumnContent {\n src: string;\n title?: string;\n autoPlay?: boolean;\n mediaSize?: MediaSize;\n mediaSource?: 'gallery' | 'external';\n}\n\ninterface CountdownColumnContent {\n utcDateTime: string;\n}\n\nexport interface CustomSectionColumnContent {\n component: string;\n params: FormParams;\n}\n\nexport interface TestimonialColumnContent {\n image: SectionImage;\n button?: {\n buttonLinkPath: string;\n buttonTarget: boolean;\n buttonText: string;\n };\n body: string;\n ratingEnabled?: boolean;\n rating: number;\n name: string;\n buttonEnabled?: boolean;\n role?: string;\n testimonialStyle?: 'None' | 'Quote' | 'Rating';\n direction?: 'Left' | 'Right';\n showTestimonialBackground?: boolean;\n testimonialBackgroundColor?: TestimonialBackgroundColor;\n}\n\nexport enum TestimonialBackgroundColor {\n Gray = 'Gray',\n White = 'White',\n}\n","export const MOBILE_BACKGROUND_LAYER_KEY = 'mobileBackgroundLayers';\n\nexport const BACKGROUND_LAYER_KEY = 'backgroundLayers';\n\nexport type BackgroundLayerKey = typeof BACKGROUND_LAYER_KEY | typeof MOBILE_BACKGROUND_LAYER_KEY;\n\nexport type Background = ImageBackground | VideoBackground | ColorBackground | GradientBackground;\n\ninterface BackgroundLayer {\n enabled: boolean;\n}\n\nexport interface ImageBackground extends BackgroundLayer {\n type: BackgroundType.Image;\n config: ImageBackgroundConfig;\n}\n\nexport interface VideoBackground extends BackgroundLayer {\n type: BackgroundType.Video;\n config: VideoBackgroundConfig;\n}\n\nexport interface ColorBackground extends BackgroundLayer {\n type: BackgroundType.Color;\n config: ColorBackgroundConfig;\n}\n\nexport interface GradientBackground extends BackgroundLayer {\n type: BackgroundType.Gradient;\n config: GradientBackgroundConfig;\n}\n\nexport enum BackgroundType {\n Color = 'color',\n Image = 'image',\n Video = 'video',\n Gradient = 'gradient',\n}\n\nexport interface ImageBackgroundConfig {\n mediaUrl: string;\n horizontalDock: HorizontalDock;\n verticalDock: VerticalDock;\n parallax: boolean;\n horizontalOffset: number;\n verticalOffset: number;\n cover: boolean;\n}\n\ninterface VideoBackgroundConfig {\n mediaUrl: string;\n}\n\nexport interface ColorBackgroundConfig {\n color: string;\n transparency: number;\n}\n\nexport interface GradientBackgroundConfig {\n type: GradientType;\n angle: number;\n colors: GradientColor[];\n}\n\nexport interface GradientColor {\n color: string;\n position: number;\n transparency: number;\n}\n\nexport enum HorizontalDock {\n Left = 'left',\n Center = 'center',\n Right = 'right',\n}\n\nexport enum VerticalDock {\n Top = 'top',\n Center = 'center',\n Bottom = 'bottom',\n}\n\nexport enum PredefinedBackgroundColor {\n Gray = 'gray',\n Black = 'black',\n}\n\nexport enum PredefinedBackgroundGradient {\n Gradient1 = 'gradient1',\n Gradient2 = 'gradient2',\n Gradient3 = 'gradient3',\n}\n\nexport enum GradientType {\n Linear = 'linear',\n Radial = 'radial',\n}\n","import { SectionBase } from '@models/section';\nimport { TaggedSlugEntityPreview } from '@models/tag';\n\nexport type CardCarouselSection = SectionBase<22, { cardCarousel: CardCarouselSectionData }>;\n\nexport enum CarouselType {\n Tag = 'tag',\n Category = 'category',\n Article = 'article',\n}\n\nexport interface CardCarouselSectionData {\n title: string;\n body: string;\n carouselType?: CarouselType;\n carouselTypeEntityId?: number;\n articleType?: string;\n viewAllUrl?: string;\n hideCardLabel?: boolean;\n}\n\nexport interface AdminCarouselItem {\n content: string;\n value: number;\n}\n\nexport interface CarouselResult {\n entities: TaggedSlugEntityPreview[];\n carouselTypeEntitySlug?: string;\n}\n","export function setSessionStorageItem(name, value) {\n try {\n sessionStorage.setItem(name, value);\n } catch (error) {\n //\n }\n}\n\nexport function getSessionStorageItem(name) {\n try {\n return sessionStorage.getItem(name);\n } catch (error) {\n return null;\n }\n}\n\nexport function removeSessionStorageItem(name) {\n try {\n sessionStorage.removeItem(name);\n } catch (error) {\n //\n }\n}\n\nexport function clearSessionStorageItems() {\n try {\n sessionStorage.clear();\n } catch (error) {\n //\n }\n}\n","import { atom } from 'jotai';\nimport { getLanguageByCode } from '@helpers/languages';\nimport { LanguageCode } from '@models/languageCode';\n\nexport const isEditorExpandedAtom = atom(false);\n\nexport const isNavbarExpandedAtom = atom(false);\n\nexport const enableNavbarExpansionAtom = atom(true);\n\nexport const adminLanguageAtom = atom(getLanguageByCode(LanguageCode.en));\n\nexport const isEditingAtom = atom(false);\n\nexport const isSideNavbarVisibleAtom = atom(true);\n"],"names":["connectColors","electricBlue","neonYellow","neonGreen","black","white","grey","navLinks","text","href","openInNewTab","registerLink","scheduleLink","liveStreamLink","keepInTouchLink","classes","contentContainer","textAlign","position","outerText","connect2024","color","v2Colors","core","geotab","fontWeight","letterSpacing","undefined","fontSize","textTransform","marginTop","breakpoints","sm","progress","maxWidth","maxHeight","width","height","circleConfig","CircleProgressBar","React","percentage","innerText","_jsxs","Grid","css","children","viewBox","_jsx","cx","cy","r","fill","stroke","slate","strokeOpacity","strokeWidth","innovation","strokeDasharray","strokeDashoffset","strokeLinecap","x","y","textAnchor","dominantBaseline","Text","variant","displayName","dayjs","utc","dateAndTimesFormatOrder","parsedDateTimeFormat","getPercentage","value","total","Math","round","calculateTimeLeft","utcDateTime","timeLeft","days","hours","minutes","seconds","dateAndTimes","local","format","split","reduce","dateTimeObj","i","currentDate","Date","difference","year","month","day","hour","minute","floor","_ref","name","styles","Countdown","sizeProps","xs","timer","useRef","setTimeLeft","useState","useEffect","current","clearTimeout","setTimeout","Grid2","container","justifyContent","spacing","size","OutlinedCheckmarkIcon","props","xmlns","fillRule","clipRule","d","ZoomIcon","zoomIn","zoomOut","other","style","className","_Fragment","CustomFormLoadable","loadable","resolved","chunkName","isReady","key","resolve","__webpack_modules__","importAsync","requireAsync","then","requireSync","id","__webpack_require__","LeadShareLoadable","PageSectionComponent","section","isMobile","useAtom","isMobileAtom","lazyLoad","useLazyLoad","order","isStickySection","sectionTypeId","getSelection","useCallback","sectionData","videos","StandardImageBanner","headerBanner","imagePath","jsonContent","mobileImagePath","alt","backgroundPosition","parallax","title","description","list","buttons","align","animations","zIndex","imageType","mobileImageType","displayContentBlock","contentBoxBackgroundColor","mobileAlt","mobileDecoration","typeVariationProps","type","features","Features","headerSection","body","alignFeatures","cards","ThreeColumnCards","CallToActionBanner","customProps","settings","imageBoxes","FourColumnImages","images","CustomizableImageGallery","background","CustomSection","component","params","VideoCards","EventsSections","events","openBottom","LinkList","rows","BoxTiles","ResourceBoxes","ScrollingBanner","banners","leadBoxComponent","AccordionList","Iframe","iframeComponent","PPCFormHeader","ppcFormHeader","customForm","CardCarousel","cardCarousel","carouselType","CustomFormPPCHeader","customFormPPCHeader","Testimonial","testimonialComponent","FeatureAccordion","featureAccordion","MultistepSection","multiStepSection","AnimatedStatsSection","animatedStatsSection","CustomFormLeadshareBox","customFormLeadshareBox","CapterraTestimonial","capterraTestimonial","GTMDataLayerForwarder","VideoLibrary","videoLibrary","MarketplaceSolutions","marketplaceSolutions","sectionId","ModularSection","modularSection","SubNavigation","subNavigationSection","DeviceComparison","deviceComparison","deviceType","VerticalAccordion","verticalAccordion","LandingPageHeader","hasBackground","hasBackgroundLayer","backgroundLayers","landingPageHeader","CapterraBanner","capterraBanner","ProductTour","productTour","BulletPointsHeader","bulletPointsHeader","border","Divider","light","reference","PageSectionWrapper","isSticky","PageSection","getDockedPosition","dock","HorizontalDock","Right","VerticalDock","Bottom","Left","Top","LayeredImageBackground","prefixStringWithBaseUrl","useStaticValues","prefixedMediaUrl","config","mediaUrl","backgroundImage","backgroundSize","backgroundAttachment","imageConfig","cover","verticalDock","Center","horizontalDock","horizontalOffset","verticalOffset","getBackground","PageHelmetPreloadLink","as","ClassNames","LazyLoadContainer","lazyload","_css","inset","backgroundRepeat","lazyClass","LayeredVideoBackground","mediaSrc","videoRef","setAttribute","ref","muted","autoPlay","playsInline","loop","src","LayeredColorBackground","backgroundColor","getRgbaColor","transparency","gradientTypes","GradientType","Linear","Radial","getGradientBackground","gradientConfig","angle","colors","forEach","rgbaColor","push","join","LayeredGradientBackground","LayeredBackground","map","index","enabled","JSON","stringify","BackgroundType","Image","Video","Color","Gradient","navHeight","navHeightAtom","mobileBackgroundLayers","layers","length","cardContainer","stickyContainer","pictureDialogStyle","fullWidth","image","objectFit","withd","overlay","top","bottom","left","right","margin","opacity","transition","overlayText","transform","modal","display","alignItems","pictureDialog","borderRadius","padding","outline","overflow","closeButton","boxShadow","PictureDialog","mobilePath","open","setOpen","handleClose","onClick","handleOpen","Modal","onClose","closeAfterTransition","BackdropComponent","Backdrop","BackdropProps","timeout","IconButton","CloseIcon","Picture","modalContainer","PopupPicture","imageZoom","listStyleType","bulletPoints","label","headingVariant","dark","SectionContainer","md","Stack","weight","Heading","bulletPoint","direction","inversePrimary","RichTextContent","content","gap","flexWrap","button","isPopout","PopoutButton","buttonText","buttonType","buttonColor","customSectionKey","popoutCustomSection","displayMode","popoutDisplayMode","backgroundImagePath","popoutBackgroundImage","ariaLabel","isV2","V2Button","buttonLinkPath","target","getLinkTargetValue","buttonTarget","buttonClassName","imageAlt","aspectRatio","imageAspectRatio","mobileAspectRatio","mobileImageAspectRatio","capterraTestimonialStyles","testimonialSectionContainer","flexDirection","swipeViewContainer","headerContainer","marginBottom","testimonialGridContainer","quoteAuthorSectionMargin","horizontalDivider","interactive","primary","chevronIcon","cursor","rightChevronIcon","leftChevronIcon","grayIcon","smoke","cardBody","minHeight","minWidth","testimonialQuote","textOverflow","WebkitBoxOrient","WebkitLineClamp","flex","cardLogo","newTabIcon","inverseSecondary","authorContainer","legalText","_ref2","CapterraTestimonialCard","testimonial","isHidden","item","CapterraLogo","externalLink","CMSLink","underline","linkPath","rel","authorName","tabIndex","NewTabIcon","RatingSelect","rating","starColor","starSize","quote","authorRole","industry","companySize","activeStep","setActiveStep","testimonialListArray","testimonials","testimonialCards","slice","maxSteps","handleStepChange","step","GridContainer","disabled","RightChevronIcon","SwipeableViews","axis","onChangeIndex","enableMouseEvents","springConfig","duration","easeFunction","delay","lg","subArray","CarouselDotTabs","maxDots","activeDot","onChangeSlide","arrowButton","marginRight","carouselFixedContainer","space","containerOuterPadding","marginLeft","scrollingWrapper","gridAutoFlow","gridAutoColumns","overflowX","scrollbarWidth","scrollPaddingLeft","scrollPaddingRight","scrollSnapType","idle","reverse","card","snow","scrollSnapAlign","borderColor","cardPlaceholder","cardPlaceholderImage","cardTextContainer","cardTitle","viewAll","action","active","picture","tagBaseApiUrl","taggedEntityTypeMap","async","getCarouselByTag","tagId","taggedEntityType","entityType","url","httpGet","json","categoryBaseApiUrl","getCarouselByCategory","categoryId","baseApiUrl","entityTypeRouteTypeMap","BlogArticle","languageRouteTypes","BLOG_POST","SuccessStoryArticle","CASE_STUDY","PressReleaseArticle","PRESS_RELEASE","WhitePaperArticle","WHITE_PAPER","GlossaryArticle","GLOSSARY","VIDEO","selectedLanguage","selectedLanguageAtom","result","setResult","selectedLanguageTranslation","useTranslation","entities","cardOrder","setCardOrder","carouselStatus","setCarouselStatus","CarouselType","Tag","isTag","isCategory","Category","isArticle","Article","viewAllUrl","routeKey","getLanguageRouteAndPrefixByCodeAndRouteKey","carouselTypeEntitySlug","translatedArticleType","getTranslation","friendlyType","blog","caseStudy","pressRelease","whitePaper","video","glossary","getFunction","carouselTypeEntityId","articleType","Array","from","keys","catch","err","console","error","pageNumber","rowsPerPage","languageId","getPagedPressReleaseList","getLanguageByCode","pageRecords","article","slug","cardImageAlt","cardImageUrl","mobileCardImageUrl","hideCardLabel","getFormattedLocalDateTime","publishedDateUtc","Button","newOrder","ChevronLeft","ChevronRight","RightChevronIconRound","rx","ctaBannerCarouselStyles","parentContainer","bannerContainer","bannerContentContainer","paddingBottom","paddingLeft","paddingRight","bannerImage","swipeViewsContainerParent","swipeViewsContainer","columnGap","slide","paginationControls","paginationButtons","iconButton","linkText","textUnderlineOffset","textDecoration","linkArrow","verticalAlign","CtaBanner","banner","trackingClass","linkUrl","mobileQuery","rowSpacing","hideLinks","alignSelf","ShortArrow","CtaBannerCarousel","activeBanner","setActiveBanner","prevBanner","handleBannerChange","bannerIndex","disableLazyLoading","containerStyle","slideStyle","dotColor","activeDotColor","defaultGradient","OemLeadPageBg","bannerTitle","bannerDescription","customGradient","removeGradient","titleImage","logoImage","logoAltTag","logoAlt","demoItemContainer","demoTextInnerContainer","contentTitle","textSubheader","contentSubtitle","subTitle","contentBody","dangerouslySetInnerHTML","__html","ParseAbbreviations","stringFormat","videoSource","videoMedia","allow","allowFullScreen","buttonLink","buttonOpenNewTab","demoFormContainer","customFormContainer","embed","heading","goToSection","imageUrl","useMemo","authorImageUrl","authorImage","backgroundWithImage","defaultBackground","sectionContainer","leftContent","headingContainer","headingContent","hideTestimonial","wrap","testimonialImageDesktop","author","testimonialImageMobile","customFormContainerDesktop","formContainer","nextSectionLink","nextSectionLinkDesktop","DownChevronIcon","customFormContainerMobile","featureIconsStyles","titles","bodies","media","leftImage","centerImage","rightImage","float","leftHeading","clear","centerHeading","rightHeading","leftBody","centerBody","rightBody","leftLink","centerLink","rightLink","modelMedia","officeContainer","paddingTop","modelBody","officeMedia","listContainer","modelTitle","lists","listStyle","paddingInlineStart","listItems","lineHeight","leftAlign","rightAlign","featureLinks","boxContainer","lightest","boxSizing","boxIcon","LargeStackItem","feature","shouldIncreaseHeadingLevel","isPreviewingAnimation","isPreviewingAnimationAtom","getAnimationStyle","List","dense","ListItem","SmallStackItem","link","BoxFeatureItem","shouldOpenNewTab","rightIcon","ForwardIcon","animationsEnabled","sectionAnimation","defaultProps","adminContainer","cloud","adminHeading","isEditing","isEditingAtom","gtmDataLayer","window","dataLayer","sessionData","getSessionStorageItem","dataLayerFormValues","parse","isArray","sessionStorage","removeItem","alignContent","iframeStyles","iframe","invalidHeading","removeBorder","defaultHeight","defaultWidth","mobileHeight","mobileWidth","iframeBorder","placeHolderBox","theme","darkest","nextSectionContainer","CustomSectionForm","form","customSectionForms","find","formType","subtitle","navigationId","formOrientation","isDarkTheme","darker","columnSpacing","activePrimary","activeSecondary","flexAlignToTextAlign","center","module","horizontalAlignment","mainContainer","splitPaddingValues","totalColumnSpanCount","getTotalColumnSpanCount","modules","mobileSwap","columns","twelveColumnSpan","columnSpan","roundedTwelveColumnSpan","ceil","animation","verticalAlignment","RenderColumnTypes","column","columnCount","getColumnCount","subNavigationStyles","subNavigationContainer","borderBottom","subNavigation","smallLeftMarginIcon","arrowContainer","buttonContainer","buttonItem","buttonDivider","borderLeft","linkItemContainer","linkItem","whiteSpace","flipArrow","subNavigationMobileStyles","dropDownButton","outlineOffset","dropDownMenu","rotate","SubNavigationMobile","selected","setIsSelected","links","popover","useAccessiblePopout","disableScroll","handleClick","prevState","disableRipple","DropdownIcon","role","linkTarget","disableFocusRipple","containerRef","showLeftArrow","setShowLeftArrow","showRightArrow","setShowRightArrow","resizeObserver","ResizeObserver","updateScrollArrows","observe","unobserve","scrollLeft","clientWidth","scrollWidth","handleScroll","adjustment","scrollTo","behavior","handleScrollDebounced","debounce","RightArrowIcon","onScroll","buttonWrapper","TitleBodyButtons","textColor","checkBoxChecked","setCheckBoxChecked","titleFullWidth","widget","Widget","requestConsent","Checkbox","checked","onChange","event","checkboxText","videoApiUrl","videoLibraryStyles","filterChip","isSelected","typographyStyles","header4","overlays","cardChip","connect","body2","filterContainer","topSpacing","videoCard","shadows","hard","videoCardCTA","videoCardDescription","videoCardContent","skeletonVideoCard","imageContainer","playIcon","cardImage","cardText","cardDescription","menu","menuItem","body1","TabIcon","TagFilterBarMenu","selectedTag","menuItems","onSelect","anchorEl","setAnchorEl","Boolean","currentTarget","includes","SelectIcon","Menu","elevation","MenuListProps","anchorOrigin","vertical","horizontal","transformOrigin","paper","MenuItem","TagFilterBar","tags","showFilterBar","setShowFilterBar","visibleCount","setVisibleCount","visibleTags","menuItemsCount","computeTags","buttonWidths","visibileCount","remainingSpace","handleFilterChange","tagFilter","shouldUpdateStyles","getElementsByTagName","getBoundingClientRect","handleResize","addEventListener","removeEventListener","tag","_item","Skeleton","mobileTagFilter","drodownButton","borderTop","dropdown","showOpen","soft","expandIcon","MobileTagFilterBar","close","handleSelection","selection","ExpandIcon","VideoPlayIcon","VideoLibraryCard","videoTranslation","videoImage","getVideoThumbnailImage","videoKey","videoType","getLanguageRouteAndPrefixByIdAndRouteKey","language","fillOpacity","watchVideo","VideoLibraryContent","displayTagCategories","scrollTopSpacing","setVideos","loading","setLoading","setSelectedTag","initialWidth","filteredTagIds","getVideos","ids","page","tagIds","maxRecordsPerPage","getVideosByTagId","logError","finally","Hidden","smDown","smUp","totalRecordCount","Pagination","currentPage","onPageChange","scrollPosition","scrollY","pictureProps","preload","MediaType","cardContent","Card","cardTypes","SMALL_NO_CONTENT_TILE","DangerouslySetInnerHTML","html","tryDecodeURI","richTextHtmlStyles","rawHTML","getContent","testimonialBackgrounds","TestimonialBackgroundColor","Gray","White","testimonialStyles","testimonialBackground","ratingContainer","linkContainer","testimonialLink","portrait","profileContainer","profileInfo","quoteIcon","haze","QuoteIcon","isMultiColumn","buttonEnabled","ratingEnabled","testimonialStyle","showTestimonialBackground","testimonialBackgroundColor","Link","some","gradient","count","colSpan","LeadShareStyle","containerNoColor","reverseCard","cardParentContainer","bodyText","noButtonBody","verticalContainer","cardLink","cardSubTitle","demoFormInnerContainer","demoTextInput","pageSectionStyles","topOffset","hiddenText","errorNotification","ember","warningIcon","hideButton","showButton","func","timeoutId","args","apply","this","MOBILE_BACKGROUND_LAYER_KEY","BACKGROUND_LAYER_KEY","PredefinedBackgroundColor","PredefinedBackgroundGradient","setSessionStorageItem","setItem","getItem","removeSessionStorageItem","isEditorExpandedAtom","atom","isNavbarExpandedAtom","enableNavbarExpansionAtom","adminLanguageAtom","LanguageCode","en","isSideNavbarVisibleAtom"],"sourceRoot":""}