@blateral/b.kit 2.8.4 → 3.0.1
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/Actions-2590a7b9.js +2 -0
- package/cjs/{Actions-c52a14e4.js.map → Actions-2590a7b9.js.map} +1 -1
- package/cjs/Bdot-35350767.js +2 -0
- package/cjs/{Bdot-62c8e349.js.map → Bdot-35350767.js.map} +1 -1
- package/cjs/Button-ddcdefd5.js +2 -0
- package/cjs/Button-ddcdefd5.js.map +1 -0
- package/cjs/ButtonGhost-22501467.js +2 -0
- package/cjs/ButtonGhost-22501467.js.map +1 -0
- package/cjs/ButtonLeft-7e1f216a.js +2 -0
- package/cjs/ButtonLeft-7e1f216a.js.map +1 -0
- package/cjs/Callout-86a61040.js +2 -0
- package/cjs/Callout-86a61040.js.map +1 -0
- package/cjs/Checkbox-d27880f4.js +2 -0
- package/cjs/Checkbox-d27880f4.js.map +1 -0
- package/cjs/Control-40e6d4ed.js +2 -0
- package/cjs/Control-40e6d4ed.js.map +1 -0
- package/cjs/Copy-1b9e33ba.js +2 -0
- package/cjs/Copy-1b9e33ba.js.map +1 -0
- package/cjs/EventBlock-7dde179c.js +2 -0
- package/cjs/EventBlock-7dde179c.js.map +1 -0
- package/cjs/FilterBar-238c2290.js +2 -0
- package/cjs/FilterBar-238c2290.js.map +1 -0
- package/cjs/FilterField-c8dc9450.js +2 -0
- package/cjs/{FilterField-d204feb1.js.map → FilterField-c8dc9450.js.map} +1 -1
- package/cjs/Grid-dab3343f.js +2 -0
- package/cjs/Grid-dab3343f.js.map +1 -0
- package/cjs/Image-14b2cb93.js +2 -0
- package/cjs/Image-14b2cb93.js.map +1 -0
- package/cjs/InfoList-b4f39949.js +2 -0
- package/cjs/InfoList-b4f39949.js.map +1 -0
- package/cjs/LanguageSwitcher-3ee77117.js +2 -0
- package/cjs/{LanguageSwitcher-c6fd04df.js.map → LanguageSwitcher-3ee77117.js.map} +1 -1
- package/cjs/LibThemeProvider-878ed68c.js +2 -0
- package/cjs/{LibThemeProvider-69109901.js.map → LibThemeProvider-878ed68c.js.map} +1 -1
- package/cjs/Link-6e728957.js +2 -0
- package/cjs/Link-6e728957.js.map +1 -0
- package/cjs/MultiselectDropdown-54cd988f.js +2 -0
- package/cjs/MultiselectDropdown-54cd988f.js.map +1 -0
- package/cjs/Navigation-2d3590a0.js +2 -0
- package/cjs/{Navigation-6c5d9dee.js.map → Navigation-2d3590a0.js.map} +1 -1
- package/cjs/PickerAction-ed288096.js +2 -0
- package/cjs/PickerAction-ed288096.js.map +1 -0
- package/cjs/Pointer-b8875387.js +2 -0
- package/cjs/Pointer-b8875387.js.map +1 -0
- package/cjs/Section-89240e41.js +2 -0
- package/cjs/Section-89240e41.js.map +1 -0
- package/cjs/SocialList-f2aca9d8.js +2 -0
- package/cjs/{SocialList-73af56b5.js.map → SocialList-f2aca9d8.js.map} +1 -1
- package/cjs/TableBlock-8f87c278.js +2 -0
- package/cjs/TableBlock-8f87c278.js.map +1 -0
- package/cjs/Tag-430477d0.js +2 -0
- package/cjs/Tag-430477d0.js.map +1 -0
- package/cjs/Textarea-51bea7d0.js +2 -0
- package/cjs/Textarea-51bea7d0.js.map +1 -0
- package/cjs/Textfield-4ff93649.js +2 -0
- package/cjs/Textfield-4ff93649.js.map +1 -0
- package/cjs/VideoBlock-087d79b8.js +2 -0
- package/cjs/{VideoBlock-0cae22f0.js.map → VideoBlock-087d79b8.js.map} +1 -1
- package/cjs/VideoCard-6e2ae7c1.js +2 -0
- package/cjs/VideoCard-6e2ae7c1.js.map +1 -0
- package/cjs/Wrapper-c755d727.js +2 -0
- package/cjs/{Wrapper-bca9463e.js.map → Wrapper-c755d727.js.map} +1 -1
- package/cjs/base.js +1 -1
- package/cjs/blocks.js +1 -1
- package/cjs/buttons.js +1 -1
- package/cjs/concat-8bd71a50.js +2 -0
- package/cjs/{concat-f387d848.js.map → concat-8bd71a50.js.map} +1 -1
- package/cjs/cookies.js +1 -1
- package/cjs/cookies.js.map +1 -1
- package/cjs/fields.js +1 -1
- package/cjs/fields.js.map +1 -1
- package/cjs/footer.js +1 -1
- package/cjs/footer.js.map +1 -1
- package/cjs/formFieldText-fcf0452b.js +2 -0
- package/cjs/formFieldText-fcf0452b.js.map +1 -0
- package/cjs/headers.js +1 -1
- package/cjs/headers.js.map +1 -1
- package/cjs/hooks.js +1 -1
- package/cjs/hooks.js.map +1 -1
- package/cjs/icons.js +1 -1
- package/cjs/index.js +1 -1
- package/cjs/navigation-ec5cddfc.js +2 -0
- package/cjs/{navigation-3f9d4ac4.js.map → navigation-ec5cddfc.js.map} +1 -1
- package/cjs/navigation.js +1 -1
- package/cjs/navigation.js.map +1 -1
- package/cjs/sections.dynamicform.js +1 -1
- package/cjs/sections.dynamicform.js.map +1 -1
- package/cjs/sections.events.js +1 -1
- package/cjs/sections.events.js.map +1 -1
- package/cjs/sections.forms.js +1 -1
- package/cjs/sections.forms.js.map +1 -1
- package/cjs/sections.jobs.js +1 -1
- package/cjs/sections.jobs.js.map +1 -1
- 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/cjs/sections.pois.js +1 -1
- package/cjs/sections.pois.js.map +1 -1
- package/cjs/structuredData-7c33a463.js +2 -0
- package/cjs/structuredData-7c33a463.js.map +1 -0
- package/cjs/styles-271afb02.js +2 -0
- package/cjs/styles-271afb02.js.map +1 -0
- package/cjs/typography.js +1 -1
- package/cjs/{urlParams-7525f638.js → urlParams-c412d937.js} +2 -2
- package/cjs/{urlParams-7525f638.js.map → urlParams-c412d937.js.map} +1 -1
- package/cjs/useCookieConsent-674d004d.js +2 -0
- package/cjs/{useCookieConsent-665d91cf.js.map → useCookieConsent-674d004d.js.map} +1 -1
- package/cjs/useEqualSheetHeight-7eb7f276.js +2 -0
- package/cjs/{useEqualSheetHeight-f1c10ec5.js.map → useEqualSheetHeight-7eb7f276.js.map} +1 -1
- package/cjs/useLazyInput-1481445a.js +2 -0
- package/cjs/{useLazyInput-911b8eda.js.map → useLazyInput-1481445a.js.map} +1 -1
- package/cjs/useLeafletMap-145217ee.js +2 -0
- package/cjs/{useLeafletMap-514304b6.js.map → useLeafletMap-145217ee.js.map} +1 -1
- package/cjs/useMediaQuery-dd367f98.js +2 -0
- package/cjs/{useMediaQuery-619d7203.js.map → useMediaQuery-dd367f98.js.map} +1 -1
- package/esm/{Actions-e29b5e75.js → Actions-6859c932.js} +3 -3
- package/esm/{Actions-e29b5e75.js.map → Actions-6859c932.js.map} +1 -1
- package/esm/{Bdot-5e798e7e.js → Bdot-9e215df7.js} +3 -3
- package/esm/{Bdot-5e798e7e.js.map → Bdot-9e215df7.js.map} +1 -1
- package/esm/Button-1f634865.js +146 -0
- package/esm/Button-1f634865.js.map +1 -0
- package/esm/ButtonGhost-476c3826.js +146 -0
- package/esm/ButtonGhost-476c3826.js.map +1 -0
- package/esm/{Filter-19220970.js → ButtonLeft-a9a132f5.js} +362 -246
- package/esm/ButtonLeft-a9a132f5.js.map +1 -0
- package/esm/{Callout-46f0bef0.js → Callout-6436d270.js} +8 -6
- package/esm/Callout-6436d270.js.map +1 -0
- package/esm/{Checkbox-962fea67.js → Checkbox-e7fc7d28.js} +21 -11
- package/esm/Checkbox-e7fc7d28.js.map +1 -0
- package/esm/Control-84268468.js +44 -0
- package/esm/Control-84268468.js.map +1 -0
- package/esm/{Copy-fd9e25c0.js → Copy-5a18e01f.js} +27 -9
- package/esm/Copy-5a18e01f.js.map +1 -0
- package/esm/{EventBlock-12361860.js → EventBlock-0d010725.js} +62 -27
- package/esm/EventBlock-0d010725.js.map +1 -0
- package/esm/{FilterBar-8c258534.js → FilterBar-d6c1ef40.js} +38 -24
- package/esm/FilterBar-d6c1ef40.js.map +1 -0
- package/esm/{FilterField-8e64b355.js → FilterField-251b4dad.js} +5 -5
- package/esm/{FilterField-8e64b355.js.map → FilterField-251b4dad.js.map} +1 -1
- package/esm/{Grid-7b33e271.js → Grid-cbd5e68c.js} +19 -12
- package/esm/Grid-cbd5e68c.js.map +1 -0
- package/esm/{Image-c67870d4.js → Image-e2018d39.js} +15 -10
- package/esm/Image-e2018d39.js.map +1 -0
- package/esm/{InfoList-d853db58.js → InfoList-1be2ff46.js} +14 -7
- package/esm/InfoList-1be2ff46.js.map +1 -0
- package/esm/{LanguageSwitcher-c9aa594a.js → LanguageSwitcher-19482399.js} +5 -5
- package/esm/{LanguageSwitcher-c9aa594a.js.map → LanguageSwitcher-19482399.js.map} +1 -1
- package/esm/{LibThemeProvider-fb1d35ac.js → LibThemeProvider-48cad3e8.js} +3 -3
- package/esm/{LibThemeProvider-fb1d35ac.js.map → LibThemeProvider-48cad3e8.js.map} +1 -1
- package/esm/{Link-6067a27f.js → Link-d4a291af.js} +15 -8
- package/esm/Link-d4a291af.js.map +1 -0
- package/esm/{MultiselectDropdown-61a5a1a6.js → MultiselectDropdown-20b33522.js} +33 -13
- package/esm/MultiselectDropdown-20b33522.js.map +1 -0
- package/esm/{Navigation-6581bcdf.js → Navigation-d7e14d09.js} +10 -10
- package/esm/{Navigation-6581bcdf.js.map → Navigation-d7e14d09.js.map} +1 -1
- package/esm/PickerAction-704f2992.js +65 -0
- package/esm/PickerAction-704f2992.js.map +1 -0
- package/esm/Pointer-41c10bba.js +144 -0
- package/esm/Pointer-41c10bba.js.map +1 -0
- package/esm/{Section-bd61eb2f.js → Section-ca6daed2.js} +9 -5
- package/esm/Section-ca6daed2.js.map +1 -0
- package/esm/{SocialList-abaf970d.js → SocialList-d5adb772.js} +5 -5
- package/esm/{SocialList-abaf970d.js.map → SocialList-d5adb772.js.map} +1 -1
- package/esm/{TableBlock-a65315ca.js → TableBlock-5aad5dd2.js} +63 -115
- package/esm/TableBlock-5aad5dd2.js.map +1 -0
- package/esm/{Tag-217cd89b.js → Tag-f3f23d9b.js} +9 -13
- package/esm/Tag-f3f23d9b.js.map +1 -0
- package/esm/{Textarea-60503eb7.js → Textarea-af789d6e.js} +341 -252
- package/esm/Textarea-af789d6e.js.map +1 -0
- package/esm/{Textfield-e8f48b5f.js → Textfield-1f1ae077.js} +18 -6
- package/esm/Textfield-1f1ae077.js.map +1 -0
- package/esm/{VideoBlock-3f150172.js → VideoBlock-3c99c5fc.js} +12 -8
- package/esm/VideoBlock-3c99c5fc.js.map +1 -0
- package/esm/{VideoCard-aa60fbe5.js → VideoCard-dc103fce.js} +29 -24
- package/esm/VideoCard-dc103fce.js.map +1 -0
- package/esm/{Wrapper-95108115.js → Wrapper-06db8e79.js} +3 -3
- package/esm/{Wrapper-95108115.js.map → Wrapper-06db8e79.js.map} +1 -1
- package/esm/base.js +6 -6
- package/esm/blocks.js +22 -22
- package/esm/buttons.js +7 -6
- package/esm/buttons.js.map +1 -1
- package/esm/{concat-ab3c66f2.js → concat-b6d6d978.js} +2 -2
- package/esm/concat-b6d6d978.js.map +1 -0
- package/esm/cookies.js +57 -46
- package/esm/cookies.js.map +1 -1
- package/esm/fields.js +56 -123
- package/esm/fields.js.map +1 -1
- package/esm/footer.js +15 -13
- package/esm/footer.js.map +1 -1
- package/esm/{formFieldText-c6fcd370.js → formFieldText-af2106f9.js} +14 -8
- package/esm/formFieldText-af2106f9.js.map +1 -0
- package/esm/headers.js +21 -17
- package/esm/headers.js.map +1 -1
- package/esm/hooks.js +12 -12
- package/esm/icons.js +5 -2
- package/esm/icons.js.map +1 -1
- package/esm/index.js +3 -3
- package/esm/{navigation-5216dbad.js → navigation-d3d2bf2e.js} +2 -2
- package/esm/{navigation-5216dbad.js.map → navigation-d3d2bf2e.js.map} +1 -1
- package/esm/navigation.js +12 -12
- package/esm/sections.dynamicform.js +29 -33
- package/esm/sections.dynamicform.js.map +1 -1
- package/esm/sections.events.js +48 -30
- package/esm/sections.events.js.map +1 -1
- package/esm/sections.forms.js +11 -11
- package/esm/sections.jobs.js +99 -45
- package/esm/sections.jobs.js.map +1 -1
- package/esm/sections.js +537 -259
- package/esm/sections.js.map +1 -1
- package/esm/sections.news.js +155 -81
- package/esm/sections.news.js.map +1 -1
- package/esm/sections.pois.js +39 -34
- package/esm/sections.pois.js.map +1 -1
- package/esm/{structuredData-abf610d8.js → structuredData-73bcbf07.js} +32 -2
- package/esm/structuredData-73bcbf07.js.map +1 -0
- package/esm/{styles-1f1841ef.js → styles-f3ba5bae.js} +3 -2
- package/esm/styles-f3ba5bae.js.map +1 -0
- package/esm/typography.js +6 -6
- package/esm/{urlParams-9cfdaf71.js → urlParams-e7114d3e.js} +2 -2
- package/esm/{urlParams-9cfdaf71.js.map → urlParams-e7114d3e.js.map} +1 -1
- package/esm/{useCookieConsent-6661d419.js → useCookieConsent-4b667d40.js} +2 -2
- package/esm/{useCookieConsent-6661d419.js.map → useCookieConsent-4b667d40.js.map} +1 -1
- package/esm/{useEqualSheetHeight-60ff9de7.js → useEqualSheetHeight-80704864.js} +4 -4
- package/esm/{useEqualSheetHeight-60ff9de7.js.map → useEqualSheetHeight-80704864.js.map} +1 -1
- package/esm/{useLazyInput-0b6932aa.js → useLazyInput-08ee63f4.js} +2 -2
- package/esm/{useLazyInput-0b6932aa.js.map → useLazyInput-08ee63f4.js.map} +1 -1
- package/esm/{useLeafletMap-fa0ab7d4.js → useLeafletMap-f9050715.js} +2 -2
- package/esm/{useLeafletMap-fa0ab7d4.js.map → useLeafletMap-f9050715.js.map} +1 -1
- package/esm/{useMediaQuery-4c1b1fa6.js → useMediaQuery-c9fa1339.js} +3 -3
- package/esm/{useMediaQuery-4c1b1fa6.js.map → useMediaQuery-c9fa1339.js.map} +1 -1
- package/package.json +1 -1
- package/types/buttons.d.ts +1 -0
- package/types/buttons.d.ts.map +1 -1
- package/types/components/base/Grid.d.ts +3 -0
- package/types/components/base/Grid.d.ts.map +1 -1
- package/types/components/base/Section.d.ts +3 -1
- package/types/components/base/Section.d.ts.map +1 -1
- package/types/components/base/icons/ButtonLeft.d.ts +1 -2
- package/types/components/base/icons/ButtonLeft.d.ts.map +1 -1
- package/types/components/base/icons/ButtonRight.d.ts +1 -2
- package/types/components/base/icons/ButtonRight.d.ts.map +1 -1
- package/types/components/base/icons/CircleX.d.ts +10 -0
- package/types/components/base/icons/CircleX.d.ts.map +1 -0
- package/types/components/base/icons/Icons.d.ts +3 -0
- package/types/components/base/icons/Icons.d.ts.map +1 -1
- package/types/components/blocks/Alert.d.ts.map +1 -1
- package/types/components/blocks/CookieConsent.d.ts.map +1 -1
- package/types/components/blocks/EventBlock.d.ts +18 -11
- package/types/components/blocks/EventBlock.d.ts.map +1 -1
- package/types/components/blocks/Feature.d.ts +6 -2
- package/types/components/blocks/Feature.d.ts.map +1 -1
- package/types/components/blocks/Image.d.ts +2 -0
- package/types/components/blocks/Image.d.ts.map +1 -1
- package/types/components/blocks/InfoList.d.ts +5 -1
- package/types/components/blocks/InfoList.d.ts.map +1 -1
- package/types/components/blocks/JobCard.d.ts +4 -0
- package/types/components/blocks/JobCard.d.ts.map +1 -1
- package/types/components/blocks/NavBlock.d.ts.map +1 -1
- package/types/components/blocks/NewsCard.d.ts +20 -9
- package/types/components/blocks/NewsCard.d.ts.map +1 -1
- package/types/components/blocks/POICard.d.ts +7 -1
- package/types/components/blocks/POICard.d.ts.map +1 -1
- package/types/components/blocks/POIFacts.d.ts +1 -0
- package/types/components/blocks/POIFacts.d.ts.map +1 -1
- package/types/components/blocks/PriceTag.d.ts +9 -4
- package/types/components/blocks/PriceTag.d.ts.map +1 -1
- package/types/components/blocks/PromotionCard.d.ts +2 -2
- package/types/components/blocks/PromotionCard.d.ts.map +1 -1
- package/types/components/blocks/TableBlock.d.ts +2 -0
- package/types/components/blocks/TableBlock.d.ts.map +1 -1
- package/types/components/blocks/Tag.d.ts +1 -0
- package/types/components/blocks/Tag.d.ts.map +1 -1
- package/types/components/blocks/Title.d.ts +5 -0
- package/types/components/blocks/Title.d.ts.map +1 -1
- package/types/components/blocks/VideoBlock.d.ts +2 -0
- package/types/components/blocks/VideoBlock.d.ts.map +1 -1
- package/types/components/blocks/VideoCard.d.ts +2 -0
- package/types/components/blocks/VideoCard.d.ts.map +1 -1
- package/types/components/buttons/Button.d.ts +6 -1
- package/types/components/buttons/Button.d.ts.map +1 -1
- package/types/components/buttons/ButtonGhost.d.ts +6 -1
- package/types/components/buttons/ButtonGhost.d.ts.map +1 -1
- package/types/components/buttons/Control.d.ts.map +1 -1
- package/types/components/buttons/PickerAction.d.ts +14 -0
- package/types/components/buttons/PickerAction.d.ts.map +1 -0
- package/types/components/buttons/Pointer.d.ts +6 -2
- package/types/components/buttons/Pointer.d.ts.map +1 -1
- package/types/components/fields/Checkbox.d.ts +0 -1
- package/types/components/fields/Checkbox.d.ts.map +1 -1
- package/types/components/fields/CompactForm.d.ts.map +1 -1
- package/types/components/fields/Datepicker.d.ts +31 -13
- package/types/components/fields/Datepicker.d.ts.map +1 -1
- package/types/components/fields/FileUpload.d.ts.map +1 -1
- package/types/components/fields/FormField.d.ts +4 -1
- package/types/components/fields/FormField.d.ts.map +1 -1
- package/types/components/fields/LocationField.d.ts +1 -0
- package/types/components/fields/LocationField.d.ts.map +1 -1
- package/types/components/fields/MultiselectDropdown.d.ts.map +1 -1
- package/types/components/fields/Radio.d.ts +0 -1
- package/types/components/fields/Radio.d.ts.map +1 -1
- package/types/components/fields/SelectDropdown.d.ts.map +1 -1
- package/types/components/fields/Textarea.d.ts.map +1 -1
- package/types/components/fields/Textfield.d.ts.map +1 -1
- package/types/components/sections/Accordion.d.ts +6 -6
- package/types/components/sections/Accordion.d.ts.map +1 -1
- package/types/components/sections/AlertList.d.ts +10 -6
- package/types/components/sections/AlertList.d.ts.map +1 -1
- package/types/components/sections/CallToAction.d.ts +14 -9
- package/types/components/sections/CallToAction.d.ts.map +1 -1
- package/types/components/sections/CardList.d.ts +19 -14
- package/types/components/sections/CardList.d.ts.map +1 -1
- package/types/components/sections/ComparisonSlider.d.ts.map +1 -1
- package/types/components/sections/CrossPromotion.d.ts +11 -12
- package/types/components/sections/CrossPromotion.d.ts.map +1 -1
- package/types/components/sections/FactGrid.d.ts +4 -0
- package/types/components/sections/FactGrid.d.ts.map +1 -1
- package/types/components/sections/FactList.d.ts +13 -0
- package/types/components/sections/FactList.d.ts.map +1 -1
- package/types/components/sections/FeatureList.d.ts +4 -0
- package/types/components/sections/FeatureList.d.ts.map +1 -1
- package/types/components/sections/Gallery.d.ts +2 -0
- package/types/components/sections/Gallery.d.ts.map +1 -1
- package/types/components/sections/IconList.d.ts +4 -0
- package/types/components/sections/IconList.d.ts.map +1 -1
- package/types/components/sections/IndexList.d.ts +2 -0
- package/types/components/sections/IndexList.d.ts.map +1 -1
- package/types/components/sections/Map.d.ts +11 -24
- package/types/components/sections/Map.d.ts.map +1 -1
- package/types/components/sections/NavList.d.ts +2 -0
- package/types/components/sections/NavList.d.ts.map +1 -1
- package/types/components/sections/NumberList.d.ts +4 -0
- package/types/components/sections/NumberList.d.ts.map +1 -1
- package/types/components/sections/ParallaxBackground.d.ts.map +1 -1
- package/types/components/sections/PriceList.d.ts +18 -0
- package/types/components/sections/PriceList.d.ts.map +1 -1
- package/types/components/sections/PriceTable.d.ts +6 -2
- package/types/components/sections/PriceTable.d.ts.map +1 -1
- package/types/components/sections/Quote.d.ts.map +1 -1
- package/types/components/sections/RawVideo.d.ts +4 -0
- package/types/components/sections/RawVideo.d.ts.map +1 -1
- package/types/components/sections/SocialWall.d.ts +13 -12
- package/types/components/sections/SocialWall.d.ts.map +1 -1
- package/types/components/sections/Table.d.ts +11 -2
- package/types/components/sections/Table.d.ts.map +1 -1
- package/types/components/sections/Teaser.d.ts.map +1 -1
- package/types/components/sections/TeaserWide.d.ts.map +1 -1
- package/types/components/sections/Video.d.ts +2 -0
- package/types/components/sections/Video.d.ts.map +1 -1
- package/types/components/sections/events/EventDetail.d.ts +14 -14
- package/types/components/sections/events/EventDetail.d.ts.map +1 -1
- package/types/components/sections/events/EventList.d.ts +3 -16
- package/types/components/sections/events/EventList.d.ts.map +1 -1
- package/types/components/sections/events/EventOverview.d.ts +3 -15
- package/types/components/sections/events/EventOverview.d.ts.map +1 -1
- package/types/components/sections/form/DynamicForm.d.ts +9 -9
- package/types/components/sections/form/DynamicForm.d.ts.map +1 -1
- package/types/components/sections/form/renderer/datepickerRenderer.d.ts.map +1 -1
- package/types/components/sections/header/HeaderKenBurns.d.ts.map +1 -1
- package/types/components/sections/header/HeaderPoster.d.ts.map +1 -1
- package/types/components/sections/header/HeaderVideo.d.ts.map +1 -1
- package/types/components/sections/jobs/JobArticle.d.ts +4 -0
- package/types/components/sections/jobs/JobArticle.d.ts.map +1 -1
- package/types/components/sections/jobs/JobList.d.ts +8 -0
- package/types/components/sections/jobs/JobList.d.ts.map +1 -1
- package/types/components/sections/news/NewsAuthorCard.d.ts.map +1 -1
- package/types/components/sections/news/NewsFooter.d.ts +3 -16
- package/types/components/sections/news/NewsFooter.d.ts.map +1 -1
- package/types/components/sections/news/NewsImages.d.ts.map +1 -1
- package/types/components/sections/news/NewsIntro.d.ts.map +1 -1
- package/types/components/sections/news/NewsList.d.ts +3 -16
- package/types/components/sections/news/NewsList.d.ts.map +1 -1
- package/types/components/sections/news/NewsOverview.d.ts +3 -15
- package/types/components/sections/news/NewsOverview.d.ts.map +1 -1
- package/types/components/sections/news/NewsTable.d.ts +8 -0
- package/types/components/sections/news/NewsTable.d.ts.map +1 -1
- package/types/components/sections/news/NewsVideo.d.ts +4 -0
- package/types/components/sections/news/NewsVideo.d.ts.map +1 -1
- package/types/components/sections/pois/PointOfInterestOverview.d.ts +13 -12
- package/types/components/sections/pois/PointOfInterestOverview.d.ts.map +1 -1
- package/types/components/typography/Callout.d.ts +1 -0
- package/types/components/typography/Callout.d.ts.map +1 -1
- package/types/components/typography/Copy.d.ts +7 -1
- package/types/components/typography/Copy.d.ts.map +1 -1
- package/types/components/typography/Heading.d.ts +1 -0
- package/types/components/typography/Heading.d.ts.map +1 -1
- package/types/components/typography/Link.d.ts +3 -0
- package/types/components/typography/Link.d.ts.map +1 -1
- package/types/fields.d.ts +0 -1
- package/types/fields.d.ts.map +1 -1
- package/types/utils/structuredData.d.ts +14 -0
- package/types/utils/structuredData.d.ts.map +1 -1
- package/types/utils/styles.d.ts +1 -0
- package/types/utils/styles.d.ts.map +1 -1
- package/cjs/Actions-c52a14e4.js +0 -2
- package/cjs/Bdot-62c8e349.js +0 -2
- package/cjs/Button-1adf99b8.js +0 -2
- package/cjs/Button-1adf99b8.js.map +0 -1
- package/cjs/ButtonGhost-fbab8769.js +0 -2
- package/cjs/ButtonGhost-fbab8769.js.map +0 -1
- package/cjs/Callout-d84ca60b.js +0 -2
- package/cjs/Callout-d84ca60b.js.map +0 -1
- package/cjs/Checkbox-ddc9a87d.js +0 -2
- package/cjs/Checkbox-ddc9a87d.js.map +0 -1
- package/cjs/Control-e15e1572.js +0 -2
- package/cjs/Control-e15e1572.js.map +0 -1
- package/cjs/Copy-2a9d4b5d.js +0 -2
- package/cjs/Copy-2a9d4b5d.js.map +0 -1
- package/cjs/EventBlock-0b0f0dd3.js +0 -2
- package/cjs/EventBlock-0b0f0dd3.js.map +0 -1
- package/cjs/Filter-89286db9.js +0 -2
- package/cjs/Filter-89286db9.js.map +0 -1
- package/cjs/FilterBar-bfd9db6e.js +0 -2
- package/cjs/FilterBar-bfd9db6e.js.map +0 -1
- package/cjs/FilterField-d204feb1.js +0 -2
- package/cjs/Grid-1acefee9.js +0 -2
- package/cjs/Grid-1acefee9.js.map +0 -1
- package/cjs/Image-69a9c116.js +0 -2
- package/cjs/Image-69a9c116.js.map +0 -1
- package/cjs/InfoList-f040b8fb.js +0 -2
- package/cjs/InfoList-f040b8fb.js.map +0 -1
- package/cjs/LanguageSwitcher-c6fd04df.js +0 -2
- package/cjs/LibThemeProvider-69109901.js +0 -2
- package/cjs/Link-8951180c.js +0 -2
- package/cjs/Link-8951180c.js.map +0 -1
- package/cjs/MultiselectDropdown-d46ae36f.js +0 -2
- package/cjs/MultiselectDropdown-d46ae36f.js.map +0 -1
- package/cjs/Navigation-6c5d9dee.js +0 -2
- package/cjs/Pointer-0f69256f.js +0 -2
- package/cjs/Pointer-0f69256f.js.map +0 -1
- package/cjs/Section-c9a16ccc.js +0 -2
- package/cjs/Section-c9a16ccc.js.map +0 -1
- package/cjs/SocialList-73af56b5.js +0 -2
- package/cjs/TableBlock-532c7e1e.js +0 -2
- package/cjs/TableBlock-532c7e1e.js.map +0 -1
- package/cjs/Tag-232f7aa9.js +0 -2
- package/cjs/Tag-232f7aa9.js.map +0 -1
- package/cjs/Textarea-d30682bd.js +0 -2
- package/cjs/Textarea-d30682bd.js.map +0 -1
- package/cjs/Textfield-b3769184.js +0 -2
- package/cjs/Textfield-b3769184.js.map +0 -1
- package/cjs/VideoBlock-0cae22f0.js +0 -2
- package/cjs/VideoCard-c9d4f46a.js +0 -2
- package/cjs/VideoCard-c9d4f46a.js.map +0 -1
- package/cjs/Wrapper-bca9463e.js +0 -2
- package/cjs/concat-f387d848.js +0 -2
- package/cjs/formFieldText-21f5f620.js +0 -2
- package/cjs/formFieldText-21f5f620.js.map +0 -1
- package/cjs/navigation-3f9d4ac4.js +0 -2
- package/cjs/structuredData-0b1278a9.js +0 -2
- package/cjs/structuredData-0b1278a9.js.map +0 -1
- package/cjs/styles-13e5d9ac.js +0 -2
- package/cjs/styles-13e5d9ac.js.map +0 -1
- package/cjs/useCookieConsent-665d91cf.js +0 -2
- package/cjs/useEqualSheetHeight-f1c10ec5.js +0 -2
- package/cjs/useLazyInput-911b8eda.js +0 -2
- package/cjs/useLeafletMap-514304b6.js +0 -2
- package/cjs/useMediaQuery-619d7203.js +0 -2
- package/esm/Button-9a0dd9aa.js +0 -115
- package/esm/Button-9a0dd9aa.js.map +0 -1
- package/esm/ButtonGhost-fc9e7a75.js +0 -112
- package/esm/ButtonGhost-fc9e7a75.js.map +0 -1
- package/esm/Callout-46f0bef0.js.map +0 -1
- package/esm/Checkbox-962fea67.js.map +0 -1
- package/esm/Control-56ec7872.js +0 -52
- package/esm/Control-56ec7872.js.map +0 -1
- package/esm/Copy-fd9e25c0.js.map +0 -1
- package/esm/EventBlock-12361860.js.map +0 -1
- package/esm/Filter-19220970.js.map +0 -1
- package/esm/FilterBar-8c258534.js.map +0 -1
- package/esm/Grid-7b33e271.js.map +0 -1
- package/esm/Image-c67870d4.js.map +0 -1
- package/esm/InfoList-d853db58.js.map +0 -1
- package/esm/Link-6067a27f.js.map +0 -1
- package/esm/MultiselectDropdown-61a5a1a6.js.map +0 -1
- package/esm/Pointer-3e965d7b.js +0 -111
- package/esm/Pointer-3e965d7b.js.map +0 -1
- package/esm/Section-bd61eb2f.js.map +0 -1
- package/esm/TableBlock-a65315ca.js.map +0 -1
- package/esm/Tag-217cd89b.js.map +0 -1
- package/esm/Textarea-60503eb7.js.map +0 -1
- package/esm/Textfield-e8f48b5f.js.map +0 -1
- package/esm/VideoBlock-3f150172.js.map +0 -1
- package/esm/VideoCard-aa60fbe5.js.map +0 -1
- package/esm/concat-ab3c66f2.js.map +0 -1
- package/esm/formFieldText-c6fcd370.js.map +0 -1
- package/esm/structuredData-abf610d8.js.map +0 -1
- package/esm/styles-1f1841ef.js.map +0 -1
- package/types/components/fields/SearchInput.d.ts +0 -16
- package/types/components/fields/SearchInput.d.ts.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 {\n spacings,\n getColors as color,\n getGlobals as global,\n mq,\n} 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 border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n`;\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","_a","theme","global","sections","edgeRadius","AccordionHead","summary","templateObject_3","isInverted","hasBg","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","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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"}
|
|
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 {\n spacings,\n getColors as color,\n getGlobals as global,\n mq,\n} 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 border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n`;\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\nexport interface AccordionIconFnProps {\n isSelected: boolean;\n}\n\nexport type AccordionIconFn = (props: AccordionIconFnProps) => React.ReactNode;\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?: AccordionIconFn;\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>\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 position: relative;\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 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\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 &:has(a):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 TitleLink = styled(Link)`\n color: inherit;\n cursor: pointer;\n outline: none;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n }\n\n && {\n margin: 0;\n }\n\n &:before {\n content: '';\n position: absolute;\n inset: 0;\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 && link?.href ? (\n <TitleLink\n {...link}\n ariaLabel={link?.href ? title : undefined}\n isInverted={isInverted}\n >\n <Title\n textColor=\"inherit\"\n size=\"medium\"\n type=\"copy-b\"\n renderAs=\"span\"\n >\n {title}\n </Title>\n </TitleLink>\n ) : (\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 </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\nexport interface AlertListIconFnProps {\n isInverted?: boolean;\n}\n\nexport type AlertListIconFn = (props: AlertListIconFnProps) => React.ReactNode;\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?: AlertListIconFn;\n\n /** Aria label for the list */\n listAriaLabel?: string;\n}> = ({\n anchorId,\n items,\n bgMode,\n customIcon,\n listAriaLabel = 'List of card items with important news/informations',\n}) => {\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 aria-label={listAriaLabel}>\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.figure`\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 renderAs=\"figcaption\"\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}\nexport type CtaActionFn = (props: CtaActionProps) => React.ReactNode;\n\nexport interface CtaNewsFormMainFnProps {\n isInverted?: boolean;\n}\nexport type CtaNewsFormMainFn = (\n props: CtaNewsFormMainFnProps\n) => React.ReactNode;\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?: CtaActionFn;\n /** Function to inject custom secondary button */\n secondaryAction?: CtaActionFn;\n /** Function to inject newsletter form */\n newsFormMain?: CtaNewsFormMainFn;\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';\nimport { concat as cn } from 'utils/concat';\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 ${({ hasLink, isInverted, theme }) =>\n hasLink &&\n css`\n &:has(:focus-visible) {\n outline: 2px solid\n ${isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n outline-offset: 2px;\n }\n `}\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 @media (hover: none) {\n &:has(:active:not(:focus-visible)) {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n -webkit-tap-highlight-color: transparent;\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 @media (hover: none) {\n &:active:not(:focus-visible) {\n box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.35);\n\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n -webkit-tap-highlight-color: transparent;\n\n img {\n transition-timing-function: cubic-bezier(\n 0.4,\n 0,\n 0.2,\n 1\n );\n -webkit-tap-highlight-color: transparent;\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 outline: none;\n text-decoration: none;\n\n &:before {\n content: '';\n position: absolute;\n inset: 0;\n z-index: 1;\n }\n`;\n\nexport interface CardListCardIconFnProps {\n isInverted?: boolean;\n}\n\nexport type CardListCardIconFn = (\n props: CardListCardIconFnProps\n) => React.ReactNode;\n\nexport interface CardProps {\n isInverted?: boolean;\n title?: string;\n subLabel?: string;\n image?: ImageProps;\n link?: LinkProps;\n decorator?: CardListDecoratorFn;\n cardColor?: string;\n customIcon?: CardListCardIconFn;\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 alt={image.alt ?? ''}\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 {link?.href ? (\n <CardLink\n isInverted={isInverted}\n {...link}\n ariaLabel={cn([title, subLabel], ' - ')}\n >\n {title && (\n <Title\n size=\"big\"\n type=\"copy\"\n isInverted\n renderAs=\"span\"\n >\n {title}\n </Title>\n )}\n </CardLink>\n ) : title ? (\n <Title size=\"big\" type=\"copy\" isInverted>\n {title}\n </Title>\n ) : null}\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 </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\nexport interface CardListDecoratorFnProps {\n isInverted?: boolean;\n}\n\nexport type CardListDecoratorFn = (\n props: CardListDecoratorFnProps\n) => React.ReactNode;\n\nexport type CardListItem = Omit<CardProps, 'decorator' | 'isInverted'>;\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?: CardListItem[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom decoration icon */\n decorator?: CardListDecoratorFn;\n\n /** Force maximal three items per row */\n maxThreeCols?: boolean;\n\n /** Aria label for the list */\n listAriaLabel?: string;\n}> = ({\n anchorId,\n items,\n bgMode,\n decorator,\n maxThreeCols,\n listAriaLabel = 'List of card items with image/text and link',\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, true)}\n addSeperation\n >\n <Wrapper addWhitespace>\n <List aria-label={listAriaLabel}>\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 &:focus-visible {\n outline: solid 2px ${({ theme }) => color(theme).elementBg.light};\n outline-offset: 2px;\n }\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 const handleControlKeydown = (ev: React.KeyboardEvent<HTMLDivElement>) => {\n if (ev.key === 'ArrowLeft' || ev.key === 'ArrowRight') {\n ev.preventDefault();\n setInteracted(true);\n setSlideValue((prev) => {\n const delta = ev.key === 'ArrowLeft' ? -0.05 : 0.05;\n return clamp(prev + delta, 0, 1);\n });\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>\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 role=\"slider\"\n tabIndex={0}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={Math.round(slideValue * 100)}\n aria-label=\"Image comparison slider\"\n onKeyDown={handleControlKeydown}\n >\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 External from 'components/base/icons/External';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Title from 'components/blocks/Title';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React, { forwardRef, useId } from 'react';\nimport ReactDOMServer from 'react-dom/server';\nimport styled, { css } from 'styled-components';\nimport {\n getColors as color,\n getGlobals as global,\n mq,\n spacings,\n withRange,\n} from 'utils/styles';\n\nconst View = styled(Link)<{ clickable?: boolean }>`\n display: flex;\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 @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 &:focus-visible,\n &:has(:focus-visible) {\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`;\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 ${({ titleLink }) =>\n titleLink?.href &&\n css`\n * {\n outline: none !important;\n }\n\n a:before {\n content: '';\n position: absolute;\n inset: 0;\n z-index: 1;\n }\n `}\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 const id = useId();\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 as={linkObj?.href && !title ? 'a' : 'div'}\n {...(linkObj?.href && !title ? linkObj : {})}\n clickable={!!linkObj?.href}\n aria-labelledby={title ? id : undefined}\n className={className}\n >\n <StyledImage\n {...image}\n alt={image.alt ?? ''}\n isInverted={isInverted}\n coverSpace\n />\n {icon && <Icon>{icon({ isInverted })}</Icon>}\n {title && (\n <IntroContainer>\n <StyledTitle\n colorMode=\"onImage\"\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n titleId={id}\n title={\n linkObj?.isExternal\n ? title + externalIconString\n : title\n }\n titleAs={titleAs || 'h3'}\n titleLink={linkObj}\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\nexport type CrossPromotionItem = Omit<\n PromotionCardProps,\n 'externalLinkIcon' | 'isInverted'\n> & {\n size?: 'full' | 'half';\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?: CrossPromotionItem[];\n\n /** Promotion card settings in second grid column (default: on left side). The size prop controls the width. */\n aside?: CrossPromotionItem[];\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\n /** Aria-Label for accessibility */\n listAriaLabel?: string;\n}> = ({\n anchorId,\n main,\n aside,\n bgMode,\n isMirrored,\n externalLinkIcon,\n listAriaLabel = 'List of cross promotion cards with image and text',\n}) => {\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 asList ariaLabel={listAriaLabel}>\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\n /** Aria-Label for accessibility */\n listAriaLabel?: string;\n}> = ({\n anchorId,\n columns = 3,\n facts,\n bgMode,\n isCentered,\n listAriaLabel = 'List of items with facts and other informations',\n}) => {\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 asList ariaLabel={listAriaLabel}>\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, { useId } 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 FactItemView = 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\nexport interface FactItemProps {\n label?: string;\n text?: string;\n hasBg?: boolean;\n icon?: { src: string; alt?: string };\n}\n\nconst FactItem: React.FC<FactItemProps> = ({ label, text, hasBg, icon }) => {\n const id = useId();\n const titleId = `fact-item-title-${id}`;\n const descriptionId = `fact-item-description-${id}`;\n\n return (\n <FactItemView\n aria-labelledby={titleId}\n aria-describedby={descriptionId}\n hasText={!!text}\n hasBack={hasBg}\n aria-label={label}\n >\n {icon && <Icon src={icon.src} alt={icon.alt || ''} aria-hidden />}\n <ContentBlock>\n {label && (\n <Copy id={titleId} type=\"copy-b\">\n {label}\n </Copy>\n )}\n {text && (\n <Description\n id={descriptionId}\n type=\"copy\"\n innerHTML={text}\n />\n )}\n </ContentBlock>\n </FactItemView>\n );\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\n /** Aria-Label for accessibility */\n listAriaLabel?: string;\n}> = ({\n anchorId,\n facts,\n icon,\n bgMode,\n listAriaLabel = 'List of items with facts and other informations',\n}) => {\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 aria-label={listAriaLabel}>\n {facts.map(({ label, text }, i) => {\n return (\n <FactItem\n key={i}\n label={label}\n text={text}\n hasBg={hasBack}\n icon={icon}\n />\n );\n })}\n </FactsContainer>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const FactListComponent = FactList;\nexport default withLibTheme(FactList);\n","import Image, { ImageProps } from 'components/blocks/Image';\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React, { forwardRef, useId } from 'react';\nimport styled, { css } from 'styled-components';\nimport {\n getFonts as font,\n getGlobals as global,\n mq,\n spacings,\n} from 'utils/styles';\n\nconst View = styled.article<{ isCentered?: boolean }>`\n position: relative;\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 * {\n padding: 0;\n margin: 0;\n ${copyStyle('copy-b', 'big')}\n }\n`;\n\nconst Title = styled.div<{ isInverted?: boolean; onClick?: () => void }>`\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\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n ${({ theme, isInverted, onClick }) =>\n onClick &&\n css`\n color: ${isInverted\n ? font(theme).link.colorHoverInverted\n : font(theme).link.colorHover};\n cursor: pointer;\n `};\n }\n }\n\n * {\n padding: 0;\n margin: 0;\n ${copyStyle('copy-b', 'big')}\n }\n`;\n\nconst ImageContainer = styled.div<{ 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 cursor: ${({ onClick }) => onClick && 'pointer'};\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 CardFooter = styled.div`\n max-width: 100%;\n`;\n\nexport type FeatureActionFn = (props: FeatureActionProps) => React.ReactNode;\n\nexport interface FeatureActionProps {\n isInverted?: boolean;\n isTextCentered?: boolean;\n title?: string;\n link?: LinkProps;\n clickHandler?: (ev?: React.SyntheticEvent<HTMLElement>) => void;\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?: FeatureActionFn;\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 const uniqueId = useId();\n\n const handleClick = () => {\n if (!link?.href) return;\n if (link.isExternal) {\n window.open(link.href, '_blank', 'noopener');\n } else {\n window.location.href = link.href;\n }\n };\n\n return (\n <View\n ref={ref}\n isCentered={isCentered}\n aria-labelledby={uniqueId}\n className={className}\n >\n {image?.small && (\n <ImageContainer 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 onClick={link?.href ? handleClick : undefined}\n />\n </ImageContainer>\n )}\n {title && (\n <>\n {action ? (\n <Title\n isInverted={isInverted}\n data-sheet=\"title\"\n aria-label={title}\n onClick={link?.href ? handleClick : undefined}\n >\n <h3 id={uniqueId}>{title}</h3>\n </Title>\n ) : (\n <TitleLink\n {...link}\n isInverted={isInverted}\n ariaLabel={title}\n dataSheet=\"title\"\n >\n <h3 id={uniqueId}>{title}</h3>\n </TitleLink>\n )}\n </>\n )}\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 <CardFooter>\n {action({\n isInverted,\n isTextCentered: isCentered,\n title,\n link,\n clickHandler: handleClick,\n })}\n </CardFooter>\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\n /** Aria label for the list */\n listAriaLabel?: string;\n}> = ({\n anchorId,\n features,\n bgMode,\n isCentered = false,\n columns,\n listAriaLabel = 'List of features/articles with text and images',\n}) => {\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 asList\n ariaLabel={listAriaLabel}\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\n listAriaLabel?: string;\n}> = ({ anchorId, bgMode, images, listAriaLabel = 'Image Gallery' }) => {\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 asList={images && images.length > 1}\n ariaLabel={listAriaLabel}\n >\n {images?.map((img, i) => (\n <Grid.Col\n key={i}\n semilarge={{\n span: img.isFull ? 12 / 12 : 6 / 12,\n }}\n ariaLabel={\n img.alt ? img.alt : `Galerie Bild ${i + 1}`\n }\n >\n <StyledImage\n {...img}\n alt={img.alt ?? ''}\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, { useId, 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 /** Aria label for the list */\n listAriaLabel?: string;\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 listAriaLabel = 'List of linked icons/logos',\n}) => {\n const { colors } = useLibTheme();\n const id = useId();\n const isInverted = bgMode === 'inverted';\n const [showMore, setShowMore] = useState<boolean>(!enableToggle);\n\n const listId = `icon-list-${id}`;\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 id={listId}\n isVisible={!showMore ? true : showMore === true}\n isCentered={isCentered}\n aria-label={listAriaLabel}\n >\n {items?.map(\n ({ src, link, alt, ratio, showPlaceholder }, i) => (\n <Item isVisible={showMore} index={i} key={i}>\n <ItemLink {...link} isInverted={isInverted}>\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 aria-controls={listId}\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\n listAriaLabel?: string;\n}> = ({\n anchorId,\n items,\n bgMode,\n customIcon,\n scrollToOffset,\n listAriaLabel = 'Link list to anchors on page',\n}) => {\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\n hasBg={hasBg}\n isInverted={isInverted}\n aria-label={listAriaLabel}\n >\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, { useId } from 'react';\nimport styled from 'styled-components';\nimport { getColors as color, mq, spacings } from 'utils/styles';\n\nconst View = styled.div<{ isInverted?: boolean; hasIcon?: boolean }>`\n position: relative;\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 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: color ease-in-out 0.2s, outline-color ease-in-out 0.2s;\n\n &:has(:focus-visible) {\n outline: 2px solid\n ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n outline-offset: 2px;\n }\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 TitleLink = styled(Link)`\n outline: none;\n\n &:focus-visible {\n outline: none;\n }\n`;\n\nconst Title = styled(Copy)`\n display: inline-block;\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n transition: color 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 &:before {\n content: '';\n position: absolute;\n inset: 0;\n z-index: 1;\n }\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 const id = useId();\n const titleId = `nav-block-title-${id}`;\n const descriptionId = `nav-block-description-${id}`;\n\n return (\n <View\n isInverted={isInverted}\n hasIcon={!!customIcon}\n aria-labelledby={titleId}\n aria-describedby={text ? descriptionId : undefined}\n id={id}\n role=\"navigation\"\n className={className}\n >\n {customIcon ? <Icon>{customIcon({})}</Icon> : ''}\n <MainLabel hasIcon={!!customIcon}>\n {link?.href ? (\n <TitleLink {...link} isInverted={isInverted}>\n {title && (\n <Title\n id={titleId}\n textColor=\"inherit\"\n size=\"medium\"\n type=\"copy-b\"\n renderAs=\"span\"\n isInverted={isInverted}\n >\n {title}\n {title && customTitleIcon && (\n <TitleIcon>\n {customTitleIcon({ isInverted })}\n </TitleIcon>\n )}\n </Title>\n )}\n </TitleLink>\n ) : title ? (\n <Title\n id={titleId}\n textColor=\"inherit\"\n size=\"medium\"\n type=\"copy-b\"\n isInverted={isInverted}\n >\n {title}\n {title && customTitleIcon && (\n <TitleIcon>\n {customTitleIcon({ isInverted })}\n </TitleIcon>\n )}\n </Title>\n ) : null}\n </MainLabel>\n {text && (\n <>\n <span />\n <Text\n id={descriptionId}\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\n listAriaLabel?: string;\n}> = ({\n anchorId,\n items,\n bgMode,\n customTitleIcon,\n listAriaLabel = 'List of navigation items',\n}) => {\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 aria-label={listAriaLabel}>\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\n /** Aria label for the list */\n listAriaLabel?: string;\n}> = ({\n anchorId,\n items,\n bgMode,\n isCentered = true,\n listAriaLabel = 'List of items with number values and description',\n}) => {\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 aria-label={listAriaLabel}>\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 alt=\"\"\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 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 { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { generatePriceList, JsonLdPriceListProps } from 'utils/structuredData';\nimport { getColors as color, mq, spacings } from 'utils/styles';\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\nexport interface PriceListCustonJsonLdFnProps {\n /** Array with price items */\n items?: PriceItems[];\n}\nexport type PriceListCustonJsonLdFn = (\n props: PriceListCustonJsonLdFnProps\n) => JsonLdPriceListProps | undefined;\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\n /** Aria label for the list */\n listAriaLabel?: string;\n\n /** JSON-LD type for the price list */\n jsonLdType?: 'service' | 'product';\n\n /** Custom JSON-LD data for the price list */\n customJsonLdData?: PriceListCustonJsonLdFn;\n}> = ({\n anchorId,\n bgMode,\n items,\n listAriaLabel = 'List of items with price information',\n jsonLdType = 'service',\n customJsonLdData,\n}) => {\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 {customJsonLdData\n ? generatePriceList(customJsonLdData({ items }))\n : generatePriceList({\n type: jsonLdType,\n items: items?.map((item) => ({\n name: item.title,\n description: item.text,\n price: item.price,\n })),\n })}\n\n <Wrapper addWhitespace>\n <ItemList aria-label={listAriaLabel}>\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, useId } 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 PriceTagActionFnProps {\n isInverted?: boolean;\n isHighlighted?: boolean;\n title?: string;\n superTitle?: string;\n}\n\nexport type PriceTagActionFn = (\n props: PriceTagActionFnProps\n) => React.ReactNode;\n\nexport interface PriceTagProps {\n renderAs?: 'div' | 'li';\n title?: string;\n superTitle?: string;\n text?: string;\n action?: PriceTagActionFn;\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 renderAs,\n superTitle,\n title,\n text,\n action,\n isInverted,\n isCentered,\n isHighlighted,\n hasBackground,\n className,\n },\n ref\n ) => {\n const id = useId();\n const inverted = isHighlighted ? !isInverted : false;\n const titleId = title ? `price-tag-title-${id}` : undefined;\n const descriptionId = text ? `price-tag-desc-${id}` : undefined;\n\n return (\n <View\n ref={ref}\n as={renderAs || 'div'}\n isInverted={isInverted}\n isCentered={isCentered}\n isHighlighted={isHighlighted}\n hasBg={hasBackground}\n aria-labelledby={titleId}\n aria-describedby={descriptionId}\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 id={titleId}\n renderAs=\"div\"\n size=\"big\"\n isInverted={inverted}\n innerHTML={title}\n data-sheet=\"title\"\n />\n )}\n {text && (\n <Copy\n id={descriptionId}\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 title,\n superTitle,\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.ul`\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n\n list-style: none;\n padding: 0;\n margin: 0;\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' | 'renderAs'>>;\n /** Center text inside card items */\n isCentered?: boolean;\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Aria label for the list */\n listAriaLabel?: string;\n}> = ({\n anchorId,\n items,\n isCentered,\n bgMode,\n listAriaLabel = 'List of price cards',\n}) => {\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 aria-label={listAriaLabel}>\n {items?.map((item, i) => (\n <Tag\n key={i}\n ref={cardRefs[i]}\n renderAs=\"li\"\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';\nimport { concat as cn } from 'utils/concat';\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 aria-label={cn([text, source], ', ').replace(\n /<[^>]*>/g,\n ''\n )}\n >\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.div<{ isInverted?: boolean }>`\n position: relative;\n display: block;\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 &:has(:focus-visible) {\n outline: 2px solid\n ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n\n outline-offset: 2px;\n }\n`;\n\nconst TitleLink = styled(Link)`\n text-decoration: none;\n outline: none;\n\n &:before {\n content: '';\n position: absolute;\n inset: 0;\n z-index: 1;\n }\n\n &:focus-visible {\n outline: none;\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: 0;\n left: 0;\n width: 100%;\n height: 100%;\n text-align: center;\n\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: 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\nexport interface SocialWallItem {\n link?: LinkProps;\n image?: Omit<ImageProps, 'coverSpace' | 'ratio'>;\n followUs?: string;\n hashTag?: string;\n socialIcon?: React.ReactNode;\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?: SocialWallItem[];\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 /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Aria label for the list */\n listAriaLabel?: string;\n}> = ({\n anchorId,\n items,\n hashTag,\n followUs,\n bgMode,\n listAriaLabel = 'List of cards with social media links',\n}) => {\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 aria-label={listAriaLabel}>\n {items?.map((item, i) => {\n const followUsText =\n item.followUs || followUs || 'Follow Us';\n const hashTagText = item.hashTag || hashTag;\n\n return (\n <Item key={i}>\n <Card isInverted={isInverted}>\n {item.image && (\n <StyledImage\n {...item.image}\n coverSpace\n ratios={{\n small: { w: 1, h: 1 },\n }}\n isInverted={isInverted}\n isDecorative\n />\n )}\n <TextContainer>\n <TitleLink isExternal {...item.link}>\n <FollowUs size=\"super\" isInverted>\n {followUsText}\n </FollowUs>\n </TitleLink>\n {hashTagText && (\n <Heading\n size=\"heading-2\"\n isInverted\n >\n {hashTagText}\n </Heading>\n )}\n </TextContainer>\n <InstagramIcon>\n {item.socialIcon || <Instagram />}\n </InstagramIcon>\n </Card>\n </Item>\n );\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\nexport type TableItem = Omit<\n TableProps,\n 'isInverted' | 'hasBack' | 'ariaControlLeft' | 'ariaControlRight'\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: TableItem[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Optional aria controls for left buttons */\n ariaControlLeft?: string;\n /** Optional aria controls for right buttons */\n ariaControlRight?: string;\n}> = ({ anchorId, bgMode, tableItems, ariaControlLeft, ariaControlRight }) => {\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 ariaControlLeft={ariaControlLeft}\n ariaControlRight={ariaControlRight}\n />\n );\n })}\n </TableWrapper>\n </TableSection>\n );\n};\n\nexport const TableComponent = Table;\nexport default withLibTheme(Table);\n","import React, { FC, useId, 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 const id = useId();\n const captionId = description ? `media-caption-${id}` : undefined;\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 alt={image.alt ?? ''}\n coverSpace\n ariaDescribedBy={captionId}\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 ariaLabel={\n description\n ? undefined\n : `Video of: ${title}`\n }\n ariaDescribedBy={captionId}\n />\n )}\n {description && (\n <Description\n id={captionId}\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 alt={image.alt ?? ''}\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 ariaLabel={`Video of: ${title}`}\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 playBtnAriaLabel?: 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 = 'Für die Wiedergabe von Videos muss der Nutzung von Cookies & Daten zugestimmt werden.',\n playBtnAriaLabel = 'Play video',\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 isInverted={isInverted}\n playIcon={playIcon}\n consentText={consentText}\n playBtnAriaLabel={playBtnAriaLabel}\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 &:has(video) {\n cursor: default;\n }\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-visible {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n outline-offset: 2px;\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 /** Aria label for play button */\n playBtnAriaLabel?: string;\n}> = ({\n anchorId,\n bgMode,\n videoUrls,\n placeholderImg,\n playIcon,\n autoplay,\n loop,\n playBtnAriaLabel = 'Play video',\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 aria-label={playBtnAriaLabel}>\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.address<{ 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\n isInverted={isInverted}\n aria-label=\"contact information\"\n >\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\nexport interface MapControlFnProps {\n isInverted?: boolean;\n isActive?: boolean;\n name?: string;\n clickHandler?: (ev: React.SyntheticEvent<HTMLButtonElement>) => void;\n}\nexport type MapControlFn = (props: MapControlFnProps) => React.ReactNode;\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?: MapControlFn;\n\n /** Injection function to replace default control button */\n controlPrev?: MapControlFn;\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 ariaLabel=\"Next location\"\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 ariaLabel=\"Previous location\"\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","_a","theme","global","sections","edgeRadius","AccordionHead","summary","templateObject_3","isInverted","hasBg","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","invertedHover","hover","Icon","MainLabel","Content","Title","TitleLink","Link","templateObject_6","Alert","title","date","description","link","customIcon","formattedDate","formatter","StatusFormatter","getTime","getFormattedDate","Info","href","ariaLabel","undefined","textColor","List","ul","ListItem","li","large","itemsPerRow","AlertList","listAriaLabel","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","figure","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","hasLink","css","SolidView","cardColor","ImageView","imageTextGradient","StyledImage","Image","hasIcon","TextContainer","templateObject_10","Footer","SubLabel","templateObject_12","templateObject_13","CardLink","templateObject_14","Card","subLabel","image","decorator","CardView","defaultCardColor","__assign","coverSpace","ratios","w","h","cn","templateObject_15","CardItem","templateObject_16","isEqual","threeCols","CardList","maxThreeCols","clamp","num","min","max","Math","Images","BackgroundImg","ForegroundContainer","hasTransition","hasAnim","initalValue","ForegroundImg","ForegroundOverlay","ImageLabel","ForegroundLabel","BackgroundLabel","templateObject_9","ControlContainer","templateObject_11","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","handleControlKeydown","preventDefault","delta","onMouseMove","onMouseDown","onMouseUp","onMouseLeave","onTouchMove","onTouchStart","onTouchEnd","style","left","role","tabIndex","round","onKeyDown","ArrowLeftRight","clickable","IntroContainer","clampTitle","wrapper","titleLink","ExternalIconHolder","withRange","PromotionCard","forwardRef","externalLinkIcon","icon","id","useId","linkObj","isExternal","externalIconString","ReactDOMServer","renderToString","External","as","titleId","displayName","isMain","CrossPromotion","main","isMirrored","asList","card","ImageContainer","SubTitle","Text","Fact","subTitle","showPlaceholder","FactFill","FactGrid","columns","facts","factCount","cardRefs","fact","FactsContainer","FactItemView","hasBack","hasText","ContentBlock","FactItem","descriptionId","FactList","article","copyStyle","font","big","colorInverted","colorHoverInverted","colorHover","ArticleContent","CardFooter","Feature","action","uniqueId","location","Fragment","dataSheet","clickHandler","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","listId","handleToggleClick","ratio","isToggled","additionalProps","Pointer","Label","IndexLink","LinkLabel","IconWrapper","IndexList","scrollToOffset","setTargetPos","useScrollTo","useMediaQueries","topOffset","setTopOffset","handleLinkClick","getAttribute","getElementById","split","top","scrollY","url","URL","hash","history","pushState","header","querySelector","navbarIdent","isStickable","getNavbarState","navbarHeights","getFullNavbarHeights","ArrowDown","Intro","abstract","isStackable","clampAbstract","clampText","TitleIcon","NavBlock","customTitleIcon","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","verticallyCentered","imageTextGradientCentered","wrapperWhitespace","Poster","horizontallyCentered","maxTitleLines","maxTextLines","ItemList","ItemBlock","ListHead","Price","PriceBlock","price","PriceList","jsonLdType","customJsonLdData","generatePriceList","name","isHighlighted","PriceTag","hasBackground","mode","Tag","PriceTable","priceTagCount","Source","Quote","source","citeUrl","replace","cite","ImageWrapper","SimpleImage","getColors","Cards","FollowUs","Heading","InstagramIcon","SocialWall","hashTag","followUs","followUsText","hashTagText","isDecorative","socialIcon","Instagram","TableSection","TableWrapper","Table","tableItems","ariaControlLeft","ariaControlRight","TableBlock","Figure","Video","VideoBlock","isSplitted","Teaser","video","hasVideo","isValidArray","urls","viewRef","setLoaded","isVideoActive","setVideoActive","isObserverSupported","useObserverSupport","captionId","useUpdateEffect","entry","viewEl","mapToTeaserBgMode","move","ariaDescribedBy","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","playBtnAriaLabel","consentAction","onPlayClick","VideoCard","VideoContainer","Overlay","VideoControls","button","RawVideo","videoUrls","placeholderImg","autoplay","isStarted","setIsStarted","controls","Play","MapSection","MapContainer","CardWrapper","CardContainer","InfoCardView","CardHeader","ContactList","ContactListLink","AddressContainer","address","CompanyInfo","companyName","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","defaultMarker","anchor","sizeActive","anchorActive","getSVGData","useLeafletMap","activeMarkerId","markers","position","isInteractive","onMarkerClick","setMapContainer","setContainer","flyToActive","showAllMarkers","goToNext","currentIndex","newIndex","goToPrevious","generateLocalBusiness","stopPropagation","isDisabled","Icons","HtmlCode","html","dangerouslySetInnerHTML","__html"],"mappings":"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"}
|