@blateral/b.kit 2.7.2 → 2.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/{VideoCard-a51690c9.js → VideoCard-f6c436ca.js} +2 -2
- package/cjs/VideoCard-f6c436ca.js.map +1 -0
- package/cjs/sections.js +1 -1
- package/cjs/sections.js.map +1 -1
- package/cjs/sections.news.js +1 -1
- package/cjs/sections.news.js.map +1 -1
- package/esm/{VideoCard-2cb3b442.js → VideoCard-2c6e26d1.js} +45 -22
- package/esm/VideoCard-2c6e26d1.js.map +1 -0
- package/esm/sections.js +3 -3
- package/esm/sections.js.map +1 -1
- package/esm/sections.news.js +4 -2
- package/esm/sections.news.js.map +1 -1
- package/package.json +1 -1
- package/types/components/blocks/VideoCard.d.ts +1 -1
- package/types/components/blocks/VideoCard.d.ts.map +1 -1
- package/types/components/sections/Video.d.ts +2 -2
- package/types/components/sections/Video.d.ts.map +1 -1
- package/types/components/sections/news/NewsVideo.d.ts +10 -0
- package/types/components/sections/news/NewsVideo.d.ts.map +1 -1
- package/cjs/VideoCard-a51690c9.js.map +0 -1
- package/esm/VideoCard-2cb3b442.js.map +0 -1
package/esm/sections.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sections.js","sources":["../src/components/sections/Accordion.tsx","../src/components/blocks/Alert.tsx","../src/components/sections/AlertList.tsx","../src/components/sections/Article.tsx","../src/components/sections/CallToAction.tsx","../src/components/sections/CardList.tsx","../src/components/sections/ComparisonSlider.tsx","../src/components/blocks/PromotionCard.tsx","../src/components/sections/CrossPromotion.tsx","../src/components/blocks/Fact.tsx","../src/components/sections/FactGrid.tsx","../src/components/sections/FactList.tsx","../src/components/blocks/Feature.tsx","../src/components/sections/FeatureList.tsx","../src/components/sections/Gallery.tsx","../src/components/sections/IconList.tsx","../src/components/sections/IndexList.tsx","../src/components/sections/Intro.tsx","../src/components/blocks/NavBlock.tsx","../src/components/sections/NavList.tsx","../src/components/sections/NumberList.tsx","../src/components/sections/ParallaxBackground.tsx","../src/components/sections/Poster.tsx","../src/components/sections/PriceList.tsx","../src/components/blocks/PriceTag.tsx","../src/components/sections/PriceTable.tsx","../src/components/sections/Quote.tsx","../src/components/sections/SimpleImage.tsx","../src/components/sections/SocialWall.tsx","../src/components/sections/Table.tsx","../src/components/sections/Teaser.tsx","../src/components/sections/TeaserWide.tsx","../src/components/sections/Timeline.tsx","../src/components/sections/Video.tsx","../src/components/sections/RawVideo.tsx","../src/components/sections/Map.tsx","../src/components/sections/HtmlCode.tsx"],"sourcesContent":["import Plus from 'components/base/icons/Plus';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { spacings, getColors as color, mq } from 'utils/styles';\nimport Minus from 'components/base/icons/Minus';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { generateFAQ } from 'utils/structuredData';\nimport Grid, { gridSettings } from 'components/base/Grid';\n\nconst AccordionContainer = styled.div`\n margin: 0;\n padding: 0;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst View = styled.details``;\n\nconst AccordionHead = styled.summary<{\n isInverted?: boolean;\n hasBg?: boolean;\n}>`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n padding: ${spacings.nudge * 2}px;\n margin: 0;\n border: none;\n outline: none;\n background: none;\n user-select: none;\n list-style: none;\n\n background: ${({ isInverted, hasBg, theme }) =>\n isInverted || hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n\n cursor: pointer;\n transition: background 0.2s ease-in-out;\n\n @media ${mq.medium} {\n padding: ${spacings.nudge * 3}px;\n }\n\n &::-webkit-details-marker {\n display: none;\n }\n\n &::marker {\n display: none;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n background: ${({ theme, isInverted, hasBg }) =>\n isInverted || hasBg\n ? color(theme).elementBg.lightHover\n : color(theme).elementBg.mediumHover};\n }\n }\n\n &:focus {\n background: ${({ theme, isInverted, hasBg }) =>\n isInverted || hasBg\n ? color(theme).elementBg.lightHover\n : color(theme).elementBg.mediumHover};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst Column = styled(Copy)`\n flex: 1 1 0;\n`;\n\nconst AccordionText = styled.div<{\n isInverted?: boolean;\n hasBg?: boolean;\n hasAside?: boolean;\n}>`\n display: flex;\n flex-direction: column;\n padding: ${spacings.nudge * 2}px;\n margin-top: 2px;\n background: ${({ isInverted, hasBg, theme }) =>\n isInverted || hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n\n & > * {\n max-width: 880px;\n }\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n padding: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.semilarge} {\n flex-direction: row;\n\n & > * + * {\n margin-top: 0px;\n margin-left: ${gridSettings.gutter}px;\n }\n }\n`;\n\ninterface AccordionItem {\n label?: string;\n text?: string;\n aside?: string;\n}\n\nconst AccordionBlock: React.FC<\n AccordionItem & {\n isSelected?: boolean;\n onClick?: () => void;\n isInverted?: boolean;\n hasBg?: boolean;\n itemIcon?: (props: { isSelected: boolean }) => React.ReactNode;\n className?: string;\n }\n> = ({\n label,\n text,\n aside,\n isSelected,\n onClick,\n hasBg,\n isInverted,\n itemIcon,\n className,\n}) => {\n const { colors } = useLibTheme();\n\n return (\n <View open={isSelected} onToggle={onClick} className={className}>\n <AccordionHead isInverted={isInverted} hasBg={hasBg}>\n <Copy renderAs=\"span\" size=\"big\" type=\"copy-b\">\n {label}\n </Copy>\n <span>\n {itemIcon ? (\n itemIcon({ isSelected: isSelected || false })\n ) : isSelected ? (\n <Minus iconColor={colors.text.default} />\n ) : (\n <Plus iconColor={colors.text.default} />\n )}\n </span>\n </AccordionHead>\n <AccordionText\n isInverted={isInverted}\n hasBg={hasBg}\n hasAside={!!aside}\n >\n {text && <Column type=\"copy\" innerHTML={text} />}\n {aside && <Column type=\"copy\" innerHTML={aside} />}\n </AccordionText>\n </View>\n );\n};\n\nconst Accordion: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of accordion items */\n items?: AccordionItem[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom item state icon */\n itemIcon?: (props: { isSelected: boolean }) => React.ReactNode;\n}> = ({ anchorId, items, bgMode, itemIcon }) => {\n const [currentItems, setCurrentItems] = React.useState<number[]>([]);\n\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n {items && generateFAQ(items)}\n <Wrapper addWhitespace>\n <Grid.Row gutter={0}>\n <Grid.Col>\n <AccordionContainer aria-label=\"Accordion Control Group Buttons\">\n {items?.map(({ label, text, aside }, i) => {\n const isSelected =\n currentItems.indexOf(i) !== -1;\n return (\n <AccordionBlock\n key={`${label}_${i}`}\n isSelected={isSelected}\n label={label}\n text={text}\n aside={aside}\n onClick={() => {\n setCurrentItems((prev) => {\n const copy = [...prev];\n const index = copy.indexOf(i);\n if (index === -1) {\n copy.push(i);\n } else {\n copy.splice(index, 1);\n }\n return copy;\n });\n }}\n isInverted={isInverted}\n hasBg={hasBg}\n itemIcon={itemIcon}\n />\n );\n })}\n </AccordionContainer>\n </Grid.Col>\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const AccordionComponent = Accordion;\nexport default withLibTheme(Accordion);\n","import Copy from 'components/typography/Copy';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React from 'react';\nimport styled from 'styled-components';\nimport {\n getColors as color,\n getGlobals as global,\n spacings,\n} from 'utils/styles';\nimport StatusFormatter from '../../utils/statusFormatter';\nimport Info from '../base/icons/Info';\n\nconst View = styled.div<{ isInverted?: boolean }>`\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n text-decoration: none;\n\n position: relative;\n border: 2px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n padding: ${spacings.nudge * 3}px;\n\n text-align: left;\n width: 100%;\n cursor: pointer;\n\n transition: color ease-in-out 0.2s, border 0.2s ease-in-out;\n\n & > * + * {\n margin-left: ${spacings.nudge * 3}px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n border: 2px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n }\n`;\n\nconst Icon = styled.div`\n display: flex;\n align-items: center;\n\n & > * {\n height: 48px;\n width: 48px;\n }\n`;\n\nconst MainLabel = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst Content = styled.div`\n margin-top: ${spacings.nudge}px;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst Title = styled(Copy)`\n display: inline-block;\n`;\n\nconst ViewLink = styled(Link)`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n && {\n margin: 0;\n }\n\n &:focus-within {\n outline: dotted 2px\n ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 4px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n`;\n\nexport interface AlertProps {\n /** Invert colors for use on dark backgrounds */\n isInverted?: boolean;\n\n /** Alert title text */\n title?: string;\n\n /** Alert date */\n date?: Date;\n\n /** Additional description text (richtext) */\n description?: string;\n\n /** Alert link that covers hole element */\n link?: LinkProps;\n\n /** Function to inject custom alert icon */\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}\n\nconst Alert: React.FC<AlertProps & { className?: string }> = ({\n isInverted,\n title,\n date,\n description,\n link,\n customIcon,\n className,\n}) => {\n let formattedDate = '';\n if (date) {\n const formatter = new StatusFormatter(\n date.getTime(),\n '',\n 'dd. MMMM yyyy',\n 'hh:mm',\n 'de'\n );\n formattedDate = formatter.getFormattedDate();\n }\n\n return (\n <View isInverted={isInverted} data-sheet=\"alert\" className={className}>\n <Icon>{customIcon ? customIcon({ isInverted }) : <Info />}</Icon>\n <MainLabel>\n {title && (\n <Title textColor=\"inherit\" size=\"medium\" type=\"copy-b\">\n {title}\n </Title>\n )}\n </MainLabel>\n <span />\n <Content>\n {description && (\n <Copy\n isInverted={isInverted}\n size=\"small\"\n innerHTML={description}\n />\n )}\n {date && (\n <Copy size=\"small\" isInverted={isInverted}>\n {formattedDate}\n </Copy>\n )}\n </Content>\n {link && (\n <ViewLink\n {...link}\n ariaLabel={link?.href ? title : undefined}\n />\n )}\n </View>\n );\n};\n\nexport default Alert;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport { mq, spacings } from 'utils/styles';\nimport Wrapper from 'components/base/Wrapper';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Alert, { AlertProps } from '../blocks/Alert';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\n\nconst List = styled.ul`\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.nudge * 2}px;\n padding: 0;\n list-style: none;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n flex-wrap: wrap;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n }\n`;\n\nconst ListItem = styled.li<{ itemsPerRow: number }>`\n padding-top: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n flex: 1 1 100%;\n\n @media ${mq.medium} {\n flex: 0 1 50%;\n max-width: 50%;\n\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n }\n\n @media ${mq.large} {\n flex: 0 1 ${({ itemsPerRow }) => (1 / itemsPerRow) * 100}%;\n max-width: 600px;\n\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n }\n`;\n\nconst AlertList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of alert items */\n items?: Pick<AlertProps, 'title' | 'date' | 'description' | 'link'>[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom alert icon */\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}> = ({ anchorId, items, bgMode, customIcon }) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const alertCount = items?.length || 0;\n const itemsPerRow = alertCount % 3 === 1 || alertCount === 2 ? 2 : 3;\n\n const { sheetRefs: alertRefs } = useEqualSheetHeight<HTMLLIElement>({\n listLength: alertCount,\n identifiers: ['[data-sheet=\"alert\"]'],\n responsive: {\n small: 1,\n medium: 2,\n semilarge: 2,\n large: itemsPerRow,\n xlarge: itemsPerRow,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <List>\n {items?.map((item, i) => (\n <ListItem\n key={i}\n itemsPerRow={itemsPerRow}\n ref={alertRefs[i]}\n >\n <Alert\n {...item}\n isInverted={isInverted}\n customIcon={customIcon}\n />\n </ListItem>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const AlertListComponent = AlertList;\nexport default withLibTheme(AlertList);\n","import * as React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Title, { TitleSize } from 'components/blocks/Title';\nimport Copy from 'components/typography/Copy';\nimport Wrapper from 'components/base/Wrapper';\nimport { spacings, mq } from 'utils/styles';\nimport Actions from 'components/blocks/Actions';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\n\nconst StyledTitle = styled(Title)`\n &:not(:last-child) {\n margin-bottom: ${spacings.spacer}px;\n }\n\n @media ${mq.semilarge} {\n max-width: 880px;\n }\n`;\n\nconst ContentText = styled(Copy)`\n text-align: left;\n`;\n\nconst StyledActions = styled(Actions)`\n margin-top: ${spacings.spacer}px;\n`;\n\nconst Article: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n /** Main title text */\n title?: string;\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n /** Main title size */\n titleSize?: TitleSize;\n /** Superior title that stands above main title */\n superTitle?: string;\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n /** Bold intro text underneath the title (limited richtext capabilites) */\n intro?: string;\n /** Main article richtext */\n text?: string;\n /** Additional article richtext in a second column */\n asideText?: string;\n /** Controls width of left text column (8/12 or 6/12) */\n halfAside?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'splitted' | 'inverted';\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n title,\n titleAs = 'h2',\n titleSize = 'heading-2',\n superTitle,\n superTitleAs,\n intro,\n text,\n asideText,\n halfAside,\n bgMode,\n primaryAction,\n secondaryAction,\n}) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasContent = intro || text || asideText;\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n {(title || superTitle) && (\n <StyledTitle\n title={title}\n titleAs={titleAs}\n titleSize={titleSize}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n colorMode={isInverted ? 'inverted' : 'default'}\n />\n )}\n {hasContent && (\n <Grid.Row valign=\"top\">\n <Grid.Col\n semilarge={{ span: halfAside ? 6 / 12 : 8 / 12 }}\n >\n {intro && (\n <ContentText\n type=\"copy-b\"\n isInverted={isInverted}\n innerHTML={intro}\n />\n )}\n {text && (\n <ContentText\n type=\"copy\"\n isInverted={isInverted}\n innerHTML={text}\n />\n )}\n </Grid.Col>\n {asideText && (\n <Grid.Col\n semilarge={{\n span: halfAside ? 6 / 12 : 4 / 12,\n }}\n >\n <ContentText\n type=\"copy\"\n isInverted={isInverted}\n innerHTML={asideText}\n />\n </Grid.Col>\n )}\n </Grid.Row>\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const ArticleComponent = Article;\nexport default withLibTheme(Article);\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport { getGlobals as global, mq, spacings } from 'utils/styles';\nimport Copy from 'components/typography/Copy';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport IntroBlock from 'components/blocks/IntroBlock';\nimport Actions from 'components/blocks/Actions';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { gridSettings, getGridWidth } from 'components/base/Grid';\n\nconst ContactView = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: 0 auto;\n width: 100%;\n\n text-align: left;\n hyphens: auto;\n overflow-wrap: break-word;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.semilarge} {\n flex-direction: row;\n\n & > * + * {\n margin-top: 0px;\n margin-left: ${gridSettings.gutter}px;\n }\n }\n`;\n\nconst Avatar = styled.img<{ isInverted?: boolean }>`\n align-self: center;\n display: block;\n border: solid 1px transparent;\n border-radius: 50%;\n width: 180px;\n height: 180px;\n\n background: ${({ theme, isInverted }) =>\n isInverted\n ? global(theme).sections.imagePlaceholderBg.inverted\n : global(theme).sections.imagePlaceholderBg.default};\n\n @media ${mq.semilarge} {\n display: block;\n width: 190px;\n height: 190px;\n }\n`;\n\nconst Description = styled(Copy)`\n text-align: center;\n\n .icon-label {\n flex-direction: column;\n }\n\n .icon-label > * + * {\n margin-left: 0;\n margin-top: ${spacings.nudge * 2}px;\n }\n\n & > * {\n justify-content: center;\n }\n\n @media ${mq.semilarge} {\n text-align: left;\n\n & > * {\n justify-content: left;\n }\n\n .icon-label {\n flex-direction: row;\n }\n\n .icon-label > * + * {\n margin-left: ${spacings.nudge * 2}px;\n margin-top: 0;\n }\n }\n`;\n\nexport interface ContactBoxProps {\n isInverted?: boolean;\n description?: string;\n avatar?: { src: string; alt: string };\n}\n\nconst ContactBox: FC<ContactBoxProps & { className?: string }> = ({\n isInverted,\n description,\n avatar,\n className,\n}) => {\n return (\n <ContactView className={className}>\n <Avatar\n src={avatar?.src}\n alt={avatar?.alt}\n isInverted={isInverted}\n />\n {description && (\n <Description\n type=\"copy\"\n isInverted={isInverted}\n innerHTML={description}\n />\n )}\n </ContactView>\n );\n};\n\nconst StyledIntro = styled(IntroBlock)<{ hasDecorator?: boolean }>`\n max-width: 880px;\n margin-right: auto;\n margin-left: auto;\n\n @media ${mq.xlarge} {\n & > *:first-child {\n min-height: ${({ hasDecorator }) => hasDecorator && '110px'};\n }\n }\n`;\n\nconst StyledContactBox = styled(ContactBox)`\n margin-top: ${spacings.spacer}px;\n\n @media ${mq.semilarge} {\n max-width: ${getGridWidth({ cols: 8 })};\n margin-right: auto;\n margin-left: auto;\n }\n\n @media ${mq.large} {\n max-width: ${getGridWidth({ cols: 6 })};\n }\n`;\n\nconst StyledActions = styled(Actions)`\n margin-top: ${spacings.spacer}px;\n\n @media ${mq.medium} {\n display: block;\n text-align: center;\n }\n`;\n\nconst NewsletterWrapper = styled.div`\n width: 100%;\n margin: 0 auto;\n margin-top: ${spacings.spacer}px;\n\n @media ${mq.semilarge} {\n max-width: 400px;\n }\n`;\n\nconst Badge = styled.div`\n display: none;\n position: relative;\n height: 241px;\n width: 241px;\n margin-left: auto;\n margin-bottom: -135px;\n z-index: 3;\n\n @media ${mq.xlarge} {\n display: block;\n margin-right: ${1440 * (1 / 28) + 'px'};\n }\n`;\n\nexport interface CtaActionProps {\n isInverted?: boolean;\n isTextCentered?: boolean;\n}\n\nexport const CallToAction: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n /** Main title text */\n title?: string;\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n /** Superior title that stands above main title */\n superTitle?: string;\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n /** Bold text underneath the title (limited richtext capabilites) */\n text?: string;\n /** Props for contact area */\n contact?: ContactBoxProps;\n /** Show Newsletter defined by inject function newsFormMain. Only visible if React node is defined! */\n hasNewsletter?: boolean;\n /** Badge decorator visible only on large screens */\n badge?: React.ReactNode;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom primary button */\n primaryAction?: (props: CtaActionProps) => React.ReactNode;\n /** Function to inject custom secondary button */\n secondaryAction?: (props: CtaActionProps) => React.ReactNode;\n /** Function to inject newsletter form */\n newsFormMain?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n title,\n titleAs = 'h2',\n superTitle,\n superTitleAs,\n text,\n contact,\n badge,\n primaryAction,\n secondaryAction,\n hasNewsletter,\n newsFormMain,\n bgMode,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted ? colors.sectionBg.dark : colors.sectionBg.medium\n }\n bgMode={bgMode ? mapToBgMode(bgMode, true) : 'full'}\n >\n <Wrapper addWhitespace clampWidth=\"normal\">\n {badge && <Badge>{badge}</Badge>}\n {title && (\n <StyledIntro\n isCentered\n colorMode={isInverted ? 'inverted' : 'default'}\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n hasDecorator={!!badge}\n text={text}\n />\n )}\n\n {contact && (\n <StyledContactBox\n isInverted={isInverted}\n description={contact.description}\n avatar={contact.avatar}\n />\n )}\n {newsFormMain && hasNewsletter && (\n <NewsletterWrapper>\n {newsFormMain(isInverted)}\n </NewsletterWrapper>\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={\n primaryAction &&\n primaryAction({ isInverted, isTextCentered: true })\n }\n secondary={\n secondaryAction &&\n secondaryAction({\n isInverted,\n isTextCentered: true,\n })\n }\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const CallToActionComponent = CallToAction;\nexport default withLibTheme(CallToAction);\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Copy from 'components/typography/Copy';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport {\n spacings,\n getColors as color,\n mq,\n getGlobals as global,\n} from 'utils/styles';\n\nconst View = styled.div<{\n isInverted?: boolean;\n cardColor?: string;\n hasLink?: boolean;\n}>`\n display: flex;\n flex-direction: column;\n justify-content: center;\n position: relative;\n color: ${({ theme }) => color(theme).text.inverted};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n min-height: 110px;\n\n overflow: hidden;\n\n @media ${mq.medium} {\n display: block;\n padding-top: 85%;\n }\n`;\n\nconst SolidView = styled(View)`\n background-color: ${({ theme, isInverted, cardColor }) =>\n cardColor\n ? cardColor\n : isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;\n\n ${({ hasLink }) =>\n hasLink &&\n css`\n cursor: pointer;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n }\n }\n `}\n`;\n\nconst ImageView = styled(View)`\n transition: box-shadow 0.2s ease-in-out;\n\n ${({ hasLink }) =>\n hasLink &&\n css`\n @media (hover: hover) and (pointer: fine) {\n cursor: pointer;\n\n img {\n -webkit-backface-visibility: hidden;\n -ms-transform: translateZ(0); /* IE 9 */\n -webkit-transform: translateZ(\n 0\n ); /* Chrome, Safari, Opera */\n transform: translateZ(0);\n transform-origin: center;\n transition: transform 0.2s ease-in-out;\n }\n\n &:hover {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n\n img {\n transform: scale(1.03);\n }\n }\n }\n `}\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background: ${({ theme }) => global(theme).sections.imageTextGradient};\n pointer-events: none;\n }\n\n @media ${mq.medium} {\n padding-top: 0;\n }\n`;\n\nconst StyledImage = styled(Image)`\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n\n display: block;\n width: 100%;\n height: 100%;\n\n object-fit: cover;\n object-position: center;\n\n @media ${mq.medium} {\n position: relative;\n }\n`;\n\nconst Content = styled.div<{ hasIcon?: boolean }>`\n z-index: 1;\n\n padding: ${spacings.nudge * 3}px;\n\n display: flex;\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: hidden;\n\n display: flex;\n flex-direction: ${({ hasIcon }) => (hasIcon ? 'column' : 'row')};\n justify-content: space-between;\n align-items: ${({ hasIcon }) => (hasIcon ? 'flex-start' : 'flex-end')};\n\n & > * + * {\n margin-left: 0;\n }\n }\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n overflow: hidden;\n\n & > * + * {\n margin-top: ${spacings.nudge / 2}px;\n }\n`;\n\nconst Title = styled(Copy)`\n display: inline-block;\n max-width: 100%;\n\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n text-overflow: ellipsis;\n overflow: hidden;\n`;\n\nconst Footer = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst SubLabel = styled(Copy)`\n display: inline-block;\n\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n`;\n\nconst Icon = styled.div`\n height: 100%;\n max-height: 60px;\n min-height: 40px;\n min-width: 40px;\n\n * {\n height: 100%;\n }\n\n svg,\n img {\n width: 100%;\n }\n\n @media ${mq.medium} {\n svg,\n img {\n width: auto;\n }\n }\n`;\n\nconst CardLink = styled(Link)<{ isInverted?: boolean }>`\n z-index: 1;\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n outline-color: ${({ theme }) => color(theme).primary.default};\n\n &:focus {\n border: 2px dotted ${({ theme }) => color(theme).primary.invertedHover};\n outline-offset: 4px;\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n`;\n\nexport interface CardProps {\n isInverted?: boolean;\n title?: string;\n subLabel?: string;\n image?: ImageProps;\n link?: LinkProps;\n decorator?: (props: { isInverted?: boolean }) => React.ReactNode;\n cardColor?: string;\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}\n\nconst Card: React.FC<\n Omit<CardProps, 'coverSpace' | 'ratios'> & {\n className?: string;\n }\n> = ({\n isInverted,\n title,\n subLabel,\n image,\n link,\n decorator,\n cardColor,\n customIcon,\n}) => {\n const { colors } = useLibTheme();\n const CardView = image && image.small ? ImageView : SolidView;\n const defaultCardColor = isInverted\n ? colors.primary.inverted\n : colors.primary.default;\n\n return (\n <CardView\n isInverted={isInverted}\n cardColor={cardColor || defaultCardColor}\n hasLink={!!link?.href}\n >\n {image?.small && (\n <StyledImage\n {...image}\n coverSpace\n isInverted={isInverted}\n ratios={{\n small: { w: 352, h: 108 },\n medium: { w: 286, h: 244 },\n }}\n />\n )}\n <Content hasIcon={!!customIcon}>\n {customIcon ? <Icon>{customIcon({})}</Icon> : ''}\n <TextContainer>\n {title && (\n <Title size=\"big\" type=\"copy\" isInverted>\n {title}\n </Title>\n )}\n {subLabel && (\n <Footer>\n <SubLabel type=\"copy-b\" size=\"big\" isInverted>\n {subLabel}\n </SubLabel>\n {decorator ? decorator({ isInverted }) : undefined}\n </Footer>\n )}\n </TextContainer>\n </Content>\n {link?.href && (\n <CardLink\n isInverted={isInverted}\n {...link}\n ariaLabel={title || undefined}\n />\n )}\n </CardView>\n );\n};\n\nconst List = styled.ul`\n padding: 0;\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.nudge * 2}px;\n list-style: none;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n flex-wrap: wrap;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n }\n`;\n\nconst CardItem = styled.li<{ isEqual?: boolean; threeCols?: boolean }>`\n padding-top: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n\n width: 100%;\n\n @media ${mq.medium} {\n flex: 0 0 50%;\n max-width: 370px;\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n }\n\n @media ${mq.semilarge} {\n flex: 0 0 33.33%;\n }\n\n @media (min-width: 75em) {\n flex: ${({ isEqual, threeCols }) =>\n threeCols ? '0 0 33.33%' : isEqual && '0 0 25%'};\n }\n`;\n\nconst CardList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with card item settings */\n items?: Omit<CardProps, 'decorator' | 'isInverted'>[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom decoration icon */\n decorator?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n /** Force maximal three items per row */\n maxThreeCols?: boolean;\n}> = ({ anchorId, items, bgMode, decorator, maxThreeCols }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n addSeperation\n >\n <Wrapper addWhitespace>\n <List>\n {items?.map((item, i) => (\n <CardItem\n key={i}\n isEqual={items.length % 2 === 0}\n threeCols={maxThreeCols}\n >\n <Card\n {...item}\n isInverted={isInverted}\n decorator={decorator}\n />\n </CardItem>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const CardListComponent = CardList;\nexport default withLibTheme(CardList);\n","import React, { FC, useEffect, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { getColors as color, spacings } from 'utils/styles';\nimport ArrowLeftRight from 'components/base/icons/ArrowLeftRight';\nimport Copy from 'components/typography/Copy';\nimport useIE from 'utils/useIE';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst clamp = (num: number, min: number, max: number) => {\n return Math.min(Math.max(num, min), max);\n};\n\nconst Images = styled.div`\n position: relative;\n cursor: col-resize;\n & > * {\n pointer-events: none;\n user-select: none;\n }\n`;\n\nconst BackgroundImg = styled(Image)`\n position: relative;\n display: block;\n width: 100%;\n`;\n\nconst ForegroundContainer = styled.div<{\n hasTransition?: boolean;\n initalValue?: number;\n hasAnim?: boolean;\n}>`\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 50%;\n overflow: hidden;\n transition: width ${({ hasTransition }) => (hasTransition ? 0.1 : 0)}s\n ease-in-out;\n ${({ hasAnim, initalValue }) =>\n hasAnim &&\n css`\n animation-name: ForegroundAnim;\n animation-duration: 5s;\n animation-iteration-count: 1;\n animation-play-state: ${hasAnim && 'running'};\n animation-timing-function: ease-in-out;\n @keyframes ForegroundAnim {\n 0% {\n width: ${initalValue\n ? clamp(initalValue * 100, 0, 100) + '%'\n : '50%'};\n }\n 33% {\n width: ${initalValue\n ? clamp(initalValue * 100 + 10, 0, 100) + '%'\n : '60%'};\n }\n 66% {\n width: ${initalValue\n ? clamp(initalValue * 100 - 10, 0, 100) + '%'\n : '40%'};\n }\n 100% {\n width: ${initalValue ? initalValue * 100 + '%' : '50%'};\n }\n }\n `}\n`;\n\nconst ForegroundImg = styled(Image)`\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n max-width: none;\n object-fit: cover;\n\n img {\n height: auto;\n width: auto;\n }\n`;\n\nconst ForegroundOverlay = styled.div<{ color: string }>`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: ${({ color }) => color};\n`;\n\nconst ImageLabel = styled(Copy)<{ bgColor?: string }>`\n height: ${spacings.spacer}px;\n padding: ${spacings.nudge}px ${spacings.spacer}px ${spacings.spacer}px\n ${spacings.spacer}px;\n background: ${({ bgColor }) => bgColor && bgColor};\n`;\n\nconst ForegroundLabel = styled(ImageLabel)`\n position: absolute;\n bottom: ${spacings.spacer}px;\n left: ${spacings.spacer}px;\n pointer-events: none;\n white-space: nowrap;\n`;\n\nconst BackgroundLabel = styled(ImageLabel)`\n position: absolute;\n bottom: ${spacings.spacer}px;\n right: ${spacings.spacer}px;\n pointer-events: none;\n white-space: nowrap;\n`;\n\nconst ControlContainer = styled.div<{\n hasTransition?: boolean;\n hasAnim?: boolean;\n initalValue?: number;\n}>`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n transition: left ${({ hasTransition }) => (hasTransition ? 0.1 : 0)}s\n ease-in-out;\n ${({ hasAnim, initalValue }) =>\n hasAnim &&\n css`\n animation-name: ControlAnim;\n animation-duration: 5s;\n animation-iteration-count: 1;\n animation-play-state: ${hasAnim && 'running'};\n animation-timing-function: ease-in-out;\n @keyframes ControlAnim {\n 0% {\n left: ${initalValue\n ? clamp(initalValue * 100, 0, 100) + '%'\n : '50%'};\n }\n 33% {\n left: ${initalValue\n ? clamp(initalValue * 100 + 10, 0, 100) + '%'\n : '60%'};\n }\n 66% {\n left: ${initalValue\n ? clamp(initalValue * 100 - 10, 0, 100) + '%'\n : '40%'};\n }\n 100% {\n left: ${initalValue ? initalValue * 100 + '%' : '50%'};\n }\n }\n `}\n`;\n\nconst Control = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n height: 54px;\n width: 54px;\n border: solid 2px ${({ theme }) => color(theme).elementBg.light};\n border-radius: 50%;\n background-color: ${({ theme }) => color(theme).elementBg.medium};\n`;\n\nconst ComparisonSlider: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n bgMode?: 'full' | 'inverted' | 'splitted';\n initialValue?: number;\n foregroundImg?: ImageProps;\n backgroundImg?: ImageProps;\n foregroundLabel?: string;\n backgroundLabel?: string;\n overlayColor?: string;\n labelColor?: string;\n dragControl?: React.ReactNode;\n enableControlAnim?: boolean;\n}> = ({\n anchorId,\n bgMode,\n initialValue,\n foregroundImg,\n backgroundImg,\n foregroundLabel,\n backgroundLabel,\n overlayColor = 'rgba(0, 0 , 0, 0.2)',\n labelColor = 'rgba(0, 0 , 0, 0.3)',\n dragControl,\n enableControlAnim,\n}) => {\n const isIE = useIE(true);\n const [slideValue, setSlideValue] = useState<number>(\n initialValue ? Math.min(Math.max(initialValue, 0), 1) : 0.5\n );\n const [isHolding, setIsHolding] = useState<boolean>(false);\n const [isDragging, setIsDragging] = useState<boolean>(false);\n const [interacted, setInteracted] = useState<boolean>(true);\n const [sideOffset, setSideOffset] = useState<number>(0);\n const controlRef = useRef<HTMLDivElement | null>(null);\n const { colors } = useLibTheme();\n\n useEffect(() => {\n if (controlRef.current) {\n setSideOffset(controlRef.current.offsetWidth / 2);\n }\n }, []);\n\n useEffect(() => {\n const handleInitalLoad = () => {\n const options = {\n rootMargin: '0px',\n threshold: 1.0,\n };\n\n const observer = new IntersectionObserver((entries, observer) => {\n if (enableControlAnim && entries[0]?.isIntersecting) {\n // if control is first fully visible\n observer.unobserve(entries[0]?.target);\n setInteracted(false);\n }\n }, options);\n if (controlRef.current) observer.observe(controlRef.current);\n window.removeEventListener('load', handleInitalLoad);\n };\n\n // wait unitl user has scrolled once\n if (!isIE) {\n if (document.readyState === 'complete') handleInitalLoad();\n else window.addEventListener('load', handleInitalLoad);\n }\n\n return () => {\n window.removeEventListener('load', handleInitalLoad);\n };\n }, [enableControlAnim, isIE]);\n\n const setCurrentPos = (target: EventTarget & Element, clientX: number) => {\n if (target && clientX) {\n const relativeClientX = clientX - target.getBoundingClientRect().x;\n\n // check side offset\n if (\n relativeClientX >= sideOffset &&\n relativeClientX <=\n target.getBoundingClientRect().width - sideOffset\n ) {\n let percentage =\n relativeClientX / target.getBoundingClientRect().width;\n percentage = Math.min(Math.max(percentage, 0), 1);\n\n setSlideValue(percentage);\n }\n }\n };\n\n const handleClick = (ev: React.MouseEvent) => {\n const target = ev.currentTarget;\n if (target && ev.clientX) {\n setCurrentPos(target, ev.clientX);\n setInteracted(true);\n }\n };\n\n const handleMouseMove = (ev: React.MouseEvent) => {\n const target = ev.currentTarget;\n if (target && ev.clientX && isHolding) {\n setIsDragging(true);\n setInteracted(true);\n if (isDragging) setCurrentPos(target, ev.clientX);\n }\n };\n\n const handleTouchMove = (ev: React.TouchEvent<HTMLDivElement>) => {\n const target = ev.currentTarget;\n if (target && ev.touches[0]?.clientX) {\n setInteracted(true);\n setCurrentPos(target, ev.touches[0]?.clientX);\n }\n };\n\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper>\n {backgroundImg && foregroundImg && (\n <Images\n onClick={handleClick}\n onMouseMove={handleMouseMove}\n onMouseDown={() => {\n setIsDragging(false);\n setIsHolding(true);\n }}\n onMouseUp={() => {\n setIsDragging(false);\n setIsHolding(false);\n }}\n onMouseLeave={() => {\n setIsHolding(false);\n setIsDragging(false);\n }}\n onTouchMove={handleTouchMove}\n onTouchStart={() => setIsHolding(true)}\n onTouchEnd={() => setIsHolding(false)}\n >\n <BackgroundImg {...backgroundImg} />\n {backgroundLabel && (\n <BackgroundLabel\n textColor={colors.text.inverted}\n bgColor={labelColor}\n >\n {backgroundLabel}\n </BackgroundLabel>\n )}\n <ForegroundContainer\n hasTransition={!isHolding}\n hasAnim={!interacted}\n initalValue={initialValue}\n style={{ width: slideValue * 100 + '%' }}\n >\n <ForegroundImg {...foregroundImg} />\n {foregroundLabel && (\n <ForegroundLabel\n textColor={colors.text.inverted}\n bgColor={labelColor}\n >\n {foregroundLabel}\n </ForegroundLabel>\n )}\n <ForegroundOverlay color={overlayColor} />\n </ForegroundContainer>\n <ControlContainer\n ref={controlRef}\n hasTransition={!isHolding}\n hasAnim={!interacted}\n initalValue={initialValue}\n style={{ left: slideValue * 100 + '%' }}\n >\n {dragControl ? (\n dragControl\n ) : (\n <Control>\n <ArrowLeftRight\n iconColor={colors.elementBg.light}\n />\n </Control>\n )}\n </ControlContainer>\n </Images>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const ComparisonSliderComponent = ComparisonSlider;\nexport default withLibTheme(ComparisonSlider);\n","import React, { forwardRef } from 'react';\nimport ReactDOMServer from 'react-dom/server';\nimport styled, { css } from 'styled-components';\n\nimport {\n spacings,\n getGlobals as global,\n mq,\n withRange,\n getColors as color,\n} from 'utils/styles';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport Title from 'components/blocks/Title';\nimport External from 'components/base/icons/External';\nimport { HeadlineTag } from 'components/typography/Heading';\n\nconst View = styled(Link)<{\n clickable?: boolean;\n}>`\n display: block;\n position: relative;\n width: 100%;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n outline: none;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background: ${({ theme }) => global(theme).sections.imageTextGradient};\n pointer-events: none;\n }\n\n ${({ clickable, theme, isInverted }) =>\n clickable &&\n css`\n transition: box-shadow 0.2s ease-in-out;\n cursor: pointer;\n\n &:hover {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n }\n\n &:focus {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n outline: solid 2px\n ${isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 4px;\n\n color: ${isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n `}\n`;\n\nconst StyledImage = styled(Image)`\n width: 100%;\n height: 100%;\n min-height: 300px;\n\n img {\n height: 100%;\n }\n`;\n\nconst IntroContainer = styled.div`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: auto;\n z-index: 1;\n\n padding: ${spacings.spacer}px ${spacings.nudge * 3}px;\n\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n\n /* required to align items at flex-end in ie11 */\n &:before {\n content: '';\n display: block;\n flex: 1 0 0px;\n }\n\n @media ${mq.medium} {\n padding: ${spacings.nudge * 5}px ${spacings.spacer}px;\n }\n`;\n\nconst StyledTitle = styled(Title)<{ clampTitle?: boolean }>`\n max-width: ${({ clampTitle }) =>\n clampTitle && (13 / 28) * spacings.wrapper + 'px'};\n`;\n\nconst ExternalIconHolder = styled.span`\n margin-left: ${spacings.nudge * 2}px;\n\n & > * {\n display: inline-block;\n }\n`;\n\nconst Icon = styled.div`\n ${withRange([60, 100], 'height')};\n ${withRange([60, 100], 'width')};\n\n position: absolute;\n top: ${spacings.nudge * 3}px;\n left: ${spacings.nudge * 3}px;\n\n & > * {\n ${withRange([60, 100], 'height')};\n ${withRange([60, 100], 'width')};\n }\n\n color: ${({ theme }) => color(theme).text.inverted};\n`;\n\nexport interface PromotionCardProps {\n /** Setup Card for dark backgrounds */\n isInverted?: boolean;\n /** Card image settings */\n image: ImageProps;\n /** Card title */\n title?: string;\n /** Card title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n /** Superior card title that stands above main title */\n superTitle?: string;\n /** Superior card title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n /** Href path */\n href?: string;\n /** Advanced href options */\n link?: LinkProps;\n /** Inject custom icon that indicates an external link */\n externalLinkIcon?: React.ReactNode;\n\n /** Function to inject icon in top left corner */\n icon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}\n\nconst PromotionCard = forwardRef<\n HTMLAnchorElement,\n PromotionCardProps & { className?: string }\n>(\n (\n {\n isInverted,\n image,\n title,\n titleAs,\n superTitle,\n superTitleAs,\n href,\n link,\n externalLinkIcon,\n icon,\n className,\n },\n ref\n ) => {\n // fallback for older versions\n let linkObj = link;\n if (href && !link) {\n linkObj = {\n href: href,\n isExternal: false,\n };\n }\n\n const externalIconString = ReactDOMServer.renderToString(\n <ExternalIconHolder>\n {externalLinkIcon || <External />}\n </ExternalIconHolder>\n );\n\n return (\n <View\n ref={ref}\n clickable={!!href || !!link}\n {...linkObj}\n className={className}\n >\n <StyledImage {...image} isInverted={isInverted} coverSpace />\n {icon && <Icon>{icon({ isInverted })}</Icon>}\n {title && (\n <IntroContainer>\n <StyledTitle\n colorMode=\"onImage\"\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n title={\n linkObj?.isExternal\n ? title + externalIconString\n : title\n }\n titleAs={titleAs || 'div'}\n clampTitle\n />\n </IntroContainer>\n )}\n </View>\n );\n }\n);\n\nPromotionCard.displayName = 'PromotionCard';\n\nexport default PromotionCard;\n","import * as React from 'react';\nimport styled from 'styled-components';\n\nimport Grid, { gridSettings } from 'components/base/Grid';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\n\nimport PromotionCard, {\n PromotionCardProps,\n} from 'components/blocks/PromotionCard';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst Card = styled(PromotionCard)<{ isMain?: boolean }>`\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n\n height: ${({ isMain }) => isMain && '100%'};\n\n flex: 1 0 auto;\n\n & + & {\n margin-top: ${gridSettings.gutter}px;\n }\n`;\n\nconst CrossPromotion: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Promotion card settings in main grid column (default: on right side). The size prop controls the width. */\n main?: Array<\n Omit<PromotionCardProps, 'externalLinkIcon' | 'isInverted'> & {\n size?: 'full' | 'half';\n }\n >;\n\n /** Promotion card settings in second grid column (default: on left side). The size prop controls the width. */\n aside?: Array<\n Omit<PromotionCardProps, 'externalLinkIcon' | 'isInverted'> & {\n size?: 'full' | 'half';\n }\n >;\n\n /** Section background */\n bgMode?: 'full' | 'inverted' | 'splitted';\n\n /** Switching order of main and aside columns */\n isMirrored?: boolean;\n\n /** Inject custom icon that indicates an external link */\n externalLinkIcon?: React.ReactNode;\n}> = ({ anchorId, main, aside, bgMode, isMirrored, externalLinkIcon }) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, false, isMirrored)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n {aside ? (\n isMirrored ? (\n <Grid.Row>\n <Grid.Col semilarge={{ span: 6 / 12 }}>\n {main &&\n main.map((card, i) => (\n <Card\n key={i}\n isMain\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n ))}\n </Grid.Col>\n <Grid.Col semilarge={{ span: 6 / 12 }}>\n {aside.map((card, i) => (\n <Card\n key={i}\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n ))}\n </Grid.Col>\n </Grid.Row>\n ) : (\n <Grid.Row>\n <Grid.Col semilarge={{ span: 6 / 12 }}>\n {aside.map((card, i) => (\n <Card\n key={i}\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n ))}\n </Grid.Col>\n <Grid.Col semilarge={{ span: 6 / 12 }}>\n {main &&\n main.map((card, i) => (\n <Card\n key={i}\n isMain\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n ))}\n </Grid.Col>\n </Grid.Row>\n )\n ) : (\n main && (\n <Grid.Row>\n {main.map((card, i) => (\n <Grid.Col\n semilarge={{\n span:\n (card.size === 'half' ? 6 : 12) /\n 12,\n }}\n key={i}\n >\n <Card\n key={i}\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n )\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const CrossPromotionComponent = CrossPromotion;\nexport default withLibTheme(CrossPromotion);\n","import React, { forwardRef } from 'react';\nimport styled from 'styled-components';\n\nimport { spacings, getGlobals as global } from 'utils/styles';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Copy from 'components/typography/Copy';\n\nconst View = styled.div``;\n\nconst ImageContainer = styled.div<{ isCentered?: boolean }>`\n display: flex;\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n margin-bottom: ${spacings.nudge * 3}px;\n max-width: 100%;\n`;\n\nconst StyledImage = styled(Image)`\n overflow: hidden;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n`;\n\nconst Content = styled.div<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Title = styled(Copy)``;\n\nconst SubTitle = styled(Copy)``;\n\nconst Text = styled(Copy)`\n ${SubTitle} + & {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nexport interface FactProps {\n isInverted?: boolean;\n isCentered?: boolean;\n title?: string;\n subTitle?: string;\n text?: string;\n image?: ImageProps;\n}\n\nconst Fact = forwardRef<\n HTMLDivElement,\n FactProps & {\n className?: string;\n }\n>(\n (\n {\n isInverted = false,\n isCentered = false,\n title,\n subTitle,\n text,\n image,\n className,\n },\n ref\n ) => {\n return (\n <View ref={ref} className={className}>\n {image?.small && (\n <ImageContainer isCentered={isCentered}>\n <StyledImage\n isInverted={isInverted}\n small={image.small}\n medium={image.medium}\n semilarge={image.semilarge}\n large={image.large}\n xlarge={image.xlarge}\n alt={image.alt}\n coverSpace={image.coverSpace}\n ratios={image.ratios}\n showPlaceholder={image.showPlaceholder}\n />\n </ImageContainer>\n )}\n <Content isCentered={isCentered}>\n {title && (\n <Title\n type=\"copy-b\"\n size=\"big\"\n isInverted={isInverted}\n data-sheet=\"title\"\n >\n {title}\n </Title>\n )}\n {subTitle && (\n <SubTitle\n type=\"copy-b\"\n isInverted={isInverted}\n data-sheet=\"subtitle\"\n >\n {subTitle}\n </SubTitle>\n )}\n {text && (\n <Text\n type=\"copy\"\n isInverted={isInverted}\n data-sheet=\"text\"\n innerHTML={text}\n />\n )}\n </Content>\n </View>\n );\n }\n);\n\nFact.displayName = 'Fact';\n\nexport default Fact;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport { mq } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Fact, { FactProps } from 'components/blocks/Fact';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport Grid from 'components/base/Grid';\n\nconst FactFill = styled.div`\n display: none;\n\n @media ${mq.large} {\n display: block;\n }\n`;\n\nconst FactGrid: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Controls amount columns on large screens */\n columns?: 3 | 4 | 6;\n\n /** Array with fact card data */\n facts?: Array<Omit<FactProps, 'isInverted' | 'isCentered'>>;\n\n /** Section background */\n bgMode?: 'full' | 'inverted' | 'splitted';\n\n /** Center text inside fact card items */\n isCentered?: boolean;\n}> = ({ anchorId, columns = 3, facts, bgMode, isCentered }) => {\n const { colors } = useLibTheme();\n const factCount = facts?.length || 0;\n\n const isInverted = bgMode === 'inverted';\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: factCount,\n identifiers: ['[data-sheet=\"title\"]', '[data-sheet=\"subtitle\"]'],\n responsive: {\n small: 1,\n medium: columns < 3 ? columns : 3,\n semilarge: columns < 4 ? columns : 4,\n large: columns,\n xlarge: columns,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <Grid.Row>\n {facts &&\n facts.map((fact, i) => {\n if (\n fact?.title ||\n fact?.subTitle ||\n fact?.image ||\n fact?.text\n ) {\n return (\n <Grid.Col\n key={i}\n medium={{ span: 4 / 12 }}\n semilarge={\n columns > 3\n ? { span: 3 / 12 }\n : { span: 4 / 12 }\n }\n large={{ span: 12 / columns / 12 }}\n >\n <Fact\n key={i}\n ref={cardRefs[i]}\n {...fact}\n isCentered={isCentered}\n isInverted={isInverted}\n />\n </Grid.Col>\n );\n } else {\n return (\n <Grid.Col\n key={i}\n medium={{ span: 4 / 12 }}\n semilarge={\n columns > 3\n ? { span: 3 / 12 }\n : { span: 4 / 12 }\n }\n large={{ span: 12 / columns / 12 }}\n >\n <FactFill ref={cardRefs[i]} key={i} />\n </Grid.Col>\n );\n }\n })}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const FactGridComponent = FactGrid;\nexport default withLibTheme(FactGrid);\n","import React from 'react';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport styled from 'styled-components';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { spacings, getColors as color, mq } from 'utils/styles';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\n\nconst FactsContainer = styled.ul`\n padding: 0;\n margin: 0;\n\n list-style-type: none;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst FactItem = styled.li<{ hasText?: boolean; hasBack?: boolean }>`\n padding: ${spacings.nudge * 2}px;\n\n background: ${({ theme, hasBack }) =>\n hasBack ? color(theme).elementBg.light : color(theme).elementBg.medium};\n\n display: flex;\n flex-direction: row;\n align-items: ${({ hasText }) => (hasText ? 'flex-start' : 'center')};\n\n @media ${mq.medium} {\n padding: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Icon = styled.img`\n margin-right: ${spacings.nudge * 3}px;\n display: block;\n max-width: ${spacings.nudge * 5}px;\n\n @media ${mq.medium} {\n margin-right: ${spacings.spacer}px;\n }\n`;\n\nconst ContentBlock = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Description = styled(Copy)`\n max-width: 880px;\n`;\n\nconst FactList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with fact item data */\n facts?: Array<{\n label?: string;\n text?: string;\n }>;\n\n /** Icon for each fact item */\n icon?: { src: string; alt?: string };\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, facts, icon, bgMode }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBack = isInverted || bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode === 'full'\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n {facts && (\n <FactsContainer>\n {facts.map(({ label, text }, i) => {\n return (\n <FactItem\n key={i}\n hasText={!!text}\n hasBack={hasBack}\n >\n {icon && (\n <Icon\n src={icon.src}\n alt={icon.alt || ''}\n />\n )}\n <ContentBlock>\n {label && (\n <Copy type=\"copy-b\">{label}</Copy>\n )}\n {text && (\n <Description\n type=\"copy\"\n innerHTML={text}\n />\n )}\n </ContentBlock>\n </FactItem>\n );\n })}\n </FactsContainer>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const FactListComponent = FactList;\nexport default withLibTheme(FactList);\n","import React, { forwardRef } from 'react';\nimport styled, { css } from 'styled-components';\nimport {\n mq,\n spacings,\n getGlobals as global,\n getFonts as font,\n} from 'utils/styles';\n\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Link, { LinkProps } from 'components/typography/Link';\n\nconst View = styled.div<{ isCentered?: boolean }>`\n min-width: 270px;\n padding-bottom: ${spacings.nudge}px;\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst TitleLink = styled(Link)<{ href?: string }>`\n display: inline-block;\n ${copyStyle('copy-b', 'big')}\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme)['copy-b'].big.colorInverted\n : font(theme)['copy-b'].big.color};\n text-decoration: none;\n\n ${({ href, isInverted, theme }) =>\n !href &&\n css`\n &:hover {\n color: ${isInverted\n ? font(theme)['copy-b'].big.colorInverted\n : font(theme)['copy-b'].big.color};\n }\n `}\n`;\n\nconst ImageContainer = styled(Link)<{ isCentered?: boolean }>`\n display: flex;\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n width: 100%;\n`;\n\nconst StyledImage = styled(Image)`\n overflow: hidden;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n`;\n\nconst ArticleContent = styled.div<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n @media ${mq.medium} {\n & > * {\n max-width: 95%;\n margin-right: ${({ isCentered }) => isCentered && 'auto'};\n margin-left: ${({ isCentered }) => isCentered && 'auto'};\n }\n }\n`;\n\nconst Action = styled.div`\n max-width: 100%;\n`;\n\nexport interface FeatureActionProps {\n isInverted?: boolean;\n isTextCentered?: boolean;\n}\n\nexport interface FeatureProps {\n /** Invert color and background for darker themes */\n isInverted?: boolean;\n\n /** Center all texts */\n isCentered?: boolean;\n\n /** Image on item's top */\n image?: ImageProps;\n\n /** Item title text underneath the image */\n title?: string;\n\n /** Small item description text (richtext) */\n description?: string;\n\n /** Item intro text (partial richtext cause it's always bold) */\n intro?: string;\n\n /** Item's main text (richtext) */\n text?: string;\n\n /** Item link settings */\n link?: LinkProps;\n\n /** Function to inject custom primary button */\n action?: (props: FeatureActionProps) => React.ReactNode;\n}\n\nconst Feature = forwardRef<\n HTMLDivElement,\n FeatureProps & {\n className?: string;\n }\n>(\n (\n {\n title,\n description,\n intro,\n text,\n link,\n image,\n isInverted = false,\n isCentered = false,\n action,\n className,\n },\n ref\n ) => {\n return (\n <View ref={ref} isCentered={isCentered} className={className}>\n {image?.small && (\n <ImageContainer {...link} isCentered={isCentered}>\n <StyledImage\n small={image.small}\n medium={image.medium}\n semilarge={image.semilarge}\n large={image.large}\n xlarge={image.xlarge}\n alt={image.alt}\n ratios={image.ratios}\n coverSpace={\n image.coverSpace === undefined\n ? true\n : image.coverSpace\n }\n isInverted={isInverted}\n />\n </ImageContainer>\n )}\n <TitleLink\n {...link}\n isInverted={isInverted}\n ariaLabel={title}\n dataSheet=\"title\"\n >\n {title}\n </TitleLink>\n <Copy\n size=\"small\"\n isInverted={isInverted}\n data-sheet=\"desc\"\n innerHTML={description}\n />\n <ArticleContent isCentered={isCentered}>\n <Copy\n type=\"copy-b\"\n isInverted={isInverted}\n innerHTML={intro}\n data-sheet=\"intro\"\n />\n <Copy\n type=\"copy\"\n size=\"medium\"\n isInverted={isInverted}\n innerHTML={text}\n data-sheet=\"text\"\n />\n </ArticleContent>\n {action && (\n <Action>\n {action({ isInverted, isTextCentered: isCentered })}\n </Action>\n )}\n </View>\n );\n }\n);\n\nFeature.displayName = 'Feature';\n\nexport default Feature;\n","import React, { useMemo } from 'react';\n\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Feature, { FeatureProps } from 'components/blocks/Feature';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport Grid from 'components/base/Grid';\n\nconst FeatureList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Center texts in every feature item */\n isCentered?: boolean;\n\n /** Array with feature item content */\n features?: Omit<FeatureProps, 'isInverted' | 'isCentered'>[];\n\n /** If not defined the component falls back to legacy logic: Uneven items = max 3 per row, even items = max 2 per row */\n columns?: 2 | 3;\n\n /** Section background */\n bgMode?: 'full' | 'splitted' | 'inverted';\n}> = ({ anchorId, features, bgMode, isCentered = false, columns }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const featureCount = features?.length || 0;\n\n const isHalf = useMemo(() => {\n if (columns) {\n return columns === 2;\n }\n\n // legacy logic\n return features && features.length % 2 === 0;\n }, [features, columns]);\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: featureCount,\n identifiers: [\n '[data-sheet=\"title\"]',\n '[data-sheet=\"desc\"]',\n '[data-sheet=\"intro\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: isHalf ? 2 : 3,\n xlarge: isHalf ? 2 : 3,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper addWhitespace clampWidth=\"normal\">\n <Grid.Row\n halign={isHalf || featureCount <= 2 ? 'center' : 'left'}\n >\n {features?.map((feature, i) => (\n <Grid.Col\n semilarge={{ span: 6 / 12 }}\n large={{\n span: isHalf ? 5 / 12 : 4 / 12,\n }}\n key={i}\n >\n <Feature\n ref={cardRefs[i]}\n {...feature}\n isCentered={isCentered}\n isInverted={isInverted}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const FeatureListComponent = FeatureList;\nexport default withLibTheme(FeatureList);\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { getGlobals as global } from 'utils/styles';\nimport Grid from 'components/base/Grid';\n\nconst StyledImage = styled(Image)`\n width: 100%;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n picture > img {\n width: 100%;\n height: 100%;\n }\n`;\n\ntype ImageType = Omit<ImageProps, 'coverSpace'> & { isFull?: boolean };\n\nconst Gallery: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of image settings */\n images?: Array<ImageType>;\n\n /** Section background */\n bgMode?: 'full' | 'splitted' | 'inverted';\n}> = ({ anchorId, bgMode, images }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper addWhitespace>\n <Grid.Row>\n {images?.map((img, i) => (\n <Grid.Col\n key={i}\n semilarge={{\n span: img.isFull ? 12 / 12 : 6 / 12,\n }}\n >\n <StyledImage\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const GalleryComponent = Gallery;\nexport default withLibTheme(Gallery);\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\n\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { mq, spacings, getColors as color } from 'utils/styles';\nimport Actions from 'components/blocks/Actions';\nimport Pointer from 'components/buttons/Pointer';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport Image from 'components/blocks/Image';\n\nconst StyledSection = styled(Section)<{ isCentered?: boolean }>`\n margin: 0 auto;\n\n @media ${mq.semilarge} {\n margin: ${({ isCentered }) => (isCentered ? '0 auto' : '0')};\n\n text-align: ${({ isCentered }) => (isCentered ? 'center' : 'left')};\n }\n`;\n\nconst ItemContainer = styled.div<{ isCentered?: boolean }>`\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n text-align: center;\n\n &:not(:last-child) {\n margin-bottom: ${spacings.spacer}px;\n }\n\n @media ${mq.semilarge} {\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n }\n`;\n\nconst Items = styled.ul<{ isVisible?: boolean; isCentered?: boolean }>`\n display: ${({ isVisible }) => (isVisible ? 'flex' : 'block')};\n align-items: center;\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n\n flex-wrap: wrap;\n padding: 0;\n margin: 0;\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.nudge * 2}px;\n\n list-style: none;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n\n & > * {\n flex: 0 1 auto;\n }\n }\n`;\n\nconst Item = styled.li<{\n isVisible?: boolean;\n index: number;\n}>`\n padding-top: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n\n display: ${({ index, isVisible }) =>\n isVisible || index < 6 ? 'block' : 'none'};\n\n & > img {\n width: 100%;\n }\n\n @media ${mq.medium} {\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n\n & > img {\n width: auto;\n }\n }\n\n @media ${mq.semilarge} {\n display: ${({ index, isVisible }) =>\n isVisible || index < 8 ? 'block' : 'none'};\n }\n\n @media ${mq.large} {\n display: ${({ index, isVisible }) =>\n isVisible || index < 10 ? 'block' : 'none'};\n }\n`;\n\nconst ItemLink = styled(Link)<{ isInverted?: boolean }>`\n display: block;\n outline-color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n`;\n\nconst ShowMore = styled.div<{ itemCount?: number; isCentered?: boolean }>`\n display: ${({ itemCount }) =>\n itemCount && itemCount > 6 ? 'block' : 'none'};\n\n background: none;\n border: none;\n text-align: ${({ isCentered }) => (isCentered ? 'center' : 'left')};\n\n @media ${mq.semilarge} {\n display: ${({ itemCount }) =>\n itemCount && itemCount > 8 ? 'block' : 'none'};\n }\n\n @media ${mq.large} {\n display: ${({ itemCount }) =>\n itemCount && itemCount > 10 ? 'block' : 'none'};\n }\n`;\n\nconst StyledActions = styled(Actions)<{ isCentered?: boolean }>`\n margin-top: ${spacings.spacer}px;\n\n @media ${mq.medium} {\n display: block;\n text-align: ${({ isCentered }) => isCentered && 'center'};\n }\n`;\n\nexport interface IconListItem {\n src: string;\n alt?: string;\n link?: LinkProps;\n ratio?: { h: number; w: number };\n showPlaceholder?: boolean;\n}\n\nconst IconList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with icon items data */\n items?: Array<IconListItem>;\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom toggle button */\n toggle?: (props: {\n isInverted?: boolean;\n isToggled?: boolean;\n showLessText?: string;\n showMoreText?: string;\n clickHandler?: (ev?: React.SyntheticEvent<HTMLButtonElement>) => void;\n additionalProps?: Record<string, any>;\n }) => React.ReactNode;\n\n /** Custom text for toggle button in folded state */\n showMoreText?: string;\n\n /** Custom text for toggle button in expanded state */\n showLessText?: string;\n\n /** Center all icons and texts */\n isCentered?: boolean;\n\n /** Enable toggle feature */\n enableToggle?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({\n anchorId,\n items,\n isCentered = false,\n primaryAction,\n secondaryAction,\n toggle,\n showLessText = 'show less',\n showMoreText = 'show more',\n enableToggle,\n bgMode,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const [showMore, setShowMore] = useState<boolean>(!enableToggle);\n\n const handleToggleClick = () => {\n setShowMore((prev) => !prev);\n };\n\n return (\n <StyledSection\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n isCentered={isCentered}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <ItemContainer isCentered={isCentered}>\n <Items\n isVisible={!showMore ? true : showMore === true}\n isCentered={isCentered}\n >\n {items?.map(\n ({ src, link, alt, ratio, showPlaceholder }, i) => (\n <Item isVisible={showMore} index={i} key={i}>\n <ItemLink\n {...link}\n isInverted={isInverted}\n ariaLabel={alt}\n >\n <Image\n data-img-loaded={false}\n isInverted={isInverted}\n small={src}\n alt={alt}\n ratios={\n ratio\n ? { small: ratio }\n : undefined\n }\n showPlaceholder={showPlaceholder}\n />\n </ItemLink>\n </Item>\n )\n )}\n </Items>\n </ItemContainer>\n {enableToggle && (\n <ShowMore\n isCentered={isCentered}\n itemCount={items?.length || 0}\n >\n {toggle ? (\n toggle({\n isInverted,\n showLessText,\n showMoreText,\n isToggled: showMore,\n clickHandler: handleToggleClick,\n additionalProps: { 'aria-pressed': showMore },\n })\n ) : (\n <Pointer.View\n as=\"button\"\n isInverted={isInverted}\n aria-pressed={showMore}\n onClick={() => handleToggleClick()}\n >\n <Pointer.Label>\n {showMore ? showLessText : showMoreText}\n </Pointer.Label>\n </Pointer.View>\n )}\n </ShowMore>\n )}\n\n {(primaryAction || secondaryAction) && (\n <StyledActions\n isCentered={isCentered}\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </Wrapper>\n </StyledSection>\n );\n};\n\nexport const IconListComponent = IconList;\nexport default withLibTheme(IconList);\n","import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { copyStyle } from 'components/typography/Copy';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { getColors as color, spacings } from 'utils/styles';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport ArrowDown from 'components/base/icons/ArrowDown';\nimport { useScrollTo } from 'utils/useScrollTo';\nimport { getFullNavbarHeights, getNavbarState } from './navigation/Navigation';\nimport { useMediaQueries } from 'utils/useMediaQuery';\n\nconst List = styled.ul<{ hasBg?: boolean; isInverted?: boolean }>`\n margin: 0;\n padding: 0;\n list-style: none;\n\n max-width: 880px;\n\n & > li + li {\n border-top: 1px solid\n ${({ theme, hasBg, isInverted }) =>\n hasBg && !isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n\n & > li:first-child {\n border-top: 1px solid\n ${({ theme, hasBg, isInverted }) =>\n hasBg && !isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n\n & > li:last-child {\n border-bottom: 1px solid\n ${({ theme, hasBg, isInverted }) =>\n hasBg && !isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n`;\n\nconst ListItem = styled.li``;\n\nconst IndexLink = styled(Link)<{ isInverted?: boolean }>`\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n padding: ${spacings.nudge}px 0;\n\n ${copyStyle('copy', 'big')}\n`;\n\nconst LinkLabel = styled.span`\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nconst IconWrapper = styled.span`\n display: inline-block;\n\n margin-left: ${spacings.nudge * 2}px;\n`;\n\nexport interface IndexItem {\n label?: string;\n link?: LinkProps;\n}\n\nconst IndexList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of index item settings */\n items?: IndexItem[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n\n /** Function to inject custom icon decorator */\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n /** Top offset for scroll to clicked item. Default: auto */\n scrollToOffset?: number;\n}> = ({ anchorId, items, bgMode, customIcon, scrollToOffset }) => {\n const { colors, theme } = useLibTheme();\n const setTargetPos = useScrollTo(500);\n const { semilarge } = useMediaQueries();\n\n const [topOffset, setTopOffset] = useState<number>(0);\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const handleLinkClick = (ev: React.SyntheticEvent<HTMLAnchorElement>) => {\n if (!ev?.currentTarget) return;\n\n ev.preventDefault();\n const href = ev.currentTarget.getAttribute('href') as string;\n\n if (!href) return;\n\n const target = document.getElementById(href.split('#')?.[1] || href);\n if (target) {\n setTargetPos(\n target.getBoundingClientRect().top +\n window.scrollY -\n (scrollToOffset || topOffset)\n );\n }\n\n if (window) {\n const url = new URL(window.location as any);\n url.hash = href.split('#')[1];\n window.history.pushState({}, '', url as any);\n }\n };\n\n useEffect(() => {\n if (scrollToOffset) return;\n\n // if header is defined get navbar height and generate top offset\n const header = document.querySelector('header[data-navbar-ident]');\n const navbarIdent = header?.getAttribute('data-navbar-ident');\n if (!navbarIdent) return;\n\n const { isStickable } = getNavbarState(navbarIdent);\n if (!isStickable) return;\n\n // calculate offset from navbar height\n const navbarHeights = getFullNavbarHeights(theme, navbarIdent);\n\n if (semilarge) setTopOffset(navbarHeights.small[1] + spacings.spacer);\n else setTopOffset(navbarHeights.small[0] + spacings.spacer);\n }, [theme, semilarge, scrollToOffset]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <List hasBg={hasBg} isInverted={isInverted}>\n {items?.map((item, i) => (\n <ListItem key={i}>\n <IndexLink\n {...item.link}\n isInverted={isInverted}\n onClick={handleLinkClick}\n >\n <LinkLabel>{item.label}</LinkLabel>\n <IconWrapper>\n {customIcon ? (\n customIcon({ isInverted })\n ) : (\n <ArrowDown />\n )}\n </IconWrapper>\n </IndexLink>\n </ListItem>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const IndexListComponent = IndexList;\nexport default withLibTheme(IndexList);\n","import React from 'react';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport IntroBlock, { IntroActionProps } from 'components/blocks/IntroBlock';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { ImageProps } from 'components/blocks/Image';\nimport { TitleSize } from 'components/blocks/Title';\n\nconst Intro: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Main title style */\n titleSize?: TitleSize;\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Intro text under headline (richtext) */\n abstract?: string;\n\n /** Main text (richtext) */\n text?: string;\n\n /** Images for different screen sizes. coverSpace defaults to true */\n image?: ImageProps;\n\n /** Function to inject custom primary button */\n primaryAction?: (props: IntroActionProps) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (props: IntroActionProps) => React.ReactNode;\n\n /** Center text and actions */\n isCentered?: boolean;\n\n /** Allow reduced section spacing to next section */\n isStackable?: boolean;\n\n /** Clamp title to a width of max 8 grid cols. */\n clampTitle?: boolean;\n\n /** Section background */\n bgMode?: 'inverted' | 'full' | 'splitted';\n className?: string;\n}> = ({\n anchorId,\n title,\n titleAs,\n titleSize = 'heading-2',\n superTitle,\n superTitleAs,\n abstract,\n text,\n primaryAction,\n secondaryAction,\n isCentered = false,\n isStackable = false,\n bgMode,\n image,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n // set default ratio settings\n if (image && !image?.ratios) {\n image.ratios = {\n small: { h: 1, w: 1 },\n };\n }\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n isStackable={isStackable}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <IntroBlock\n title={title}\n titleAs={titleAs}\n titleSize={titleSize}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n abstract={abstract}\n text={text}\n colorMode={isInverted ? 'inverted' : 'default'}\n secondaryAction={secondaryAction}\n primaryAction={primaryAction}\n isCentered={isCentered}\n image={image}\n clampTitle\n clampAbstract\n clampText\n />\n </Wrapper>\n </Section>\n );\n};\n\nexport const IntroComponent = Intro;\nexport default withLibTheme(Intro);\n","import Copy from 'components/typography/Copy';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { getColors as color, mq, spacings } from 'utils/styles';\n\nconst View = styled(Link)<{ isInverted?: boolean; hasIcon?: boolean }>`\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: ${({ hasIcon }) => (hasIcon ? 'min-content 1fr' : '1fr')};\n grid-template-columns: ${({ hasIcon }) =>\n hasIcon ? 'min-content 1fr' : '1fr'};\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n cursor: pointer;\n text-decoration: none;\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n outline-color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n transition: all ease-in-out 0.2s;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n }\n`;\n\nconst MainLabel = styled.div<{ hasIcon?: boolean }>`\n display: flex;\n align-items: center;\n margin-left: ${({ hasIcon }) => hasIcon && `${spacings.nudge * 3}px`};\n`;\n\nconst Text = styled(Copy)<{ hasIcon?: boolean }>`\n margin-top: ${({ hasIcon }) =>\n hasIcon ? spacings.nudge : spacings.nudge * 2}px;\n margin-left: ${({ hasIcon }) => hasIcon && `${spacings.nudge * 3}px`};\n`;\n\nconst Icon = styled.div`\n display: flex;\n align-items: center;\n\n & > * {\n height: 48px;\n width: 48px;\n }\n`;\n\nconst Title = styled(Copy)`\n display: inline-block;\n`;\n\nconst TitleIcon = styled.span`\n display: inline-block;\n margin-left: ${spacings.nudge * 2}px;\n\n @media ${mq.medium} {\n margin-left: ${spacings.nudge * 3}px;\n }\n`;\n\nexport interface NavBlockProps {\n /** Invert colors for use on dark backgrounds */\n isInverted?: boolean;\n\n /** Navigation title */\n title?: string;\n\n /** Navigation text (richtext) */\n text?: string;\n\n /** Link settings */\n link?: LinkProps;\n\n /** Function to inject custom icon node */\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n /** Function to inject custom title icon decorator node */\n customTitleIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n className?: string;\n}\n\nconst NavBlock: React.FC<NavBlockProps> = ({\n isInverted = false,\n title,\n text,\n link,\n customIcon,\n customTitleIcon,\n className,\n}) => {\n return (\n <View\n {...link}\n isInverted={isInverted}\n hasIcon={!!customIcon}\n className={className}\n >\n {customIcon ? <Icon>{customIcon({})}</Icon> : ''}\n <MainLabel hasIcon={!!customIcon}>\n {title && (\n <Title textColor=\"inherit\" size=\"medium\" type=\"copy-b\">\n {title}\n {title && customTitleIcon && (\n <TitleIcon>\n {customTitleIcon({ isInverted })}\n </TitleIcon>\n )}\n </Title>\n )}\n </MainLabel>\n {text && (\n <>\n <span />\n <Text\n size=\"small\"\n isInverted={isInverted}\n innerHTML={text}\n hasIcon={!!customIcon}\n />\n </>\n )}\n </View>\n );\n};\n\nexport default NavBlock;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport NavBlock, { NavBlockProps } from 'components/blocks/NavBlock';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { mq, spacings } from 'utils/styles';\n\nconst List = styled.ul`\n margin: 0;\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n padding: 0;\n list-style: none;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n flex-wrap: wrap;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer * 2}px;\n }\n`;\n\nconst ListItem = styled.li`\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n flex: 1 0 100%;\n\n @media ${mq.medium} {\n flex: 0 0 50%;\n max-width: 50%;\n padding-top: ${spacings.spacer * 2}px;\n }\n\n @media ${mq.large} {\n flex: 0 0 33.33%;\n max-width: 33.33%;\n }\n\n // print version\n @media print {\n flex: 0 0 50%;\n max-width: 50%;\n padding-top: ${spacings.spacer * 2}px;\n }\n`;\n\nexport type NavItem = Omit<\n NavBlockProps,\n 'isInverted' | 'customTitleIcon' | 'className'\n>;\n\nconst NavList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of navigation item settings */\n items?: NavItem[];\n\n /** Section backgrounds */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom title decorator icon */\n customTitleIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}> = ({ anchorId, items, bgMode, customTitleIcon }) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <List>\n {items?.map((item, i) => (\n <ListItem key={i}>\n <NavBlock\n {...item}\n isInverted={isInverted}\n customTitleIcon={customTitleIcon}\n />\n </ListItem>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NavListComponent = NavList;\nexport default withLibTheme(NavList);\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Callout from 'components/typography/Callout';\nimport React, { forwardRef, useContext } from 'react';\nimport styled, { ThemeContext } from 'styled-components';\nimport {\n getColors as color,\n spacings,\n getGlobals as global,\n} from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Copy from 'components/typography/Copy';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport Image, { ImageProps } from 'components/blocks/Image';\n\nconst CARD_MIN_WIDTH = 240;\nconst CARD_MAX_WIDTH = 440;\nconst MEDIA_QUERIES = {\n medium: '(min-width: 36.5em)',\n semilarge: '(min-width: 54.75em)',\n large: '(min-width: 73em)',\n xlarge: '(min-width: 90em)',\n};\n\nconst View = styled.li<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => (isCentered ? 'center' : 'left')};\n\n & > * {\n margin: ${({ isCentered }) => (isCentered ? '0 auto' : 0)};\n margin-right: auto;\n }\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst ImageContainer = styled.div<{ isCentered?: boolean }>`\n display: flex;\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n margin-bottom: ${spacings.nudge * 3}px;\n max-width: 100%;\n`;\n\nconst StyledImage = styled(Image)`\n overflow: hidden;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n`;\n\nconst Label = styled(Copy)``;\n\nconst Text = styled(Copy)``;\n\nexport interface NumberListCardProps {\n image?: ImageProps;\n digit?: string;\n label?: string;\n text?: string;\n}\n\nconst NumberListCard = forwardRef<\n HTMLLIElement,\n NumberListCardProps & {\n isInverted?: boolean;\n isCentered?: boolean;\n className?: string;\n }\n>(({ image, label, digit, isInverted, isCentered, text, className }, ref) => {\n const { colors } = useLibTheme();\n\n return (\n <View ref={ref} isCentered={isCentered} className={className}>\n {image?.small && (\n <ImageContainer isCentered={isCentered}>\n <StyledImage\n isInverted={isInverted}\n small={image.small}\n medium={image.medium}\n semilarge={image.semilarge}\n large={image.large}\n xlarge={image.xlarge}\n alt={image.alt}\n coverSpace={image.coverSpace}\n ratios={image.ratios}\n showPlaceholder={image.showPlaceholder}\n />\n </ImageContainer>\n )}\n <Callout\n data-sheet=\"digit\"\n size=\"mediumBold\"\n renderAs=\"div\"\n isInverted={isInverted}\n >\n {digit}\n </Callout>\n <Label\n type=\"copy-b\"\n size=\"big\"\n textColor={\n isInverted\n ? colors.primary.inverted\n : colors.primary.default\n }\n data-sheet=\"label\"\n >\n {label}\n </Label>\n {text && (\n <Text\n type=\"copy\"\n size=\"medium\"\n isInverted={isInverted}\n data-sheet=\"text\"\n innerHTML={text}\n />\n )}\n </View>\n );\n});\n\nNumberListCard.displayName = 'NumberListCard';\n\nconst CardList = styled.ul`\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-items: center;\n\n list-style: none;\n padding: 0;\n margin: 0;\n margin-left: -${spacings.spacer}px;\n margin-top: -${spacings.nudge * 6}px;\n\n & > * {\n flex: 0 0 100%;\n width: 100%;\n min-width: ${CARD_MIN_WIDTH + spacings.spacer}px;\n max-width: ${CARD_MAX_WIDTH + spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n padding-top: ${spacings.nudge * 6}px;\n }\n\n @media ${MEDIA_QUERIES.medium} {\n flex-direction: row;\n justify-content: center;\n align-items: flex-start;\n\n margin-top: -${spacings.nudge * 10}px;\n\n & > * {\n flex: 0 0 50%;\n padding-top: ${spacings.nudge * 10}px;\n }\n\n & > li:first-child:nth-last-child(1) {\n /* -or- li:only-child { */\n flex: 0 0 100%;\n }\n }\n\n @media ${MEDIA_QUERIES.semilarge} {\n & > * {\n flex: 0 0 33.33%;\n }\n\n /* one item */\n & > li:first-child:nth-last-child(1) {\n /* -or- li:only-child { */\n flex: 0 0 100%;\n }\n\n /* two items */\n & > li:first-child:nth-last-child(2),\n & > li:first-child:nth-last-child(2) ~ li {\n flex: 0 0 50%;\n }\n }\n\n @media ${MEDIA_QUERIES.large} {\n & > * {\n flex: 0 0 25%;\n }\n\n /* one item */\n & > li:first-child:nth-last-child(1) {\n /* -or- li:only-child { */\n flex: 0 0 100%;\n }\n\n /* two items */\n & > li:first-child:nth-last-child(2),\n & > li:first-child:nth-last-child(2) ~ li {\n flex: 0 0 50%;\n }\n\n /* three items */\n & > li:first-child:nth-last-child(3),\n & > li:first-child:nth-last-child(3) ~ li {\n flex: 0 0 33.33%;\n }\n }\n`;\n\nexport interface NumberListItem {\n image?: ImageProps;\n digit?: string;\n label?: string;\n text?: string;\n}\n\nconst NumberList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n items?: NumberListItem[];\n\n /** Center texts in every card item */\n isCentered?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, items, bgMode, isCentered = true }) => {\n const theme = useContext(ThemeContext);\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const { sheetRefs: numbersRef } = useEqualSheetHeight<HTMLDivElement>({\n listLength: items?.length || 0,\n identifiers: [\n '[data-sheet=\"digit\"]',\n '[data-sheet=\"label\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 2,\n semilarge: 3,\n large: 4,\n xlarge: 4,\n },\n customMediaQueries: MEDIA_QUERIES,\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? color(theme).sectionBg.dark\n : hasBg\n ? color(theme).sectionBg.medium\n : color(theme).sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <CardList>\n {items?.map((item, i) => {\n return (\n <NumberListCard\n key={i}\n ref={numbersRef[i] as any}\n {...item}\n isInverted={isInverted}\n isCentered={isCentered}\n />\n );\n })}\n </CardList>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NumberListComponent = NumberList;\nexport default withLibTheme(NumberList);\n","import React, { FC, useEffect, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { spacings } from 'utils/styles';\n\nconst View = styled.section`\n position: relative;\n width: 100vw;\n z-index: -1;\n`;\n\nconst Parallax = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n margin-left: 0;\n width: 100%;\n`;\n\nconst Content = styled.div<{\n contentWidth?: number;\n hAlign?: 'left' | 'center' | 'right';\n}>`\n margin-left: ${({ hAlign }) =>\n (hAlign === 'right' || hAlign === 'center') && 'auto'};\n margin-right: ${({ hAlign }) =>\n (hAlign === 'left' || hAlign === 'center') && 'auto'};\n\n width: ${({ contentWidth }) =>\n contentWidth\n ? contentWidth === -1\n ? 'auto'\n : contentWidth * 100 + '%'\n : undefined};\n\n max-width: ${spacings.wrapperLarge}px;\n overflow: hidden;\n\n & > * {\n width: ${({ contentWidth }) => contentWidth !== -1 && '100%'};\n }\n`;\n\nconst StyledImage = styled(Image)<{\n coverSpace?: boolean;\n hAlign?: 'left' | 'center' | 'right';\n}>`\n max-width: ${({ coverSpace }) => !coverSpace && 'none'};\n float: ${({ hAlign }) =>\n hAlign === 'left' || hAlign === 'right' ? hAlign : undefined};\n ${({ coverSpace, hAlign }) =>\n !coverSpace &&\n hAlign === 'center' &&\n css`\n transform: translateX(-50%);\n margin-left: 50%;\n `}\n`;\n\nexport type ParallaxWidth = '1/4' | 'half' | '3/4' | 'full' | 'auto';\n\nconst ParallaxBackground: FC<{\n image?: ImageProps;\n hAlign?: 'left' | 'center' | 'right';\n contentWidth?: ParallaxWidth | number;\n moveRatio?: number;\n direction?: 'down' | 'up';\n className?: string;\n}> = ({\n image,\n hAlign = 'left',\n contentWidth = 1,\n moveRatio = 0.2,\n direction = 'up',\n className,\n}) => {\n const [isLoaded, setIsLoaded] = useState<boolean>(false);\n const [yTransform, setYTransform] = useState<number>(0);\n // const cRef = useRef<HTMLDivElement>(null);\n const [cRef, setContainerRef] = useState<HTMLElement | null>(null);\n const parallaxRef = useRef<HTMLDivElement>(null);\n\n let width = 1;\n if (typeof contentWidth === 'string') {\n switch (contentWidth) {\n case '1/4': {\n width = 0.25;\n break;\n }\n\n case 'half': {\n width = 0.5;\n break;\n }\n\n case '3/4': {\n width = 0.75;\n break;\n }\n\n case 'auto': {\n width = -1;\n break;\n }\n\n default:\n case 'full': {\n width = 1;\n break;\n }\n }\n } else if (!isNaN(contentWidth)) {\n width = contentWidth;\n }\n\n useEffect(() => {\n setIsLoaded(true);\n }, []);\n\n useEffect(() => {\n const prevEl = cRef?.previousElementSibling;\n if (prevEl) {\n const bgIdent = (prevEl as HTMLElement).dataset.bgIdent;\n const stackIdent = (prevEl as HTMLElement).dataset.stackIdent;\n\n if (bgIdent) {\n // set data background from previous element\n cRef?.setAttribute('data-bg-ident', bgIdent);\n }\n\n if (stackIdent) {\n // set data stack flag from previous element\n cRef?.setAttribute('data-stack-ident', stackIdent);\n }\n }\n }, [cRef]);\n\n useEffect(() => {\n const handleScroll = () => {\n if (!cRef) return;\n\n const containerPos = cRef.getBoundingClientRect().top;\n const ratio = containerPos * moveRatio;\n const offset = ratio * (direction === 'up' ? 1 : -1);\n\n setYTransform(offset);\n };\n\n handleScroll();\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, [cRef, direction, moveRatio]);\n\n return (\n <>\n {isLoaded && (\n <View ref={setContainerRef} data-bg-ident=\"transparent\">\n <Parallax\n ref={parallaxRef}\n style={{\n transform: `translate3d(0px, ${yTransform}px, 0px)`,\n }}\n className={className}\n >\n <Content hAlign={hAlign} contentWidth={width}>\n {image && (\n <StyledImage\n hAlign={hAlign}\n coverSpace={width !== -1}\n {...image}\n />\n )}\n </Content>\n </Parallax>\n </View>\n )}\n </>\n );\n};\n\nexport default ParallaxBackground;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport Section from 'components/base/Section';\nimport Wrapper, { wrapperWhitespace } from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { spacings, getGlobals as global } from 'utils/styles';\nimport IntroBlock, { IntroActionProps } from 'components/blocks/IntroBlock';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport { withLibTheme } from 'utils/LibThemeProvider';\n\nconst Container = styled.figure<{\n hasContent?: boolean;\n verticallyCentered?: boolean;\n}>`\n position: relative;\n width: 100%;\n max-height: 550px;\n padding: 0;\n margin: 0;\n\n &:after {\n content: ${({ hasContent }) => hasContent && '\"\"'};\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background: ${({ theme, verticallyCentered }) =>\n verticallyCentered\n ? global(theme).sections.imageTextGradientCentered\n : global(theme).sections.imageTextGradient};\n pointer-events: none;\n z-index: 0;\n }\n`;\n\nconst StyledImage = styled(Image)`\n img {\n height: 550px;\n }\n`;\n\nconst Intro = styled(IntroBlock)<{\n verticallyCentered?: boolean;\n horizontallyCentered?: boolean;\n}>`\n position: absolute;\n bottom: ${({ verticallyCentered }) => !verticallyCentered && '0'};\n top: ${({ verticallyCentered }) => verticallyCentered && '50%'};\n left: 50%;\n right: 0;\n max-height: 100%;\n max-width: ${spacings.wrapper}px;\n\n padding: ${wrapperWhitespace + spacings.nudge * 2}px;\n z-index: 1;\n\n transform: ${({ verticallyCentered }) =>\n verticallyCentered ? 'translate(-50%, -50%)' : 'translateX(-50%)'};\n`;\n\nconst Poster: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Clamp width of poster image to content wrapper or large wrapper */\n width?: 'full' | 'content';\n\n /** The poster image settings */\n image: Omit<ImageProps, 'coverSpace' | 'ratios'>;\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Text underneath the title (richtext) */\n text?: string;\n\n /** Function to inject custom primary button */\n primaryAction?: (props: IntroActionProps) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (props: IntroActionProps) => React.ReactNode;\n\n /** Align text and actions vertically */\n verticallyCentered?: boolean;\n\n /** Align text and actions horizontally */\n horizontallyCentered?: boolean;\n}> = ({\n anchorId,\n width = 'content',\n title,\n titleAs,\n superTitle,\n superTitleAs,\n text,\n primaryAction,\n secondaryAction,\n image,\n verticallyCentered,\n horizontallyCentered,\n}) => {\n const isCentered = verticallyCentered && horizontallyCentered;\n\n return (\n <Section anchorId={anchorId} bgColor=\"image\" bgMode=\"full\">\n <Wrapper clampWidth={width === 'content' ? 'normal' : 'large'}>\n <Container\n hasContent={!!title || !!text}\n verticallyCentered={verticallyCentered}\n >\n <StyledImage {...image} coverSpace ratios={undefined} />\n {title && (\n <Intro\n verticallyCentered={verticallyCentered}\n horizontallyCentered={horizontallyCentered}\n renderAs=\"figcaption\"\n colorMode=\"onImage\"\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n text={text}\n secondaryAction={secondaryAction}\n primaryAction={primaryAction}\n clampTitle\n maxTitleLines={3}\n clampText\n maxTextLines={4}\n isCentered={horizontallyCentered || isCentered}\n />\n )}\n </Container>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PosterComponent = Poster;\nexport default withLibTheme(Poster);\n","import React from 'react';\nimport styled from 'styled-components';\nimport { getColors as color, mq, spacings } from 'utils/styles';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst ItemList = styled.ul`\n margin: 0;\n padding: 0;\n list-style: none;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst ItemBlock = styled.li<{ hasBg?: boolean }>`\n max-width: 100%;\n padding: ${spacings.nudge * 2}px;\n\n background: ${({ theme, hasBg }) =>\n hasBg ? color(theme).elementBg.light : color(theme).elementBg.medium};\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n @media ${mq.semilarge} {\n padding: ${spacings.nudge * 3}px;\n }\n`;\n\nconst ListHead = styled.div`\n display: flex;\n justify-content: space-between;\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Title = styled(Copy)`\n max-width: 880px;\n`;\n\nconst Price = styled(Copy)`\n white-space: nowrap;\n`;\n\nconst Description = styled(Copy)`\n max-width: 880px;\n`;\n\nexport interface PriceItems {\n /** Title of the price item */\n title?: string;\n /** Description text of price item (richtext) */\n text?: string;\n /** The price value (Currency not included) */\n price?: string;\n}\n\nexport const PriceBlock: React.FC<PriceItems & { hasBg?: boolean }> = ({\n text,\n price,\n hasBg = false,\n title,\n}) => {\n return (\n <ItemBlock hasBg={hasBg}>\n <ListHead>\n {title && <Title type=\"copy-b\">{title}</Title>}\n {price && <Price type=\"copy-b\">{price}</Price>}\n </ListHead>\n {text && <Description type=\"copy\" innerHTML={text} />}\n </ItemBlock>\n );\n};\n\nconst PriceList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with price items */\n items?: PriceItems[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n}> = ({ anchorId, bgMode, items }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBack = isInverted || bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode === 'full'\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <ItemList>\n {items?.map((item, i) => (\n <PriceBlock key={i} {...item} hasBg={hasBack} />\n ))}\n </ItemList>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PriceListComponent = PriceList;\nexport default withLibTheme(PriceList);\n","import {\n spacings,\n getColors as color,\n getGlobals as global,\n} from 'utils/styles';\nimport React, { forwardRef } from 'react';\nimport styled from 'styled-components';\nimport Copy from 'components/typography/Copy';\nimport Actions from './Actions';\nimport Callout from 'components/typography/Callout';\n\nconst View = styled.div<{\n isInverted?: boolean;\n isCentered?: boolean;\n hasBg?: boolean;\n isHighlighted?: boolean;\n}>`\n padding: ${spacings.spacer}px;\n\n border: 1px solid transparent;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n background: ${({ theme, hasBg, isInverted, isHighlighted }) =>\n isInverted\n ? isHighlighted\n ? color(theme).primary.inverted\n : color(theme).elementBg.medium\n : isHighlighted\n ? color(theme).primary.default\n : hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n text-align: ${({ isCentered }) => (isCentered ? 'center' : 'left')};\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst StyledActions = styled(Actions)`\n display: block;\n margin-top: auto;\n padding-top: ${spacings.spacer}px;\n text-align: center;\n`;\n\nexport interface PriceTagProps {\n title?: string;\n superTitle?: string;\n text?: string;\n action?: (props: {\n isInverted?: boolean;\n isHighlighted?: boolean;\n }) => React.ReactNode;\n isInverted?: boolean;\n isCentered?: boolean;\n hasBackground?: boolean;\n isHighlighted?: boolean;\n}\n\nconst PriceTag = forwardRef<\n HTMLDivElement,\n PriceTagProps & { className?: string }\n>(\n (\n {\n superTitle,\n title,\n text,\n action,\n isInverted,\n isCentered,\n isHighlighted,\n hasBackground,\n className,\n },\n ref\n ) => {\n const inverted = isHighlighted ? !isInverted : false;\n\n return (\n <View\n ref={ref}\n isInverted={isInverted}\n isCentered={isCentered}\n isHighlighted={isHighlighted}\n hasBg={hasBackground}\n className={className}\n >\n {superTitle && (\n <Copy\n type=\"copy-b\"\n size=\"big\"\n isInverted={inverted}\n innerHTML={superTitle}\n data-sheet=\"superTitle\"\n />\n )}\n {title && (\n <Callout\n renderAs=\"div\"\n size=\"big\"\n isInverted={inverted}\n innerHTML={title}\n data-sheet=\"title\"\n />\n )}\n {text && (\n <Copy\n size=\"medium\"\n isInverted={inverted}\n innerHTML={text}\n data-sheet=\"desc\"\n />\n )}\n <StyledActions\n mode=\"cover\"\n primary={\n action &&\n action({\n isInverted: inverted,\n isHighlighted: isHighlighted,\n })\n }\n />\n </View>\n );\n }\n);\n\nPriceTag.displayName = 'PriceTag';\n\nexport default PriceTag;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport PriceTag, { PriceTagProps } from 'components/blocks/PriceTag';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { gridSettings } from 'components/base/Grid';\nimport { mq } from 'utils/styles';\n\nconst Tag = styled(PriceTag)`\n min-height: 500px;\n`;\n\nconst Items = styled.div`\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n\n margin-top: -${gridSettings.gutter}px;\n margin-left: -${gridSettings.gutter}px;\n\n & > * {\n flex: 1 1 25%;\n min-width: 286px;\n max-width: 320px;\n margin-top: ${gridSettings.gutter}px;\n margin-left: ${gridSettings.gutter}px;\n }\n\n @media ${mq.large} {\n & > * {\n max-width: 286px;\n }\n }\n`;\n\nconst PriceTable: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n /** Array of PriceTag card items */\n items: Array<Omit<PriceTagProps, 'isInverted'>>;\n /** Center text inside card items */\n isCentered?: boolean;\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, items, isCentered, bgMode }) => {\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const priceTagCount = items?.length || 0;\n\n const { colors } = useLibTheme();\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: priceTagCount,\n identifiers: [\n '[data-sheet=\"superTitle\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"desc\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper addWhitespace>\n <Items>\n {items?.map((item, i) => (\n <Tag\n key={i}\n ref={cardRefs[i]}\n {...item}\n isInverted={isInverted}\n isCentered={isCentered}\n hasBackground={hasBg}\n />\n ))}\n </Items>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PriceTableComponent = PriceTable;\nexport default withLibTheme(PriceTable);\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport { mq, spacings } from 'utils/styles';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Callout from 'components/typography/Callout';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Copy from 'components/typography/Copy';\n\nconst Content = styled.figure`\n margin: 0;\n padding: 0;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n max-width: 960px;\n margin: 0 auto;\n }\n`;\n\nconst Text = styled(Callout)`\n text-align: center;\n margin-left: 0;\n margin-right: 0;\n padding: 0;\n`;\n\nconst Source = styled(Copy)`\n text-align: center;\n margin-left: 0;\n margin-right: 0;\n padding: 0;\n`;\n\nconst Quote: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Text of the blockquote (richtext) */\n text?: string;\n\n /** Source of the quote e.g. author (richtext) */\n source?: string;\n\n /** URL for additional cite informations */\n citeUrl?: string;\n\n /** Section backgrounds */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, bgMode, text, source, citeUrl }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode === 'full'\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <Content>\n {text && (\n <Text\n size=\"small\"\n renderAs=\"blockquote\"\n isInverted={isInverted}\n innerHTML={text}\n {...{ cite: citeUrl }}\n />\n )}\n {source && (\n <Source\n isInverted={isInverted}\n renderAs=\"figcaption\"\n innerHTML={source}\n />\n )}\n </Content>\n </Wrapper>\n </Section>\n );\n};\n\nexport const QuoteComponent = Quote;\nexport default withLibTheme(Quote);\n","import React, { FC, useContext } from 'react';\nimport styled, { ThemeContext } from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Wrapper from 'components/base/Wrapper';\nimport { getColors } from 'utils/styles';\nimport { withLibTheme } from 'utils/LibThemeProvider';\n\nconst ImageWrapper = styled(Wrapper)<{ hAlign?: 'left' | 'center' | 'right' }>`\n display: flex;\n justify-content: ${({ hAlign }) => {\n switch (hAlign) {\n case 'center':\n return 'center';\n case 'right':\n return 'flex-end';\n default:\n return 'flex-start';\n }\n }};\n`;\n\nconst SimpleImage: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Image settings */\n image?: ImageProps;\n\n /** Horizontal alignment of the image */\n hAlign?: 'left' | 'center' | 'right';\n\n /** Allow reduced section spacing to next section */\n isStackable?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, image, hAlign = 'left', bgMode, isStackable }) => {\n const theme = useContext(ThemeContext);\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n isStackable={isStackable}\n bgColor={\n isInverted\n ? getColors(theme).sectionBg.dark\n : hasBg\n ? getColors(theme).sectionBg.medium\n : getColors(theme).sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <ImageWrapper hAlign={hAlign}>\n {image && <Image {...image} />}\n </ImageWrapper>\n </Section>\n );\n};\n\nexport const SimpleImageComponent = SimpleImage;\nexport default withLibTheme(SimpleImage);\n","import React from 'react';\nimport styled from 'styled-components';\nimport {\n getColors as color,\n mq,\n spacings,\n getGlobals as global,\n} from 'utils/styles';\n\nimport Instagram from 'components/base/icons/socials/Instagram';\nimport Heading from 'components/typography/Heading';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { gridSettings } from 'components/base/Grid';\nimport Image, { ImageProps } from 'components/blocks/Image';\n\nconst Cards = styled.ul`\n display: flex;\n flex-wrap: wrap;\n margin: 0;\n padding: 0;\n list-style: none;\n\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n\n & > * {\n flex: 1 1 100%;\n margin-top: ${spacings.spacer}px;\n margin-left: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n & > * {\n flex: 1 1 calc(50% - ${gridSettings.gutter}px);\n max-width: calc(50% - ${gridSettings.gutter}px);\n }\n }\n\n @media ${mq.large} {\n & > * {\n flex: 1 1 calc(${(1 / 3) * 100}% - ${gridSettings.gutter}px);\n max-width: calc(${(1 / 3) * 100}% - ${gridSettings.gutter}px);\n }\n }\n`;\n\nconst Item = styled.li`\n display: block;\n position: relative;\n padding: 0;\n`;\n\nconst Card = styled(Link)<{ isInverted?: boolean }>`\n position: relative;\n display: block;\n text-decoration: none;\n color: '#fff';\n outline-color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n &:before {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).secondary.inverted\n : color(theme).secondary.default};\n\n opacity: 0;\n pointer-events: none;\n z-index: 1;\n transition: opacity 0.2s ease-in-out;\n }\n\n &:hover {\n &:before {\n opacity: 1;\n pointer-events: all;\n }\n }\n\n &:focus {\n &:before {\n opacity: 1;\n pointer-events: all;\n }\n }\n`;\n\nconst StyledImage = styled(Image)`\n display: block;\n height: 100%;\n z-index: 0;\n`;\n\nconst TextContainer = styled.div`\n position: absolute;\n top: 50%;\n left: 50%;\n width: 100%;\n transform: translate(-50%, -50%);\n text-align: center;\n\n padding: ${spacings.nudge * 2}px;\n\n opacity: 0;\n pointer-events: none;\n z-index: 2;\n transition: opacity 0.2s ease-in-out;\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n ${Card}:hover & {\n opacity: 1;\n pointer-events: all;\n }\n\n ${Card}:focus & {\n opacity: 1;\n pointer-events: all;\n }\n`;\n\nconst FollowUs = styled(Heading)`\n text-transform: uppercase;\n`;\n\nconst InstagramIcon = styled.div`\n position: absolute;\n left: 20px;\n bottom: 20px;\n color: ${({ theme }) => color(theme).text.inverted};\n z-index: 2;\n\n & > * {\n fill: #fff;\n\n ${Card}:hover & {\n color: ${({ theme }) => color(theme).text.inverted};\n }\n }\n`;\n\nconst SocialWall: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with item settings */\n items?: Array<{\n link?: LinkProps;\n image?: Omit<ImageProps, 'coverSpace' | 'ratio'>;\n }>;\n\n /** Text for main social media follow call */\n followUs?: string;\n\n /** Text for e.g. social media hashtag */\n hashTag?: string;\n\n /** Function to inject custom social icon on bottom left corner */\n socialIcon?: React.ReactNode;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, items, hashTag, followUs, socialIcon, bgMode }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n addSeperation\n >\n <Wrapper addWhitespace>\n <Cards>\n {items?.map((item, i) => (\n <Item key={i}>\n <Card\n isExternal\n {...item.link}\n isInverted={isInverted}\n ariaLabel={item?.image?.alt}\n >\n {item.image && (\n <StyledImage\n {...item.image}\n coverSpace\n ratios={{\n small: { w: 1, h: 1 },\n }}\n isInverted={isInverted}\n />\n )}\n <TextContainer>\n <FollowUs size=\"super\" isInverted>\n {followUs\n ? followUs\n : 'Follow Us On Instagram'}\n </FollowUs>\n {hashTag && (\n <Heading size=\"heading-2\" isInverted>\n {hashTag}\n </Heading>\n )}\n </TextContainer>\n <InstagramIcon>\n {socialIcon || <Instagram />}\n </InstagramIcon>\n </Card>\n </Item>\n ))}\n </Cards>\n </Wrapper>\n </Section>\n );\n};\n\nexport const SocialWallComponent = SocialWall;\nexport default withLibTheme(SocialWall);\n","import React from 'react';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport TableBlock, { TableProps } from 'components/blocks/TableBlock';\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\n\nconst TableSection = styled(Section)`\n overflow: unset;\n`;\n\nconst TableWrapper = styled(Wrapper)`\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst Table: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Table rows and columns */\n tableItems: TableProps[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, bgMode, tableItems }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full' || isInverted;\n\n return (\n <TableSection\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <TableWrapper>\n {tableItems.map((item, i) => {\n return (\n <TableBlock\n key={i}\n {...item}\n isInverted={isInverted}\n hasBack={hasBg}\n />\n );\n })}\n </TableWrapper>\n </TableSection>\n );\n};\n\nexport const TableComponent = Table;\nexport default withLibTheme(Table);\n","import React, { FC, useRef, useState } from 'react';\nimport styled from 'styled-components';\n\nimport Grid from 'components/base/Grid';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Copy from 'components/typography/Copy';\nimport Wrapper from 'components/base/Wrapper';\nimport Section, { BgMode } from 'components/base/Section';\nimport {\n mq,\n spacings,\n getGlobals as global,\n getFonts as font,\n} from 'utils/styles';\nimport Actions from 'components/blocks/Actions';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport IntroBlock from 'components/blocks/IntroBlock';\nimport VideoBlock, { VideoAspectRatios } from 'components/blocks/VideoBlock';\nimport { isValidArray } from 'utils/arrays';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport useUpdateEffect from 'utils/useUpdateEffect';\n\nconst Figure = styled.figure`\n display: flex;\n flex-direction: column;\n position: relative;\n height: 100%;\n width: 100%;\n margin: 0;\n padding: 0;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n\n @media ${mq.semilarge} {\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n }\n`;\n\nconst StyledImage = styled(Image)`\n position: relative;\n width: 100%;\n height: 100%;\n\n @media ${mq.semilarge} {\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n }\n`;\n\nconst Video = styled(VideoBlock)<{\n ratios?: VideoAspectRatios;\n isVisible?: boolean;\n}>`\n display: ${({ isVisible }) => (isVisible ? 'block' : 'none')};\n width: 100%;\n height: 100%;\n`;\n\nconst Description = styled(Copy)<{\n isInverted?: boolean;\n isSplitted?: boolean;\n isMirrored?: boolean;\n}>`\n display: block;\n\n @media ${mq.semilarge} {\n padding-left: ${spacings.nudge * 2}px;\n padding-right: ${spacings.nudge * 2}px;\n margin-left: ${({ isMirrored }) => isMirrored && 'auto'};\n margin-right: ${({ isMirrored }) => !isMirrored && 'auto'};\n max-width: ${({ isSplitted }) => isSplitted && '81.5%'};\n\n color: ${({ theme, isInverted, isSplitted }) =>\n isInverted && !isSplitted\n ? font(theme).copy.small.colorInverted\n : font(theme).copy.small.color};\n }\n\n @media ${mq.xlarge} {\n max-width: ${({ isSplitted }) => isSplitted && '69.5%'};\n }\n`;\n\nconst StyledActions = styled(Actions)`\n &:not(:first-child) {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst Teaser: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Switch text and image columns */\n isMirrored?: boolean;\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Images for different screen sizes */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /**\n * Use video instead of an image. Until video is loaded images defined in the image prop are used.\n * Multiple video urls can be used to loaded different file formats\n */\n video?: {\n urls: string[];\n aspectRatios?: VideoAspectRatios;\n };\n\n /** Image or video description text (richtext) */\n description?: string;\n\n /** Main richtext */\n text?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted' | 'splitted' | 'inverted-splitted';\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n isMirrored = false,\n bgMode,\n superTitle,\n superTitleAs,\n title,\n titleAs,\n image,\n video,\n description,\n text,\n primaryAction,\n secondaryAction,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted' || bgMode === 'inverted-splitted';\n const isSplitted = bgMode === 'splitted' || bgMode === 'inverted-splitted';\n const hasVideo = isValidArray(video?.urls, false);\n\n const viewRef = useRef<HTMLDivElement | null>(null);\n const [isLoaded, setLoaded] = useState(!image?.small || false);\n const [isVideoActive, setVideoActive] = useState<boolean>(false);\n const isObserverSupported = useObserverSupport();\n\n useUpdateEffect(() => {\n if (!viewRef.current || !hasVideo) return;\n if (!isObserverSupported) {\n setVideoActive(true);\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries, observer) => {\n const [entry] = entries;\n\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n setVideoActive(true);\n }\n },\n {\n rootMargin: '200px 0px 200px 0px',\n }\n );\n\n const viewEl = viewRef.current;\n observer.observe(viewEl);\n\n return () => {\n if (viewEl) observer.unobserve(viewEl);\n };\n }, [isObserverSupported]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToTeaserBgMode(bgMode, false, isMirrored)}\n >\n <Wrapper addWhitespace clampWidth=\"normal\">\n <Grid.Row valign=\"center\">\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? 6 : 0) / 12,\n }}\n xlarge={{\n span: 7 / 12,\n move: (isMirrored ? 5 : 0) / 12,\n }}\n >\n {(image?.small || hasVideo) && (\n <Figure ref={viewRef}>\n {image?.small && (!video || !isLoaded) && (\n <StyledImage\n {...image}\n isInverted={isInverted}\n coverSpace\n />\n )}\n {hasVideo && (\n <Video\n urls={\n isVideoActive\n ? video?.urls\n : undefined\n }\n muted\n autoPlay\n loop\n onCanPlayThrough={() => setLoaded(true)}\n ratios={video?.aspectRatios}\n isVisible={isLoaded}\n isInverted={isInverted}\n />\n )}\n {description && (\n <Description\n size=\"small\"\n renderAs=\"figcaption\"\n isInverted={isInverted}\n isSplitted={isSplitted}\n isMirrored={isMirrored}\n innerHTML={description}\n />\n )}\n </Figure>\n )}\n </Grid.Col>\n\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? -6 : 0) / 12,\n }}\n xlarge={{\n span: 5 / 12,\n move: (isMirrored ? -7 : 0) / 12,\n }}\n >\n <IntroBlock\n titleHyphens\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n text={text}\n colorMode={isInverted ? 'inverted' : 'default'}\n />\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={\n primaryAction && primaryAction(isInverted)\n }\n secondary={\n secondaryAction &&\n secondaryAction(isInverted)\n }\n />\n )}\n </Grid.Col>\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const mapToTeaserBgMode = (\n mode?: 'full' | 'splitted' | 'inverted' | 'inverted-splitted',\n preventSplit = false,\n isMirrored = false\n): BgMode | undefined => {\n switch (mode) {\n case 'full':\n return 'full';\n case 'inverted':\n return 'inverted';\n case 'splitted': {\n if (!preventSplit)\n return isMirrored ? 'larger-left' : 'larger-right';\n else return undefined;\n }\n case 'inverted-splitted': {\n if (!preventSplit)\n return isMirrored ? 'larger-left' : 'larger-right';\n else return undefined;\n }\n\n default:\n return undefined;\n }\n};\n\nexport const TeaserComponent = Teaser;\nexport default withLibTheme(Teaser);\n","import React, { FC, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Grid, { getGridWidth } from 'components/base/Grid';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Wrapper, { wrapperWhitespace } from 'components/base/Wrapper';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { mq, spacings, withRange, getGlobals as global } from 'utils/styles';\nimport Actions from 'components/blocks/Actions';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport IntroBlock from 'components/blocks/IntroBlock';\nimport VideoBlock, { VideoAspectRatios } from 'components/blocks/VideoBlock';\nimport { isValidArray } from 'utils/arrays';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport useUpdateEffect from 'utils/useUpdateEffect';\n\n/**\n * calculate single grid col from relative content wrapper\n * (grid width = wrapper width without paddings)\n * */\nconst getGridColOfContent = () => {\n return css`\n ${getGridWidth({\n cols: 1,\n gridWidth: `${spacings.wrapper - wrapperWhitespace * 2}px `,\n })}\n `;\n};\n\nconst WideVideo = styled(VideoBlock)<{\n isMirrored?: boolean;\n isVisible?: boolean;\n}>`\n display: ${({ isVisible }) => (isVisible ? 'block' : 'none')};\n position: relative;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n\n min-height: 400px;\n object-fit: cover;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n @media ${mq.semilarge} {\n position: absolute;\n /** \n calculate width of 6 grid cols (grid width = viewport width without wrapper paddings)\n and add left or right wrapper padding afterwards\n */\n width: calc(\n ${getGridWidth({\n cols: 6,\n gridWidth: `100% - ${wrapperWhitespace * 2}px `,\n })} + ${wrapperWhitespace}px\n );\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '0')};\n right: ${({ isMirrored }) => (isMirrored ? '0' : 'auto')};\n }\n\n @media ${mq.xlarge} {\n /** \n calculate width of 1 grid cols\n and add left or right wrapper padding afterwards. Then add this to 50% of current\n viewport width.\n */\n width: calc(50% + ${getGridColOfContent()} + ${wrapperWhitespace}px);\n }\n\n @media ${mq.xxlarge} {\n /** \n calculate width of 1 grid cols\n and add left or right wrapper padding afterwards. Then add this to 50% of large wrapper width.\n */\n width: calc(\n ${spacings.wrapperLarge / 2}px + ${getGridColOfContent()} +\n ${wrapperWhitespace}px\n );\n\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '50%')};\n right: ${({ isMirrored }) => (isMirrored ? '50%' : 'auto')};\n\n ${({ isMirrored }) =>\n css`\n transform: translateX(\n calc(\n ${isMirrored ? '100% - ' : '-100% + '}\n (${getGridColOfContent()} + ${wrapperWhitespace}px)\n )\n );\n `};\n }\n`;\n\nconst WideImage = styled(Image)<{ isMirrored?: boolean }>`\n position: relative;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n\n height: 100%;\n min-height: 400px;\n\n img {\n height: 100%;\n }\n\n @media ${mq.semilarge} {\n position: absolute;\n /** \n calculate width of 6 grid cols (grid width = viewport width without wrapper paddings)\n and add left or right wrapper padding afterwards\n */\n width: calc(\n ${getGridWidth({\n cols: 6,\n gridWidth: `100% - ${wrapperWhitespace * 2}px `,\n })} + ${wrapperWhitespace}px\n );\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '0')};\n right: ${({ isMirrored }) => (isMirrored ? '0' : 'auto')};\n }\n\n @media ${mq.xlarge} {\n /** \n calculate width of 1 grid cols\n and add left or right wrapper padding afterwards. Then add this to 50% of current\n viewport width.\n */\n width: calc(50% + ${getGridColOfContent()} + ${wrapperWhitespace}px);\n }\n\n @media ${mq.xxlarge} {\n /** \n calculate width of 1 grid cols\n and add left or right wrapper padding afterwards. Then add this to 50% of large wrapper width.\n */\n width: calc(\n ${spacings.wrapperLarge / 2}px + ${getGridColOfContent()} +\n ${wrapperWhitespace}px\n );\n\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '50%')};\n right: ${({ isMirrored }) => (isMirrored ? '50%' : 'auto')};\n\n ${({ isMirrored }) =>\n css`\n transform: translateX(\n calc(\n ${isMirrored ? '100% - ' : '-100% + '}\n (${getGridColOfContent()} + ${wrapperWhitespace}px)\n )\n );\n `};\n }\n`;\n\nconst Content = styled.div`\n ${({ theme }) =>\n withRange(\n global(theme).sections.seperation.padding.default,\n 'padding-bottom'\n )}\n\n @media ${mq.semilarge} {\n ${({ theme }) =>\n withRange(\n global(theme).sections.seperation.padding.default,\n 'padding-top'\n )}\n }\n`;\n\nconst StyledActions = styled(Actions)`\n &:not(:first-child) {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst TeaserWide: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Switch text and image columns */\n isMirrored?: boolean;\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Images for different screen sizes */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /**\n * Use video instead of an image. Until video is loaded images defined in the image prop are used.\n * Multiple video urls can be used to loaded different file formats\n */\n video?: {\n urls: string[];\n aspectRatios?: VideoAspectRatios;\n };\n\n /** Main richtext */\n text?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n isMirrored = false,\n superTitle,\n superTitleAs,\n title,\n titleAs,\n image,\n video,\n text,\n primaryAction,\n secondaryAction,\n bgMode,\n}) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const hasVideo = isValidArray(video?.urls, false);\n\n const viewRef = useRef<HTMLDivElement | null>(null);\n const [isLoaded, setLoaded] = useState(!image?.small || false);\n const [isVideoActive, setVideoActive] = useState<boolean>(false);\n const isObserverSupported = useObserverSupport();\n\n useUpdateEffect(() => {\n if (!viewRef.current || !hasVideo) return;\n if (!isObserverSupported) {\n setVideoActive(true);\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries, observer) => {\n const [entry] = entries;\n\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n setVideoActive(true);\n }\n },\n {\n rootMargin: '200px 0px 200px 0px',\n }\n );\n\n const viewEl = viewRef.current;\n observer.observe(viewEl);\n\n return () => {\n if (viewEl) observer.unobserve(viewEl);\n };\n }, [isObserverSupported]);\n\n return (\n <Section\n ref={viewRef}\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n {image?.small && (!video || !isLoaded) && (\n <WideImage\n coverSpace\n {...image}\n isMirrored={isMirrored}\n isInverted={isInverted}\n />\n )}\n {hasVideo && (\n <WideVideo\n urls={isVideoActive ? video?.urls : undefined}\n muted\n autoPlay\n loop\n onCanPlayThrough={() => setLoaded(true)}\n isVisible={isLoaded}\n isInverted={isInverted}\n isMirrored={isMirrored}\n ratios={video?.aspectRatios}\n />\n )}\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <Grid.Row valign=\"center\">\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? 6 : 0) / 12,\n }}\n xlarge={{\n span: 7 / 12,\n move: (isMirrored ? 5 : 0) / 12,\n }}\n ></Grid.Col>\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? -6 : 0) / 12,\n }}\n xlarge={{\n span: 5 / 12,\n move: (isMirrored ? -7 : 0) / 12,\n }}\n >\n <Content>\n <IntroBlock\n titleHyphens\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n text={text}\n colorMode={isInverted ? 'inverted' : 'default'}\n />\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={\n primaryAction &&\n primaryAction(isInverted)\n }\n secondary={\n secondaryAction &&\n secondaryAction(isInverted)\n }\n />\n )}\n </Content>\n </Grid.Col>\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const TeaserWideComponent = TeaserWide;\nexport default withLibTheme(TeaserWide);\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport React, {\n createRef,\n MutableRefObject,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport styled, { ThemeContext } from 'styled-components';\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport { withLibTheme } from 'utils/LibThemeProvider';\n\nconst TimelineBlock = styled.div<{\n isSwitched?: boolean;\n isActive?: boolean;\n isInverted?: boolean;\n}>`\n position: relative;\n\n @media ${mq.large} {\n text-align: ${({ isSwitched }) => (isSwitched ? 'left' : 'right')};\n }\n\n &:after {\n content: '';\n width: 10px;\n height: 10px;\n\n box-sizing: content-box;\n border: 2px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n border-radius: 50%;\n\n background: ${({ theme, isActive, isInverted }) =>\n isActive\n ? isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark\n : isInverted\n ? color(theme).elementBg.dark\n : color(theme).elementBg.light};\n\n position: absolute;\n top: 16px;\n left: 0px;\n\n transition: all 0.2s ease-in-out;\n\n @media ${mq.large} {\n left: ${({ isSwitched }) => (!isSwitched ? '50%' : 'auto')};\n right: ${({ isSwitched }) => isSwitched && '50%'};\n transform: translateX(\n ${({ isSwitched }) => (isSwitched ? '50%' : '-50%')}\n );\n }\n }\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n width: 2px;\n min-height: 160px;\n height: 100%;\n background: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n left: 5px;\n\n @media ${mq.large} {\n left: 50%;\n transform: translateX(-50%);\n }\n }\n\n &:first-child {\n padding-top: 0;\n\n &:before {\n top: 16px;\n }\n }\n`;\n\nconst TimelineText = styled.div<{\n isSwitched?: boolean;\n}>`\n position: relative;\n padding-left: ${spacings.nudge * 3 + 2}px;\n padding-bottom: ${spacings.spacer}px;\n\n @media ${mq.large} {\n max-width: 50%;\n\n margin-left: ${({ isSwitched }) => isSwitched && '50%'};\n margin-right: ${({ isSwitched }) => !isSwitched && '50%'};\n\n padding: ${({ isSwitched }) =>\n isSwitched\n ? `${spacings.spacer}px 0 ${spacings.spacer * 1.75}px ${\n spacings.spacer\n }px`\n : `${spacings.spacer}px ${spacings.spacer}px ${\n spacings.spacer * 1.75\n }px 0`};\n }\n\n &:first-child {\n padding-top: 0;\n }\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n`;\n\nconst ItemTitle = styled(Heading)``;\n\nconst ItemTextBlock = styled(Copy)``;\n\nconst Timeline: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n items?: { label?: string; title?: string; text?: string }[];\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, bgMode, items }) => {\n const theme = useContext(ThemeContext);\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const [targetRefs, setTargetRefs] = useState<\n MutableRefObject<HTMLDivElement>[]\n >([]);\n const observerSupported = useObserverSupport();\n const observerRef = useRef<IntersectionObserver | null>(null);\n\n const [activeItem, setActiveItem] = useState<number>(0);\n\n useEffect(() => {\n if (observerSupported && targetRefs && targetRefs.length > 0) {\n const options = {\n rootMargin: '-50% 0% -50% 0%',\n threshold: 0,\n };\n\n observerRef.current = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n const index = targetRefs?.findIndex(\n (t) => t.current === entry.target\n );\n setActiveItem(index);\n }\n });\n }, options);\n\n for (let i = 0; i < targetRefs.length; i++) {\n observerRef.current.observe(targetRefs[i].current);\n }\n }\n\n return () => {\n observerRef.current?.disconnect();\n };\n }, [targetRefs, observerSupported]);\n\n useEffect(() => {\n setTargetRefs(() =>\n Array(items?.length)\n .fill(null)\n .map((_, i) => targetRefs[i] || createRef())\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items?.length]);\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? color(theme).sectionBg.dark\n : hasBg\n ? color(theme).sectionBg.medium\n : 'transparent'\n }\n bgMode={mapToBgMode(bgMode, true)}\n addSeperation\n >\n <Wrapper addWhitespace>\n {items &&\n items.map((item, i) => {\n return (\n <TimelineBlock\n ref={targetRefs[i]}\n isActive={activeItem === i}\n isSwitched={i % 2 === 0}\n isInverted={isInverted}\n key={i}\n >\n <TimelineText isSwitched={i % 2 === 0}>\n <ItemTitle\n size=\"heading-2\"\n textColor={\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default\n }\n >\n {item.label}\n </ItemTitle>\n\n <ItemTextBlock\n type=\"copy-b\"\n size=\"big\"\n isInverted={isInverted}\n >\n {item.title}\n </ItemTextBlock>\n <ItemTextBlock\n innerHTML={item.text}\n isInverted={isInverted}\n />\n </TimelineText>\n </TimelineBlock>\n );\n })}\n </Wrapper>\n </Section>\n );\n};\n\nexport const TimelineComponent = Timeline;\nexport default withLibTheme(Timeline);\n","import React from 'react';\nimport Section, { mapToBgMode } from 'components/base/Section';\n\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Wrapper from 'components/base/Wrapper';\nimport { ImageProps } from 'components/blocks/Image';\n\nimport VideoCard from 'components/blocks/VideoCard';\n\nconst Video: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n bgImage: Omit<ImageProps, 'ratios' | 'coverSpace'>;\n embedId: string;\n\n consentText?: string;\n consentAction?: (props: {\n handleClick?: () => void;\n consentProps: Record<string, string>;\n }) => React.ReactNode;\n /**\n * Custom handler for play button click\n * @returns true if video should be played\n */\n onPlay?: () => boolean;\n\n playIcon?: React.ReactNode;\n bgMode?: 'full' | 'inverted' | 'splitted';\n}> = ({\n anchorId,\n bgMode,\n bgImage,\n embedId,\n playIcon,\n consentText,\n consentAction,\n onPlay,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n addSeperation\n >\n <Wrapper addWhitespace>\n <VideoCard\n bgImage={bgImage}\n embedId={embedId}\n playIcon={playIcon}\n consentText={consentText}\n consentAction={consentAction}\n onPlay={onPlay}\n />\n </Wrapper>\n </Section>\n );\n};\n\nexport const VideoComponent = Video;\nexport default withLibTheme(Video);\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\n\nimport { getColors as color, getGlobals as global, mq } from 'utils/styles';\nimport Play from 'components/base/icons/Play';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Wrapper from 'components/base/Wrapper';\nimport VideoBlock from 'components/blocks/VideoBlock';\nimport { ImageProps } from 'components/blocks/Image';\nimport { isValidArray } from 'utils/arrays';\n\nconst VideoContainer = styled.div<{ isInverted?: boolean }>`\n position: relative;\n cursor: pointer;\n`;\n\nconst Overlay = styled.div<{ bgImage?: ImageProps; isInverted?: boolean }>`\n position: relative;\n padding-top: ${`calc(100% / (16 / 9))`};\n background: ${({ theme, isInverted }) =>\n isInverted\n ? global(theme).sections.imagePlaceholderBg.inverted\n : global(theme).sections.imagePlaceholderBg.default};\n\n background-image: ${({ bgImage }) =>\n bgImage?.small && `url(\"${bgImage.small}\")`};\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n @media ${mq.medium} {\n text-align: left;\n\n background-image: ${({ bgImage }) =>\n bgImage?.medium && `url(\"${bgImage.medium}\")`};\n }\n\n @media ${mq.semilarge} {\n background-image: ${({ bgImage }) =>\n bgImage?.semilarge && `url(\"${bgImage.semilarge}\")`};\n }\n\n @media ${mq.large} {\n background-image: ${({ bgImage }) =>\n bgImage?.large && `url(\"${bgImage.large}\")`};\n }\n\n @media ${mq.xlarge} {\n background-image: ${({ bgImage }) =>\n bgImage?.xlarge && `url(\"${bgImage.xlarge}\")`};\n }\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n pointer-events: none;\n\n background: linear-gradient(\n 358.19deg,\n rgba(29, 34, 35, 0.52) 12.37%,\n rgba(29, 34, 35, 0) 59.02%\n );\n }\n`;\n\nconst VideoControls = styled.button`\n display: block;\n border: none;\n background: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n color: ${({ theme }) => color(theme).elementBg.light};\n z-index: 1;\n padding: 0;\n\n cursor: pointer;\n\n & > * {\n opacity: 0.8;\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n height: 80px;\n width: 80px;\n\n color: ${({ theme }) => color(theme).elementBg.dark};\n }\n\n ${Overlay}:hover > & > * {\n transform: scale(1.05);\n opacity: 1;\n }\n\n ${Overlay}:active > & > * {\n transform: scale(0.95);\n opacity: 1;\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n border-radius: 50%;\n opacity: 1;\n\n & > * {\n color: ${({ theme }) => color(theme).primary.default};\n }\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n`;\n\nconst Video = styled(VideoBlock)<{ isVisible?: boolean }>`\n opacity: ${({ isVisible }) => (isVisible ? 1 : 0)};\n pointer-events: ${({ isVisible }) => (isVisible ? 'all' : 'none')};\n`;\n\nconst RawVideo: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** URL to video sources */\n videoUrls?: string[];\n\n /** Placeholder image */\n placeholderImg?: Omit<ImageProps, 'ratios' | 'coverSpace'>;\n\n /** Enable autoplay without user interaction */\n autoplay?: boolean;\n\n /** Playing video in loop */\n loop?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted' | 'splitted';\n\n /** Video play icon */\n playIcon?: React.ReactNode;\n}> = ({\n anchorId,\n bgMode,\n videoUrls,\n placeholderImg,\n playIcon,\n autoplay,\n loop,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const [isStarted, setIsStarted] = useState<boolean>(autoplay || false);\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n addSeperation\n >\n <Wrapper addWhitespace>\n <VideoContainer\n onClick={() => {\n if (isValidArray(videoUrls, false)) {\n setIsStarted(true);\n }\n }}\n >\n {isStarted && (\n <Video\n isVisible={isStarted || !placeholderImg?.small}\n controls={!autoplay}\n autoPlay\n loop={loop}\n muted={autoplay}\n ratios={{ small: 16 / 9 }}\n urls={videoUrls}\n isInverted={isInverted}\n />\n )}\n {!isStarted && (\n <Overlay\n bgImage={placeholderImg}\n isInverted={isInverted}\n >\n <VideoControls>\n {playIcon || <Play iconColor=\"#000\" />}\n </VideoControls>\n </Overlay>\n )}\n </VideoContainer>\n </Wrapper>\n </Section>\n );\n};\n\nexport const RawVideoComponent = RawVideo;\nexport default withLibTheme(RawVideo);\n","import React, { FC, useEffect, useMemo, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n mq,\n spacings,\n getColors as color,\n getFonts as font,\n getGlobals as global,\n withRange,\n} from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Grid, { getGridWidth, gridSettings } from 'components/base/Grid';\nimport Wrapper, { wrapperWhitespace } from 'components/base/Wrapper';\n\nimport IntroBlock from 'components/blocks/IntroBlock';\n\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport { HeadlineTag } from 'components/typography/Heading';\n\nimport Phone from 'components/base/icons/Phone';\nimport Mail from 'components/base/icons/Mail';\n\nimport { generateLocalBusiness } from 'utils/structuredData';\nimport Link from 'components/typography/Link';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport Control from 'components/buttons/Control';\nimport * as Icons from 'components/base/icons/Icons';\nimport { getSVGDataImg as getSVGData } from 'utils/dataURI';\nimport useLeafletMap from 'utils/useLeafletMap';\nimport { isValidArray } from 'utils/arrays';\n\ninterface Address {\n street: string;\n postalCode: string;\n city?: string;\n country: string;\n}\n\nconst MapSection = styled(Section)`\n position: relative;\n min-height: 500px;\n z-index: 0;\n`;\n\nconst MapContainer = styled.div<{ isMirrored?: boolean }>`\n position: relative;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n z-index: 0;\n\n height: 100%;\n min-height: 230px;\n\n @media ${mq.semilarge} {\n position: absolute;\n /** \n calculate width of 6 grid cols (grid width = viewport width without wrapper paddings)\n and add left or right wrapper padding afterwards\n */\n width: calc(\n ${getGridWidth({\n cols: 6,\n gridWidth: `100% - ${wrapperWhitespace * 2}px `,\n })} + ${wrapperWhitespace}px\n );\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '0')};\n right: ${({ isMirrored }) => (isMirrored ? '0' : 'auto')};\n }\n\n @media ${mq.xlarge} {\n width: calc(50% - ${gridSettings.gutter}px ${wrapperWhitespace}px);\n }\n\n @media ${mq.xxlarge} {\n width: calc(\n ${spacings.wrapperLarge / 2}px - ${gridSettings.gutter}px +\n ${wrapperWhitespace}px\n );\n\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '50%')};\n right: ${({ isMirrored }) => (isMirrored ? '50%' : 'auto')};\n\n ${({ isMirrored }) =>\n css`\n transform: translateX(\n calc(\n ${isMirrored\n ? `(100% + ${gridSettings.gutter}px) - `\n : `(-100% - ${gridSettings.gutter}px) + `}\n (${wrapperWhitespace}px)\n )\n );\n `};\n }\n`;\n\nconst CardWrapper = styled(Wrapper)`\n pointer-events: none;\n`;\n\nconst CardContainer = styled.div<{ isMirrored?: boolean }>`\n display: flex;\n flex-direction: row;\n position: relative;\n width: 100%;\n pointer-events: all;\n\n ${({ theme }) =>\n withRange(\n global(theme).sections.seperation.padding.default,\n 'padding-bottom'\n )}\n\n @media ${mq.semilarge} {\n ${({ theme }) =>\n withRange(\n global(theme).sections.seperation.padding.default,\n 'padding-top'\n )}\n }\n`;\n\nconst InfoCardView = styled.div`\n min-height: 100px;\n pointer-events: all;\n\n flex: 1 0 80%;\n max-width: 80%;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst CardHeader = styled.div`\n display: flex;\n`;\n\nconst ContactList = styled.ul<{ isInverted?: boolean }>`\n padding: 0;\n list-style-type: none;\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n\n li {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0;\n margin: 0;\n }\n\n li + li {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n span:first-child {\n flex: 0 0 30px;\n max-width: 30px;\n\n & > * {\n max-width: 100%;\n }\n }\n`;\n\nconst ContactListLink = styled(Link)`\n display: block;\n\n ${copyStyle('copy-b', 'big')}\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme)['copy-b'].big.colorInverted\n : font(theme)['copy-b'].big.color};\n\n * + & {\n margin-left: ${spacings.nudge * 1.5}px;\n }\n`;\n\nconst AddressContainer = styled.div<{ hasIcon?: boolean }>`\n display: -ms-grid;\n display: grid;\n\n ${({ hasIcon }) => css`\n -ms-grid-columns: ${hasIcon ? 'min-content' : ''} 1fr;\n grid-template-columns: ${hasIcon ? 'min-content' : ''} 1fr;\n -ms-grid-rows: ${hasIcon ? 'min-content' : ''} 1fr;\n grid-auto-rows: ${hasIcon ? 'min-content' : ''} 1fr;\n `}\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst CompanyInfo: FC<{\n isInverted?: boolean;\n companyName: string;\n address?: Address;\n customIcon?: (isInverted?: boolean) => React.ReactNode;\n}> = ({ isInverted, companyName, address, customIcon }) => {\n return (\n <AddressContainer hasIcon={!!customIcon}>\n {customIcon && <span> {customIcon()} </span>}\n <div>\n <Copy type=\"copy-b\" size=\"big\" isInverted={isInverted}>\n {companyName}\n </Copy>\n {address && (\n <Copy type=\"copy-b\" size=\"big\" isInverted={isInverted}>\n <div>{address.street}</div>\n <div>{`${address.postalCode} ${address.city}`}</div>\n <div>{address.country}</div>\n </Copy>\n )}\n </div>\n </AddressContainer>\n );\n};\n\nconst Desc = styled(Copy)`\n @media ${mq.semilarge} {\n margin-top: ${spacings.spacer * 2.5}px;\n }\n`;\n\nconst LocationInfoCard: FC<\n MapLocation & {\n isInverted?: boolean;\n }\n> = ({\n isInverted,\n title,\n titleAs,\n superTitle,\n superTitleAs,\n companyName,\n address,\n addressIcon,\n contact,\n description,\n}) => {\n const { colors } = useLibTheme();\n\n const addressIconContent = addressIcon ? (\n addressIcon({ isInverted })\n ) : (\n <LocationPin\n iconColor={isInverted ? colors.text.inverted : colors.text.default}\n />\n );\n\n const phoneIconContent = contact?.telephone?.icon ? (\n contact.telephone.icon({\n isInverted,\n })\n ) : (\n <Phone />\n );\n\n const mailIconContent = contact?.email?.icon ? (\n contact.email.icon({ isInverted })\n ) : (\n <Mail />\n );\n\n return (\n <InfoCardView>\n <CardHeader>\n <IntroBlock\n colorMode={isInverted ? 'inverted' : 'default'}\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n />\n </CardHeader>\n {companyName && (\n <CompanyInfo\n companyName={companyName || ''}\n address={address}\n customIcon={\n addressIconContent\n ? () => addressIconContent\n : undefined\n }\n isInverted={isInverted}\n />\n )}\n {contact && (\n <ContactList isInverted={isInverted}>\n {contact?.telephone?.label && (\n <li>\n {phoneIconContent && (\n <span>{phoneIconContent}</span>\n )}\n <ContactListLink\n isInverted={isInverted}\n href={`tel:${\n contact.telephone.link ||\n contact.telephone.label\n }`}\n >\n {contact.telephone?.label}\n </ContactListLink>\n </li>\n )}\n {contact?.email?.label && (\n <li>\n {mailIconContent && <span>{mailIconContent}</span>}\n <ContactListLink\n isInverted={isInverted}\n href={`mailto:${\n contact?.email.link || contact.email.label\n }`}\n >\n {contact?.email.label}\n </ContactListLink>\n </li>\n )}\n </ContactList>\n )}\n\n <Desc isInverted={isInverted} innerHTML={description} />\n </InfoCardView>\n );\n};\n\nconst Controls = styled.div`\n flex: 1 0 20%;\n max-width: 20%;\n display: flex;\n flex-direction: column;\n align-self: flex-start;\n margin-left: auto;\n text-align: right;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst FylToCtrlContainer = styled.button`\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1000;\n background: none;\n border: none;\n margin: 0;\n padding: 0;\n\n margin-top: ${spacings.spacer}px;\n margin-right: ${spacings.spacer}px;\n color: ${({ theme }) => color(theme).elementBg.dark};\n\n cursor: pointer;\n`;\n\nexport interface LocationIcon {\n url: string;\n size: [number, number];\n anchor: [number, number];\n\n sizeActive: [number, number];\n anchorActive: [number, number];\n}\n\nexport interface MapLocation {\n id: string;\n position: [number, number];\n icon?: LocationIcon;\n\n title?: string; // Rich Text\n titleAs?: HeadlineTag;\n superTitle?: string;\n superTitleAs?: HeadlineTag;\n\n companyName?: string;\n address?: Address;\n addressIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n contact?: {\n telephone?: {\n link?: string;\n label?: string;\n icon?: (props: { isInverted?: boolean }) => React.ReactNode;\n };\n email?: {\n link?: string;\n label?: string;\n icon?: (props: { isInverted?: boolean }) => React.ReactNode;\n };\n };\n image?: string[];\n description?: string;\n}\n\nconst Map: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Switch horizontal order of map and location info text */\n isMirrored?: boolean;\n\n /** Map tile provider */\n provider?: string;\n\n /** Map attribution text (richtext) */\n attribution?: string;\n\n /** Initial center of the map */\n center?: [number, number];\n\n /** Initial map zoom */\n zoom?: number;\n\n /** Zoom if map jumps to location */\n flyToZoom?: number;\n\n /** Initial location */\n initialLocation?: string;\n\n /** Array of location settings */\n locations?: Array<MapLocation>;\n\n /** Show all markers on first load */\n allMarkersOnInit?: boolean;\n\n /** Map container padding for show all markers */\n fitBoundsPadding?: [number, number];\n\n /** Icon element for flight to the current active location */\n flyToControl?: React.ReactNode;\n\n /** Injection function to replace default control button */\n controlNext?: (props: {\n isInverted?: boolean;\n isActive?: boolean;\n name?: string;\n clickHandler?: (ev: React.SyntheticEvent<HTMLButtonElement>) => void;\n }) => React.ReactNode;\n\n /** Injection function to replace default control button */\n controlPrev?: (props: {\n isInverted?: boolean;\n isActive?: boolean;\n name?: string;\n clickHandler?: (ev: React.SyntheticEvent<HTMLButtonElement>) => void;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n bgMode,\n isMirrored = false,\n provider,\n attribution,\n center = [51.505, -0.09],\n zoom = 5,\n flyToZoom,\n initialLocation,\n locations,\n allMarkersOnInit = false,\n fitBoundsPadding,\n flyToControl,\n controlNext,\n controlPrev,\n}) => {\n const { colors } = useLibTheme();\n\n const [activeLocationId, setActiveLocationId] = useState<string>(\n initialLocation || ''\n );\n const [isDirty, setIsDirty] = useState<boolean>(false);\n const activeLocation = useMemo(\n () => locations?.find((l) => l.id === activeLocationId),\n [activeLocationId, locations]\n );\n\n const hasBg = bgMode === 'full';\n const isInverted = bgMode === 'inverted';\n\n const defaultMarker: LocationIcon = {\n size: [28, 28],\n anchor: [14, 28],\n sizeActive: [70, 70],\n anchorActive: [35, 70],\n url: getSVGData(<LocationPin />),\n };\n const {\n isLoaded,\n setContainer: setMapContainer,\n flyToActive,\n showAllMarkers,\n } = useLeafletMap({\n url: provider,\n attribution,\n center,\n zoom,\n activeMarkerId: activeLocationId,\n markers: locations?.map(({ id, position, icon }) => ({\n id,\n position,\n icon: icon || defaultMarker,\n isInteractive: true,\n })),\n fitBoundsPadding,\n onMarkerClick: setActiveLocationId,\n });\n\n const goToNext = () => {\n setActiveLocationId((prev) => {\n if (!locations) return prev;\n const currentIndex = locations.findIndex(\n (l) => l.id === activeLocationId\n );\n if (currentIndex === -1) return prev;\n\n // get new index\n const newIndex = (currentIndex + 1) % locations.length;\n return locations[newIndex].id;\n });\n };\n\n const goToPrevious = () => {\n setActiveLocationId((prev) => {\n if (!locations) return prev;\n const currentIndex = locations.findIndex(\n (l) => l.id === activeLocationId\n );\n if (currentIndex === -1) return prev;\n\n // get new index\n const newIndex =\n currentIndex - 1 < 0 ? locations.length - 1 : currentIndex - 1;\n return locations[newIndex].id;\n });\n };\n\n useEffect(() => {\n if (isLoaded && !isDirty) {\n if (allMarkersOnInit) showAllMarkers();\n } else {\n flyToActive(flyToZoom);\n }\n }, [\n activeLocationId,\n allMarkersOnInit,\n flyToActive,\n flyToZoom,\n initialLocation,\n isDirty,\n isLoaded,\n showAllMarkers,\n ]);\n\n useEffect(() => {\n if (!isDirty && activeLocationId !== initialLocation) setIsDirty(true);\n }, [activeLocationId, initialLocation, isDirty]);\n\n return (\n <MapSection\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n {locations && generateLocalBusiness(locations)}\n <MapContainer ref={setMapContainer} isMirrored={isMirrored}>\n {flyToControl && (\n <FylToCtrlContainer\n onClick={(ev) => {\n ev.stopPropagation();\n flyToActive(flyToZoom);\n }}\n >\n {flyToControl}\n </FylToCtrlContainer>\n )}\n </MapContainer>\n\n <CardWrapper addWhitespace clampWidth=\"normal\">\n <Grid.Row>\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? 6 : 0) / 12,\n }}\n ></Grid.Col>\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? -6 : 0) / 12,\n }}\n >\n <CardContainer isMirrored={isMirrored}>\n {isValidArray(locations, false) && (\n <React.Fragment>\n {activeLocation && (\n <LocationInfoCard\n {...activeLocation}\n isInverted={isInverted}\n />\n )}\n {locations.length > 1 && (\n <Controls>\n {controlNext ? (\n controlNext({\n isInverted,\n isActive: true,\n clickHandler: goToNext,\n name: 'control_next_head',\n })\n ) : (\n <Control\n isInverted={isInverted}\n isDisabled={false}\n onClick={goToNext}\n >\n <Icons.ArrowRightGhost />\n </Control>\n )}\n {controlPrev ? (\n controlPrev({\n isInverted,\n isActive: true,\n clickHandler: goToPrevious,\n name: 'control_prev_head',\n })\n ) : (\n <Control\n isInverted={isInverted}\n isDisabled={false}\n onClick={goToPrevious}\n >\n <Icons.ArrowLeftGhost />\n </Control>\n )}\n </Controls>\n )}\n </React.Fragment>\n )}\n </CardContainer>\n </Grid.Col>\n </Grid.Row>\n </CardWrapper>\n </MapSection>\n );\n};\n\nexport const MapComponent = Map;\nexport default withLibTheme(Map);\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport React from 'react';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst HtmlCode: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n /** HTML content */\n html?: string;\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ html, anchorId, bgMode }) => {\n const isInverted = bgMode === 'inverted';\n const { colors } = useLibTheme();\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n {html && <div dangerouslySetInnerHTML={{ __html: html }} />}\n </Wrapper>\n </Section>\n );\n};\n\nexport const HtmlCodeComponent = HtmlCode;\nexport default withLibTheme(HtmlCode);\n"],"names":["AccordionContainer","styled","div","templateObject_1","__makeTemplateObject","spacings","nudge","View","details","templateObject_2","AccordionHead","summary","templateObject_3","_a","isInverted","hasBg","theme","color","elementBg","light","medium","mq","lightHover","mediumHover","Column","Copy","templateObject_4","AccordionText","templateObject_5","spacer","semilarge","gridSettings","gutter","AccordionBlock","label","text","aside","isSelected","onClick","itemIcon","className","colors","useLibTheme","React","createElement","open","onToggle","renderAs","size","type","Minus","iconColor","default","Plus","hasAside","innerHTML","Accordion","anchorId","items","bgMode","_b","useState","currentItems","setCurrentItems","Section","addSeperation","bgColor","sectionBg","dark","mapToBgMode","generateFAQ","Wrapper","addWhitespace","Grid","Row","Col","map","i","indexOf","key","concat","prev","copy","__spreadArray","index","push","splice","withLibTheme","primary","inverted","global","sections","edgeRadius","invertedHover","hover","Icon","MainLabel","Content","Title","ViewLink","Link","templateObject_6","Alert","title","date","description","link","customIcon","formattedDate","formatter","StatusFormatter","getTime","getFormattedDate","Info","textColor","__assign","ariaLabel","href","undefined","List","ul","ListItem","li","large","itemsPerRow","AlertList","alertCount","length","alertRefs","useEqualSheetHeight","listLength","identifiers","responsive","small","xlarge","item","ref","StyledTitle","ContentText","StyledActions","Actions","Article","titleAs","_c","titleSize","superTitle","superTitleAs","intro","asideText","halfAside","primaryAction","secondaryAction","hasContent","clampWidth","colorMode","valign","span","secondary","ContactView","Avatar","img","imagePlaceholderBg","Description","ContactBox","avatar","src","alt","StyledIntro","IntroBlock","hasDecorator","StyledContactBox","getGridWidth","cols","NewsletterWrapper","templateObject_7","Badge","templateObject_8","CallToAction","contact","badge","hasNewsletter","newsFormMain","isCentered","isTextCentered","SolidView","cardColor","hasLink","css","ImageView","imageTextGradient","StyledImage","Image","hasIcon","TextContainer","templateObject_9","Footer","SubLabel","templateObject_11","templateObject_12","CardLink","templateObject_13","Card","subLabel","image","decorator","CardView","defaultCardColor","coverSpace","ratios","w","h","templateObject_14","CardItem","templateObject_15","isEqual","threeCols","CardList","maxThreeCols","clamp","num","min","max","Math","Images","BackgroundImg","ForegroundContainer","hasTransition","hasAnim","initalValue","ForegroundImg","ForegroundOverlay","ImageLabel","ForegroundLabel","BackgroundLabel","ControlContainer","templateObject_10","Control","ComparisonSlider","initialValue","foregroundImg","backgroundImg","foregroundLabel","backgroundLabel","overlayColor","labelColor","dragControl","enableControlAnim","isIE","useIE","_d","slideValue","setSlideValue","_e","isHolding","setIsHolding","_f","isDragging","setIsDragging","_g","interacted","setInteracted","_h","sideOffset","setSideOffset","controlRef","useRef","useEffect","current","offsetWidth","handleInitalLoad","options","rootMargin","threshold","observer","IntersectionObserver","entries","isIntersecting","unobserve","target","observe","window","removeEventListener","document","readyState","addEventListener","setCurrentPos","clientX","relativeClientX","getBoundingClientRect","x","width","percentage","handleClick","ev","currentTarget","handleMouseMove","handleTouchMove","touches","onMouseMove","onMouseDown","onMouseUp","onMouseLeave","onTouchMove","onTouchStart","onTouchEnd","style","left","ArrowLeftRight","clickable","IntroContainer","clampTitle","wrapper","ExternalIconHolder","withRange","PromotionCard","forwardRef","externalLinkIcon","icon","linkObj","isExternal","externalIconString","ReactDOMServer","renderToString","External","displayName","isMain","CrossPromotion","main","isMirrored","card","ImageContainer","SubTitle","Text","Fact","subTitle","showPlaceholder","FactFill","FactGrid","columns","facts","factCount","cardRefs","fact","FactsContainer","FactItem","hasBack","hasText","ContentBlock","FactList","TitleLink","copyStyle","font","big","colorInverted","ArticleContent","Action","Feature","action","dataSheet","FeatureList","features","featureCount","isHalf","useMemo","halign","feature","Gallery","images","isFull","StyledSection","ItemContainer","Items","isVisible","Item","ItemLink","ShowMore","itemCount","IconList","toggle","showLessText","showMoreText","enableToggle","showMore","setShowMore","handleToggleClick","ratio","isToggled","clickHandler","additionalProps","Pointer","as","Label","IndexLink","LinkLabel","IconWrapper","IndexList","scrollToOffset","setTargetPos","useScrollTo","useMediaQueries","topOffset","setTopOffset","handleLinkClick","preventDefault","getAttribute","getElementById","split","top","scrollY","url","URL","location","hash","history","pushState","header","querySelector","navbarIdent","isStickable","getNavbarState","navbarHeights","getFullNavbarHeights","ArrowDown","Intro","abstract","isStackable","clampAbstract","clampText","TitleIcon","NavBlock","customTitleIcon","Fragment","NavList","CARD_MIN_WIDTH","CARD_MAX_WIDTH","MEDIA_QUERIES","NumberListCard","digit","Callout","NumberList","useContext","ThemeContext","numbersRef","customMediaQueries","section","Parallax","hAlign","contentWidth","wrapperLarge","ParallaxBackground","moveRatio","direction","isLoaded","setIsLoaded","yTransform","setYTransform","cRef","setContainerRef","parallaxRef","isNaN","prevEl","previousElementSibling","bgIdent","dataset","stackIdent","setAttribute","handleScroll","containerPos","offset","transform","Container","figure","verticallyCentered","imageTextGradientCentered","wrapperWhitespace","Poster","horizontallyCentered","maxTitleLines","maxTextLines","ItemList","ItemBlock","ListHead","Price","PriceBlock","price","PriceList","isHighlighted","PriceTag","hasBackground","mode","Tag","PriceTable","priceTagCount","Source","Quote","source","citeUrl","cite","ImageWrapper","SimpleImage","getColors","Cards","FollowUs","Heading","InstagramIcon","SocialWall","hashTag","followUs","socialIcon","Instagram","TableSection","TableWrapper","Table","tableItems","TableBlock","Figure","Video","VideoBlock","isSplitted","Teaser","video","hasVideo","isValidArray","urls","viewRef","setLoaded","isVideoActive","setVideoActive","isObserverSupported","useObserverSupport","useUpdateEffect","entry","viewEl","mapToTeaserBgMode","move","muted","autoPlay","loop","onCanPlayThrough","aspectRatios","titleHyphens","preventSplit","getGridColOfContent","gridWidth","WideVideo","xxlarge","WideImage","seperation","padding","TeaserWide","TimelineBlock","isSwitched","isActive","TimelineText","ItemTitle","ItemTextBlock","Timeline","targetRefs","setTargetRefs","observerSupported","observerRef","activeItem","setActiveItem","forEach","findIndex","t","disconnect","Array","fill","_","createRef","bgImage","embedId","playIcon","consentText","consentAction","onPlay","VideoCard","VideoContainer","Overlay","VideoControls","button","RawVideo","videoUrls","placeholderImg","autoplay","isStarted","setIsStarted","controls","Play","MapSection","MapContainer","CardWrapper","CardContainer","InfoCardView","CardHeader","ContactList","ContactListLink","AddressContainer","CompanyInfo","companyName","address","street","postalCode","city","country","Desc","LocationInfoCard","addressIcon","addressIconContent","LocationPin","phoneIconContent","telephone","Phone","mailIconContent","email","Mail","Controls","FylToCtrlContainer","Map","provider","attribution","center","zoom","flyToZoom","initialLocation","locations","allMarkersOnInit","fitBoundsPadding","flyToControl","controlNext","controlPrev","activeLocationId","setActiveLocationId","isDirty","setIsDirty","activeLocation","find","l","id","defaultMarker","anchor","sizeActive","anchorActive","getSVGData","useLeafletMap","activeMarkerId","markers","position","isInteractive","onMarkerClick","setMapContainer","setContainer","flyToActive","showAllMarkers","goToNext","currentIndex","newIndex","goToPrevious","generateLocalBusiness","stopPropagation","name","isDisabled","Icons","HtmlCode","html","dangerouslySetInnerHTML","__html"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sections.js","sources":["../src/components/sections/Accordion.tsx","../src/components/blocks/Alert.tsx","../src/components/sections/AlertList.tsx","../src/components/sections/Article.tsx","../src/components/sections/CallToAction.tsx","../src/components/sections/CardList.tsx","../src/components/sections/ComparisonSlider.tsx","../src/components/blocks/PromotionCard.tsx","../src/components/sections/CrossPromotion.tsx","../src/components/blocks/Fact.tsx","../src/components/sections/FactGrid.tsx","../src/components/sections/FactList.tsx","../src/components/blocks/Feature.tsx","../src/components/sections/FeatureList.tsx","../src/components/sections/Gallery.tsx","../src/components/sections/IconList.tsx","../src/components/sections/IndexList.tsx","../src/components/sections/Intro.tsx","../src/components/blocks/NavBlock.tsx","../src/components/sections/NavList.tsx","../src/components/sections/NumberList.tsx","../src/components/sections/ParallaxBackground.tsx","../src/components/sections/Poster.tsx","../src/components/sections/PriceList.tsx","../src/components/blocks/PriceTag.tsx","../src/components/sections/PriceTable.tsx","../src/components/sections/Quote.tsx","../src/components/sections/SimpleImage.tsx","../src/components/sections/SocialWall.tsx","../src/components/sections/Table.tsx","../src/components/sections/Teaser.tsx","../src/components/sections/TeaserWide.tsx","../src/components/sections/Timeline.tsx","../src/components/sections/Video.tsx","../src/components/sections/RawVideo.tsx","../src/components/sections/Map.tsx","../src/components/sections/HtmlCode.tsx"],"sourcesContent":["import Plus from 'components/base/icons/Plus';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { spacings, getColors as color, mq } from 'utils/styles';\nimport Minus from 'components/base/icons/Minus';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { generateFAQ } from 'utils/structuredData';\nimport Grid, { gridSettings } from 'components/base/Grid';\n\nconst AccordionContainer = styled.div`\n margin: 0;\n padding: 0;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst View = styled.details``;\n\nconst AccordionHead = styled.summary<{\n isInverted?: boolean;\n hasBg?: boolean;\n}>`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n padding: ${spacings.nudge * 2}px;\n margin: 0;\n border: none;\n outline: none;\n background: none;\n user-select: none;\n list-style: none;\n\n background: ${({ isInverted, hasBg, theme }) =>\n isInverted || hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n\n cursor: pointer;\n transition: background 0.2s ease-in-out;\n\n @media ${mq.medium} {\n padding: ${spacings.nudge * 3}px;\n }\n\n &::-webkit-details-marker {\n display: none;\n }\n\n &::marker {\n display: none;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n background: ${({ theme, isInverted, hasBg }) =>\n isInverted || hasBg\n ? color(theme).elementBg.lightHover\n : color(theme).elementBg.mediumHover};\n }\n }\n\n &:focus {\n background: ${({ theme, isInverted, hasBg }) =>\n isInverted || hasBg\n ? color(theme).elementBg.lightHover\n : color(theme).elementBg.mediumHover};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst Column = styled(Copy)`\n flex: 1 1 0;\n`;\n\nconst AccordionText = styled.div<{\n isInverted?: boolean;\n hasBg?: boolean;\n hasAside?: boolean;\n}>`\n display: flex;\n flex-direction: column;\n padding: ${spacings.nudge * 2}px;\n margin-top: 2px;\n background: ${({ isInverted, hasBg, theme }) =>\n isInverted || hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n\n & > * {\n max-width: 880px;\n }\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n padding: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.semilarge} {\n flex-direction: row;\n\n & > * + * {\n margin-top: 0px;\n margin-left: ${gridSettings.gutter}px;\n }\n }\n`;\n\ninterface AccordionItem {\n label?: string;\n text?: string;\n aside?: string;\n}\n\nconst AccordionBlock: React.FC<\n AccordionItem & {\n isSelected?: boolean;\n onClick?: () => void;\n isInverted?: boolean;\n hasBg?: boolean;\n itemIcon?: (props: { isSelected: boolean }) => React.ReactNode;\n className?: string;\n }\n> = ({\n label,\n text,\n aside,\n isSelected,\n onClick,\n hasBg,\n isInverted,\n itemIcon,\n className,\n}) => {\n const { colors } = useLibTheme();\n\n return (\n <View open={isSelected} onToggle={onClick} className={className}>\n <AccordionHead isInverted={isInverted} hasBg={hasBg}>\n <Copy renderAs=\"span\" size=\"big\" type=\"copy-b\">\n {label}\n </Copy>\n <span>\n {itemIcon ? (\n itemIcon({ isSelected: isSelected || false })\n ) : isSelected ? (\n <Minus iconColor={colors.text.default} />\n ) : (\n <Plus iconColor={colors.text.default} />\n )}\n </span>\n </AccordionHead>\n <AccordionText\n isInverted={isInverted}\n hasBg={hasBg}\n hasAside={!!aside}\n >\n {text && <Column type=\"copy\" innerHTML={text} />}\n {aside && <Column type=\"copy\" innerHTML={aside} />}\n </AccordionText>\n </View>\n );\n};\n\nconst Accordion: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of accordion items */\n items?: AccordionItem[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom item state icon */\n itemIcon?: (props: { isSelected: boolean }) => React.ReactNode;\n}> = ({ anchorId, items, bgMode, itemIcon }) => {\n const [currentItems, setCurrentItems] = React.useState<number[]>([]);\n\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n {items && generateFAQ(items)}\n <Wrapper addWhitespace>\n <Grid.Row gutter={0}>\n <Grid.Col>\n <AccordionContainer aria-label=\"Accordion Control Group Buttons\">\n {items?.map(({ label, text, aside }, i) => {\n const isSelected =\n currentItems.indexOf(i) !== -1;\n return (\n <AccordionBlock\n key={`${label}_${i}`}\n isSelected={isSelected}\n label={label}\n text={text}\n aside={aside}\n onClick={() => {\n setCurrentItems((prev) => {\n const copy = [...prev];\n const index = copy.indexOf(i);\n if (index === -1) {\n copy.push(i);\n } else {\n copy.splice(index, 1);\n }\n return copy;\n });\n }}\n isInverted={isInverted}\n hasBg={hasBg}\n itemIcon={itemIcon}\n />\n );\n })}\n </AccordionContainer>\n </Grid.Col>\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const AccordionComponent = Accordion;\nexport default withLibTheme(Accordion);\n","import Copy from 'components/typography/Copy';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React from 'react';\nimport styled from 'styled-components';\nimport {\n getColors as color,\n getGlobals as global,\n spacings,\n} from 'utils/styles';\nimport StatusFormatter from '../../utils/statusFormatter';\nimport Info from '../base/icons/Info';\n\nconst View = styled.div<{ isInverted?: boolean }>`\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n text-decoration: none;\n\n position: relative;\n border: 2px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n padding: ${spacings.nudge * 3}px;\n\n text-align: left;\n width: 100%;\n cursor: pointer;\n\n transition: color ease-in-out 0.2s, border 0.2s ease-in-out;\n\n & > * + * {\n margin-left: ${spacings.nudge * 3}px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n border: 2px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n }\n`;\n\nconst Icon = styled.div`\n display: flex;\n align-items: center;\n\n & > * {\n height: 48px;\n width: 48px;\n }\n`;\n\nconst MainLabel = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst Content = styled.div`\n margin-top: ${spacings.nudge}px;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst Title = styled(Copy)`\n display: inline-block;\n`;\n\nconst ViewLink = styled(Link)`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n && {\n margin: 0;\n }\n\n &:focus-within {\n outline: dotted 2px\n ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 4px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n`;\n\nexport interface AlertProps {\n /** Invert colors for use on dark backgrounds */\n isInverted?: boolean;\n\n /** Alert title text */\n title?: string;\n\n /** Alert date */\n date?: Date;\n\n /** Additional description text (richtext) */\n description?: string;\n\n /** Alert link that covers hole element */\n link?: LinkProps;\n\n /** Function to inject custom alert icon */\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}\n\nconst Alert: React.FC<AlertProps & { className?: string }> = ({\n isInverted,\n title,\n date,\n description,\n link,\n customIcon,\n className,\n}) => {\n let formattedDate = '';\n if (date) {\n const formatter = new StatusFormatter(\n date.getTime(),\n '',\n 'dd. MMMM yyyy',\n 'hh:mm',\n 'de'\n );\n formattedDate = formatter.getFormattedDate();\n }\n\n return (\n <View isInverted={isInverted} data-sheet=\"alert\" className={className}>\n <Icon>{customIcon ? customIcon({ isInverted }) : <Info />}</Icon>\n <MainLabel>\n {title && (\n <Title textColor=\"inherit\" size=\"medium\" type=\"copy-b\">\n {title}\n </Title>\n )}\n </MainLabel>\n <span />\n <Content>\n {description && (\n <Copy\n isInverted={isInverted}\n size=\"small\"\n innerHTML={description}\n />\n )}\n {date && (\n <Copy size=\"small\" isInverted={isInverted}>\n {formattedDate}\n </Copy>\n )}\n </Content>\n {link && (\n <ViewLink\n {...link}\n ariaLabel={link?.href ? title : undefined}\n />\n )}\n </View>\n );\n};\n\nexport default Alert;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport { mq, spacings } from 'utils/styles';\nimport Wrapper from 'components/base/Wrapper';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Alert, { AlertProps } from '../blocks/Alert';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\n\nconst List = styled.ul`\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.nudge * 2}px;\n padding: 0;\n list-style: none;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n flex-wrap: wrap;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n }\n`;\n\nconst ListItem = styled.li<{ itemsPerRow: number }>`\n padding-top: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n flex: 1 1 100%;\n\n @media ${mq.medium} {\n flex: 0 1 50%;\n max-width: 50%;\n\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n }\n\n @media ${mq.large} {\n flex: 0 1 ${({ itemsPerRow }) => (1 / itemsPerRow) * 100}%;\n max-width: 600px;\n\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n }\n`;\n\nconst AlertList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of alert items */\n items?: Pick<AlertProps, 'title' | 'date' | 'description' | 'link'>[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom alert icon */\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}> = ({ anchorId, items, bgMode, customIcon }) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const alertCount = items?.length || 0;\n const itemsPerRow = alertCount % 3 === 1 || alertCount === 2 ? 2 : 3;\n\n const { sheetRefs: alertRefs } = useEqualSheetHeight<HTMLLIElement>({\n listLength: alertCount,\n identifiers: ['[data-sheet=\"alert\"]'],\n responsive: {\n small: 1,\n medium: 2,\n semilarge: 2,\n large: itemsPerRow,\n xlarge: itemsPerRow,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <List>\n {items?.map((item, i) => (\n <ListItem\n key={i}\n itemsPerRow={itemsPerRow}\n ref={alertRefs[i]}\n >\n <Alert\n {...item}\n isInverted={isInverted}\n customIcon={customIcon}\n />\n </ListItem>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const AlertListComponent = AlertList;\nexport default withLibTheme(AlertList);\n","import * as React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Title, { TitleSize } from 'components/blocks/Title';\nimport Copy from 'components/typography/Copy';\nimport Wrapper from 'components/base/Wrapper';\nimport { spacings, mq } from 'utils/styles';\nimport Actions from 'components/blocks/Actions';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\n\nconst StyledTitle = styled(Title)`\n &:not(:last-child) {\n margin-bottom: ${spacings.spacer}px;\n }\n\n @media ${mq.semilarge} {\n max-width: 880px;\n }\n`;\n\nconst ContentText = styled(Copy)`\n text-align: left;\n`;\n\nconst StyledActions = styled(Actions)`\n margin-top: ${spacings.spacer}px;\n`;\n\nconst Article: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n /** Main title text */\n title?: string;\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n /** Main title size */\n titleSize?: TitleSize;\n /** Superior title that stands above main title */\n superTitle?: string;\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n /** Bold intro text underneath the title (limited richtext capabilites) */\n intro?: string;\n /** Main article richtext */\n text?: string;\n /** Additional article richtext in a second column */\n asideText?: string;\n /** Controls width of left text column (8/12 or 6/12) */\n halfAside?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'splitted' | 'inverted';\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n title,\n titleAs = 'h2',\n titleSize = 'heading-2',\n superTitle,\n superTitleAs,\n intro,\n text,\n asideText,\n halfAside,\n bgMode,\n primaryAction,\n secondaryAction,\n}) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasContent = intro || text || asideText;\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n {(title || superTitle) && (\n <StyledTitle\n title={title}\n titleAs={titleAs}\n titleSize={titleSize}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n colorMode={isInverted ? 'inverted' : 'default'}\n />\n )}\n {hasContent && (\n <Grid.Row valign=\"top\">\n <Grid.Col\n semilarge={{ span: halfAside ? 6 / 12 : 8 / 12 }}\n >\n {intro && (\n <ContentText\n type=\"copy-b\"\n isInverted={isInverted}\n innerHTML={intro}\n />\n )}\n {text && (\n <ContentText\n type=\"copy\"\n isInverted={isInverted}\n innerHTML={text}\n />\n )}\n </Grid.Col>\n {asideText && (\n <Grid.Col\n semilarge={{\n span: halfAside ? 6 / 12 : 4 / 12,\n }}\n >\n <ContentText\n type=\"copy\"\n isInverted={isInverted}\n innerHTML={asideText}\n />\n </Grid.Col>\n )}\n </Grid.Row>\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const ArticleComponent = Article;\nexport default withLibTheme(Article);\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport { getGlobals as global, mq, spacings } from 'utils/styles';\nimport Copy from 'components/typography/Copy';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport IntroBlock from 'components/blocks/IntroBlock';\nimport Actions from 'components/blocks/Actions';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { gridSettings, getGridWidth } from 'components/base/Grid';\n\nconst ContactView = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: 0 auto;\n width: 100%;\n\n text-align: left;\n hyphens: auto;\n overflow-wrap: break-word;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.semilarge} {\n flex-direction: row;\n\n & > * + * {\n margin-top: 0px;\n margin-left: ${gridSettings.gutter}px;\n }\n }\n`;\n\nconst Avatar = styled.img<{ isInverted?: boolean }>`\n align-self: center;\n display: block;\n border: solid 1px transparent;\n border-radius: 50%;\n width: 180px;\n height: 180px;\n\n background: ${({ theme, isInverted }) =>\n isInverted\n ? global(theme).sections.imagePlaceholderBg.inverted\n : global(theme).sections.imagePlaceholderBg.default};\n\n @media ${mq.semilarge} {\n display: block;\n width: 190px;\n height: 190px;\n }\n`;\n\nconst Description = styled(Copy)`\n text-align: center;\n\n .icon-label {\n flex-direction: column;\n }\n\n .icon-label > * + * {\n margin-left: 0;\n margin-top: ${spacings.nudge * 2}px;\n }\n\n & > * {\n justify-content: center;\n }\n\n @media ${mq.semilarge} {\n text-align: left;\n\n & > * {\n justify-content: left;\n }\n\n .icon-label {\n flex-direction: row;\n }\n\n .icon-label > * + * {\n margin-left: ${spacings.nudge * 2}px;\n margin-top: 0;\n }\n }\n`;\n\nexport interface ContactBoxProps {\n isInverted?: boolean;\n description?: string;\n avatar?: { src: string; alt: string };\n}\n\nconst ContactBox: FC<ContactBoxProps & { className?: string }> = ({\n isInverted,\n description,\n avatar,\n className,\n}) => {\n return (\n <ContactView className={className}>\n <Avatar\n src={avatar?.src}\n alt={avatar?.alt}\n isInverted={isInverted}\n />\n {description && (\n <Description\n type=\"copy\"\n isInverted={isInverted}\n innerHTML={description}\n />\n )}\n </ContactView>\n );\n};\n\nconst StyledIntro = styled(IntroBlock)<{ hasDecorator?: boolean }>`\n max-width: 880px;\n margin-right: auto;\n margin-left: auto;\n\n @media ${mq.xlarge} {\n & > *:first-child {\n min-height: ${({ hasDecorator }) => hasDecorator && '110px'};\n }\n }\n`;\n\nconst StyledContactBox = styled(ContactBox)`\n margin-top: ${spacings.spacer}px;\n\n @media ${mq.semilarge} {\n max-width: ${getGridWidth({ cols: 8 })};\n margin-right: auto;\n margin-left: auto;\n }\n\n @media ${mq.large} {\n max-width: ${getGridWidth({ cols: 6 })};\n }\n`;\n\nconst StyledActions = styled(Actions)`\n margin-top: ${spacings.spacer}px;\n\n @media ${mq.medium} {\n display: block;\n text-align: center;\n }\n`;\n\nconst NewsletterWrapper = styled.div`\n width: 100%;\n margin: 0 auto;\n margin-top: ${spacings.spacer}px;\n\n @media ${mq.semilarge} {\n max-width: 400px;\n }\n`;\n\nconst Badge = styled.div`\n display: none;\n position: relative;\n height: 241px;\n width: 241px;\n margin-left: auto;\n margin-bottom: -135px;\n z-index: 3;\n\n @media ${mq.xlarge} {\n display: block;\n margin-right: ${1440 * (1 / 28) + 'px'};\n }\n`;\n\nexport interface CtaActionProps {\n isInverted?: boolean;\n isTextCentered?: boolean;\n}\n\nexport const CallToAction: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n /** Main title text */\n title?: string;\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n /** Superior title that stands above main title */\n superTitle?: string;\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n /** Bold text underneath the title (limited richtext capabilites) */\n text?: string;\n /** Props for contact area */\n contact?: ContactBoxProps;\n /** Show Newsletter defined by inject function newsFormMain. Only visible if React node is defined! */\n hasNewsletter?: boolean;\n /** Badge decorator visible only on large screens */\n badge?: React.ReactNode;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom primary button */\n primaryAction?: (props: CtaActionProps) => React.ReactNode;\n /** Function to inject custom secondary button */\n secondaryAction?: (props: CtaActionProps) => React.ReactNode;\n /** Function to inject newsletter form */\n newsFormMain?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n title,\n titleAs = 'h2',\n superTitle,\n superTitleAs,\n text,\n contact,\n badge,\n primaryAction,\n secondaryAction,\n hasNewsletter,\n newsFormMain,\n bgMode,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted ? colors.sectionBg.dark : colors.sectionBg.medium\n }\n bgMode={bgMode ? mapToBgMode(bgMode, true) : 'full'}\n >\n <Wrapper addWhitespace clampWidth=\"normal\">\n {badge && <Badge>{badge}</Badge>}\n {title && (\n <StyledIntro\n isCentered\n colorMode={isInverted ? 'inverted' : 'default'}\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n hasDecorator={!!badge}\n text={text}\n />\n )}\n\n {contact && (\n <StyledContactBox\n isInverted={isInverted}\n description={contact.description}\n avatar={contact.avatar}\n />\n )}\n {newsFormMain && hasNewsletter && (\n <NewsletterWrapper>\n {newsFormMain(isInverted)}\n </NewsletterWrapper>\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={\n primaryAction &&\n primaryAction({ isInverted, isTextCentered: true })\n }\n secondary={\n secondaryAction &&\n secondaryAction({\n isInverted,\n isTextCentered: true,\n })\n }\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const CallToActionComponent = CallToAction;\nexport default withLibTheme(CallToAction);\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Copy from 'components/typography/Copy';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport {\n spacings,\n getColors as color,\n mq,\n getGlobals as global,\n} from 'utils/styles';\n\nconst View = styled.div<{\n isInverted?: boolean;\n cardColor?: string;\n hasLink?: boolean;\n}>`\n display: flex;\n flex-direction: column;\n justify-content: center;\n position: relative;\n color: ${({ theme }) => color(theme).text.inverted};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n min-height: 110px;\n\n overflow: hidden;\n\n @media ${mq.medium} {\n display: block;\n padding-top: 85%;\n }\n`;\n\nconst SolidView = styled(View)`\n background-color: ${({ theme, isInverted, cardColor }) =>\n cardColor\n ? cardColor\n : isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;\n\n ${({ hasLink }) =>\n hasLink &&\n css`\n cursor: pointer;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n }\n }\n `}\n`;\n\nconst ImageView = styled(View)`\n transition: box-shadow 0.2s ease-in-out;\n\n ${({ hasLink }) =>\n hasLink &&\n css`\n @media (hover: hover) and (pointer: fine) {\n cursor: pointer;\n\n img {\n -webkit-backface-visibility: hidden;\n -ms-transform: translateZ(0); /* IE 9 */\n -webkit-transform: translateZ(\n 0\n ); /* Chrome, Safari, Opera */\n transform: translateZ(0);\n transform-origin: center;\n transition: transform 0.2s ease-in-out;\n }\n\n &:hover {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n\n img {\n transform: scale(1.03);\n }\n }\n }\n `}\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background: ${({ theme }) => global(theme).sections.imageTextGradient};\n pointer-events: none;\n }\n\n @media ${mq.medium} {\n padding-top: 0;\n }\n`;\n\nconst StyledImage = styled(Image)`\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n\n display: block;\n width: 100%;\n height: 100%;\n\n object-fit: cover;\n object-position: center;\n\n @media ${mq.medium} {\n position: relative;\n }\n`;\n\nconst Content = styled.div<{ hasIcon?: boolean }>`\n z-index: 1;\n\n padding: ${spacings.nudge * 3}px;\n\n display: flex;\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: hidden;\n\n display: flex;\n flex-direction: ${({ hasIcon }) => (hasIcon ? 'column' : 'row')};\n justify-content: space-between;\n align-items: ${({ hasIcon }) => (hasIcon ? 'flex-start' : 'flex-end')};\n\n & > * + * {\n margin-left: 0;\n }\n }\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n overflow: hidden;\n\n & > * + * {\n margin-top: ${spacings.nudge / 2}px;\n }\n`;\n\nconst Title = styled(Copy)`\n display: inline-block;\n max-width: 100%;\n\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n text-overflow: ellipsis;\n overflow: hidden;\n`;\n\nconst Footer = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst SubLabel = styled(Copy)`\n display: inline-block;\n\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n`;\n\nconst Icon = styled.div`\n height: 100%;\n max-height: 60px;\n min-height: 40px;\n min-width: 40px;\n\n * {\n height: 100%;\n }\n\n svg,\n img {\n width: 100%;\n }\n\n @media ${mq.medium} {\n svg,\n img {\n width: auto;\n }\n }\n`;\n\nconst CardLink = styled(Link)<{ isInverted?: boolean }>`\n z-index: 1;\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n outline-color: ${({ theme }) => color(theme).primary.default};\n\n &:focus {\n border: 2px dotted ${({ theme }) => color(theme).primary.invertedHover};\n outline-offset: 4px;\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n`;\n\nexport interface CardProps {\n isInverted?: boolean;\n title?: string;\n subLabel?: string;\n image?: ImageProps;\n link?: LinkProps;\n decorator?: (props: { isInverted?: boolean }) => React.ReactNode;\n cardColor?: string;\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}\n\nconst Card: React.FC<\n Omit<CardProps, 'coverSpace' | 'ratios'> & {\n className?: string;\n }\n> = ({\n isInverted,\n title,\n subLabel,\n image,\n link,\n decorator,\n cardColor,\n customIcon,\n}) => {\n const { colors } = useLibTheme();\n const CardView = image && image.small ? ImageView : SolidView;\n const defaultCardColor = isInverted\n ? colors.primary.inverted\n : colors.primary.default;\n\n return (\n <CardView\n isInverted={isInverted}\n cardColor={cardColor || defaultCardColor}\n hasLink={!!link?.href}\n >\n {image?.small && (\n <StyledImage\n {...image}\n coverSpace\n isInverted={isInverted}\n ratios={{\n small: { w: 352, h: 108 },\n medium: { w: 286, h: 244 },\n }}\n />\n )}\n <Content hasIcon={!!customIcon}>\n {customIcon ? <Icon>{customIcon({})}</Icon> : ''}\n <TextContainer>\n {title && (\n <Title size=\"big\" type=\"copy\" isInverted>\n {title}\n </Title>\n )}\n {subLabel && (\n <Footer>\n <SubLabel type=\"copy-b\" size=\"big\" isInverted>\n {subLabel}\n </SubLabel>\n {decorator ? decorator({ isInverted }) : undefined}\n </Footer>\n )}\n </TextContainer>\n </Content>\n {link?.href && (\n <CardLink\n isInverted={isInverted}\n {...link}\n ariaLabel={title || undefined}\n />\n )}\n </CardView>\n );\n};\n\nconst List = styled.ul`\n padding: 0;\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.nudge * 2}px;\n list-style: none;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n flex-wrap: wrap;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n }\n`;\n\nconst CardItem = styled.li<{ isEqual?: boolean; threeCols?: boolean }>`\n padding-top: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n\n width: 100%;\n\n @media ${mq.medium} {\n flex: 0 0 50%;\n max-width: 370px;\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n }\n\n @media ${mq.semilarge} {\n flex: 0 0 33.33%;\n }\n\n @media (min-width: 75em) {\n flex: ${({ isEqual, threeCols }) =>\n threeCols ? '0 0 33.33%' : isEqual && '0 0 25%'};\n }\n`;\n\nconst CardList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with card item settings */\n items?: Omit<CardProps, 'decorator' | 'isInverted'>[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom decoration icon */\n decorator?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n /** Force maximal three items per row */\n maxThreeCols?: boolean;\n}> = ({ anchorId, items, bgMode, decorator, maxThreeCols }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n addSeperation\n >\n <Wrapper addWhitespace>\n <List>\n {items?.map((item, i) => (\n <CardItem\n key={i}\n isEqual={items.length % 2 === 0}\n threeCols={maxThreeCols}\n >\n <Card\n {...item}\n isInverted={isInverted}\n decorator={decorator}\n />\n </CardItem>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const CardListComponent = CardList;\nexport default withLibTheme(CardList);\n","import React, { FC, useEffect, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { getColors as color, spacings } from 'utils/styles';\nimport ArrowLeftRight from 'components/base/icons/ArrowLeftRight';\nimport Copy from 'components/typography/Copy';\nimport useIE from 'utils/useIE';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst clamp = (num: number, min: number, max: number) => {\n return Math.min(Math.max(num, min), max);\n};\n\nconst Images = styled.div`\n position: relative;\n cursor: col-resize;\n & > * {\n pointer-events: none;\n user-select: none;\n }\n`;\n\nconst BackgroundImg = styled(Image)`\n position: relative;\n display: block;\n width: 100%;\n`;\n\nconst ForegroundContainer = styled.div<{\n hasTransition?: boolean;\n initalValue?: number;\n hasAnim?: boolean;\n}>`\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 50%;\n overflow: hidden;\n transition: width ${({ hasTransition }) => (hasTransition ? 0.1 : 0)}s\n ease-in-out;\n ${({ hasAnim, initalValue }) =>\n hasAnim &&\n css`\n animation-name: ForegroundAnim;\n animation-duration: 5s;\n animation-iteration-count: 1;\n animation-play-state: ${hasAnim && 'running'};\n animation-timing-function: ease-in-out;\n @keyframes ForegroundAnim {\n 0% {\n width: ${initalValue\n ? clamp(initalValue * 100, 0, 100) + '%'\n : '50%'};\n }\n 33% {\n width: ${initalValue\n ? clamp(initalValue * 100 + 10, 0, 100) + '%'\n : '60%'};\n }\n 66% {\n width: ${initalValue\n ? clamp(initalValue * 100 - 10, 0, 100) + '%'\n : '40%'};\n }\n 100% {\n width: ${initalValue ? initalValue * 100 + '%' : '50%'};\n }\n }\n `}\n`;\n\nconst ForegroundImg = styled(Image)`\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n max-width: none;\n object-fit: cover;\n\n img {\n height: auto;\n width: auto;\n }\n`;\n\nconst ForegroundOverlay = styled.div<{ color: string }>`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: ${({ color }) => color};\n`;\n\nconst ImageLabel = styled(Copy)<{ bgColor?: string }>`\n height: ${spacings.spacer}px;\n padding: ${spacings.nudge}px ${spacings.spacer}px ${spacings.spacer}px\n ${spacings.spacer}px;\n background: ${({ bgColor }) => bgColor && bgColor};\n`;\n\nconst ForegroundLabel = styled(ImageLabel)`\n position: absolute;\n bottom: ${spacings.spacer}px;\n left: ${spacings.spacer}px;\n pointer-events: none;\n white-space: nowrap;\n`;\n\nconst BackgroundLabel = styled(ImageLabel)`\n position: absolute;\n bottom: ${spacings.spacer}px;\n right: ${spacings.spacer}px;\n pointer-events: none;\n white-space: nowrap;\n`;\n\nconst ControlContainer = styled.div<{\n hasTransition?: boolean;\n hasAnim?: boolean;\n initalValue?: number;\n}>`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n transition: left ${({ hasTransition }) => (hasTransition ? 0.1 : 0)}s\n ease-in-out;\n ${({ hasAnim, initalValue }) =>\n hasAnim &&\n css`\n animation-name: ControlAnim;\n animation-duration: 5s;\n animation-iteration-count: 1;\n animation-play-state: ${hasAnim && 'running'};\n animation-timing-function: ease-in-out;\n @keyframes ControlAnim {\n 0% {\n left: ${initalValue\n ? clamp(initalValue * 100, 0, 100) + '%'\n : '50%'};\n }\n 33% {\n left: ${initalValue\n ? clamp(initalValue * 100 + 10, 0, 100) + '%'\n : '60%'};\n }\n 66% {\n left: ${initalValue\n ? clamp(initalValue * 100 - 10, 0, 100) + '%'\n : '40%'};\n }\n 100% {\n left: ${initalValue ? initalValue * 100 + '%' : '50%'};\n }\n }\n `}\n`;\n\nconst Control = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n height: 54px;\n width: 54px;\n border: solid 2px ${({ theme }) => color(theme).elementBg.light};\n border-radius: 50%;\n background-color: ${({ theme }) => color(theme).elementBg.medium};\n`;\n\nconst ComparisonSlider: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n bgMode?: 'full' | 'inverted' | 'splitted';\n initialValue?: number;\n foregroundImg?: ImageProps;\n backgroundImg?: ImageProps;\n foregroundLabel?: string;\n backgroundLabel?: string;\n overlayColor?: string;\n labelColor?: string;\n dragControl?: React.ReactNode;\n enableControlAnim?: boolean;\n}> = ({\n anchorId,\n bgMode,\n initialValue,\n foregroundImg,\n backgroundImg,\n foregroundLabel,\n backgroundLabel,\n overlayColor = 'rgba(0, 0 , 0, 0.2)',\n labelColor = 'rgba(0, 0 , 0, 0.3)',\n dragControl,\n enableControlAnim,\n}) => {\n const isIE = useIE(true);\n const [slideValue, setSlideValue] = useState<number>(\n initialValue ? Math.min(Math.max(initialValue, 0), 1) : 0.5\n );\n const [isHolding, setIsHolding] = useState<boolean>(false);\n const [isDragging, setIsDragging] = useState<boolean>(false);\n const [interacted, setInteracted] = useState<boolean>(true);\n const [sideOffset, setSideOffset] = useState<number>(0);\n const controlRef = useRef<HTMLDivElement | null>(null);\n const { colors } = useLibTheme();\n\n useEffect(() => {\n if (controlRef.current) {\n setSideOffset(controlRef.current.offsetWidth / 2);\n }\n }, []);\n\n useEffect(() => {\n const handleInitalLoad = () => {\n const options = {\n rootMargin: '0px',\n threshold: 1.0,\n };\n\n const observer = new IntersectionObserver((entries, observer) => {\n if (enableControlAnim && entries[0]?.isIntersecting) {\n // if control is first fully visible\n observer.unobserve(entries[0]?.target);\n setInteracted(false);\n }\n }, options);\n if (controlRef.current) observer.observe(controlRef.current);\n window.removeEventListener('load', handleInitalLoad);\n };\n\n // wait unitl user has scrolled once\n if (!isIE) {\n if (document.readyState === 'complete') handleInitalLoad();\n else window.addEventListener('load', handleInitalLoad);\n }\n\n return () => {\n window.removeEventListener('load', handleInitalLoad);\n };\n }, [enableControlAnim, isIE]);\n\n const setCurrentPos = (target: EventTarget & Element, clientX: number) => {\n if (target && clientX) {\n const relativeClientX = clientX - target.getBoundingClientRect().x;\n\n // check side offset\n if (\n relativeClientX >= sideOffset &&\n relativeClientX <=\n target.getBoundingClientRect().width - sideOffset\n ) {\n let percentage =\n relativeClientX / target.getBoundingClientRect().width;\n percentage = Math.min(Math.max(percentage, 0), 1);\n\n setSlideValue(percentage);\n }\n }\n };\n\n const handleClick = (ev: React.MouseEvent) => {\n const target = ev.currentTarget;\n if (target && ev.clientX) {\n setCurrentPos(target, ev.clientX);\n setInteracted(true);\n }\n };\n\n const handleMouseMove = (ev: React.MouseEvent) => {\n const target = ev.currentTarget;\n if (target && ev.clientX && isHolding) {\n setIsDragging(true);\n setInteracted(true);\n if (isDragging) setCurrentPos(target, ev.clientX);\n }\n };\n\n const handleTouchMove = (ev: React.TouchEvent<HTMLDivElement>) => {\n const target = ev.currentTarget;\n if (target && ev.touches[0]?.clientX) {\n setInteracted(true);\n setCurrentPos(target, ev.touches[0]?.clientX);\n }\n };\n\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper>\n {backgroundImg && foregroundImg && (\n <Images\n onClick={handleClick}\n onMouseMove={handleMouseMove}\n onMouseDown={() => {\n setIsDragging(false);\n setIsHolding(true);\n }}\n onMouseUp={() => {\n setIsDragging(false);\n setIsHolding(false);\n }}\n onMouseLeave={() => {\n setIsHolding(false);\n setIsDragging(false);\n }}\n onTouchMove={handleTouchMove}\n onTouchStart={() => setIsHolding(true)}\n onTouchEnd={() => setIsHolding(false)}\n >\n <BackgroundImg {...backgroundImg} />\n {backgroundLabel && (\n <BackgroundLabel\n textColor={colors.text.inverted}\n bgColor={labelColor}\n >\n {backgroundLabel}\n </BackgroundLabel>\n )}\n <ForegroundContainer\n hasTransition={!isHolding}\n hasAnim={!interacted}\n initalValue={initialValue}\n style={{ width: slideValue * 100 + '%' }}\n >\n <ForegroundImg {...foregroundImg} />\n {foregroundLabel && (\n <ForegroundLabel\n textColor={colors.text.inverted}\n bgColor={labelColor}\n >\n {foregroundLabel}\n </ForegroundLabel>\n )}\n <ForegroundOverlay color={overlayColor} />\n </ForegroundContainer>\n <ControlContainer\n ref={controlRef}\n hasTransition={!isHolding}\n hasAnim={!interacted}\n initalValue={initialValue}\n style={{ left: slideValue * 100 + '%' }}\n >\n {dragControl ? (\n dragControl\n ) : (\n <Control>\n <ArrowLeftRight\n iconColor={colors.elementBg.light}\n />\n </Control>\n )}\n </ControlContainer>\n </Images>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const ComparisonSliderComponent = ComparisonSlider;\nexport default withLibTheme(ComparisonSlider);\n","import React, { forwardRef } from 'react';\nimport ReactDOMServer from 'react-dom/server';\nimport styled, { css } from 'styled-components';\n\nimport {\n spacings,\n getGlobals as global,\n mq,\n withRange,\n getColors as color,\n} from 'utils/styles';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport Title from 'components/blocks/Title';\nimport External from 'components/base/icons/External';\nimport { HeadlineTag } from 'components/typography/Heading';\n\nconst View = styled(Link)<{\n clickable?: boolean;\n}>`\n display: block;\n position: relative;\n width: 100%;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n outline: none;\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background: ${({ theme }) => global(theme).sections.imageTextGradient};\n pointer-events: none;\n }\n\n ${({ clickable, theme, isInverted }) =>\n clickable &&\n css`\n transition: box-shadow 0.2s ease-in-out;\n cursor: pointer;\n\n &:hover {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n }\n\n &:focus {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n outline: solid 2px\n ${isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 4px;\n\n color: ${isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n `}\n`;\n\nconst StyledImage = styled(Image)`\n width: 100%;\n height: 100%;\n min-height: 300px;\n\n img {\n height: 100%;\n }\n`;\n\nconst IntroContainer = styled.div`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: auto;\n z-index: 1;\n\n padding: ${spacings.spacer}px ${spacings.nudge * 3}px;\n\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n\n /* required to align items at flex-end in ie11 */\n &:before {\n content: '';\n display: block;\n flex: 1 0 0px;\n }\n\n @media ${mq.medium} {\n padding: ${spacings.nudge * 5}px ${spacings.spacer}px;\n }\n`;\n\nconst StyledTitle = styled(Title)<{ clampTitle?: boolean }>`\n max-width: ${({ clampTitle }) =>\n clampTitle && (13 / 28) * spacings.wrapper + 'px'};\n`;\n\nconst ExternalIconHolder = styled.span`\n margin-left: ${spacings.nudge * 2}px;\n\n & > * {\n display: inline-block;\n }\n`;\n\nconst Icon = styled.div`\n ${withRange([60, 100], 'height')};\n ${withRange([60, 100], 'width')};\n\n position: absolute;\n top: ${spacings.nudge * 3}px;\n left: ${spacings.nudge * 3}px;\n\n & > * {\n ${withRange([60, 100], 'height')};\n ${withRange([60, 100], 'width')};\n }\n\n color: ${({ theme }) => color(theme).text.inverted};\n`;\n\nexport interface PromotionCardProps {\n /** Setup Card for dark backgrounds */\n isInverted?: boolean;\n /** Card image settings */\n image: ImageProps;\n /** Card title */\n title?: string;\n /** Card title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n /** Superior card title that stands above main title */\n superTitle?: string;\n /** Superior card title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n /** Href path */\n href?: string;\n /** Advanced href options */\n link?: LinkProps;\n /** Inject custom icon that indicates an external link */\n externalLinkIcon?: React.ReactNode;\n\n /** Function to inject icon in top left corner */\n icon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}\n\nconst PromotionCard = forwardRef<\n HTMLAnchorElement,\n PromotionCardProps & { className?: string }\n>(\n (\n {\n isInverted,\n image,\n title,\n titleAs,\n superTitle,\n superTitleAs,\n href,\n link,\n externalLinkIcon,\n icon,\n className,\n },\n ref\n ) => {\n // fallback for older versions\n let linkObj = link;\n if (href && !link) {\n linkObj = {\n href: href,\n isExternal: false,\n };\n }\n\n const externalIconString = ReactDOMServer.renderToString(\n <ExternalIconHolder>\n {externalLinkIcon || <External />}\n </ExternalIconHolder>\n );\n\n return (\n <View\n ref={ref}\n clickable={!!href || !!link}\n {...linkObj}\n className={className}\n >\n <StyledImage {...image} isInverted={isInverted} coverSpace />\n {icon && <Icon>{icon({ isInverted })}</Icon>}\n {title && (\n <IntroContainer>\n <StyledTitle\n colorMode=\"onImage\"\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n title={\n linkObj?.isExternal\n ? title + externalIconString\n : title\n }\n titleAs={titleAs || 'div'}\n clampTitle\n />\n </IntroContainer>\n )}\n </View>\n );\n }\n);\n\nPromotionCard.displayName = 'PromotionCard';\n\nexport default PromotionCard;\n","import * as React from 'react';\nimport styled from 'styled-components';\n\nimport Grid, { gridSettings } from 'components/base/Grid';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\n\nimport PromotionCard, {\n PromotionCardProps,\n} from 'components/blocks/PromotionCard';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst Card = styled(PromotionCard)<{ isMain?: boolean }>`\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n\n height: ${({ isMain }) => isMain && '100%'};\n\n flex: 1 0 auto;\n\n & + & {\n margin-top: ${gridSettings.gutter}px;\n }\n`;\n\nconst CrossPromotion: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Promotion card settings in main grid column (default: on right side). The size prop controls the width. */\n main?: Array<\n Omit<PromotionCardProps, 'externalLinkIcon' | 'isInverted'> & {\n size?: 'full' | 'half';\n }\n >;\n\n /** Promotion card settings in second grid column (default: on left side). The size prop controls the width. */\n aside?: Array<\n Omit<PromotionCardProps, 'externalLinkIcon' | 'isInverted'> & {\n size?: 'full' | 'half';\n }\n >;\n\n /** Section background */\n bgMode?: 'full' | 'inverted' | 'splitted';\n\n /** Switching order of main and aside columns */\n isMirrored?: boolean;\n\n /** Inject custom icon that indicates an external link */\n externalLinkIcon?: React.ReactNode;\n}> = ({ anchorId, main, aside, bgMode, isMirrored, externalLinkIcon }) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, false, isMirrored)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n {aside ? (\n isMirrored ? (\n <Grid.Row>\n <Grid.Col semilarge={{ span: 6 / 12 }}>\n {main &&\n main.map((card, i) => (\n <Card\n key={i}\n isMain\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n ))}\n </Grid.Col>\n <Grid.Col semilarge={{ span: 6 / 12 }}>\n {aside.map((card, i) => (\n <Card\n key={i}\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n ))}\n </Grid.Col>\n </Grid.Row>\n ) : (\n <Grid.Row>\n <Grid.Col semilarge={{ span: 6 / 12 }}>\n {aside.map((card, i) => (\n <Card\n key={i}\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n ))}\n </Grid.Col>\n <Grid.Col semilarge={{ span: 6 / 12 }}>\n {main &&\n main.map((card, i) => (\n <Card\n key={i}\n isMain\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n ))}\n </Grid.Col>\n </Grid.Row>\n )\n ) : (\n main && (\n <Grid.Row>\n {main.map((card, i) => (\n <Grid.Col\n semilarge={{\n span:\n (card.size === 'half' ? 6 : 12) /\n 12,\n }}\n key={i}\n >\n <Card\n key={i}\n {...card}\n externalLinkIcon={externalLinkIcon}\n isInverted={isInverted}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n )\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const CrossPromotionComponent = CrossPromotion;\nexport default withLibTheme(CrossPromotion);\n","import React, { forwardRef } from 'react';\nimport styled from 'styled-components';\n\nimport { spacings, getGlobals as global } from 'utils/styles';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Copy from 'components/typography/Copy';\n\nconst View = styled.div``;\n\nconst ImageContainer = styled.div<{ isCentered?: boolean }>`\n display: flex;\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n margin-bottom: ${spacings.nudge * 3}px;\n max-width: 100%;\n`;\n\nconst StyledImage = styled(Image)`\n overflow: hidden;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n`;\n\nconst Content = styled.div<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Title = styled(Copy)``;\n\nconst SubTitle = styled(Copy)``;\n\nconst Text = styled(Copy)`\n ${SubTitle} + & {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nexport interface FactProps {\n isInverted?: boolean;\n isCentered?: boolean;\n title?: string;\n subTitle?: string;\n text?: string;\n image?: ImageProps;\n}\n\nconst Fact = forwardRef<\n HTMLDivElement,\n FactProps & {\n className?: string;\n }\n>(\n (\n {\n isInverted = false,\n isCentered = false,\n title,\n subTitle,\n text,\n image,\n className,\n },\n ref\n ) => {\n return (\n <View ref={ref} className={className}>\n {image?.small && (\n <ImageContainer isCentered={isCentered}>\n <StyledImage\n isInverted={isInverted}\n small={image.small}\n medium={image.medium}\n semilarge={image.semilarge}\n large={image.large}\n xlarge={image.xlarge}\n alt={image.alt}\n coverSpace={image.coverSpace}\n ratios={image.ratios}\n showPlaceholder={image.showPlaceholder}\n />\n </ImageContainer>\n )}\n <Content isCentered={isCentered}>\n {title && (\n <Title\n type=\"copy-b\"\n size=\"big\"\n isInverted={isInverted}\n data-sheet=\"title\"\n >\n {title}\n </Title>\n )}\n {subTitle && (\n <SubTitle\n type=\"copy-b\"\n isInverted={isInverted}\n data-sheet=\"subtitle\"\n >\n {subTitle}\n </SubTitle>\n )}\n {text && (\n <Text\n type=\"copy\"\n isInverted={isInverted}\n data-sheet=\"text\"\n innerHTML={text}\n />\n )}\n </Content>\n </View>\n );\n }\n);\n\nFact.displayName = 'Fact';\n\nexport default Fact;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport { mq } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Fact, { FactProps } from 'components/blocks/Fact';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport Grid from 'components/base/Grid';\n\nconst FactFill = styled.div`\n display: none;\n\n @media ${mq.large} {\n display: block;\n }\n`;\n\nconst FactGrid: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Controls amount columns on large screens */\n columns?: 3 | 4 | 6;\n\n /** Array with fact card data */\n facts?: Array<Omit<FactProps, 'isInverted' | 'isCentered'>>;\n\n /** Section background */\n bgMode?: 'full' | 'inverted' | 'splitted';\n\n /** Center text inside fact card items */\n isCentered?: boolean;\n}> = ({ anchorId, columns = 3, facts, bgMode, isCentered }) => {\n const { colors } = useLibTheme();\n const factCount = facts?.length || 0;\n\n const isInverted = bgMode === 'inverted';\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: factCount,\n identifiers: ['[data-sheet=\"title\"]', '[data-sheet=\"subtitle\"]'],\n responsive: {\n small: 1,\n medium: columns < 3 ? columns : 3,\n semilarge: columns < 4 ? columns : 4,\n large: columns,\n xlarge: columns,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <Grid.Row>\n {facts &&\n facts.map((fact, i) => {\n if (\n fact?.title ||\n fact?.subTitle ||\n fact?.image ||\n fact?.text\n ) {\n return (\n <Grid.Col\n key={i}\n medium={{ span: 4 / 12 }}\n semilarge={\n columns > 3\n ? { span: 3 / 12 }\n : { span: 4 / 12 }\n }\n large={{ span: 12 / columns / 12 }}\n >\n <Fact\n key={i}\n ref={cardRefs[i]}\n {...fact}\n isCentered={isCentered}\n isInverted={isInverted}\n />\n </Grid.Col>\n );\n } else {\n return (\n <Grid.Col\n key={i}\n medium={{ span: 4 / 12 }}\n semilarge={\n columns > 3\n ? { span: 3 / 12 }\n : { span: 4 / 12 }\n }\n large={{ span: 12 / columns / 12 }}\n >\n <FactFill ref={cardRefs[i]} key={i} />\n </Grid.Col>\n );\n }\n })}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const FactGridComponent = FactGrid;\nexport default withLibTheme(FactGrid);\n","import React from 'react';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport styled from 'styled-components';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { spacings, getColors as color, mq } from 'utils/styles';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\n\nconst FactsContainer = styled.ul`\n padding: 0;\n margin: 0;\n\n list-style-type: none;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst FactItem = styled.li<{ hasText?: boolean; hasBack?: boolean }>`\n padding: ${spacings.nudge * 2}px;\n\n background: ${({ theme, hasBack }) =>\n hasBack ? color(theme).elementBg.light : color(theme).elementBg.medium};\n\n display: flex;\n flex-direction: row;\n align-items: ${({ hasText }) => (hasText ? 'flex-start' : 'center')};\n\n @media ${mq.medium} {\n padding: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Icon = styled.img`\n margin-right: ${spacings.nudge * 3}px;\n display: block;\n max-width: ${spacings.nudge * 5}px;\n\n @media ${mq.medium} {\n margin-right: ${spacings.spacer}px;\n }\n`;\n\nconst ContentBlock = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Description = styled(Copy)`\n max-width: 880px;\n`;\n\nconst FactList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with fact item data */\n facts?: Array<{\n label?: string;\n text?: string;\n }>;\n\n /** Icon for each fact item */\n icon?: { src: string; alt?: string };\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, facts, icon, bgMode }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBack = isInverted || bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode === 'full'\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n {facts && (\n <FactsContainer>\n {facts.map(({ label, text }, i) => {\n return (\n <FactItem\n key={i}\n hasText={!!text}\n hasBack={hasBack}\n >\n {icon && (\n <Icon\n src={icon.src}\n alt={icon.alt || ''}\n />\n )}\n <ContentBlock>\n {label && (\n <Copy type=\"copy-b\">{label}</Copy>\n )}\n {text && (\n <Description\n type=\"copy\"\n innerHTML={text}\n />\n )}\n </ContentBlock>\n </FactItem>\n );\n })}\n </FactsContainer>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const FactListComponent = FactList;\nexport default withLibTheme(FactList);\n","import React, { forwardRef } from 'react';\nimport styled, { css } from 'styled-components';\nimport {\n mq,\n spacings,\n getGlobals as global,\n getFonts as font,\n} from 'utils/styles';\n\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Link, { LinkProps } from 'components/typography/Link';\n\nconst View = styled.div<{ isCentered?: boolean }>`\n min-width: 270px;\n padding-bottom: ${spacings.nudge}px;\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst TitleLink = styled(Link)<{ href?: string }>`\n display: inline-block;\n ${copyStyle('copy-b', 'big')}\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme)['copy-b'].big.colorInverted\n : font(theme)['copy-b'].big.color};\n text-decoration: none;\n\n ${({ href, isInverted, theme }) =>\n !href &&\n css`\n &:hover {\n color: ${isInverted\n ? font(theme)['copy-b'].big.colorInverted\n : font(theme)['copy-b'].big.color};\n }\n `}\n`;\n\nconst ImageContainer = styled(Link)<{ isCentered?: boolean }>`\n display: flex;\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n width: 100%;\n`;\n\nconst StyledImage = styled(Image)`\n overflow: hidden;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n`;\n\nconst ArticleContent = styled.div<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n @media ${mq.medium} {\n & > * {\n max-width: 95%;\n margin-right: ${({ isCentered }) => isCentered && 'auto'};\n margin-left: ${({ isCentered }) => isCentered && 'auto'};\n }\n }\n`;\n\nconst Action = styled.div`\n max-width: 100%;\n`;\n\nexport interface FeatureActionProps {\n isInverted?: boolean;\n isTextCentered?: boolean;\n}\n\nexport interface FeatureProps {\n /** Invert color and background for darker themes */\n isInverted?: boolean;\n\n /** Center all texts */\n isCentered?: boolean;\n\n /** Image on item's top */\n image?: ImageProps;\n\n /** Item title text underneath the image */\n title?: string;\n\n /** Small item description text (richtext) */\n description?: string;\n\n /** Item intro text (partial richtext cause it's always bold) */\n intro?: string;\n\n /** Item's main text (richtext) */\n text?: string;\n\n /** Item link settings */\n link?: LinkProps;\n\n /** Function to inject custom primary button */\n action?: (props: FeatureActionProps) => React.ReactNode;\n}\n\nconst Feature = forwardRef<\n HTMLDivElement,\n FeatureProps & {\n className?: string;\n }\n>(\n (\n {\n title,\n description,\n intro,\n text,\n link,\n image,\n isInverted = false,\n isCentered = false,\n action,\n className,\n },\n ref\n ) => {\n return (\n <View ref={ref} isCentered={isCentered} className={className}>\n {image?.small && (\n <ImageContainer {...link} isCentered={isCentered}>\n <StyledImage\n small={image.small}\n medium={image.medium}\n semilarge={image.semilarge}\n large={image.large}\n xlarge={image.xlarge}\n alt={image.alt}\n ratios={image.ratios}\n coverSpace={\n image.coverSpace === undefined\n ? true\n : image.coverSpace\n }\n isInverted={isInverted}\n />\n </ImageContainer>\n )}\n <TitleLink\n {...link}\n isInverted={isInverted}\n ariaLabel={title}\n dataSheet=\"title\"\n >\n {title}\n </TitleLink>\n <Copy\n size=\"small\"\n isInverted={isInverted}\n data-sheet=\"desc\"\n innerHTML={description}\n />\n <ArticleContent isCentered={isCentered}>\n <Copy\n type=\"copy-b\"\n isInverted={isInverted}\n innerHTML={intro}\n data-sheet=\"intro\"\n />\n <Copy\n type=\"copy\"\n size=\"medium\"\n isInverted={isInverted}\n innerHTML={text}\n data-sheet=\"text\"\n />\n </ArticleContent>\n {action && (\n <Action>\n {action({ isInverted, isTextCentered: isCentered })}\n </Action>\n )}\n </View>\n );\n }\n);\n\nFeature.displayName = 'Feature';\n\nexport default Feature;\n","import React, { useMemo } from 'react';\n\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Feature, { FeatureProps } from 'components/blocks/Feature';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport Grid from 'components/base/Grid';\n\nconst FeatureList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Center texts in every feature item */\n isCentered?: boolean;\n\n /** Array with feature item content */\n features?: Omit<FeatureProps, 'isInverted' | 'isCentered'>[];\n\n /** If not defined the component falls back to legacy logic: Uneven items = max 3 per row, even items = max 2 per row */\n columns?: 2 | 3;\n\n /** Section background */\n bgMode?: 'full' | 'splitted' | 'inverted';\n}> = ({ anchorId, features, bgMode, isCentered = false, columns }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const featureCount = features?.length || 0;\n\n const isHalf = useMemo(() => {\n if (columns) {\n return columns === 2;\n }\n\n // legacy logic\n return features && features.length % 2 === 0;\n }, [features, columns]);\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: featureCount,\n identifiers: [\n '[data-sheet=\"title\"]',\n '[data-sheet=\"desc\"]',\n '[data-sheet=\"intro\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: isHalf ? 2 : 3,\n xlarge: isHalf ? 2 : 3,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper addWhitespace clampWidth=\"normal\">\n <Grid.Row\n halign={isHalf || featureCount <= 2 ? 'center' : 'left'}\n >\n {features?.map((feature, i) => (\n <Grid.Col\n semilarge={{ span: 6 / 12 }}\n large={{\n span: isHalf ? 5 / 12 : 4 / 12,\n }}\n key={i}\n >\n <Feature\n ref={cardRefs[i]}\n {...feature}\n isCentered={isCentered}\n isInverted={isInverted}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const FeatureListComponent = FeatureList;\nexport default withLibTheme(FeatureList);\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { getGlobals as global } from 'utils/styles';\nimport Grid from 'components/base/Grid';\n\nconst StyledImage = styled(Image)`\n width: 100%;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n picture > img {\n width: 100%;\n height: 100%;\n }\n`;\n\ntype ImageType = Omit<ImageProps, 'coverSpace'> & { isFull?: boolean };\n\nconst Gallery: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of image settings */\n images?: Array<ImageType>;\n\n /** Section background */\n bgMode?: 'full' | 'splitted' | 'inverted';\n}> = ({ anchorId, bgMode, images }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper addWhitespace>\n <Grid.Row>\n {images?.map((img, i) => (\n <Grid.Col\n key={i}\n semilarge={{\n span: img.isFull ? 12 / 12 : 6 / 12,\n }}\n >\n <StyledImage\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const GalleryComponent = Gallery;\nexport default withLibTheme(Gallery);\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\n\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { mq, spacings, getColors as color } from 'utils/styles';\nimport Actions from 'components/blocks/Actions';\nimport Pointer from 'components/buttons/Pointer';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport Image from 'components/blocks/Image';\n\nconst StyledSection = styled(Section)<{ isCentered?: boolean }>`\n margin: 0 auto;\n\n @media ${mq.semilarge} {\n margin: ${({ isCentered }) => (isCentered ? '0 auto' : '0')};\n\n text-align: ${({ isCentered }) => (isCentered ? 'center' : 'left')};\n }\n`;\n\nconst ItemContainer = styled.div<{ isCentered?: boolean }>`\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n text-align: center;\n\n &:not(:last-child) {\n margin-bottom: ${spacings.spacer}px;\n }\n\n @media ${mq.semilarge} {\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n }\n`;\n\nconst Items = styled.ul<{ isVisible?: boolean; isCentered?: boolean }>`\n display: ${({ isVisible }) => (isVisible ? 'flex' : 'block')};\n align-items: center;\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n\n flex-wrap: wrap;\n padding: 0;\n margin: 0;\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.nudge * 2}px;\n\n list-style: none;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n\n & > * {\n flex: 0 1 auto;\n }\n }\n`;\n\nconst Item = styled.li<{\n isVisible?: boolean;\n index: number;\n}>`\n padding-top: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n\n display: ${({ index, isVisible }) =>\n isVisible || index < 6 ? 'block' : 'none'};\n\n & > img {\n width: 100%;\n }\n\n @media ${mq.medium} {\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n\n & > img {\n width: auto;\n }\n }\n\n @media ${mq.semilarge} {\n display: ${({ index, isVisible }) =>\n isVisible || index < 8 ? 'block' : 'none'};\n }\n\n @media ${mq.large} {\n display: ${({ index, isVisible }) =>\n isVisible || index < 10 ? 'block' : 'none'};\n }\n`;\n\nconst ItemLink = styled(Link)<{ isInverted?: boolean }>`\n display: block;\n outline-color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n`;\n\nconst ShowMore = styled.div<{ itemCount?: number; isCentered?: boolean }>`\n display: ${({ itemCount }) =>\n itemCount && itemCount > 6 ? 'block' : 'none'};\n\n background: none;\n border: none;\n text-align: ${({ isCentered }) => (isCentered ? 'center' : 'left')};\n\n @media ${mq.semilarge} {\n display: ${({ itemCount }) =>\n itemCount && itemCount > 8 ? 'block' : 'none'};\n }\n\n @media ${mq.large} {\n display: ${({ itemCount }) =>\n itemCount && itemCount > 10 ? 'block' : 'none'};\n }\n`;\n\nconst StyledActions = styled(Actions)<{ isCentered?: boolean }>`\n margin-top: ${spacings.spacer}px;\n\n @media ${mq.medium} {\n display: block;\n text-align: ${({ isCentered }) => isCentered && 'center'};\n }\n`;\n\nexport interface IconListItem {\n src: string;\n alt?: string;\n link?: LinkProps;\n ratio?: { h: number; w: number };\n showPlaceholder?: boolean;\n}\n\nconst IconList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with icon items data */\n items?: Array<IconListItem>;\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom toggle button */\n toggle?: (props: {\n isInverted?: boolean;\n isToggled?: boolean;\n showLessText?: string;\n showMoreText?: string;\n clickHandler?: (ev?: React.SyntheticEvent<HTMLButtonElement>) => void;\n additionalProps?: Record<string, any>;\n }) => React.ReactNode;\n\n /** Custom text for toggle button in folded state */\n showMoreText?: string;\n\n /** Custom text for toggle button in expanded state */\n showLessText?: string;\n\n /** Center all icons and texts */\n isCentered?: boolean;\n\n /** Enable toggle feature */\n enableToggle?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({\n anchorId,\n items,\n isCentered = false,\n primaryAction,\n secondaryAction,\n toggle,\n showLessText = 'show less',\n showMoreText = 'show more',\n enableToggle,\n bgMode,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const [showMore, setShowMore] = useState<boolean>(!enableToggle);\n\n const handleToggleClick = () => {\n setShowMore((prev) => !prev);\n };\n\n return (\n <StyledSection\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n isCentered={isCentered}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <ItemContainer isCentered={isCentered}>\n <Items\n isVisible={!showMore ? true : showMore === true}\n isCentered={isCentered}\n >\n {items?.map(\n ({ src, link, alt, ratio, showPlaceholder }, i) => (\n <Item isVisible={showMore} index={i} key={i}>\n <ItemLink\n {...link}\n isInverted={isInverted}\n ariaLabel={alt}\n >\n <Image\n data-img-loaded={false}\n isInverted={isInverted}\n small={src}\n alt={alt}\n ratios={\n ratio\n ? { small: ratio }\n : undefined\n }\n showPlaceholder={showPlaceholder}\n />\n </ItemLink>\n </Item>\n )\n )}\n </Items>\n </ItemContainer>\n {enableToggle && (\n <ShowMore\n isCentered={isCentered}\n itemCount={items?.length || 0}\n >\n {toggle ? (\n toggle({\n isInverted,\n showLessText,\n showMoreText,\n isToggled: showMore,\n clickHandler: handleToggleClick,\n additionalProps: { 'aria-pressed': showMore },\n })\n ) : (\n <Pointer.View\n as=\"button\"\n isInverted={isInverted}\n aria-pressed={showMore}\n onClick={() => handleToggleClick()}\n >\n <Pointer.Label>\n {showMore ? showLessText : showMoreText}\n </Pointer.Label>\n </Pointer.View>\n )}\n </ShowMore>\n )}\n\n {(primaryAction || secondaryAction) && (\n <StyledActions\n isCentered={isCentered}\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </Wrapper>\n </StyledSection>\n );\n};\n\nexport const IconListComponent = IconList;\nexport default withLibTheme(IconList);\n","import React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { copyStyle } from 'components/typography/Copy';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { getColors as color, spacings } from 'utils/styles';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport ArrowDown from 'components/base/icons/ArrowDown';\nimport { useScrollTo } from 'utils/useScrollTo';\nimport { getFullNavbarHeights, getNavbarState } from './navigation/Navigation';\nimport { useMediaQueries } from 'utils/useMediaQuery';\n\nconst List = styled.ul<{ hasBg?: boolean; isInverted?: boolean }>`\n margin: 0;\n padding: 0;\n list-style: none;\n\n max-width: 880px;\n\n & > li + li {\n border-top: 1px solid\n ${({ theme, hasBg, isInverted }) =>\n hasBg && !isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n\n & > li:first-child {\n border-top: 1px solid\n ${({ theme, hasBg, isInverted }) =>\n hasBg && !isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n\n & > li:last-child {\n border-bottom: 1px solid\n ${({ theme, hasBg, isInverted }) =>\n hasBg && !isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n`;\n\nconst ListItem = styled.li``;\n\nconst IndexLink = styled(Link)<{ isInverted?: boolean }>`\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n padding: ${spacings.nudge}px 0;\n\n ${copyStyle('copy', 'big')}\n`;\n\nconst LinkLabel = styled.span`\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nconst IconWrapper = styled.span`\n display: inline-block;\n\n margin-left: ${spacings.nudge * 2}px;\n`;\n\nexport interface IndexItem {\n label?: string;\n link?: LinkProps;\n}\n\nconst IndexList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of index item settings */\n items?: IndexItem[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n\n /** Function to inject custom icon decorator */\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n /** Top offset for scroll to clicked item. Default: auto */\n scrollToOffset?: number;\n}> = ({ anchorId, items, bgMode, customIcon, scrollToOffset }) => {\n const { colors, theme } = useLibTheme();\n const setTargetPos = useScrollTo(500);\n const { semilarge } = useMediaQueries();\n\n const [topOffset, setTopOffset] = useState<number>(0);\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const handleLinkClick = (ev: React.SyntheticEvent<HTMLAnchorElement>) => {\n if (!ev?.currentTarget) return;\n\n ev.preventDefault();\n const href = ev.currentTarget.getAttribute('href') as string;\n\n if (!href) return;\n\n const target = document.getElementById(href.split('#')?.[1] || href);\n if (target) {\n setTargetPos(\n target.getBoundingClientRect().top +\n window.scrollY -\n (scrollToOffset || topOffset)\n );\n }\n\n if (window) {\n const url = new URL(window.location as any);\n url.hash = href.split('#')[1];\n window.history.pushState({}, '', url as any);\n }\n };\n\n useEffect(() => {\n if (scrollToOffset) return;\n\n // if header is defined get navbar height and generate top offset\n const header = document.querySelector('header[data-navbar-ident]');\n const navbarIdent = header?.getAttribute('data-navbar-ident');\n if (!navbarIdent) return;\n\n const { isStickable } = getNavbarState(navbarIdent);\n if (!isStickable) return;\n\n // calculate offset from navbar height\n const navbarHeights = getFullNavbarHeights(theme, navbarIdent);\n\n if (semilarge) setTopOffset(navbarHeights.small[1] + spacings.spacer);\n else setTopOffset(navbarHeights.small[0] + spacings.spacer);\n }, [theme, semilarge, scrollToOffset]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <List hasBg={hasBg} isInverted={isInverted}>\n {items?.map((item, i) => (\n <ListItem key={i}>\n <IndexLink\n {...item.link}\n isInverted={isInverted}\n onClick={handleLinkClick}\n >\n <LinkLabel>{item.label}</LinkLabel>\n <IconWrapper>\n {customIcon ? (\n customIcon({ isInverted })\n ) : (\n <ArrowDown />\n )}\n </IconWrapper>\n </IndexLink>\n </ListItem>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const IndexListComponent = IndexList;\nexport default withLibTheme(IndexList);\n","import React from 'react';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport IntroBlock, { IntroActionProps } from 'components/blocks/IntroBlock';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { ImageProps } from 'components/blocks/Image';\nimport { TitleSize } from 'components/blocks/Title';\n\nconst Intro: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Main title style */\n titleSize?: TitleSize;\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Intro text under headline (richtext) */\n abstract?: string;\n\n /** Main text (richtext) */\n text?: string;\n\n /** Images for different screen sizes. coverSpace defaults to true */\n image?: ImageProps;\n\n /** Function to inject custom primary button */\n primaryAction?: (props: IntroActionProps) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (props: IntroActionProps) => React.ReactNode;\n\n /** Center text and actions */\n isCentered?: boolean;\n\n /** Allow reduced section spacing to next section */\n isStackable?: boolean;\n\n /** Clamp title to a width of max 8 grid cols. */\n clampTitle?: boolean;\n\n /** Section background */\n bgMode?: 'inverted' | 'full' | 'splitted';\n className?: string;\n}> = ({\n anchorId,\n title,\n titleAs,\n titleSize = 'heading-2',\n superTitle,\n superTitleAs,\n abstract,\n text,\n primaryAction,\n secondaryAction,\n isCentered = false,\n isStackable = false,\n bgMode,\n image,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n // set default ratio settings\n if (image && !image?.ratios) {\n image.ratios = {\n small: { h: 1, w: 1 },\n };\n }\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n isStackable={isStackable}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <IntroBlock\n title={title}\n titleAs={titleAs}\n titleSize={titleSize}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n abstract={abstract}\n text={text}\n colorMode={isInverted ? 'inverted' : 'default'}\n secondaryAction={secondaryAction}\n primaryAction={primaryAction}\n isCentered={isCentered}\n image={image}\n clampTitle\n clampAbstract\n clampText\n />\n </Wrapper>\n </Section>\n );\n};\n\nexport const IntroComponent = Intro;\nexport default withLibTheme(Intro);\n","import Copy from 'components/typography/Copy';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { getColors as color, mq, spacings } from 'utils/styles';\n\nconst View = styled(Link)<{ isInverted?: boolean; hasIcon?: boolean }>`\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: ${({ hasIcon }) => (hasIcon ? 'min-content 1fr' : '1fr')};\n grid-template-columns: ${({ hasIcon }) =>\n hasIcon ? 'min-content 1fr' : '1fr'};\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n cursor: pointer;\n text-decoration: none;\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n outline-color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n transition: all ease-in-out 0.2s;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n }\n`;\n\nconst MainLabel = styled.div<{ hasIcon?: boolean }>`\n display: flex;\n align-items: center;\n margin-left: ${({ hasIcon }) => hasIcon && `${spacings.nudge * 3}px`};\n`;\n\nconst Text = styled(Copy)<{ hasIcon?: boolean }>`\n margin-top: ${({ hasIcon }) =>\n hasIcon ? spacings.nudge : spacings.nudge * 2}px;\n margin-left: ${({ hasIcon }) => hasIcon && `${spacings.nudge * 3}px`};\n`;\n\nconst Icon = styled.div`\n display: flex;\n align-items: center;\n\n & > * {\n height: 48px;\n width: 48px;\n }\n`;\n\nconst Title = styled(Copy)`\n display: inline-block;\n`;\n\nconst TitleIcon = styled.span`\n display: inline-block;\n margin-left: ${spacings.nudge * 2}px;\n\n @media ${mq.medium} {\n margin-left: ${spacings.nudge * 3}px;\n }\n`;\n\nexport interface NavBlockProps {\n /** Invert colors for use on dark backgrounds */\n isInverted?: boolean;\n\n /** Navigation title */\n title?: string;\n\n /** Navigation text (richtext) */\n text?: string;\n\n /** Link settings */\n link?: LinkProps;\n\n /** Function to inject custom icon node */\n customIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n /** Function to inject custom title icon decorator node */\n customTitleIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n className?: string;\n}\n\nconst NavBlock: React.FC<NavBlockProps> = ({\n isInverted = false,\n title,\n text,\n link,\n customIcon,\n customTitleIcon,\n className,\n}) => {\n return (\n <View\n {...link}\n isInverted={isInverted}\n hasIcon={!!customIcon}\n className={className}\n >\n {customIcon ? <Icon>{customIcon({})}</Icon> : ''}\n <MainLabel hasIcon={!!customIcon}>\n {title && (\n <Title textColor=\"inherit\" size=\"medium\" type=\"copy-b\">\n {title}\n {title && customTitleIcon && (\n <TitleIcon>\n {customTitleIcon({ isInverted })}\n </TitleIcon>\n )}\n </Title>\n )}\n </MainLabel>\n {text && (\n <>\n <span />\n <Text\n size=\"small\"\n isInverted={isInverted}\n innerHTML={text}\n hasIcon={!!customIcon}\n />\n </>\n )}\n </View>\n );\n};\n\nexport default NavBlock;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport NavBlock, { NavBlockProps } from 'components/blocks/NavBlock';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { mq, spacings } from 'utils/styles';\n\nconst List = styled.ul`\n margin: 0;\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n padding: 0;\n list-style: none;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n flex-wrap: wrap;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer * 2}px;\n }\n`;\n\nconst ListItem = styled.li`\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n flex: 1 0 100%;\n\n @media ${mq.medium} {\n flex: 0 0 50%;\n max-width: 50%;\n padding-top: ${spacings.spacer * 2}px;\n }\n\n @media ${mq.large} {\n flex: 0 0 33.33%;\n max-width: 33.33%;\n }\n\n // print version\n @media print {\n flex: 0 0 50%;\n max-width: 50%;\n padding-top: ${spacings.spacer * 2}px;\n }\n`;\n\nexport type NavItem = Omit<\n NavBlockProps,\n 'isInverted' | 'customTitleIcon' | 'className'\n>;\n\nconst NavList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of navigation item settings */\n items?: NavItem[];\n\n /** Section backgrounds */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom title decorator icon */\n customTitleIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n}> = ({ anchorId, items, bgMode, customTitleIcon }) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <List>\n {items?.map((item, i) => (\n <ListItem key={i}>\n <NavBlock\n {...item}\n isInverted={isInverted}\n customTitleIcon={customTitleIcon}\n />\n </ListItem>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NavListComponent = NavList;\nexport default withLibTheme(NavList);\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Callout from 'components/typography/Callout';\nimport React, { forwardRef, useContext } from 'react';\nimport styled, { ThemeContext } from 'styled-components';\nimport {\n getColors as color,\n spacings,\n getGlobals as global,\n} from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Copy from 'components/typography/Copy';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport Image, { ImageProps } from 'components/blocks/Image';\n\nconst CARD_MIN_WIDTH = 240;\nconst CARD_MAX_WIDTH = 440;\nconst MEDIA_QUERIES = {\n medium: '(min-width: 36.5em)',\n semilarge: '(min-width: 54.75em)',\n large: '(min-width: 73em)',\n xlarge: '(min-width: 90em)',\n};\n\nconst View = styled.li<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => (isCentered ? 'center' : 'left')};\n\n & > * {\n margin: ${({ isCentered }) => (isCentered ? '0 auto' : 0)};\n margin-right: auto;\n }\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst ImageContainer = styled.div<{ isCentered?: boolean }>`\n display: flex;\n justify-content: ${({ isCentered }) =>\n isCentered ? 'center' : 'flex-start'};\n margin-bottom: ${spacings.nudge * 3}px;\n max-width: 100%;\n`;\n\nconst StyledImage = styled(Image)`\n overflow: hidden;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n`;\n\nconst Label = styled(Copy)``;\n\nconst Text = styled(Copy)``;\n\nexport interface NumberListCardProps {\n image?: ImageProps;\n digit?: string;\n label?: string;\n text?: string;\n}\n\nconst NumberListCard = forwardRef<\n HTMLLIElement,\n NumberListCardProps & {\n isInverted?: boolean;\n isCentered?: boolean;\n className?: string;\n }\n>(({ image, label, digit, isInverted, isCentered, text, className }, ref) => {\n const { colors } = useLibTheme();\n\n return (\n <View ref={ref} isCentered={isCentered} className={className}>\n {image?.small && (\n <ImageContainer isCentered={isCentered}>\n <StyledImage\n isInverted={isInverted}\n small={image.small}\n medium={image.medium}\n semilarge={image.semilarge}\n large={image.large}\n xlarge={image.xlarge}\n alt={image.alt}\n coverSpace={image.coverSpace}\n ratios={image.ratios}\n showPlaceholder={image.showPlaceholder}\n />\n </ImageContainer>\n )}\n <Callout\n data-sheet=\"digit\"\n size=\"mediumBold\"\n renderAs=\"div\"\n isInverted={isInverted}\n >\n {digit}\n </Callout>\n <Label\n type=\"copy-b\"\n size=\"big\"\n textColor={\n isInverted\n ? colors.primary.inverted\n : colors.primary.default\n }\n data-sheet=\"label\"\n >\n {label}\n </Label>\n {text && (\n <Text\n type=\"copy\"\n size=\"medium\"\n isInverted={isInverted}\n data-sheet=\"text\"\n innerHTML={text}\n />\n )}\n </View>\n );\n});\n\nNumberListCard.displayName = 'NumberListCard';\n\nconst CardList = styled.ul`\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-items: center;\n\n list-style: none;\n padding: 0;\n margin: 0;\n margin-left: -${spacings.spacer}px;\n margin-top: -${spacings.nudge * 6}px;\n\n & > * {\n flex: 0 0 100%;\n width: 100%;\n min-width: ${CARD_MIN_WIDTH + spacings.spacer}px;\n max-width: ${CARD_MAX_WIDTH + spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n padding-top: ${spacings.nudge * 6}px;\n }\n\n @media ${MEDIA_QUERIES.medium} {\n flex-direction: row;\n justify-content: center;\n align-items: flex-start;\n\n margin-top: -${spacings.nudge * 10}px;\n\n & > * {\n flex: 0 0 50%;\n padding-top: ${spacings.nudge * 10}px;\n }\n\n & > li:first-child:nth-last-child(1) {\n /* -or- li:only-child { */\n flex: 0 0 100%;\n }\n }\n\n @media ${MEDIA_QUERIES.semilarge} {\n & > * {\n flex: 0 0 33.33%;\n }\n\n /* one item */\n & > li:first-child:nth-last-child(1) {\n /* -or- li:only-child { */\n flex: 0 0 100%;\n }\n\n /* two items */\n & > li:first-child:nth-last-child(2),\n & > li:first-child:nth-last-child(2) ~ li {\n flex: 0 0 50%;\n }\n }\n\n @media ${MEDIA_QUERIES.large} {\n & > * {\n flex: 0 0 25%;\n }\n\n /* one item */\n & > li:first-child:nth-last-child(1) {\n /* -or- li:only-child { */\n flex: 0 0 100%;\n }\n\n /* two items */\n & > li:first-child:nth-last-child(2),\n & > li:first-child:nth-last-child(2) ~ li {\n flex: 0 0 50%;\n }\n\n /* three items */\n & > li:first-child:nth-last-child(3),\n & > li:first-child:nth-last-child(3) ~ li {\n flex: 0 0 33.33%;\n }\n }\n`;\n\nexport interface NumberListItem {\n image?: ImageProps;\n digit?: string;\n label?: string;\n text?: string;\n}\n\nconst NumberList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n items?: NumberListItem[];\n\n /** Center texts in every card item */\n isCentered?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, items, bgMode, isCentered = true }) => {\n const theme = useContext(ThemeContext);\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const { sheetRefs: numbersRef } = useEqualSheetHeight<HTMLDivElement>({\n listLength: items?.length || 0,\n identifiers: [\n '[data-sheet=\"digit\"]',\n '[data-sheet=\"label\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 2,\n semilarge: 3,\n large: 4,\n xlarge: 4,\n },\n customMediaQueries: MEDIA_QUERIES,\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? color(theme).sectionBg.dark\n : hasBg\n ? color(theme).sectionBg.medium\n : color(theme).sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <CardList>\n {items?.map((item, i) => {\n return (\n <NumberListCard\n key={i}\n ref={numbersRef[i] as any}\n {...item}\n isInverted={isInverted}\n isCentered={isCentered}\n />\n );\n })}\n </CardList>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NumberListComponent = NumberList;\nexport default withLibTheme(NumberList);\n","import React, { FC, useEffect, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { spacings } from 'utils/styles';\n\nconst View = styled.section`\n position: relative;\n width: 100vw;\n z-index: -1;\n`;\n\nconst Parallax = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n margin-left: 0;\n width: 100%;\n`;\n\nconst Content = styled.div<{\n contentWidth?: number;\n hAlign?: 'left' | 'center' | 'right';\n}>`\n margin-left: ${({ hAlign }) =>\n (hAlign === 'right' || hAlign === 'center') && 'auto'};\n margin-right: ${({ hAlign }) =>\n (hAlign === 'left' || hAlign === 'center') && 'auto'};\n\n width: ${({ contentWidth }) =>\n contentWidth\n ? contentWidth === -1\n ? 'auto'\n : contentWidth * 100 + '%'\n : undefined};\n\n max-width: ${spacings.wrapperLarge}px;\n overflow: hidden;\n\n & > * {\n width: ${({ contentWidth }) => contentWidth !== -1 && '100%'};\n }\n`;\n\nconst StyledImage = styled(Image)<{\n coverSpace?: boolean;\n hAlign?: 'left' | 'center' | 'right';\n}>`\n max-width: ${({ coverSpace }) => !coverSpace && 'none'};\n float: ${({ hAlign }) =>\n hAlign === 'left' || hAlign === 'right' ? hAlign : undefined};\n ${({ coverSpace, hAlign }) =>\n !coverSpace &&\n hAlign === 'center' &&\n css`\n transform: translateX(-50%);\n margin-left: 50%;\n `}\n`;\n\nexport type ParallaxWidth = '1/4' | 'half' | '3/4' | 'full' | 'auto';\n\nconst ParallaxBackground: FC<{\n image?: ImageProps;\n hAlign?: 'left' | 'center' | 'right';\n contentWidth?: ParallaxWidth | number;\n moveRatio?: number;\n direction?: 'down' | 'up';\n className?: string;\n}> = ({\n image,\n hAlign = 'left',\n contentWidth = 1,\n moveRatio = 0.2,\n direction = 'up',\n className,\n}) => {\n const [isLoaded, setIsLoaded] = useState<boolean>(false);\n const [yTransform, setYTransform] = useState<number>(0);\n // const cRef = useRef<HTMLDivElement>(null);\n const [cRef, setContainerRef] = useState<HTMLElement | null>(null);\n const parallaxRef = useRef<HTMLDivElement>(null);\n\n let width = 1;\n if (typeof contentWidth === 'string') {\n switch (contentWidth) {\n case '1/4': {\n width = 0.25;\n break;\n }\n\n case 'half': {\n width = 0.5;\n break;\n }\n\n case '3/4': {\n width = 0.75;\n break;\n }\n\n case 'auto': {\n width = -1;\n break;\n }\n\n default:\n case 'full': {\n width = 1;\n break;\n }\n }\n } else if (!isNaN(contentWidth)) {\n width = contentWidth;\n }\n\n useEffect(() => {\n setIsLoaded(true);\n }, []);\n\n useEffect(() => {\n const prevEl = cRef?.previousElementSibling;\n if (prevEl) {\n const bgIdent = (prevEl as HTMLElement).dataset.bgIdent;\n const stackIdent = (prevEl as HTMLElement).dataset.stackIdent;\n\n if (bgIdent) {\n // set data background from previous element\n cRef?.setAttribute('data-bg-ident', bgIdent);\n }\n\n if (stackIdent) {\n // set data stack flag from previous element\n cRef?.setAttribute('data-stack-ident', stackIdent);\n }\n }\n }, [cRef]);\n\n useEffect(() => {\n const handleScroll = () => {\n if (!cRef) return;\n\n const containerPos = cRef.getBoundingClientRect().top;\n const ratio = containerPos * moveRatio;\n const offset = ratio * (direction === 'up' ? 1 : -1);\n\n setYTransform(offset);\n };\n\n handleScroll();\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, [cRef, direction, moveRatio]);\n\n return (\n <>\n {isLoaded && (\n <View ref={setContainerRef} data-bg-ident=\"transparent\">\n <Parallax\n ref={parallaxRef}\n style={{\n transform: `translate3d(0px, ${yTransform}px, 0px)`,\n }}\n className={className}\n >\n <Content hAlign={hAlign} contentWidth={width}>\n {image && (\n <StyledImage\n hAlign={hAlign}\n coverSpace={width !== -1}\n {...image}\n />\n )}\n </Content>\n </Parallax>\n </View>\n )}\n </>\n );\n};\n\nexport default ParallaxBackground;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport Section from 'components/base/Section';\nimport Wrapper, { wrapperWhitespace } from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { spacings, getGlobals as global } from 'utils/styles';\nimport IntroBlock, { IntroActionProps } from 'components/blocks/IntroBlock';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport { withLibTheme } from 'utils/LibThemeProvider';\n\nconst Container = styled.figure<{\n hasContent?: boolean;\n verticallyCentered?: boolean;\n}>`\n position: relative;\n width: 100%;\n max-height: 550px;\n padding: 0;\n margin: 0;\n\n &:after {\n content: ${({ hasContent }) => hasContent && '\"\"'};\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n background: ${({ theme, verticallyCentered }) =>\n verticallyCentered\n ? global(theme).sections.imageTextGradientCentered\n : global(theme).sections.imageTextGradient};\n pointer-events: none;\n z-index: 0;\n }\n`;\n\nconst StyledImage = styled(Image)`\n img {\n height: 550px;\n }\n`;\n\nconst Intro = styled(IntroBlock)<{\n verticallyCentered?: boolean;\n horizontallyCentered?: boolean;\n}>`\n position: absolute;\n bottom: ${({ verticallyCentered }) => !verticallyCentered && '0'};\n top: ${({ verticallyCentered }) => verticallyCentered && '50%'};\n left: 50%;\n right: 0;\n max-height: 100%;\n max-width: ${spacings.wrapper}px;\n\n padding: ${wrapperWhitespace + spacings.nudge * 2}px;\n z-index: 1;\n\n transform: ${({ verticallyCentered }) =>\n verticallyCentered ? 'translate(-50%, -50%)' : 'translateX(-50%)'};\n`;\n\nconst Poster: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Clamp width of poster image to content wrapper or large wrapper */\n width?: 'full' | 'content';\n\n /** The poster image settings */\n image: Omit<ImageProps, 'coverSpace' | 'ratios'>;\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Text underneath the title (richtext) */\n text?: string;\n\n /** Function to inject custom primary button */\n primaryAction?: (props: IntroActionProps) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (props: IntroActionProps) => React.ReactNode;\n\n /** Align text and actions vertically */\n verticallyCentered?: boolean;\n\n /** Align text and actions horizontally */\n horizontallyCentered?: boolean;\n}> = ({\n anchorId,\n width = 'content',\n title,\n titleAs,\n superTitle,\n superTitleAs,\n text,\n primaryAction,\n secondaryAction,\n image,\n verticallyCentered,\n horizontallyCentered,\n}) => {\n const isCentered = verticallyCentered && horizontallyCentered;\n\n return (\n <Section anchorId={anchorId} bgColor=\"image\" bgMode=\"full\">\n <Wrapper clampWidth={width === 'content' ? 'normal' : 'large'}>\n <Container\n hasContent={!!title || !!text}\n verticallyCentered={verticallyCentered}\n >\n <StyledImage {...image} coverSpace ratios={undefined} />\n {title && (\n <Intro\n verticallyCentered={verticallyCentered}\n horizontallyCentered={horizontallyCentered}\n renderAs=\"figcaption\"\n colorMode=\"onImage\"\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n text={text}\n secondaryAction={secondaryAction}\n primaryAction={primaryAction}\n clampTitle\n maxTitleLines={3}\n clampText\n maxTextLines={4}\n isCentered={horizontallyCentered || isCentered}\n />\n )}\n </Container>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PosterComponent = Poster;\nexport default withLibTheme(Poster);\n","import React from 'react';\nimport styled from 'styled-components';\nimport { getColors as color, mq, spacings } from 'utils/styles';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst ItemList = styled.ul`\n margin: 0;\n padding: 0;\n list-style: none;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst ItemBlock = styled.li<{ hasBg?: boolean }>`\n max-width: 100%;\n padding: ${spacings.nudge * 2}px;\n\n background: ${({ theme, hasBg }) =>\n hasBg ? color(theme).elementBg.light : color(theme).elementBg.medium};\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n @media ${mq.semilarge} {\n padding: ${spacings.nudge * 3}px;\n }\n`;\n\nconst ListHead = styled.div`\n display: flex;\n justify-content: space-between;\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Title = styled(Copy)`\n max-width: 880px;\n`;\n\nconst Price = styled(Copy)`\n white-space: nowrap;\n`;\n\nconst Description = styled(Copy)`\n max-width: 880px;\n`;\n\nexport interface PriceItems {\n /** Title of the price item */\n title?: string;\n /** Description text of price item (richtext) */\n text?: string;\n /** The price value (Currency not included) */\n price?: string;\n}\n\nexport const PriceBlock: React.FC<PriceItems & { hasBg?: boolean }> = ({\n text,\n price,\n hasBg = false,\n title,\n}) => {\n return (\n <ItemBlock hasBg={hasBg}>\n <ListHead>\n {title && <Title type=\"copy-b\">{title}</Title>}\n {price && <Price type=\"copy-b\">{price}</Price>}\n </ListHead>\n {text && <Description type=\"copy\" innerHTML={text} />}\n </ItemBlock>\n );\n};\n\nconst PriceList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with price items */\n items?: PriceItems[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n}> = ({ anchorId, bgMode, items }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBack = isInverted || bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode === 'full'\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <ItemList>\n {items?.map((item, i) => (\n <PriceBlock key={i} {...item} hasBg={hasBack} />\n ))}\n </ItemList>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PriceListComponent = PriceList;\nexport default withLibTheme(PriceList);\n","import {\n spacings,\n getColors as color,\n getGlobals as global,\n} from 'utils/styles';\nimport React, { forwardRef } from 'react';\nimport styled from 'styled-components';\nimport Copy from 'components/typography/Copy';\nimport Actions from './Actions';\nimport Callout from 'components/typography/Callout';\n\nconst View = styled.div<{\n isInverted?: boolean;\n isCentered?: boolean;\n hasBg?: boolean;\n isHighlighted?: boolean;\n}>`\n padding: ${spacings.spacer}px;\n\n border: 1px solid transparent;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n background: ${({ theme, hasBg, isInverted, isHighlighted }) =>\n isInverted\n ? isHighlighted\n ? color(theme).primary.inverted\n : color(theme).elementBg.medium\n : isHighlighted\n ? color(theme).primary.default\n : hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n text-align: ${({ isCentered }) => (isCentered ? 'center' : 'left')};\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst StyledActions = styled(Actions)`\n display: block;\n margin-top: auto;\n padding-top: ${spacings.spacer}px;\n text-align: center;\n`;\n\nexport interface PriceTagProps {\n title?: string;\n superTitle?: string;\n text?: string;\n action?: (props: {\n isInverted?: boolean;\n isHighlighted?: boolean;\n }) => React.ReactNode;\n isInverted?: boolean;\n isCentered?: boolean;\n hasBackground?: boolean;\n isHighlighted?: boolean;\n}\n\nconst PriceTag = forwardRef<\n HTMLDivElement,\n PriceTagProps & { className?: string }\n>(\n (\n {\n superTitle,\n title,\n text,\n action,\n isInverted,\n isCentered,\n isHighlighted,\n hasBackground,\n className,\n },\n ref\n ) => {\n const inverted = isHighlighted ? !isInverted : false;\n\n return (\n <View\n ref={ref}\n isInverted={isInverted}\n isCentered={isCentered}\n isHighlighted={isHighlighted}\n hasBg={hasBackground}\n className={className}\n >\n {superTitle && (\n <Copy\n type=\"copy-b\"\n size=\"big\"\n isInverted={inverted}\n innerHTML={superTitle}\n data-sheet=\"superTitle\"\n />\n )}\n {title && (\n <Callout\n renderAs=\"div\"\n size=\"big\"\n isInverted={inverted}\n innerHTML={title}\n data-sheet=\"title\"\n />\n )}\n {text && (\n <Copy\n size=\"medium\"\n isInverted={inverted}\n innerHTML={text}\n data-sheet=\"desc\"\n />\n )}\n <StyledActions\n mode=\"cover\"\n primary={\n action &&\n action({\n isInverted: inverted,\n isHighlighted: isHighlighted,\n })\n }\n />\n </View>\n );\n }\n);\n\nPriceTag.displayName = 'PriceTag';\n\nexport default PriceTag;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport PriceTag, { PriceTagProps } from 'components/blocks/PriceTag';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { gridSettings } from 'components/base/Grid';\nimport { mq } from 'utils/styles';\n\nconst Tag = styled(PriceTag)`\n min-height: 500px;\n`;\n\nconst Items = styled.div`\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n\n margin-top: -${gridSettings.gutter}px;\n margin-left: -${gridSettings.gutter}px;\n\n & > * {\n flex: 1 1 25%;\n min-width: 286px;\n max-width: 320px;\n margin-top: ${gridSettings.gutter}px;\n margin-left: ${gridSettings.gutter}px;\n }\n\n @media ${mq.large} {\n & > * {\n max-width: 286px;\n }\n }\n`;\n\nconst PriceTable: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n /** Array of PriceTag card items */\n items: Array<Omit<PriceTagProps, 'isInverted'>>;\n /** Center text inside card items */\n isCentered?: boolean;\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, items, isCentered, bgMode }) => {\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const priceTagCount = items?.length || 0;\n\n const { colors } = useLibTheme();\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: priceTagCount,\n identifiers: [\n '[data-sheet=\"superTitle\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"desc\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <Wrapper addWhitespace>\n <Items>\n {items?.map((item, i) => (\n <Tag\n key={i}\n ref={cardRefs[i]}\n {...item}\n isInverted={isInverted}\n isCentered={isCentered}\n hasBackground={hasBg}\n />\n ))}\n </Items>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PriceTableComponent = PriceTable;\nexport default withLibTheme(PriceTable);\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport { mq, spacings } from 'utils/styles';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Callout from 'components/typography/Callout';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Copy from 'components/typography/Copy';\n\nconst Content = styled.figure`\n margin: 0;\n padding: 0;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n max-width: 960px;\n margin: 0 auto;\n }\n`;\n\nconst Text = styled(Callout)`\n text-align: center;\n margin-left: 0;\n margin-right: 0;\n padding: 0;\n`;\n\nconst Source = styled(Copy)`\n text-align: center;\n margin-left: 0;\n margin-right: 0;\n padding: 0;\n`;\n\nconst Quote: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Text of the blockquote (richtext) */\n text?: string;\n\n /** Source of the quote e.g. author (richtext) */\n source?: string;\n\n /** URL for additional cite informations */\n citeUrl?: string;\n\n /** Section backgrounds */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, bgMode, text, source, citeUrl }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode === 'full'\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <Content>\n {text && (\n <Text\n size=\"small\"\n renderAs=\"blockquote\"\n isInverted={isInverted}\n innerHTML={text}\n {...{ cite: citeUrl }}\n />\n )}\n {source && (\n <Source\n isInverted={isInverted}\n renderAs=\"figcaption\"\n innerHTML={source}\n />\n )}\n </Content>\n </Wrapper>\n </Section>\n );\n};\n\nexport const QuoteComponent = Quote;\nexport default withLibTheme(Quote);\n","import React, { FC, useContext } from 'react';\nimport styled, { ThemeContext } from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Wrapper from 'components/base/Wrapper';\nimport { getColors } from 'utils/styles';\nimport { withLibTheme } from 'utils/LibThemeProvider';\n\nconst ImageWrapper = styled(Wrapper)<{ hAlign?: 'left' | 'center' | 'right' }>`\n display: flex;\n justify-content: ${({ hAlign }) => {\n switch (hAlign) {\n case 'center':\n return 'center';\n case 'right':\n return 'flex-end';\n default:\n return 'flex-start';\n }\n }};\n`;\n\nconst SimpleImage: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Image settings */\n image?: ImageProps;\n\n /** Horizontal alignment of the image */\n hAlign?: 'left' | 'center' | 'right';\n\n /** Allow reduced section spacing to next section */\n isStackable?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, image, hAlign = 'left', bgMode, isStackable }) => {\n const theme = useContext(ThemeContext);\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n isStackable={isStackable}\n bgColor={\n isInverted\n ? getColors(theme).sectionBg.dark\n : hasBg\n ? getColors(theme).sectionBg.medium\n : getColors(theme).sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n >\n <ImageWrapper hAlign={hAlign}>\n {image && <Image {...image} />}\n </ImageWrapper>\n </Section>\n );\n};\n\nexport const SimpleImageComponent = SimpleImage;\nexport default withLibTheme(SimpleImage);\n","import React from 'react';\nimport styled from 'styled-components';\nimport {\n getColors as color,\n mq,\n spacings,\n getGlobals as global,\n} from 'utils/styles';\n\nimport Instagram from 'components/base/icons/socials/Instagram';\nimport Heading from 'components/typography/Heading';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { gridSettings } from 'components/base/Grid';\nimport Image, { ImageProps } from 'components/blocks/Image';\n\nconst Cards = styled.ul`\n display: flex;\n flex-wrap: wrap;\n margin: 0;\n padding: 0;\n list-style: none;\n\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n\n & > * {\n flex: 1 1 100%;\n margin-top: ${spacings.spacer}px;\n margin-left: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n & > * {\n flex: 1 1 calc(50% - ${gridSettings.gutter}px);\n max-width: calc(50% - ${gridSettings.gutter}px);\n }\n }\n\n @media ${mq.large} {\n & > * {\n flex: 1 1 calc(${(1 / 3) * 100}% - ${gridSettings.gutter}px);\n max-width: calc(${(1 / 3) * 100}% - ${gridSettings.gutter}px);\n }\n }\n`;\n\nconst Item = styled.li`\n display: block;\n position: relative;\n padding: 0;\n`;\n\nconst Card = styled(Link)<{ isInverted?: boolean }>`\n position: relative;\n display: block;\n text-decoration: none;\n color: '#fff';\n outline-color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n &:before {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).secondary.inverted\n : color(theme).secondary.default};\n\n opacity: 0;\n pointer-events: none;\n z-index: 1;\n transition: opacity 0.2s ease-in-out;\n }\n\n &:hover {\n &:before {\n opacity: 1;\n pointer-events: all;\n }\n }\n\n &:focus {\n &:before {\n opacity: 1;\n pointer-events: all;\n }\n }\n`;\n\nconst StyledImage = styled(Image)`\n display: block;\n height: 100%;\n z-index: 0;\n`;\n\nconst TextContainer = styled.div`\n position: absolute;\n top: 50%;\n left: 50%;\n width: 100%;\n transform: translate(-50%, -50%);\n text-align: center;\n\n padding: ${spacings.nudge * 2}px;\n\n opacity: 0;\n pointer-events: none;\n z-index: 2;\n transition: opacity 0.2s ease-in-out;\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n ${Card}:hover & {\n opacity: 1;\n pointer-events: all;\n }\n\n ${Card}:focus & {\n opacity: 1;\n pointer-events: all;\n }\n`;\n\nconst FollowUs = styled(Heading)`\n text-transform: uppercase;\n`;\n\nconst InstagramIcon = styled.div`\n position: absolute;\n left: 20px;\n bottom: 20px;\n color: ${({ theme }) => color(theme).text.inverted};\n z-index: 2;\n\n & > * {\n fill: #fff;\n\n ${Card}:hover & {\n color: ${({ theme }) => color(theme).text.inverted};\n }\n }\n`;\n\nconst SocialWall: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array with item settings */\n items?: Array<{\n link?: LinkProps;\n image?: Omit<ImageProps, 'coverSpace' | 'ratio'>;\n }>;\n\n /** Text for main social media follow call */\n followUs?: string;\n\n /** Text for e.g. social media hashtag */\n hashTag?: string;\n\n /** Function to inject custom social icon on bottom left corner */\n socialIcon?: React.ReactNode;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, items, hashTag, followUs, socialIcon, bgMode }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n addSeperation\n >\n <Wrapper addWhitespace>\n <Cards>\n {items?.map((item, i) => (\n <Item key={i}>\n <Card\n isExternal\n {...item.link}\n isInverted={isInverted}\n ariaLabel={item?.image?.alt}\n >\n {item.image && (\n <StyledImage\n {...item.image}\n coverSpace\n ratios={{\n small: { w: 1, h: 1 },\n }}\n isInverted={isInverted}\n />\n )}\n <TextContainer>\n <FollowUs size=\"super\" isInverted>\n {followUs\n ? followUs\n : 'Follow Us On Instagram'}\n </FollowUs>\n {hashTag && (\n <Heading size=\"heading-2\" isInverted>\n {hashTag}\n </Heading>\n )}\n </TextContainer>\n <InstagramIcon>\n {socialIcon || <Instagram />}\n </InstagramIcon>\n </Card>\n </Item>\n ))}\n </Cards>\n </Wrapper>\n </Section>\n );\n};\n\nexport const SocialWallComponent = SocialWall;\nexport default withLibTheme(SocialWall);\n","import React from 'react';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport TableBlock, { TableProps } from 'components/blocks/TableBlock';\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\n\nconst TableSection = styled(Section)`\n overflow: unset;\n`;\n\nconst TableWrapper = styled(Wrapper)`\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst Table: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Table rows and columns */\n tableItems: TableProps[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, bgMode, tableItems }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full' || isInverted;\n\n return (\n <TableSection\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <TableWrapper>\n {tableItems.map((item, i) => {\n return (\n <TableBlock\n key={i}\n {...item}\n isInverted={isInverted}\n hasBack={hasBg}\n />\n );\n })}\n </TableWrapper>\n </TableSection>\n );\n};\n\nexport const TableComponent = Table;\nexport default withLibTheme(Table);\n","import React, { FC, useRef, useState } from 'react';\nimport styled from 'styled-components';\n\nimport Grid from 'components/base/Grid';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Copy from 'components/typography/Copy';\nimport Wrapper from 'components/base/Wrapper';\nimport Section, { BgMode } from 'components/base/Section';\nimport {\n mq,\n spacings,\n getGlobals as global,\n getFonts as font,\n} from 'utils/styles';\nimport Actions from 'components/blocks/Actions';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport IntroBlock from 'components/blocks/IntroBlock';\nimport VideoBlock, { VideoAspectRatios } from 'components/blocks/VideoBlock';\nimport { isValidArray } from 'utils/arrays';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport useUpdateEffect from 'utils/useUpdateEffect';\n\nconst Figure = styled.figure`\n display: flex;\n flex-direction: column;\n position: relative;\n height: 100%;\n width: 100%;\n margin: 0;\n padding: 0;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n\n @media ${mq.semilarge} {\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n }\n`;\n\nconst StyledImage = styled(Image)`\n position: relative;\n width: 100%;\n height: 100%;\n\n @media ${mq.semilarge} {\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n }\n`;\n\nconst Video = styled(VideoBlock)<{\n ratios?: VideoAspectRatios;\n isVisible?: boolean;\n}>`\n display: ${({ isVisible }) => (isVisible ? 'block' : 'none')};\n width: 100%;\n height: 100%;\n`;\n\nconst Description = styled(Copy)<{\n isInverted?: boolean;\n isSplitted?: boolean;\n isMirrored?: boolean;\n}>`\n display: block;\n\n @media ${mq.semilarge} {\n padding-left: ${spacings.nudge * 2}px;\n padding-right: ${spacings.nudge * 2}px;\n margin-left: ${({ isMirrored }) => isMirrored && 'auto'};\n margin-right: ${({ isMirrored }) => !isMirrored && 'auto'};\n max-width: ${({ isSplitted }) => isSplitted && '81.5%'};\n\n color: ${({ theme, isInverted, isSplitted }) =>\n isInverted && !isSplitted\n ? font(theme).copy.small.colorInverted\n : font(theme).copy.small.color};\n }\n\n @media ${mq.xlarge} {\n max-width: ${({ isSplitted }) => isSplitted && '69.5%'};\n }\n`;\n\nconst StyledActions = styled(Actions)`\n &:not(:first-child) {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst Teaser: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Switch text and image columns */\n isMirrored?: boolean;\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Images for different screen sizes */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /**\n * Use video instead of an image. Until video is loaded images defined in the image prop are used.\n * Multiple video urls can be used to loaded different file formats\n */\n video?: {\n urls: string[];\n aspectRatios?: VideoAspectRatios;\n };\n\n /** Image or video description text (richtext) */\n description?: string;\n\n /** Main richtext */\n text?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted' | 'splitted' | 'inverted-splitted';\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n isMirrored = false,\n bgMode,\n superTitle,\n superTitleAs,\n title,\n titleAs,\n image,\n video,\n description,\n text,\n primaryAction,\n secondaryAction,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted' || bgMode === 'inverted-splitted';\n const isSplitted = bgMode === 'splitted' || bgMode === 'inverted-splitted';\n const hasVideo = isValidArray(video?.urls, false);\n\n const viewRef = useRef<HTMLDivElement | null>(null);\n const [isLoaded, setLoaded] = useState(!image?.small || false);\n const [isVideoActive, setVideoActive] = useState<boolean>(false);\n const isObserverSupported = useObserverSupport();\n\n useUpdateEffect(() => {\n if (!viewRef.current || !hasVideo) return;\n if (!isObserverSupported) {\n setVideoActive(true);\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries, observer) => {\n const [entry] = entries;\n\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n setVideoActive(true);\n }\n },\n {\n rootMargin: '200px 0px 200px 0px',\n }\n );\n\n const viewEl = viewRef.current;\n observer.observe(viewEl);\n\n return () => {\n if (viewEl) observer.unobserve(viewEl);\n };\n }, [isObserverSupported]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToTeaserBgMode(bgMode, false, isMirrored)}\n >\n <Wrapper addWhitespace clampWidth=\"normal\">\n <Grid.Row valign=\"center\">\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? 6 : 0) / 12,\n }}\n xlarge={{\n span: 7 / 12,\n move: (isMirrored ? 5 : 0) / 12,\n }}\n >\n {(image?.small || hasVideo) && (\n <Figure ref={viewRef}>\n {image?.small && (!video || !isLoaded) && (\n <StyledImage\n {...image}\n isInverted={isInverted}\n coverSpace\n />\n )}\n {hasVideo && (\n <Video\n urls={\n isVideoActive\n ? video?.urls\n : undefined\n }\n muted\n autoPlay\n loop\n onCanPlayThrough={() => setLoaded(true)}\n ratios={video?.aspectRatios}\n isVisible={isLoaded}\n isInverted={isInverted}\n />\n )}\n {description && (\n <Description\n size=\"small\"\n renderAs=\"figcaption\"\n isInverted={isInverted}\n isSplitted={isSplitted}\n isMirrored={isMirrored}\n innerHTML={description}\n />\n )}\n </Figure>\n )}\n </Grid.Col>\n\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? -6 : 0) / 12,\n }}\n xlarge={{\n span: 5 / 12,\n move: (isMirrored ? -7 : 0) / 12,\n }}\n >\n <IntroBlock\n titleHyphens\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n text={text}\n colorMode={isInverted ? 'inverted' : 'default'}\n />\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={\n primaryAction && primaryAction(isInverted)\n }\n secondary={\n secondaryAction &&\n secondaryAction(isInverted)\n }\n />\n )}\n </Grid.Col>\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const mapToTeaserBgMode = (\n mode?: 'full' | 'splitted' | 'inverted' | 'inverted-splitted',\n preventSplit = false,\n isMirrored = false\n): BgMode | undefined => {\n switch (mode) {\n case 'full':\n return 'full';\n case 'inverted':\n return 'inverted';\n case 'splitted': {\n if (!preventSplit)\n return isMirrored ? 'larger-left' : 'larger-right';\n else return undefined;\n }\n case 'inverted-splitted': {\n if (!preventSplit)\n return isMirrored ? 'larger-left' : 'larger-right';\n else return undefined;\n }\n\n default:\n return undefined;\n }\n};\n\nexport const TeaserComponent = Teaser;\nexport default withLibTheme(Teaser);\n","import React, { FC, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Grid, { getGridWidth } from 'components/base/Grid';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Wrapper, { wrapperWhitespace } from 'components/base/Wrapper';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { mq, spacings, withRange, getGlobals as global } from 'utils/styles';\nimport Actions from 'components/blocks/Actions';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport IntroBlock from 'components/blocks/IntroBlock';\nimport VideoBlock, { VideoAspectRatios } from 'components/blocks/VideoBlock';\nimport { isValidArray } from 'utils/arrays';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport useUpdateEffect from 'utils/useUpdateEffect';\n\n/**\n * calculate single grid col from relative content wrapper\n * (grid width = wrapper width without paddings)\n * */\nconst getGridColOfContent = () => {\n return css`\n ${getGridWidth({\n cols: 1,\n gridWidth: `${spacings.wrapper - wrapperWhitespace * 2}px `,\n })}\n `;\n};\n\nconst WideVideo = styled(VideoBlock)<{\n isMirrored?: boolean;\n isVisible?: boolean;\n}>`\n display: ${({ isVisible }) => (isVisible ? 'block' : 'none')};\n position: relative;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n\n min-height: 400px;\n object-fit: cover;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n @media ${mq.semilarge} {\n position: absolute;\n /** \n calculate width of 6 grid cols (grid width = viewport width without wrapper paddings)\n and add left or right wrapper padding afterwards\n */\n width: calc(\n ${getGridWidth({\n cols: 6,\n gridWidth: `100% - ${wrapperWhitespace * 2}px `,\n })} + ${wrapperWhitespace}px\n );\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '0')};\n right: ${({ isMirrored }) => (isMirrored ? '0' : 'auto')};\n }\n\n @media ${mq.xlarge} {\n /** \n calculate width of 1 grid cols\n and add left or right wrapper padding afterwards. Then add this to 50% of current\n viewport width.\n */\n width: calc(50% + ${getGridColOfContent()} + ${wrapperWhitespace}px);\n }\n\n @media ${mq.xxlarge} {\n /** \n calculate width of 1 grid cols\n and add left or right wrapper padding afterwards. Then add this to 50% of large wrapper width.\n */\n width: calc(\n ${spacings.wrapperLarge / 2}px + ${getGridColOfContent()} +\n ${wrapperWhitespace}px\n );\n\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '50%')};\n right: ${({ isMirrored }) => (isMirrored ? '50%' : 'auto')};\n\n ${({ isMirrored }) =>\n css`\n transform: translateX(\n calc(\n ${isMirrored ? '100% - ' : '-100% + '}\n (${getGridColOfContent()} + ${wrapperWhitespace}px)\n )\n );\n `};\n }\n`;\n\nconst WideImage = styled(Image)<{ isMirrored?: boolean }>`\n position: relative;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n\n height: 100%;\n min-height: 400px;\n\n img {\n height: 100%;\n }\n\n @media ${mq.semilarge} {\n position: absolute;\n /** \n calculate width of 6 grid cols (grid width = viewport width without wrapper paddings)\n and add left or right wrapper padding afterwards\n */\n width: calc(\n ${getGridWidth({\n cols: 6,\n gridWidth: `100% - ${wrapperWhitespace * 2}px `,\n })} + ${wrapperWhitespace}px\n );\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '0')};\n right: ${({ isMirrored }) => (isMirrored ? '0' : 'auto')};\n }\n\n @media ${mq.xlarge} {\n /** \n calculate width of 1 grid cols\n and add left or right wrapper padding afterwards. Then add this to 50% of current\n viewport width.\n */\n width: calc(50% + ${getGridColOfContent()} + ${wrapperWhitespace}px);\n }\n\n @media ${mq.xxlarge} {\n /** \n calculate width of 1 grid cols\n and add left or right wrapper padding afterwards. Then add this to 50% of large wrapper width.\n */\n width: calc(\n ${spacings.wrapperLarge / 2}px + ${getGridColOfContent()} +\n ${wrapperWhitespace}px\n );\n\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '50%')};\n right: ${({ isMirrored }) => (isMirrored ? '50%' : 'auto')};\n\n ${({ isMirrored }) =>\n css`\n transform: translateX(\n calc(\n ${isMirrored ? '100% - ' : '-100% + '}\n (${getGridColOfContent()} + ${wrapperWhitespace}px)\n )\n );\n `};\n }\n`;\n\nconst Content = styled.div`\n ${({ theme }) =>\n withRange(\n global(theme).sections.seperation.padding.default,\n 'padding-bottom'\n )}\n\n @media ${mq.semilarge} {\n ${({ theme }) =>\n withRange(\n global(theme).sections.seperation.padding.default,\n 'padding-top'\n )}\n }\n`;\n\nconst StyledActions = styled(Actions)`\n &:not(:first-child) {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst TeaserWide: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Switch text and image columns */\n isMirrored?: boolean;\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Images for different screen sizes */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /**\n * Use video instead of an image. Until video is loaded images defined in the image prop are used.\n * Multiple video urls can be used to loaded different file formats\n */\n video?: {\n urls: string[];\n aspectRatios?: VideoAspectRatios;\n };\n\n /** Main richtext */\n text?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n isMirrored = false,\n superTitle,\n superTitleAs,\n title,\n titleAs,\n image,\n video,\n text,\n primaryAction,\n secondaryAction,\n bgMode,\n}) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const hasVideo = isValidArray(video?.urls, false);\n\n const viewRef = useRef<HTMLDivElement | null>(null);\n const [isLoaded, setLoaded] = useState(!image?.small || false);\n const [isVideoActive, setVideoActive] = useState<boolean>(false);\n const isObserverSupported = useObserverSupport();\n\n useUpdateEffect(() => {\n if (!viewRef.current || !hasVideo) return;\n if (!isObserverSupported) {\n setVideoActive(true);\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries, observer) => {\n const [entry] = entries;\n\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n setVideoActive(true);\n }\n },\n {\n rootMargin: '200px 0px 200px 0px',\n }\n );\n\n const viewEl = viewRef.current;\n observer.observe(viewEl);\n\n return () => {\n if (viewEl) observer.unobserve(viewEl);\n };\n }, [isObserverSupported]);\n\n return (\n <Section\n ref={viewRef}\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n {image?.small && (!video || !isLoaded) && (\n <WideImage\n coverSpace\n {...image}\n isMirrored={isMirrored}\n isInverted={isInverted}\n />\n )}\n {hasVideo && (\n <WideVideo\n urls={isVideoActive ? video?.urls : undefined}\n muted\n autoPlay\n loop\n onCanPlayThrough={() => setLoaded(true)}\n isVisible={isLoaded}\n isInverted={isInverted}\n isMirrored={isMirrored}\n ratios={video?.aspectRatios}\n />\n )}\n <Wrapper clampWidth=\"normal\" addWhitespace>\n <Grid.Row valign=\"center\">\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? 6 : 0) / 12,\n }}\n xlarge={{\n span: 7 / 12,\n move: (isMirrored ? 5 : 0) / 12,\n }}\n ></Grid.Col>\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? -6 : 0) / 12,\n }}\n xlarge={{\n span: 5 / 12,\n move: (isMirrored ? -7 : 0) / 12,\n }}\n >\n <Content>\n <IntroBlock\n titleHyphens\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n text={text}\n colorMode={isInverted ? 'inverted' : 'default'}\n />\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={\n primaryAction &&\n primaryAction(isInverted)\n }\n secondary={\n secondaryAction &&\n secondaryAction(isInverted)\n }\n />\n )}\n </Content>\n </Grid.Col>\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const TeaserWideComponent = TeaserWide;\nexport default withLibTheme(TeaserWide);\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport React, {\n createRef,\n MutableRefObject,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport styled, { ThemeContext } from 'styled-components';\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport { withLibTheme } from 'utils/LibThemeProvider';\n\nconst TimelineBlock = styled.div<{\n isSwitched?: boolean;\n isActive?: boolean;\n isInverted?: boolean;\n}>`\n position: relative;\n\n @media ${mq.large} {\n text-align: ${({ isSwitched }) => (isSwitched ? 'left' : 'right')};\n }\n\n &:after {\n content: '';\n width: 10px;\n height: 10px;\n\n box-sizing: content-box;\n border: 2px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n border-radius: 50%;\n\n background: ${({ theme, isActive, isInverted }) =>\n isActive\n ? isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark\n : isInverted\n ? color(theme).elementBg.dark\n : color(theme).elementBg.light};\n\n position: absolute;\n top: 16px;\n left: 0px;\n\n transition: all 0.2s ease-in-out;\n\n @media ${mq.large} {\n left: ${({ isSwitched }) => (!isSwitched ? '50%' : 'auto')};\n right: ${({ isSwitched }) => isSwitched && '50%'};\n transform: translateX(\n ${({ isSwitched }) => (isSwitched ? '50%' : '-50%')}\n );\n }\n }\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n width: 2px;\n min-height: 160px;\n height: 100%;\n background: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n left: 5px;\n\n @media ${mq.large} {\n left: 50%;\n transform: translateX(-50%);\n }\n }\n\n &:first-child {\n padding-top: 0;\n\n &:before {\n top: 16px;\n }\n }\n`;\n\nconst TimelineText = styled.div<{\n isSwitched?: boolean;\n}>`\n position: relative;\n padding-left: ${spacings.nudge * 3 + 2}px;\n padding-bottom: ${spacings.spacer}px;\n\n @media ${mq.large} {\n max-width: 50%;\n\n margin-left: ${({ isSwitched }) => isSwitched && '50%'};\n margin-right: ${({ isSwitched }) => !isSwitched && '50%'};\n\n padding: ${({ isSwitched }) =>\n isSwitched\n ? `${spacings.spacer}px 0 ${spacings.spacer * 1.75}px ${\n spacings.spacer\n }px`\n : `${spacings.spacer}px ${spacings.spacer}px ${\n spacings.spacer * 1.75\n }px 0`};\n }\n\n &:first-child {\n padding-top: 0;\n }\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n`;\n\nconst ItemTitle = styled(Heading)``;\n\nconst ItemTextBlock = styled(Copy)``;\n\nconst Timeline: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n items?: { label?: string; title?: string; text?: string }[];\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, bgMode, items }) => {\n const theme = useContext(ThemeContext);\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const [targetRefs, setTargetRefs] = useState<\n MutableRefObject<HTMLDivElement>[]\n >([]);\n const observerSupported = useObserverSupport();\n const observerRef = useRef<IntersectionObserver | null>(null);\n\n const [activeItem, setActiveItem] = useState<number>(0);\n\n useEffect(() => {\n if (observerSupported && targetRefs && targetRefs.length > 0) {\n const options = {\n rootMargin: '-50% 0% -50% 0%',\n threshold: 0,\n };\n\n observerRef.current = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n const index = targetRefs?.findIndex(\n (t) => t.current === entry.target\n );\n setActiveItem(index);\n }\n });\n }, options);\n\n for (let i = 0; i < targetRefs.length; i++) {\n observerRef.current.observe(targetRefs[i].current);\n }\n }\n\n return () => {\n observerRef.current?.disconnect();\n };\n }, [targetRefs, observerSupported]);\n\n useEffect(() => {\n setTargetRefs(() =>\n Array(items?.length)\n .fill(null)\n .map((_, i) => targetRefs[i] || createRef())\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items?.length]);\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? color(theme).sectionBg.dark\n : hasBg\n ? color(theme).sectionBg.medium\n : 'transparent'\n }\n bgMode={mapToBgMode(bgMode, true)}\n addSeperation\n >\n <Wrapper addWhitespace>\n {items &&\n items.map((item, i) => {\n return (\n <TimelineBlock\n ref={targetRefs[i]}\n isActive={activeItem === i}\n isSwitched={i % 2 === 0}\n isInverted={isInverted}\n key={i}\n >\n <TimelineText isSwitched={i % 2 === 0}>\n <ItemTitle\n size=\"heading-2\"\n textColor={\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default\n }\n >\n {item.label}\n </ItemTitle>\n\n <ItemTextBlock\n type=\"copy-b\"\n size=\"big\"\n isInverted={isInverted}\n >\n {item.title}\n </ItemTextBlock>\n <ItemTextBlock\n innerHTML={item.text}\n isInverted={isInverted}\n />\n </TimelineText>\n </TimelineBlock>\n );\n })}\n </Wrapper>\n </Section>\n );\n};\n\nexport const TimelineComponent = Timeline;\nexport default withLibTheme(Timeline);\n","import React from 'react';\nimport Section, { mapToBgMode } from 'components/base/Section';\n\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Wrapper from 'components/base/Wrapper';\nimport { ImageProps } from 'components/blocks/Image';\n\nimport VideoCard from 'components/blocks/VideoCard';\n\nconst Video: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n bgImage: Omit<ImageProps, 'ratios' | 'coverSpace'>;\n embedId: string;\n\n consentText?: string;\n consentAction?: (props: {\n handleClick?: () => void;\n consentProps: Record<string, string>;\n }) => React.ReactNode;\n /**\n * Custom handler for play button click\n * @returns true if video should be played\n */\n onPlayClick?: () => Promise<boolean>;\n\n playIcon?: React.ReactNode;\n bgMode?: 'full' | 'inverted' | 'splitted';\n}> = ({\n anchorId,\n bgMode,\n bgImage,\n embedId,\n playIcon,\n consentText,\n consentAction,\n onPlayClick,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n addSeperation\n >\n <Wrapper addWhitespace>\n <VideoCard\n bgImage={bgImage}\n embedId={embedId}\n playIcon={playIcon}\n consentText={consentText}\n consentAction={consentAction}\n onPlayClick={onPlayClick}\n />\n </Wrapper>\n </Section>\n );\n};\n\nexport const VideoComponent = Video;\nexport default withLibTheme(Video);\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\n\nimport { getColors as color, getGlobals as global, mq } from 'utils/styles';\nimport Play from 'components/base/icons/Play';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Wrapper from 'components/base/Wrapper';\nimport VideoBlock from 'components/blocks/VideoBlock';\nimport { ImageProps } from 'components/blocks/Image';\nimport { isValidArray } from 'utils/arrays';\n\nconst VideoContainer = styled.div<{ isInverted?: boolean }>`\n position: relative;\n cursor: pointer;\n`;\n\nconst Overlay = styled.div<{ bgImage?: ImageProps; isInverted?: boolean }>`\n position: relative;\n padding-top: ${`calc(100% / (16 / 9))`};\n background: ${({ theme, isInverted }) =>\n isInverted\n ? global(theme).sections.imagePlaceholderBg.inverted\n : global(theme).sections.imagePlaceholderBg.default};\n\n background-image: ${({ bgImage }) =>\n bgImage?.small && `url(\"${bgImage.small}\")`};\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n @media ${mq.medium} {\n text-align: left;\n\n background-image: ${({ bgImage }) =>\n bgImage?.medium && `url(\"${bgImage.medium}\")`};\n }\n\n @media ${mq.semilarge} {\n background-image: ${({ bgImage }) =>\n bgImage?.semilarge && `url(\"${bgImage.semilarge}\")`};\n }\n\n @media ${mq.large} {\n background-image: ${({ bgImage }) =>\n bgImage?.large && `url(\"${bgImage.large}\")`};\n }\n\n @media ${mq.xlarge} {\n background-image: ${({ bgImage }) =>\n bgImage?.xlarge && `url(\"${bgImage.xlarge}\")`};\n }\n\n &:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n pointer-events: none;\n\n background: linear-gradient(\n 358.19deg,\n rgba(29, 34, 35, 0.52) 12.37%,\n rgba(29, 34, 35, 0) 59.02%\n );\n }\n`;\n\nconst VideoControls = styled.button`\n display: block;\n border: none;\n background: none;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n color: ${({ theme }) => color(theme).elementBg.light};\n z-index: 1;\n padding: 0;\n\n cursor: pointer;\n\n & > * {\n opacity: 0.8;\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n height: 80px;\n width: 80px;\n\n color: ${({ theme }) => color(theme).elementBg.dark};\n }\n\n ${Overlay}:hover > & > * {\n transform: scale(1.05);\n opacity: 1;\n }\n\n ${Overlay}:active > & > * {\n transform: scale(0.95);\n opacity: 1;\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n border-radius: 50%;\n opacity: 1;\n\n & > * {\n color: ${({ theme }) => color(theme).primary.default};\n }\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n`;\n\nconst Video = styled(VideoBlock)<{ isVisible?: boolean }>`\n opacity: ${({ isVisible }) => (isVisible ? 1 : 0)};\n pointer-events: ${({ isVisible }) => (isVisible ? 'all' : 'none')};\n`;\n\nconst RawVideo: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** URL to video sources */\n videoUrls?: string[];\n\n /** Placeholder image */\n placeholderImg?: Omit<ImageProps, 'ratios' | 'coverSpace'>;\n\n /** Enable autoplay without user interaction */\n autoplay?: boolean;\n\n /** Playing video in loop */\n loop?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted' | 'splitted';\n\n /** Video play icon */\n playIcon?: React.ReactNode;\n}> = ({\n anchorId,\n bgMode,\n videoUrls,\n placeholderImg,\n playIcon,\n autoplay,\n loop,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const [isStarted, setIsStarted] = useState<boolean>(autoplay || false);\n\n return (\n <Section\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode)}\n addSeperation\n >\n <Wrapper addWhitespace>\n <VideoContainer\n onClick={() => {\n if (isValidArray(videoUrls, false)) {\n setIsStarted(true);\n }\n }}\n >\n {isStarted && (\n <Video\n isVisible={isStarted || !placeholderImg?.small}\n controls={!autoplay}\n autoPlay\n loop={loop}\n muted={autoplay}\n ratios={{ small: 16 / 9 }}\n urls={videoUrls}\n isInverted={isInverted}\n />\n )}\n {!isStarted && (\n <Overlay\n bgImage={placeholderImg}\n isInverted={isInverted}\n >\n <VideoControls>\n {playIcon || <Play iconColor=\"#000\" />}\n </VideoControls>\n </Overlay>\n )}\n </VideoContainer>\n </Wrapper>\n </Section>\n );\n};\n\nexport const RawVideoComponent = RawVideo;\nexport default withLibTheme(RawVideo);\n","import React, { FC, useEffect, useMemo, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n mq,\n spacings,\n getColors as color,\n getFonts as font,\n getGlobals as global,\n withRange,\n} from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Grid, { getGridWidth, gridSettings } from 'components/base/Grid';\nimport Wrapper, { wrapperWhitespace } from 'components/base/Wrapper';\n\nimport IntroBlock from 'components/blocks/IntroBlock';\n\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport { HeadlineTag } from 'components/typography/Heading';\n\nimport Phone from 'components/base/icons/Phone';\nimport Mail from 'components/base/icons/Mail';\n\nimport { generateLocalBusiness } from 'utils/structuredData';\nimport Link from 'components/typography/Link';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport Control from 'components/buttons/Control';\nimport * as Icons from 'components/base/icons/Icons';\nimport { getSVGDataImg as getSVGData } from 'utils/dataURI';\nimport useLeafletMap from 'utils/useLeafletMap';\nimport { isValidArray } from 'utils/arrays';\n\ninterface Address {\n street: string;\n postalCode: string;\n city?: string;\n country: string;\n}\n\nconst MapSection = styled(Section)`\n position: relative;\n min-height: 500px;\n z-index: 0;\n`;\n\nconst MapContainer = styled.div<{ isMirrored?: boolean }>`\n position: relative;\n top: 0;\n left: 0;\n bottom: 0;\n width: 100%;\n z-index: 0;\n\n height: 100%;\n min-height: 230px;\n\n @media ${mq.semilarge} {\n position: absolute;\n /** \n calculate width of 6 grid cols (grid width = viewport width without wrapper paddings)\n and add left or right wrapper padding afterwards\n */\n width: calc(\n ${getGridWidth({\n cols: 6,\n gridWidth: `100% - ${wrapperWhitespace * 2}px `,\n })} + ${wrapperWhitespace}px\n );\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '0')};\n right: ${({ isMirrored }) => (isMirrored ? '0' : 'auto')};\n }\n\n @media ${mq.xlarge} {\n width: calc(50% - ${gridSettings.gutter}px ${wrapperWhitespace}px);\n }\n\n @media ${mq.xxlarge} {\n width: calc(\n ${spacings.wrapperLarge / 2}px - ${gridSettings.gutter}px +\n ${wrapperWhitespace}px\n );\n\n left: ${({ isMirrored }) => (isMirrored ? 'auto' : '50%')};\n right: ${({ isMirrored }) => (isMirrored ? '50%' : 'auto')};\n\n ${({ isMirrored }) =>\n css`\n transform: translateX(\n calc(\n ${isMirrored\n ? `(100% + ${gridSettings.gutter}px) - `\n : `(-100% - ${gridSettings.gutter}px) + `}\n (${wrapperWhitespace}px)\n )\n );\n `};\n }\n`;\n\nconst CardWrapper = styled(Wrapper)`\n pointer-events: none;\n`;\n\nconst CardContainer = styled.div<{ isMirrored?: boolean }>`\n display: flex;\n flex-direction: row;\n position: relative;\n width: 100%;\n pointer-events: all;\n\n ${({ theme }) =>\n withRange(\n global(theme).sections.seperation.padding.default,\n 'padding-bottom'\n )}\n\n @media ${mq.semilarge} {\n ${({ theme }) =>\n withRange(\n global(theme).sections.seperation.padding.default,\n 'padding-top'\n )}\n }\n`;\n\nconst InfoCardView = styled.div`\n min-height: 100px;\n pointer-events: all;\n\n flex: 1 0 80%;\n max-width: 80%;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst CardHeader = styled.div`\n display: flex;\n`;\n\nconst ContactList = styled.ul<{ isInverted?: boolean }>`\n padding: 0;\n list-style-type: none;\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n\n li {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0;\n margin: 0;\n }\n\n li + li {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n span:first-child {\n flex: 0 0 30px;\n max-width: 30px;\n\n & > * {\n max-width: 100%;\n }\n }\n`;\n\nconst ContactListLink = styled(Link)`\n display: block;\n\n ${copyStyle('copy-b', 'big')}\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme)['copy-b'].big.colorInverted\n : font(theme)['copy-b'].big.color};\n\n * + & {\n margin-left: ${spacings.nudge * 1.5}px;\n }\n`;\n\nconst AddressContainer = styled.div<{ hasIcon?: boolean }>`\n display: -ms-grid;\n display: grid;\n\n ${({ hasIcon }) => css`\n -ms-grid-columns: ${hasIcon ? 'min-content' : ''} 1fr;\n grid-template-columns: ${hasIcon ? 'min-content' : ''} 1fr;\n -ms-grid-rows: ${hasIcon ? 'min-content' : ''} 1fr;\n grid-auto-rows: ${hasIcon ? 'min-content' : ''} 1fr;\n `}\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst CompanyInfo: FC<{\n isInverted?: boolean;\n companyName: string;\n address?: Address;\n customIcon?: (isInverted?: boolean) => React.ReactNode;\n}> = ({ isInverted, companyName, address, customIcon }) => {\n return (\n <AddressContainer hasIcon={!!customIcon}>\n {customIcon && <span> {customIcon()} </span>}\n <div>\n <Copy type=\"copy-b\" size=\"big\" isInverted={isInverted}>\n {companyName}\n </Copy>\n {address && (\n <Copy type=\"copy-b\" size=\"big\" isInverted={isInverted}>\n <div>{address.street}</div>\n <div>{`${address.postalCode} ${address.city}`}</div>\n <div>{address.country}</div>\n </Copy>\n )}\n </div>\n </AddressContainer>\n );\n};\n\nconst Desc = styled(Copy)`\n @media ${mq.semilarge} {\n margin-top: ${spacings.spacer * 2.5}px;\n }\n`;\n\nconst LocationInfoCard: FC<\n MapLocation & {\n isInverted?: boolean;\n }\n> = ({\n isInverted,\n title,\n titleAs,\n superTitle,\n superTitleAs,\n companyName,\n address,\n addressIcon,\n contact,\n description,\n}) => {\n const { colors } = useLibTheme();\n\n const addressIconContent = addressIcon ? (\n addressIcon({ isInverted })\n ) : (\n <LocationPin\n iconColor={isInverted ? colors.text.inverted : colors.text.default}\n />\n );\n\n const phoneIconContent = contact?.telephone?.icon ? (\n contact.telephone.icon({\n isInverted,\n })\n ) : (\n <Phone />\n );\n\n const mailIconContent = contact?.email?.icon ? (\n contact.email.icon({ isInverted })\n ) : (\n <Mail />\n );\n\n return (\n <InfoCardView>\n <CardHeader>\n <IntroBlock\n colorMode={isInverted ? 'inverted' : 'default'}\n title={title}\n titleAs={titleAs}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n />\n </CardHeader>\n {companyName && (\n <CompanyInfo\n companyName={companyName || ''}\n address={address}\n customIcon={\n addressIconContent\n ? () => addressIconContent\n : undefined\n }\n isInverted={isInverted}\n />\n )}\n {contact && (\n <ContactList isInverted={isInverted}>\n {contact?.telephone?.label && (\n <li>\n {phoneIconContent && (\n <span>{phoneIconContent}</span>\n )}\n <ContactListLink\n isInverted={isInverted}\n href={`tel:${\n contact.telephone.link ||\n contact.telephone.label\n }`}\n >\n {contact.telephone?.label}\n </ContactListLink>\n </li>\n )}\n {contact?.email?.label && (\n <li>\n {mailIconContent && <span>{mailIconContent}</span>}\n <ContactListLink\n isInverted={isInverted}\n href={`mailto:${\n contact?.email.link || contact.email.label\n }`}\n >\n {contact?.email.label}\n </ContactListLink>\n </li>\n )}\n </ContactList>\n )}\n\n <Desc isInverted={isInverted} innerHTML={description} />\n </InfoCardView>\n );\n};\n\nconst Controls = styled.div`\n flex: 1 0 20%;\n max-width: 20%;\n display: flex;\n flex-direction: column;\n align-self: flex-start;\n margin-left: auto;\n text-align: right;\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst FylToCtrlContainer = styled.button`\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1000;\n background: none;\n border: none;\n margin: 0;\n padding: 0;\n\n margin-top: ${spacings.spacer}px;\n margin-right: ${spacings.spacer}px;\n color: ${({ theme }) => color(theme).elementBg.dark};\n\n cursor: pointer;\n`;\n\nexport interface LocationIcon {\n url: string;\n size: [number, number];\n anchor: [number, number];\n\n sizeActive: [number, number];\n anchorActive: [number, number];\n}\n\nexport interface MapLocation {\n id: string;\n position: [number, number];\n icon?: LocationIcon;\n\n title?: string; // Rich Text\n titleAs?: HeadlineTag;\n superTitle?: string;\n superTitleAs?: HeadlineTag;\n\n companyName?: string;\n address?: Address;\n addressIcon?: (props: { isInverted?: boolean }) => React.ReactNode;\n contact?: {\n telephone?: {\n link?: string;\n label?: string;\n icon?: (props: { isInverted?: boolean }) => React.ReactNode;\n };\n email?: {\n link?: string;\n label?: string;\n icon?: (props: { isInverted?: boolean }) => React.ReactNode;\n };\n };\n image?: string[];\n description?: string;\n}\n\nconst Map: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Switch horizontal order of map and location info text */\n isMirrored?: boolean;\n\n /** Map tile provider */\n provider?: string;\n\n /** Map attribution text (richtext) */\n attribution?: string;\n\n /** Initial center of the map */\n center?: [number, number];\n\n /** Initial map zoom */\n zoom?: number;\n\n /** Zoom if map jumps to location */\n flyToZoom?: number;\n\n /** Initial location */\n initialLocation?: string;\n\n /** Array of location settings */\n locations?: Array<MapLocation>;\n\n /** Show all markers on first load */\n allMarkersOnInit?: boolean;\n\n /** Map container padding for show all markers */\n fitBoundsPadding?: [number, number];\n\n /** Icon element for flight to the current active location */\n flyToControl?: React.ReactNode;\n\n /** Injection function to replace default control button */\n controlNext?: (props: {\n isInverted?: boolean;\n isActive?: boolean;\n name?: string;\n clickHandler?: (ev: React.SyntheticEvent<HTMLButtonElement>) => void;\n }) => React.ReactNode;\n\n /** Injection function to replace default control button */\n controlPrev?: (props: {\n isInverted?: boolean;\n isActive?: boolean;\n name?: string;\n clickHandler?: (ev: React.SyntheticEvent<HTMLButtonElement>) => void;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n bgMode,\n isMirrored = false,\n provider,\n attribution,\n center = [51.505, -0.09],\n zoom = 5,\n flyToZoom,\n initialLocation,\n locations,\n allMarkersOnInit = false,\n fitBoundsPadding,\n flyToControl,\n controlNext,\n controlPrev,\n}) => {\n const { colors } = useLibTheme();\n\n const [activeLocationId, setActiveLocationId] = useState<string>(\n initialLocation || ''\n );\n const [isDirty, setIsDirty] = useState<boolean>(false);\n const activeLocation = useMemo(\n () => locations?.find((l) => l.id === activeLocationId),\n [activeLocationId, locations]\n );\n\n const hasBg = bgMode === 'full';\n const isInverted = bgMode === 'inverted';\n\n const defaultMarker: LocationIcon = {\n size: [28, 28],\n anchor: [14, 28],\n sizeActive: [70, 70],\n anchorActive: [35, 70],\n url: getSVGData(<LocationPin />),\n };\n const {\n isLoaded,\n setContainer: setMapContainer,\n flyToActive,\n showAllMarkers,\n } = useLeafletMap({\n url: provider,\n attribution,\n center,\n zoom,\n activeMarkerId: activeLocationId,\n markers: locations?.map(({ id, position, icon }) => ({\n id,\n position,\n icon: icon || defaultMarker,\n isInteractive: true,\n })),\n fitBoundsPadding,\n onMarkerClick: setActiveLocationId,\n });\n\n const goToNext = () => {\n setActiveLocationId((prev) => {\n if (!locations) return prev;\n const currentIndex = locations.findIndex(\n (l) => l.id === activeLocationId\n );\n if (currentIndex === -1) return prev;\n\n // get new index\n const newIndex = (currentIndex + 1) % locations.length;\n return locations[newIndex].id;\n });\n };\n\n const goToPrevious = () => {\n setActiveLocationId((prev) => {\n if (!locations) return prev;\n const currentIndex = locations.findIndex(\n (l) => l.id === activeLocationId\n );\n if (currentIndex === -1) return prev;\n\n // get new index\n const newIndex =\n currentIndex - 1 < 0 ? locations.length - 1 : currentIndex - 1;\n return locations[newIndex].id;\n });\n };\n\n useEffect(() => {\n if (isLoaded && !isDirty) {\n if (allMarkersOnInit) showAllMarkers();\n } else {\n flyToActive(flyToZoom);\n }\n }, [\n activeLocationId,\n allMarkersOnInit,\n flyToActive,\n flyToZoom,\n initialLocation,\n isDirty,\n isLoaded,\n showAllMarkers,\n ]);\n\n useEffect(() => {\n if (!isDirty && activeLocationId !== initialLocation) setIsDirty(true);\n }, [activeLocationId, initialLocation, isDirty]);\n\n return (\n <MapSection\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n {locations && generateLocalBusiness(locations)}\n <MapContainer ref={setMapContainer} isMirrored={isMirrored}>\n {flyToControl && (\n <FylToCtrlContainer\n onClick={(ev) => {\n ev.stopPropagation();\n flyToActive(flyToZoom);\n }}\n >\n {flyToControl}\n </FylToCtrlContainer>\n )}\n </MapContainer>\n\n <CardWrapper addWhitespace clampWidth=\"normal\">\n <Grid.Row>\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? 6 : 0) / 12,\n }}\n ></Grid.Col>\n <Grid.Col\n semilarge={{\n span: 6 / 12,\n move: (isMirrored ? -6 : 0) / 12,\n }}\n >\n <CardContainer isMirrored={isMirrored}>\n {isValidArray(locations, false) && (\n <React.Fragment>\n {activeLocation && (\n <LocationInfoCard\n {...activeLocation}\n isInverted={isInverted}\n />\n )}\n {locations.length > 1 && (\n <Controls>\n {controlNext ? (\n controlNext({\n isInverted,\n isActive: true,\n clickHandler: goToNext,\n name: 'control_next_head',\n })\n ) : (\n <Control\n isInverted={isInverted}\n isDisabled={false}\n onClick={goToNext}\n >\n <Icons.ArrowRightGhost />\n </Control>\n )}\n {controlPrev ? (\n controlPrev({\n isInverted,\n isActive: true,\n clickHandler: goToPrevious,\n name: 'control_prev_head',\n })\n ) : (\n <Control\n isInverted={isInverted}\n isDisabled={false}\n onClick={goToPrevious}\n >\n <Icons.ArrowLeftGhost />\n </Control>\n )}\n </Controls>\n )}\n </React.Fragment>\n )}\n </CardContainer>\n </Grid.Col>\n </Grid.Row>\n </CardWrapper>\n </MapSection>\n );\n};\n\nexport const MapComponent = Map;\nexport default withLibTheme(Map);\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport React from 'react';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst HtmlCode: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n /** HTML content */\n html?: string;\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ html, anchorId, bgMode }) => {\n const isInverted = bgMode === 'inverted';\n const { colors } = useLibTheme();\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"normal\" addWhitespace>\n {html && <div dangerouslySetInnerHTML={{ __html: html }} />}\n </Wrapper>\n </Section>\n );\n};\n\nexport const HtmlCodeComponent = HtmlCode;\nexport default withLibTheme(HtmlCode);\n"],"names":["AccordionContainer","styled","div","templateObject_1","__makeTemplateObject","spacings","nudge","View","details","templateObject_2","AccordionHead","summary","templateObject_3","_a","isInverted","hasBg","theme","color","elementBg","light","medium","mq","lightHover","mediumHover","Column","Copy","templateObject_4","AccordionText","templateObject_5","spacer","semilarge","gridSettings","gutter","AccordionBlock","label","text","aside","isSelected","onClick","itemIcon","className","colors","useLibTheme","React","createElement","open","onToggle","renderAs","size","type","Minus","iconColor","default","Plus","hasAside","innerHTML","Accordion","anchorId","items","bgMode","_b","useState","currentItems","setCurrentItems","Section","addSeperation","bgColor","sectionBg","dark","mapToBgMode","generateFAQ","Wrapper","addWhitespace","Grid","Row","Col","map","i","indexOf","key","concat","prev","copy","__spreadArray","index","push","splice","withLibTheme","primary","inverted","global","sections","edgeRadius","invertedHover","hover","Icon","MainLabel","Content","Title","ViewLink","Link","templateObject_6","Alert","title","date","description","link","customIcon","formattedDate","formatter","StatusFormatter","getTime","getFormattedDate","Info","textColor","__assign","ariaLabel","href","undefined","List","ul","ListItem","li","large","itemsPerRow","AlertList","alertCount","length","alertRefs","useEqualSheetHeight","listLength","identifiers","responsive","small","xlarge","item","ref","StyledTitle","ContentText","StyledActions","Actions","Article","titleAs","_c","titleSize","superTitle","superTitleAs","intro","asideText","halfAside","primaryAction","secondaryAction","hasContent","clampWidth","colorMode","valign","span","secondary","ContactView","Avatar","img","imagePlaceholderBg","Description","ContactBox","avatar","src","alt","StyledIntro","IntroBlock","hasDecorator","StyledContactBox","getGridWidth","cols","NewsletterWrapper","templateObject_7","Badge","templateObject_8","CallToAction","contact","badge","hasNewsletter","newsFormMain","isCentered","isTextCentered","SolidView","cardColor","hasLink","css","ImageView","imageTextGradient","StyledImage","Image","hasIcon","TextContainer","templateObject_9","Footer","SubLabel","templateObject_11","templateObject_12","CardLink","templateObject_13","Card","subLabel","image","decorator","CardView","defaultCardColor","coverSpace","ratios","w","h","templateObject_14","CardItem","templateObject_15","isEqual","threeCols","CardList","maxThreeCols","clamp","num","min","max","Math","Images","BackgroundImg","ForegroundContainer","hasTransition","hasAnim","initalValue","ForegroundImg","ForegroundOverlay","ImageLabel","ForegroundLabel","BackgroundLabel","ControlContainer","templateObject_10","Control","ComparisonSlider","initialValue","foregroundImg","backgroundImg","foregroundLabel","backgroundLabel","overlayColor","labelColor","dragControl","enableControlAnim","isIE","useIE","_d","slideValue","setSlideValue","_e","isHolding","setIsHolding","_f","isDragging","setIsDragging","_g","interacted","setInteracted","_h","sideOffset","setSideOffset","controlRef","useRef","useEffect","current","offsetWidth","handleInitalLoad","options","rootMargin","threshold","observer","IntersectionObserver","entries","isIntersecting","unobserve","target","observe","window","removeEventListener","document","readyState","addEventListener","setCurrentPos","clientX","relativeClientX","getBoundingClientRect","x","width","percentage","handleClick","ev","currentTarget","handleMouseMove","handleTouchMove","touches","onMouseMove","onMouseDown","onMouseUp","onMouseLeave","onTouchMove","onTouchStart","onTouchEnd","style","left","ArrowLeftRight","clickable","IntroContainer","clampTitle","wrapper","ExternalIconHolder","withRange","PromotionCard","forwardRef","externalLinkIcon","icon","linkObj","isExternal","externalIconString","ReactDOMServer","renderToString","External","displayName","isMain","CrossPromotion","main","isMirrored","card","ImageContainer","SubTitle","Text","Fact","subTitle","showPlaceholder","FactFill","FactGrid","columns","facts","factCount","cardRefs","fact","FactsContainer","FactItem","hasBack","hasText","ContentBlock","FactList","TitleLink","copyStyle","font","big","colorInverted","ArticleContent","Action","Feature","action","dataSheet","FeatureList","features","featureCount","isHalf","useMemo","halign","feature","Gallery","images","isFull","StyledSection","ItemContainer","Items","isVisible","Item","ItemLink","ShowMore","itemCount","IconList","toggle","showLessText","showMoreText","enableToggle","showMore","setShowMore","handleToggleClick","ratio","isToggled","clickHandler","additionalProps","Pointer","as","Label","IndexLink","LinkLabel","IconWrapper","IndexList","scrollToOffset","setTargetPos","useScrollTo","useMediaQueries","topOffset","setTopOffset","handleLinkClick","preventDefault","getAttribute","getElementById","split","top","scrollY","url","URL","location","hash","history","pushState","header","querySelector","navbarIdent","isStickable","getNavbarState","navbarHeights","getFullNavbarHeights","ArrowDown","Intro","abstract","isStackable","clampAbstract","clampText","TitleIcon","NavBlock","customTitleIcon","Fragment","NavList","CARD_MIN_WIDTH","CARD_MAX_WIDTH","MEDIA_QUERIES","NumberListCard","digit","Callout","NumberList","useContext","ThemeContext","numbersRef","customMediaQueries","section","Parallax","hAlign","contentWidth","wrapperLarge","ParallaxBackground","moveRatio","direction","isLoaded","setIsLoaded","yTransform","setYTransform","cRef","setContainerRef","parallaxRef","isNaN","prevEl","previousElementSibling","bgIdent","dataset","stackIdent","setAttribute","handleScroll","containerPos","offset","transform","Container","figure","verticallyCentered","imageTextGradientCentered","wrapperWhitespace","Poster","horizontallyCentered","maxTitleLines","maxTextLines","ItemList","ItemBlock","ListHead","Price","PriceBlock","price","PriceList","isHighlighted","PriceTag","hasBackground","mode","Tag","PriceTable","priceTagCount","Source","Quote","source","citeUrl","cite","ImageWrapper","SimpleImage","getColors","Cards","FollowUs","Heading","InstagramIcon","SocialWall","hashTag","followUs","socialIcon","Instagram","TableSection","TableWrapper","Table","tableItems","TableBlock","Figure","Video","VideoBlock","isSplitted","Teaser","video","hasVideo","isValidArray","urls","viewRef","setLoaded","isVideoActive","setVideoActive","isObserverSupported","useObserverSupport","useUpdateEffect","entry","viewEl","mapToTeaserBgMode","move","muted","autoPlay","loop","onCanPlayThrough","aspectRatios","titleHyphens","preventSplit","getGridColOfContent","gridWidth","WideVideo","xxlarge","WideImage","seperation","padding","TeaserWide","TimelineBlock","isSwitched","isActive","TimelineText","ItemTitle","ItemTextBlock","Timeline","targetRefs","setTargetRefs","observerSupported","observerRef","activeItem","setActiveItem","forEach","findIndex","t","disconnect","Array","fill","_","createRef","bgImage","embedId","playIcon","consentText","consentAction","onPlayClick","VideoCard","VideoContainer","Overlay","VideoControls","button","RawVideo","videoUrls","placeholderImg","autoplay","isStarted","setIsStarted","controls","Play","MapSection","MapContainer","CardWrapper","CardContainer","InfoCardView","CardHeader","ContactList","ContactListLink","AddressContainer","CompanyInfo","companyName","address","street","postalCode","city","country","Desc","LocationInfoCard","addressIcon","addressIconContent","LocationPin","phoneIconContent","telephone","Phone","mailIconContent","email","Mail","Controls","FylToCtrlContainer","Map","provider","attribution","center","zoom","flyToZoom","initialLocation","locations","allMarkersOnInit","fitBoundsPadding","flyToControl","controlNext","controlPrev","activeLocationId","setActiveLocationId","isDirty","setIsDirty","activeLocation","find","l","id","defaultMarker","anchor","sizeActive","anchorActive","getSVGData","useLeafletMap","activeMarkerId","markers","position","isInteractive","onMarkerClick","setMapContainer","setContainer","flyToActive","showAllMarkers","goToNext","currentIndex","newIndex","goToPrevious","generateLocalBusiness","stopPropagation","name","isDisabled","Icons","HtmlCode","html","dangerouslySetInnerHTML","__html"],"mappings":"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"}
|