@blateral/b.kit 2.3.0 → 2.3.2-beta.1.0
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/base/package.json +7 -0
- package/blocks/package.json +7 -0
- package/buttons/package.json +7 -0
- package/cjs/Actions-c7b16449.js +2 -0
- package/cjs/Actions-c7b16449.js.map +1 -0
- package/cjs/Bdot-5f8e0450.js +2 -0
- package/cjs/Bdot-5f8e0450.js.map +1 -0
- package/cjs/Button-51ea72b7.js +2 -0
- package/cjs/Button-51ea72b7.js.map +1 -0
- package/cjs/ButtonGhost-628bbd60.js +2 -0
- package/cjs/ButtonGhost-628bbd60.js.map +1 -0
- package/cjs/Callout-e506ab21.js +2 -0
- package/cjs/Callout-e506ab21.js.map +1 -0
- package/cjs/Checkbox-1c34c7e6.js +2 -0
- package/cjs/Checkbox-1c34c7e6.js.map +1 -0
- package/cjs/ClockFilled-2483aa4a.js +2 -0
- package/cjs/ClockFilled-2483aa4a.js.map +1 -0
- package/cjs/Control-08d09950.js +2 -0
- package/cjs/Control-08d09950.js.map +1 -0
- package/cjs/Copy-ea6ab025.js +2 -0
- package/cjs/Copy-ea6ab025.js.map +1 -0
- package/cjs/EventBlock-7e2ba24d.js +2 -0
- package/cjs/EventBlock-7e2ba24d.js.map +1 -0
- package/cjs/FileUpload-0a861caf.js +2 -0
- package/cjs/FileUpload-0a861caf.js.map +1 -0
- package/cjs/Filter-d6d90b8b.js +2 -0
- package/cjs/Filter-d6d90b8b.js.map +1 -0
- package/cjs/FilterField-cce38ffb.js +2 -0
- package/cjs/FilterField-cce38ffb.js.map +1 -0
- package/cjs/Grid-6f4f99bc.js +2 -0
- package/cjs/Grid-6f4f99bc.js.map +1 -0
- package/cjs/Image-c72f7a80.js +2 -0
- package/cjs/Image-c72f7a80.js.map +1 -0
- package/cjs/InfoList-71d3388a.js +2 -0
- package/cjs/InfoList-71d3388a.js.map +1 -0
- package/cjs/LanguageSwitcher-8fdd22ba.js +2 -0
- package/cjs/LanguageSwitcher-8fdd22ba.js.map +1 -0
- package/cjs/LibThemeProvider-4823de57.js +2 -0
- package/cjs/LibThemeProvider-4823de57.js.map +1 -0
- package/cjs/Link-5a6f1633.js +2 -0
- package/cjs/Link-5a6f1633.js.map +1 -0
- package/cjs/Navigation-d205ed34.js +2 -0
- package/cjs/Navigation-d205ed34.js.map +1 -0
- package/cjs/POICard-e46f9041.js +2 -0
- package/cjs/POICard-e46f9041.js.map +1 -0
- package/cjs/Pointer-fde7b548.js +2 -0
- package/cjs/Pointer-fde7b548.js.map +1 -0
- package/cjs/SocialList-1d5f75a8.js +2 -0
- package/cjs/SocialList-1d5f75a8.js.map +1 -0
- package/cjs/TableBlock-007f8e34.js +2 -0
- package/cjs/TableBlock-007f8e34.js.map +1 -0
- package/cjs/Tag-9238cf0c.js +2 -0
- package/cjs/Tag-9238cf0c.js.map +1 -0
- package/cjs/VideoBlock-cf9d7464.js +2 -0
- package/cjs/VideoBlock-cf9d7464.js.map +1 -0
- package/cjs/VideoCard-fed8d37c.js +2 -0
- package/cjs/VideoCard-fed8d37c.js.map +1 -0
- package/cjs/Wrapper-accf2622.js +2 -0
- package/cjs/Wrapper-accf2622.js.map +1 -0
- package/cjs/arrays-c272ed59.js +2 -0
- package/cjs/arrays-c272ed59.js.map +1 -0
- package/cjs/base.js +2 -0
- package/cjs/base.js.map +1 -0
- package/cjs/blocks.js +2 -0
- package/cjs/blocks.js.map +1 -0
- package/cjs/buttons.js +2 -0
- package/cjs/buttons.js.map +1 -0
- package/cjs/clamp-bd21d587.js +2 -0
- package/cjs/clamp-bd21d587.js.map +1 -0
- package/cjs/concat-f387d848.js +2 -0
- package/cjs/concat-f387d848.js.map +1 -0
- package/cjs/cookies.js +2 -0
- package/cjs/cookies.js.map +1 -0
- package/cjs/escape-1ef8dd83.js +2 -0
- package/cjs/escape-1ef8dd83.js.map +1 -0
- package/cjs/fields.js +2 -0
- package/cjs/fields.js.map +1 -0
- package/cjs/footer.js +2 -0
- package/cjs/footer.js.map +1 -0
- package/cjs/hexRgbConverter-91b28aea.js +2 -0
- package/cjs/hexRgbConverter-91b28aea.js.map +1 -0
- package/cjs/hooks.js +2 -0
- package/cjs/hooks.js.map +1 -0
- package/cjs/icons.js +2 -0
- package/cjs/icons.js.map +1 -0
- package/cjs/index.js +2 -0
- package/cjs/index.js.map +1 -0
- package/cjs/navigation-bf154e6e.js +2 -0
- package/cjs/navigation-bf154e6e.js.map +1 -0
- package/cjs/navigation.js +2 -0
- package/cjs/navigation.js.map +1 -0
- package/cjs/sections.js +2 -0
- package/cjs/sections.js.map +1 -0
- package/cjs/sections_events.js +2 -0
- package/cjs/sections_events.js.map +1 -0
- package/cjs/sections_forms.js +2 -0
- package/cjs/sections_forms.js.map +1 -0
- package/cjs/sections_jobs.js +2 -0
- package/cjs/sections_jobs.js.map +1 -0
- package/cjs/sections_news.js +2 -0
- package/cjs/sections_news.js.map +1 -0
- package/cjs/sections_pois.js +2 -0
- package/cjs/sections_pois.js.map +1 -0
- package/cjs/statusFormatter-0393122b.js +2 -0
- package/cjs/statusFormatter-0393122b.js.map +1 -0
- package/cjs/structuredData-0b1278a9.js +2 -0
- package/cjs/structuredData-0b1278a9.js.map +1 -0
- package/cjs/styles-3a495a2d.js +2 -0
- package/cjs/styles-3a495a2d.js.map +1 -0
- package/cjs/typography.js +2 -0
- package/cjs/typography.js.map +1 -0
- package/cjs/urlParams-7525f638.js +2 -0
- package/cjs/urlParams-7525f638.js.map +1 -0
- package/cjs/useCookieConsent-0bf94751.js +2 -0
- package/cjs/useCookieConsent-0bf94751.js.map +1 -0
- package/cjs/useEqualSheetHeight-501f4c5f.js +2 -0
- package/cjs/useEqualSheetHeight-501f4c5f.js.map +1 -0
- package/cjs/useGeolocation-d8946470.js +2 -0
- package/cjs/useGeolocation-d8946470.js.map +1 -0
- package/cjs/useIE-aef9decc.js +2 -0
- package/cjs/useIE-aef9decc.js.map +1 -0
- package/cjs/useLazyInput-f71c221b.js +2 -0
- package/cjs/useLazyInput-f71c221b.js.map +1 -0
- package/cjs/useLeafletMap-2e608b01.js +2 -0
- package/cjs/useLeafletMap-2e608b01.js.map +1 -0
- package/cjs/useMediaQuery-3d1054e5.js +2 -0
- package/cjs/useMediaQuery-3d1054e5.js.map +1 -0
- package/cjs/useMounted-0bba9869.js +2 -0
- package/cjs/useMounted-0bba9869.js.map +1 -0
- package/cjs/useObserverSupport-5ab320dd.js +2 -0
- package/cjs/useObserverSupport-5ab320dd.js.map +1 -0
- package/cjs/useScrollTo-fdd665da.js +2 -0
- package/cjs/useScrollTo-fdd665da.js.map +1 -0
- package/cjs/useUpdateEffect-4d233e2c.js +2 -0
- package/cjs/useUpdateEffect-4d233e2c.js.map +1 -0
- package/cookies/package.json +7 -0
- package/esm/Actions-8b4a4d2f.js +57 -0
- package/esm/Actions-8b4a4d2f.js.map +1 -0
- package/esm/Bdot-434dd994.js +24 -0
- package/esm/Bdot-434dd994.js.map +1 -0
- package/esm/Button-71376927.js +115 -0
- package/esm/Button-71376927.js.map +1 -0
- package/esm/ButtonGhost-6876b67f.js +112 -0
- package/esm/ButtonGhost-6876b67f.js.map +1 -0
- package/esm/Callout-08fb36a2.js +99 -0
- package/esm/Callout-08fb36a2.js.map +1 -0
- package/esm/Checkbox-4daef7a4.js +135 -0
- package/esm/Checkbox-4daef7a4.js.map +1 -0
- package/esm/ClockFilled-6bae80dc.js +1793 -0
- package/esm/ClockFilled-6bae80dc.js.map +1 -0
- package/esm/Control-dd0f76f1.js +52 -0
- package/esm/Control-dd0f76f1.js.map +1 -0
- package/esm/Copy-bca0854c.js +270 -0
- package/esm/Copy-bca0854c.js.map +1 -0
- package/esm/EventBlock-e07e7b51.js +132 -0
- package/esm/EventBlock-e07e7b51.js.map +1 -0
- package/esm/FileUpload-851d473a.js +4790 -0
- package/esm/FileUpload-851d473a.js.map +1 -0
- package/esm/Filter-fec6dc5c.js +32 -0
- package/esm/Filter-fec6dc5c.js.map +1 -0
- package/esm/FilterField-5f76c113.js +129 -0
- package/esm/FilterField-5f76c113.js.map +1 -0
- package/esm/Grid-172051a9.js +203 -0
- package/esm/Grid-172051a9.js.map +1 -0
- package/esm/Image-301c4433.js +193 -0
- package/esm/Image-301c4433.js.map +1 -0
- package/esm/InfoList-762f2b14.js +74 -0
- package/esm/InfoList-762f2b14.js.map +1 -0
- package/esm/LanguageSwitcher-57c4a924.js +70 -0
- package/esm/LanguageSwitcher-57c4a924.js.map +1 -0
- package/esm/LibThemeProvider-acf2e2bb.js +115 -0
- package/esm/LibThemeProvider-acf2e2bb.js.map +1 -0
- package/esm/Link-bccdb082.js +60 -0
- package/esm/Link-bccdb082.js.map +1 -0
- package/esm/Navigation-03339030.js +1664 -0
- package/esm/Navigation-03339030.js.map +1 -0
- package/esm/POICard-584a229c.js +116 -0
- package/esm/POICard-584a229c.js.map +1 -0
- package/esm/Pointer-2276308c.js +111 -0
- package/esm/Pointer-2276308c.js.map +1 -0
- package/esm/SocialList-f7864b30.js +61 -0
- package/esm/SocialList-f7864b30.js.map +1 -0
- package/esm/TableBlock-014f9821.js +159 -0
- package/esm/TableBlock-014f9821.js.map +1 -0
- package/esm/Tag-cb972e1b.js +67 -0
- package/esm/Tag-cb972e1b.js.map +1 -0
- package/esm/VideoBlock-ede11866.js +624 -0
- package/esm/VideoBlock-ede11866.js.map +1 -0
- package/esm/VideoCard-aced65ef.js +160 -0
- package/esm/VideoCard-aced65ef.js.map +1 -0
- package/esm/Wrapper-1cac758b.js +224 -0
- package/esm/Wrapper-1cac758b.js.map +1 -0
- package/esm/arrays-65b644ef.js +17 -0
- package/esm/arrays-65b644ef.js.map +1 -0
- package/esm/base.js +11 -0
- package/esm/base.js.map +1 -0
- package/esm/blocks.js +26 -0
- package/esm/blocks.js.map +1 -0
- package/esm/buttons.js +12 -0
- package/esm/buttons.js.map +1 -0
- package/esm/clamp-12d37b65.js +10 -0
- package/esm/clamp-12d37b65.js.map +1 -0
- package/esm/concat-ab3c66f2.js +40 -0
- package/esm/concat-ab3c66f2.js.map +1 -0
- package/esm/cookies.js +270 -0
- package/esm/cookies.js.map +1 -0
- package/esm/escape-cbff9c25.js +6 -0
- package/esm/escape-cbff9c25.js.map +1 -0
- package/esm/fields.js +190 -0
- package/esm/fields.js.map +1 -0
- package/esm/footer.js +301 -0
- package/esm/footer.js.map +1 -0
- package/esm/hexRgbConverter-edb91624.js +36 -0
- package/esm/hexRgbConverter-edb91624.js.map +1 -0
- package/esm/hooks.js +531 -0
- package/esm/hooks.js.map +1 -0
- package/esm/icons.js +4 -0
- package/esm/icons.js.map +1 -0
- package/esm/index.js +7 -0
- package/esm/index.js.map +1 -0
- package/esm/navigation-a2998143.js +132 -0
- package/esm/navigation-a2998143.js.map +1 -0
- package/esm/navigation.js +159 -0
- package/esm/navigation.js.map +1 -0
- package/esm/sections.js +3966 -0
- package/esm/sections.js.map +1 -0
- package/esm/sections_events.js +573 -0
- package/esm/sections_events.js.map +1 -0
- package/esm/sections_forms.js +1405 -0
- package/esm/sections_forms.js.map +1 -0
- package/esm/sections_jobs.js +508 -0
- package/esm/sections_jobs.js.map +1 -0
- package/esm/sections_news.js +1023 -0
- package/esm/sections_news.js.map +1 -0
- package/esm/sections_pois.js +719 -0
- package/esm/sections_pois.js.map +1 -0
- package/esm/statusFormatter-9be0fbff.js +255 -0
- package/esm/statusFormatter-9be0fbff.js.map +1 -0
- package/esm/structuredData-87423414.js +117 -0
- package/esm/structuredData-87423414.js.map +1 -0
- package/esm/styles-c387bdc6.js +467 -0
- package/esm/styles-c387bdc6.js.map +1 -0
- package/esm/typography.js +11 -0
- package/esm/typography.js.map +1 -0
- package/esm/urlParams-9cfdaf71.js +51 -0
- package/esm/urlParams-9cfdaf71.js.map +1 -0
- package/esm/useCookieConsent-8caef116.js +339 -0
- package/esm/useCookieConsent-8caef116.js.map +1 -0
- package/esm/useEqualSheetHeight-e68e1638.js +199 -0
- package/esm/useEqualSheetHeight-e68e1638.js.map +1 -0
- package/esm/useGeolocation-f9f073cc.js +95 -0
- package/esm/useGeolocation-f9f073cc.js.map +1 -0
- package/esm/useIE-a9c56989.js +15 -0
- package/esm/useIE-a9c56989.js.map +1 -0
- package/esm/useLazyInput-e66fc5be.js +85 -0
- package/esm/useLazyInput-e66fc5be.js.map +1 -0
- package/esm/useLeafletMap-6dea7a8e.js +300 -0
- package/esm/useLeafletMap-6dea7a8e.js.map +1 -0
- package/esm/useMediaQuery-388bd65e.js +159 -0
- package/esm/useMediaQuery-388bd65e.js.map +1 -0
- package/esm/useMounted-1e4cc87b.js +12 -0
- package/esm/useMounted-1e4cc87b.js.map +1 -0
- package/esm/useObserverSupport-02bce7f5.js +19 -0
- package/esm/useObserverSupport-02bce7f5.js.map +1 -0
- package/esm/useScrollTo-70af34bf.js +57 -0
- package/esm/useScrollTo-70af34bf.js.map +1 -0
- package/esm/useUpdateEffect-824c0c84.js +18 -0
- package/esm/useUpdateEffect-824c0c84.js.map +1 -0
- package/fields/package.json +7 -0
- package/footer/package.json +7 -0
- package/hooks/package.json +7 -0
- package/icons/package.json +7 -0
- package/navigation/package.json +7 -0
- package/package.json +19 -5
- package/sections/events/package.json +7 -0
- package/sections/forms/package.json +7 -0
- package/sections/jobs/package.json +7 -0
- package/sections/news/package.json +7 -0
- package/sections/package.json +7 -0
- package/sections/pois/package.json +7 -0
- package/types/base.d.ts +5 -0
- package/types/base.d.ts.map +1 -0
- package/types/blocks.d.ts +18 -0
- package/types/blocks.d.ts.map +1 -0
- package/types/buttons.d.ts +6 -0
- package/types/buttons.d.ts.map +1 -0
- package/types/components/sections/NumberList.d.ts.map +1 -0
- package/types/components/sections/header/Header.d.ts +92 -0
- package/types/components/sections/header/Header.d.ts.map +1 -0
- package/types/components/sections/navigation/menu/variations/MenuFlyout.d.ts.map +1 -0
- package/types/components/sections/navigation/menu/variations/MenuLarge.d.ts.map +1 -0
- package/types/components/typography/Callout.d.ts.map +1 -0
- package/types/cookies.d.ts +3 -0
- package/types/cookies.d.ts.map +1 -0
- package/types/fields.d.ts +14 -0
- package/types/fields.d.ts.map +1 -0
- package/types/footer.d.ts +4 -0
- package/types/footer.d.ts.map +1 -0
- package/types/hooks.d.ts +35 -0
- package/types/hooks.d.ts.map +1 -0
- package/types/icons.d.ts +66 -0
- package/types/icons.d.ts.map +1 -0
- package/types/index.d.ts +18 -0
- package/types/index.d.ts.map +1 -0
- package/types/navigation.d.ts +10 -0
- package/types/navigation.d.ts.map +1 -0
- package/types/sections.d.ts +32 -0
- package/types/sections.d.ts.map +1 -0
- package/types/sections_events.d.ts +4 -0
- package/types/sections_events.d.ts.map +1 -0
- package/types/sections_forms.d.ts +3 -0
- package/types/sections_forms.d.ts.map +1 -0
- package/types/sections_jobs.d.ts +3 -0
- package/types/sections_jobs.d.ts.map +1 -0
- package/types/sections_news.d.ts +10 -0
- package/types/sections_news.d.ts.map +1 -0
- package/types/sections_pois.d.ts +4 -0
- package/types/sections_pois.d.ts.map +1 -0
- package/types/typography.d.ts +6 -0
- package/types/typography.d.ts.map +1 -0
- package/typography/package.json +7 -0
- package/lib/components/base/icons/Icons.d.ts +0 -66
- package/lib/components/base/icons/Icons.d.ts.map +0 -1
- package/lib/components/sections/NumberList.d.ts.map +0 -1
- package/lib/components/sections/header/Header.d.ts +0 -92
- package/lib/components/sections/header/Header.d.ts.map +0 -1
- package/lib/components/sections/navigation/menu/variations/MenuFlyout.d.ts.map +0 -1
- package/lib/components/sections/navigation/menu/variations/MenuLarge.d.ts.map +0 -1
- package/lib/components/typography/Callout.d.ts.map +0 -1
- package/lib/index.d.ts +0 -158
- package/lib/index.d.ts.map +0 -1
- package/lib/index.es.js +0 -2
- package/lib/index.es.js.map +0 -1
- package/lib/index.js +0 -2
- package/lib/index.js.map +0 -1
- /package/{lib → types}/components/base/Grid.d.ts +0 -0
- /package/{lib → types}/components/base/Grid.d.ts.map +0 -0
- /package/{lib → types}/components/base/Section.d.ts +0 -0
- /package/{lib → types}/components/base/Section.d.ts.map +0 -0
- /package/{lib → types}/components/base/Wrapper.d.ts +0 -0
- /package/{lib → types}/components/base/Wrapper.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/AngleDown.d.ts +0 -0
- /package/{lib → types}/components/base/icons/AngleDown.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/AngleLeft.d.ts +0 -0
- /package/{lib → types}/components/base/icons/AngleLeft.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/AngleRight.d.ts +0 -0
- /package/{lib → types}/components/base/icons/AngleRight.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/AngleUp.d.ts +0 -0
- /package/{lib → types}/components/base/icons/AngleUp.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/ArrowDown.d.ts +0 -0
- /package/{lib → types}/components/base/icons/ArrowDown.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/ArrowLeft.d.ts +0 -0
- /package/{lib → types}/components/base/icons/ArrowLeft.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/ArrowLeftGhost.d.ts +0 -0
- /package/{lib → types}/components/base/icons/ArrowLeftGhost.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/ArrowLeftRight.d.ts +0 -0
- /package/{lib → types}/components/base/icons/ArrowLeftRight.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/ArrowRight.d.ts +0 -0
- /package/{lib → types}/components/base/icons/ArrowRight.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/ArrowRightGhost.d.ts +0 -0
- /package/{lib → types}/components/base/icons/ArrowRightGhost.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/ArrowUp.d.ts +0 -0
- /package/{lib → types}/components/base/icons/ArrowUp.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/BoxArrowUpRight.d.ts +0 -0
- /package/{lib → types}/components/base/icons/BoxArrowUpRight.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/CalendarToday.d.ts +0 -0
- /package/{lib → types}/components/base/icons/CalendarToday.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Category.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Category.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Check.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Check.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Clock.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Clock.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/ClockFilled.d.ts +0 -0
- /package/{lib → types}/components/base/icons/ClockFilled.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Computer.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Computer.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Cross.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Cross.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/CrossSmall.d.ts +0 -0
- /package/{lib → types}/components/base/icons/CrossSmall.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/CurrentLocation.d.ts +0 -0
- /package/{lib → types}/components/base/icons/CurrentLocation.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/DateRange.d.ts +0 -0
- /package/{lib → types}/components/base/icons/DateRange.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/DeleteForever.d.ts +0 -0
- /package/{lib → types}/components/base/icons/DeleteForever.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/External.d.ts +0 -0
- /package/{lib → types}/components/base/icons/External.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Filter.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Filter.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/FlyTo.d.ts +0 -0
- /package/{lib → types}/components/base/icons/FlyTo.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Info.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Info.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Language.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Language.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/LocationPin.d.ts +0 -0
- /package/{lib → types}/components/base/icons/LocationPin.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/LocationSearch.d.ts +0 -0
- /package/{lib → types}/components/base/icons/LocationSearch.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Magnifier.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Magnifier.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Mail.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Mail.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Map.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Map.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/MenuBurger.d.ts +0 -0
- /package/{lib → types}/components/base/icons/MenuBurger.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Minus.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Minus.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Money.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Money.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/MyLocation.d.ts +0 -0
- /package/{lib → types}/components/base/icons/MyLocation.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Person.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Person.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Phone.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Phone.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Place.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Place.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Play.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Play.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Plus.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Plus.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Route.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Route.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/Star.d.ts +0 -0
- /package/{lib → types}/components/base/icons/Star.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/ToggleOff.d.ts +0 -0
- /package/{lib → types}/components/base/icons/ToggleOff.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/ToggleOn.d.ts +0 -0
- /package/{lib → types}/components/base/icons/ToggleOn.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/UnfoldMore.d.ts +0 -0
- /package/{lib → types}/components/base/icons/UnfoldMore.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/files/Excel.d.ts +0 -0
- /package/{lib → types}/components/base/icons/files/Excel.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/files/Image.d.ts +0 -0
- /package/{lib → types}/components/base/icons/files/Image.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/files/Pdf.d.ts +0 -0
- /package/{lib → types}/components/base/icons/files/Pdf.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/files/PowerPoint.d.ts +0 -0
- /package/{lib → types}/components/base/icons/files/PowerPoint.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/files/UploadFile.d.ts +0 -0
- /package/{lib → types}/components/base/icons/files/UploadFile.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/files/Word.d.ts +0 -0
- /package/{lib → types}/components/base/icons/files/Word.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/files/Zip.d.ts +0 -0
- /package/{lib → types}/components/base/icons/files/Zip.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/socials/Facebook.d.ts +0 -0
- /package/{lib → types}/components/base/icons/socials/Facebook.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/socials/Instagram.d.ts +0 -0
- /package/{lib → types}/components/base/icons/socials/Instagram.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/socials/LinkedIn.d.ts +0 -0
- /package/{lib → types}/components/base/icons/socials/LinkedIn.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/socials/Twitter.d.ts +0 -0
- /package/{lib → types}/components/base/icons/socials/Twitter.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/socials/Xing.d.ts +0 -0
- /package/{lib → types}/components/base/icons/socials/Xing.d.ts.map +0 -0
- /package/{lib → types}/components/base/icons/socials/Youtube.d.ts +0 -0
- /package/{lib → types}/components/base/icons/socials/Youtube.d.ts.map +0 -0
- /package/{lib → types}/components/base/nl2br.d.ts +0 -0
- /package/{lib → types}/components/base/nl2br.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/Actions.d.ts +0 -0
- /package/{lib → types}/components/blocks/Actions.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/Alert.d.ts +0 -0
- /package/{lib → types}/components/blocks/Alert.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/Bdot.d.ts +0 -0
- /package/{lib → types}/components/blocks/Bdot.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/CookieConsent.d.ts +0 -0
- /package/{lib → types}/components/blocks/CookieConsent.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/EventBlock.d.ts +0 -0
- /package/{lib → types}/components/blocks/EventBlock.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/Fact.d.ts +0 -0
- /package/{lib → types}/components/blocks/Fact.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/Feature.d.ts +0 -0
- /package/{lib → types}/components/blocks/Feature.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/Image.d.ts +0 -0
- /package/{lib → types}/components/blocks/Image.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/InfoList.d.ts +0 -0
- /package/{lib → types}/components/blocks/InfoList.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/IntroBlock.d.ts +0 -0
- /package/{lib → types}/components/blocks/IntroBlock.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/JobCard.d.ts +0 -0
- /package/{lib → types}/components/blocks/JobCard.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/LanguageSwitcher.d.ts +0 -0
- /package/{lib → types}/components/blocks/LanguageSwitcher.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/NavBlock.d.ts +0 -0
- /package/{lib → types}/components/blocks/NavBlock.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/NewsCard.d.ts +0 -0
- /package/{lib → types}/components/blocks/NewsCard.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/POICard.d.ts +0 -0
- /package/{lib → types}/components/blocks/POICard.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/POIFacts.d.ts +0 -0
- /package/{lib → types}/components/blocks/POIFacts.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/PriceTag.d.ts +0 -0
- /package/{lib → types}/components/blocks/PriceTag.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/PromotionCard.d.ts +0 -0
- /package/{lib → types}/components/blocks/PromotionCard.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/SocialList.d.ts +0 -0
- /package/{lib → types}/components/blocks/SocialList.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/TableBlock.d.ts +0 -0
- /package/{lib → types}/components/blocks/TableBlock.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/Tag.d.ts +0 -0
- /package/{lib → types}/components/blocks/Tag.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/Title.d.ts +0 -0
- /package/{lib → types}/components/blocks/Title.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/VideoBlock.d.ts +0 -0
- /package/{lib → types}/components/blocks/VideoBlock.d.ts.map +0 -0
- /package/{lib → types}/components/blocks/VideoCard.d.ts +0 -0
- /package/{lib → types}/components/blocks/VideoCard.d.ts.map +0 -0
- /package/{lib → types}/components/buttons/Button.d.ts +0 -0
- /package/{lib → types}/components/buttons/Button.d.ts.map +0 -0
- /package/{lib → types}/components/buttons/ButtonGhost.d.ts +0 -0
- /package/{lib → types}/components/buttons/ButtonGhost.d.ts.map +0 -0
- /package/{lib → types}/components/buttons/Control.d.ts +0 -0
- /package/{lib → types}/components/buttons/Control.d.ts.map +0 -0
- /package/{lib → types}/components/buttons/Pointer.d.ts +0 -0
- /package/{lib → types}/components/buttons/Pointer.d.ts.map +0 -0
- /package/{lib → types}/components/debug/DebugLines.d.ts +0 -0
- /package/{lib → types}/components/debug/DebugLines.d.ts.map +0 -0
- /package/{lib → types}/components/examples/hooks/ArrayHookExample.d.ts +0 -0
- /package/{lib → types}/components/examples/hooks/ArrayHookExample.d.ts.map +0 -0
- /package/{lib → types}/components/examples/hooks/IntervalHookExample.d.ts +0 -0
- /package/{lib → types}/components/examples/hooks/IntervalHookExample.d.ts.map +0 -0
- /package/{lib → types}/components/fields/Checkbox.d.ts +0 -0
- /package/{lib → types}/components/fields/Checkbox.d.ts.map +0 -0
- /package/{lib → types}/components/fields/CompactForm.d.ts +0 -0
- /package/{lib → types}/components/fields/CompactForm.d.ts.map +0 -0
- /package/{lib → types}/components/fields/Datepicker.d.ts +0 -0
- /package/{lib → types}/components/fields/Datepicker.d.ts.map +0 -0
- /package/{lib → types}/components/fields/FileUpload.d.ts +0 -0
- /package/{lib → types}/components/fields/FileUpload.d.ts.map +0 -0
- /package/{lib → types}/components/fields/FilterField.d.ts +0 -0
- /package/{lib → types}/components/fields/FilterField.d.ts.map +0 -0
- /package/{lib → types}/components/fields/FormField.d.ts +0 -0
- /package/{lib → types}/components/fields/FormField.d.ts.map +0 -0
- /package/{lib → types}/components/fields/LocationField.d.ts +0 -0
- /package/{lib → types}/components/fields/LocationField.d.ts.map +0 -0
- /package/{lib → types}/components/fields/Radio.d.ts +0 -0
- /package/{lib → types}/components/fields/Radio.d.ts.map +0 -0
- /package/{lib → types}/components/fields/SearchInput.d.ts +0 -0
- /package/{lib → types}/components/fields/SearchInput.d.ts.map +0 -0
- /package/{lib → types}/components/fields/SelectDropdown.d.ts +0 -0
- /package/{lib → types}/components/fields/SelectDropdown.d.ts.map +0 -0
- /package/{lib → types}/components/fields/Textarea.d.ts +0 -0
- /package/{lib → types}/components/fields/Textarea.d.ts.map +0 -0
- /package/{lib → types}/components/fields/Textfield.d.ts +0 -0
- /package/{lib → types}/components/fields/Textfield.d.ts.map +0 -0
- /package/{lib → types}/components/sections/Accordion.d.ts +0 -0
- /package/{lib → types}/components/sections/Accordion.d.ts.map +0 -0
- /package/{lib → types}/components/sections/AlertList.d.ts +0 -0
- /package/{lib → types}/components/sections/AlertList.d.ts.map +0 -0
- /package/{lib → types}/components/sections/Article.d.ts +0 -0
- /package/{lib → types}/components/sections/Article.d.ts.map +0 -0
- /package/{lib → types}/components/sections/CallToAction.d.ts +0 -0
- /package/{lib → types}/components/sections/CallToAction.d.ts.map +0 -0
- /package/{lib → types}/components/sections/CardList.d.ts +0 -0
- /package/{lib → types}/components/sections/CardList.d.ts.map +0 -0
- /package/{lib → types}/components/sections/ComparisonSlider.d.ts +0 -0
- /package/{lib → types}/components/sections/ComparisonSlider.d.ts.map +0 -0
- /package/{lib → types}/components/sections/CrossPromotion.d.ts +0 -0
- /package/{lib → types}/components/sections/CrossPromotion.d.ts.map +0 -0
- /package/{lib → types}/components/sections/FactGrid.d.ts +0 -0
- /package/{lib → types}/components/sections/FactGrid.d.ts.map +0 -0
- /package/{lib → types}/components/sections/FactList.d.ts +0 -0
- /package/{lib → types}/components/sections/FactList.d.ts.map +0 -0
- /package/{lib → types}/components/sections/FeatureList.d.ts +0 -0
- /package/{lib → types}/components/sections/FeatureList.d.ts.map +0 -0
- /package/{lib → types}/components/sections/Gallery.d.ts +0 -0
- /package/{lib → types}/components/sections/Gallery.d.ts.map +0 -0
- /package/{lib → types}/components/sections/IconList.d.ts +0 -0
- /package/{lib → types}/components/sections/IconList.d.ts.map +0 -0
- /package/{lib → types}/components/sections/IndexList.d.ts +0 -0
- /package/{lib → types}/components/sections/IndexList.d.ts.map +0 -0
- /package/{lib → types}/components/sections/Intro.d.ts +0 -0
- /package/{lib → types}/components/sections/Intro.d.ts.map +0 -0
- /package/{lib → types}/components/sections/Map.d.ts +0 -0
- /package/{lib → types}/components/sections/Map.d.ts.map +0 -0
- /package/{lib → types}/components/sections/NavList.d.ts +0 -0
- /package/{lib → types}/components/sections/NavList.d.ts.map +0 -0
- /package/{lib → types}/components/sections/NewsletterForm.d.ts +0 -0
- /package/{lib → types}/components/sections/NewsletterForm.d.ts.map +0 -0
- /package/{lib → types}/components/sections/NumberList.d.ts +0 -0
- /package/{lib → types}/components/sections/ParallaxBackground.d.ts +0 -0
- /package/{lib → types}/components/sections/ParallaxBackground.d.ts.map +0 -0
- /package/{lib → types}/components/sections/Poster.d.ts +0 -0
- /package/{lib → types}/components/sections/Poster.d.ts.map +0 -0
- /package/{lib → types}/components/sections/PriceList.d.ts +0 -0
- /package/{lib → types}/components/sections/PriceList.d.ts.map +0 -0
- /package/{lib → types}/components/sections/PriceTable.d.ts +0 -0
- /package/{lib → types}/components/sections/PriceTable.d.ts.map +0 -0
- /package/{lib → types}/components/sections/Quote.d.ts +0 -0
- /package/{lib → types}/components/sections/Quote.d.ts.map +0 -0
- /package/{lib → types}/components/sections/RawVideo.d.ts +0 -0
- /package/{lib → types}/components/sections/RawVideo.d.ts.map +0 -0
- /package/{lib → types}/components/sections/SimpleImage.d.ts +0 -0
- /package/{lib → types}/components/sections/SimpleImage.d.ts.map +0 -0
- /package/{lib → types}/components/sections/SocialWall.d.ts +0 -0
- /package/{lib → types}/components/sections/SocialWall.d.ts.map +0 -0
- /package/{lib → types}/components/sections/Table.d.ts +0 -0
- /package/{lib → types}/components/sections/Table.d.ts.map +0 -0
- /package/{lib → types}/components/sections/Teaser.d.ts +0 -0
- /package/{lib → types}/components/sections/Teaser.d.ts.map +0 -0
- /package/{lib → types}/components/sections/TeaserWide.d.ts +0 -0
- /package/{lib → types}/components/sections/TeaserWide.d.ts.map +0 -0
- /package/{lib → types}/components/sections/Timeline.d.ts +0 -0
- /package/{lib → types}/components/sections/Timeline.d.ts.map +0 -0
- /package/{lib → types}/components/sections/Video.d.ts +0 -0
- /package/{lib → types}/components/sections/Video.d.ts.map +0 -0
- /package/{lib → types}/components/sections/events/EventDetail.d.ts +0 -0
- /package/{lib → types}/components/sections/events/EventDetail.d.ts.map +0 -0
- /package/{lib → types}/components/sections/events/EventList.d.ts +0 -0
- /package/{lib → types}/components/sections/events/EventList.d.ts.map +0 -0
- /package/{lib → types}/components/sections/events/EventOverview.d.ts +0 -0
- /package/{lib → types}/components/sections/events/EventOverview.d.ts.map +0 -0
- /package/{lib → types}/components/sections/footer/Footer.d.ts +0 -0
- /package/{lib → types}/components/sections/footer/Footer.d.ts.map +0 -0
- /package/{lib → types}/components/sections/footer/partials/FooterBottomBar.d.ts +0 -0
- /package/{lib → types}/components/sections/footer/partials/FooterBottomBar.d.ts.map +0 -0
- /package/{lib → types}/components/sections/footer/partials/FooterColumn.d.ts +0 -0
- /package/{lib → types}/components/sections/footer/partials/FooterColumn.d.ts.map +0 -0
- /package/{lib → types}/components/sections/footer/partials/index.d.ts +0 -0
- /package/{lib → types}/components/sections/footer/partials/index.d.ts.map +0 -0
- /package/{lib → types}/components/sections/footer/skeletons/FooterArticle.d.ts +0 -0
- /package/{lib → types}/components/sections/footer/skeletons/FooterArticle.d.ts.map +0 -0
- /package/{lib → types}/components/sections/footer/skeletons/FooterBottomGrid.d.ts +0 -0
- /package/{lib → types}/components/sections/footer/skeletons/FooterBottomGrid.d.ts.map +0 -0
- /package/{lib → types}/components/sections/footer/skeletons/index.d.ts +0 -0
- /package/{lib → types}/components/sections/footer/skeletons/index.d.ts.map +0 -0
- /package/{lib → types}/components/sections/form/DynamicForm.d.ts +0 -0
- /package/{lib → types}/components/sections/form/DynamicForm.d.ts.map +0 -0
- /package/{lib → types}/components/sections/form/renderer/areaRenderer.d.ts +0 -0
- /package/{lib → types}/components/sections/form/renderer/areaRenderer.d.ts.map +0 -0
- /package/{lib → types}/components/sections/form/renderer/datepickerRenderer.d.ts +0 -0
- /package/{lib → types}/components/sections/form/renderer/datepickerRenderer.d.ts.map +0 -0
- /package/{lib → types}/components/sections/form/renderer/fieldGroupRenderer.d.ts +0 -0
- /package/{lib → types}/components/sections/form/renderer/fieldGroupRenderer.d.ts.map +0 -0
- /package/{lib → types}/components/sections/form/renderer/fieldRenderer.d.ts +0 -0
- /package/{lib → types}/components/sections/form/renderer/fieldRenderer.d.ts.map +0 -0
- /package/{lib → types}/components/sections/form/renderer/locationRenderer.d.ts +0 -0
- /package/{lib → types}/components/sections/form/renderer/locationRenderer.d.ts.map +0 -0
- /package/{lib → types}/components/sections/form/renderer/selectRenderer.d.ts +0 -0
- /package/{lib → types}/components/sections/form/renderer/selectRenderer.d.ts.map +0 -0
- /package/{lib → types}/components/sections/form/renderer/uploadRenderer.d.ts +0 -0
- /package/{lib → types}/components/sections/form/renderer/uploadRenderer.d.ts.map +0 -0
- /package/{lib → types}/components/sections/form/validators/areaValidator.d.ts +0 -0
- /package/{lib → types}/components/sections/form/validators/areaValidator.d.ts.map +0 -0
- /package/{lib → types}/components/sections/form/validators/datepickerValidator.d.ts +0 -0
- /package/{lib → types}/components/sections/form/validators/datepickerValidator.d.ts.map +0 -0
- /package/{lib → types}/components/sections/form/validators/fieldGroupValidator.d.ts +0 -0
- /package/{lib → types}/components/sections/form/validators/fieldGroupValidator.d.ts.map +0 -0
- /package/{lib → types}/components/sections/form/validators/fieldValidator.d.ts +0 -0
- /package/{lib → types}/components/sections/form/validators/fieldValidator.d.ts.map +0 -0
- /package/{lib → types}/components/sections/form/validators/locationValidator.d.ts +0 -0
- /package/{lib → types}/components/sections/form/validators/locationValidator.d.ts.map +0 -0
- /package/{lib → types}/components/sections/form/validators/selectValidator.d.ts +0 -0
- /package/{lib → types}/components/sections/form/validators/selectValidator.d.ts.map +0 -0
- /package/{lib → types}/components/sections/form/validators/uploadValidator.d.ts +0 -0
- /package/{lib → types}/components/sections/form/validators/uploadValidator.d.ts.map +0 -0
- /package/{lib → types}/components/sections/header/HeaderKenBurns.d.ts +0 -0
- /package/{lib → types}/components/sections/header/HeaderKenBurns.d.ts.map +0 -0
- /package/{lib → types}/components/sections/header/HeaderPoster.d.ts +0 -0
- /package/{lib → types}/components/sections/header/HeaderPoster.d.ts.map +0 -0
- /package/{lib → types}/components/sections/header/HeaderVideo.d.ts +0 -0
- /package/{lib → types}/components/sections/header/HeaderVideo.d.ts.map +0 -0
- /package/{lib → types}/components/sections/jobs/JobArticle.d.ts +0 -0
- /package/{lib → types}/components/sections/jobs/JobArticle.d.ts.map +0 -0
- /package/{lib → types}/components/sections/jobs/JobList.d.ts +0 -0
- /package/{lib → types}/components/sections/jobs/JobList.d.ts.map +0 -0
- /package/{lib → types}/components/sections/navigation/NavBar.d.ts +0 -0
- /package/{lib → types}/components/sections/navigation/NavBar.d.ts.map +0 -0
- /package/{lib → types}/components/sections/navigation/Navigation.d.ts +0 -0
- /package/{lib → types}/components/sections/navigation/Navigation.d.ts.map +0 -0
- /package/{lib → types}/components/sections/navigation/menu/Menu.d.ts +0 -0
- /package/{lib → types}/components/sections/navigation/menu/Menu.d.ts.map +0 -0
- /package/{lib → types}/components/sections/navigation/menu/variations/MenuFlyout.d.ts +0 -0
- /package/{lib → types}/components/sections/navigation/menu/variations/MenuLarge.d.ts +0 -0
- /package/{lib → types}/components/sections/navigation/partials/MenuFooter.d.ts +0 -0
- /package/{lib → types}/components/sections/navigation/partials/MenuFooter.d.ts.map +0 -0
- /package/{lib → types}/components/sections/navigation/partials/MenuHeader.d.ts +0 -0
- /package/{lib → types}/components/sections/navigation/partials/MenuHeader.d.ts.map +0 -0
- /package/{lib → types}/components/sections/navigation/partials/NavBarBottom.d.ts +0 -0
- /package/{lib → types}/components/sections/navigation/partials/NavBarBottom.d.ts.map +0 -0
- /package/{lib → types}/components/sections/navigation/partials/NavBarMain.d.ts +0 -0
- /package/{lib → types}/components/sections/navigation/partials/NavBarMain.d.ts.map +0 -0
- /package/{lib → types}/components/sections/navigation/partials/NavBarTop.d.ts +0 -0
- /package/{lib → types}/components/sections/navigation/partials/NavBarTop.d.ts.map +0 -0
- /package/{lib → types}/components/sections/navigation/partials/index.d.ts +0 -0
- /package/{lib → types}/components/sections/navigation/partials/index.d.ts.map +0 -0
- /package/{lib → types}/components/sections/navigation/skeletons/BarBreadCrumbs.d.ts +0 -0
- /package/{lib → types}/components/sections/navigation/skeletons/BarBreadCrumbs.d.ts.map +0 -0
- /package/{lib → types}/components/sections/navigation/skeletons/BarColumn.d.ts +0 -0
- /package/{lib → types}/components/sections/navigation/skeletons/BarColumn.d.ts.map +0 -0
- /package/{lib → types}/components/sections/navigation/skeletons/BarLogo.d.ts +0 -0
- /package/{lib → types}/components/sections/navigation/skeletons/BarLogo.d.ts.map +0 -0
- /package/{lib → types}/components/sections/navigation/skeletons/BarMenuToggle.d.ts +0 -0
- /package/{lib → types}/components/sections/navigation/skeletons/BarMenuToggle.d.ts.map +0 -0
- /package/{lib → types}/components/sections/navigation/skeletons/BarNavList.d.ts +0 -0
- /package/{lib → types}/components/sections/navigation/skeletons/BarNavList.d.ts.map +0 -0
- /package/{lib → types}/components/sections/navigation/skeletons/index.d.ts +0 -0
- /package/{lib → types}/components/sections/navigation/skeletons/index.d.ts.map +0 -0
- /package/{lib → types}/components/sections/news/NewsAuthorCard.d.ts +0 -0
- /package/{lib → types}/components/sections/news/NewsAuthorCard.d.ts.map +0 -0
- /package/{lib → types}/components/sections/news/NewsFooter.d.ts +0 -0
- /package/{lib → types}/components/sections/news/NewsFooter.d.ts.map +0 -0
- /package/{lib → types}/components/sections/news/NewsImages.d.ts +0 -0
- /package/{lib → types}/components/sections/news/NewsImages.d.ts.map +0 -0
- /package/{lib → types}/components/sections/news/NewsIntro.d.ts +0 -0
- /package/{lib → types}/components/sections/news/NewsIntro.d.ts.map +0 -0
- /package/{lib → types}/components/sections/news/NewsList.d.ts +0 -0
- /package/{lib → types}/components/sections/news/NewsList.d.ts.map +0 -0
- /package/{lib → types}/components/sections/news/NewsOverview.d.ts +0 -0
- /package/{lib → types}/components/sections/news/NewsOverview.d.ts.map +0 -0
- /package/{lib → types}/components/sections/news/NewsTable.d.ts +0 -0
- /package/{lib → types}/components/sections/news/NewsTable.d.ts.map +0 -0
- /package/{lib → types}/components/sections/news/NewsText.d.ts +0 -0
- /package/{lib → types}/components/sections/news/NewsText.d.ts.map +0 -0
- /package/{lib → types}/components/sections/news/NewsVideo.d.ts +0 -0
- /package/{lib → types}/components/sections/news/NewsVideo.d.ts.map +0 -0
- /package/{lib → types}/components/sections/pois/PointOfInterestDetail.d.ts +0 -0
- /package/{lib → types}/components/sections/pois/PointOfInterestDetail.d.ts.map +0 -0
- /package/{lib → types}/components/sections/pois/PointOfInterestMap.d.ts +0 -0
- /package/{lib → types}/components/sections/pois/PointOfInterestMap.d.ts.map +0 -0
- /package/{lib → types}/components/sections/pois/PointOfInterestOverview.d.ts +0 -0
- /package/{lib → types}/components/sections/pois/PointOfInterestOverview.d.ts.map +0 -0
- /package/{lib → types}/components/typography/Callout.d.ts +0 -0
- /package/{lib → types}/components/typography/Copy.d.ts +0 -0
- /package/{lib → types}/components/typography/Copy.d.ts.map +0 -0
- /package/{lib → types}/components/typography/Heading.d.ts +0 -0
- /package/{lib → types}/components/typography/Heading.d.ts.map +0 -0
- /package/{lib → types}/components/typography/Link.d.ts +0 -0
- /package/{lib → types}/components/typography/Link.d.ts.map +0 -0
- /package/{lib → types}/utils/LibThemeProvider.d.ts +0 -0
- /package/{lib → types}/utils/LibThemeProvider.d.ts.map +0 -0
- /package/{lib → types}/utils/arrays.d.ts +0 -0
- /package/{lib → types}/utils/arrays.d.ts.map +0 -0
- /package/{lib → types}/utils/backgroundImage.d.ts +0 -0
- /package/{lib → types}/utils/backgroundImage.d.ts.map +0 -0
- /package/{lib → types}/utils/clamp.d.ts +0 -0
- /package/{lib → types}/utils/clamp.d.ts.map +0 -0
- /package/{lib → types}/utils/concat.d.ts +0 -0
- /package/{lib → types}/utils/concat.d.ts.map +0 -0
- /package/{lib → types}/utils/cookie-consent/cookie.d.ts +0 -0
- /package/{lib → types}/utils/cookie-consent/cookie.d.ts.map +0 -0
- /package/{lib → types}/utils/cookie-consent/mutations.d.ts +0 -0
- /package/{lib → types}/utils/cookie-consent/mutations.d.ts.map +0 -0
- /package/{lib → types}/utils/cookie-consent/useCookieConsent.d.ts +0 -0
- /package/{lib → types}/utils/cookie-consent/useCookieConsent.d.ts.map +0 -0
- /package/{lib → types}/utils/dataURI.d.ts +0 -0
- /package/{lib → types}/utils/dataURI.d.ts.map +0 -0
- /package/{lib → types}/utils/escape.d.ts +0 -0
- /package/{lib → types}/utils/escape.d.ts.map +0 -0
- /package/{lib → types}/utils/filters.d.ts +0 -0
- /package/{lib → types}/utils/filters.d.ts.map +0 -0
- /package/{lib → types}/utils/fontLoading.d.ts +0 -0
- /package/{lib → types}/utils/fontLoading.d.ts.map +0 -0
- /package/{lib → types}/utils/formFieldText.d.ts +0 -0
- /package/{lib → types}/utils/formFieldText.d.ts.map +0 -0
- /package/{lib → types}/utils/getLinkIcon.d.ts +0 -0
- /package/{lib → types}/utils/getLinkIcon.d.ts.map +0 -0
- /package/{lib → types}/utils/hexRgbConverter.d.ts +0 -0
- /package/{lib → types}/utils/hexRgbConverter.d.ts.map +0 -0
- /package/{lib → types}/utils/menuHooks.d.ts +0 -0
- /package/{lib → types}/utils/menuHooks.d.ts.map +0 -0
- /package/{lib → types}/utils/navigation.d.ts +0 -0
- /package/{lib → types}/utils/navigation.d.ts.map +0 -0
- /package/{lib → types}/utils/statusFormatter.d.ts +0 -0
- /package/{lib → types}/utils/statusFormatter.d.ts.map +0 -0
- /package/{lib → types}/utils/storyHelpers.d.ts +0 -0
- /package/{lib → types}/utils/storyHelpers.d.ts.map +0 -0
- /package/{lib → types}/utils/structuredData.d.ts +0 -0
- /package/{lib → types}/utils/structuredData.d.ts.map +0 -0
- /package/{lib → types}/utils/styles.d.ts +0 -0
- /package/{lib → types}/utils/styles.d.ts.map +0 -0
- /package/{lib → types}/utils/types.d.ts +0 -0
- /package/{lib → types}/utils/types.d.ts.map +0 -0
- /package/{lib → types}/utils/urlParams.d.ts +0 -0
- /package/{lib → types}/utils/urlParams.d.ts.map +0 -0
- /package/{lib → types}/utils/useArray.d.ts +0 -0
- /package/{lib → types}/utils/useArray.d.ts.map +0 -0
- /package/{lib → types}/utils/useDebounce.d.ts +0 -0
- /package/{lib → types}/utils/useDebounce.d.ts.map +0 -0
- /package/{lib → types}/utils/useEqualSheetHeight.d.ts +0 -0
- /package/{lib → types}/utils/useEqualSheetHeight.d.ts.map +0 -0
- /package/{lib → types}/utils/useFontsLoaded.d.ts +0 -0
- /package/{lib → types}/utils/useFontsLoaded.d.ts.map +0 -0
- /package/{lib → types}/utils/useGeolocation.d.ts +0 -0
- /package/{lib → types}/utils/useGeolocation.d.ts.map +0 -0
- /package/{lib → types}/utils/useIE.d.ts +0 -0
- /package/{lib → types}/utils/useIE.d.ts.map +0 -0
- /package/{lib → types}/utils/useImgPreload.d.ts +0 -0
- /package/{lib → types}/utils/useImgPreload.d.ts.map +0 -0
- /package/{lib → types}/utils/useInterval.d.ts +0 -0
- /package/{lib → types}/utils/useInterval.d.ts.map +0 -0
- /package/{lib → types}/utils/useItemHeight.d.ts +0 -0
- /package/{lib → types}/utils/useItemHeight.d.ts.map +0 -0
- /package/{lib → types}/utils/useLazyInput.d.ts +0 -0
- /package/{lib → types}/utils/useLazyInput.d.ts.map +0 -0
- /package/{lib → types}/utils/useLeafletMap.d.ts +0 -0
- /package/{lib → types}/utils/useLeafletMap.d.ts.map +0 -0
- /package/{lib → types}/utils/useMediaQuery.d.ts +0 -0
- /package/{lib → types}/utils/useMediaQuery.d.ts.map +0 -0
- /package/{lib → types}/utils/useMounted.d.ts +0 -0
- /package/{lib → types}/utils/useMounted.d.ts.map +0 -0
- /package/{lib → types}/utils/useObserverSupport.d.ts +0 -0
- /package/{lib → types}/utils/useObserverSupport.d.ts.map +0 -0
- /package/{lib → types}/utils/usePageScroll.d.ts +0 -0
- /package/{lib → types}/utils/usePageScroll.d.ts.map +0 -0
- /package/{lib → types}/utils/useParams.d.ts +0 -0
- /package/{lib → types}/utils/useParams.d.ts.map +0 -0
- /package/{lib → types}/utils/usePoster.d.ts +0 -0
- /package/{lib → types}/utils/usePoster.d.ts.map +0 -0
- /package/{lib → types}/utils/usePrevious.d.ts +0 -0
- /package/{lib → types}/utils/usePrevious.d.ts.map +0 -0
- /package/{lib → types}/utils/useResizeThrottle.d.ts +0 -0
- /package/{lib → types}/utils/useResizeThrottle.d.ts.map +0 -0
- /package/{lib → types}/utils/useScroll.d.ts +0 -0
- /package/{lib → types}/utils/useScroll.d.ts.map +0 -0
- /package/{lib → types}/utils/useScrollIntoView.d.ts +0 -0
- /package/{lib → types}/utils/useScrollIntoView.d.ts.map +0 -0
- /package/{lib → types}/utils/useScrollThrottle.d.ts +0 -0
- /package/{lib → types}/utils/useScrollThrottle.d.ts.map +0 -0
- /package/{lib → types}/utils/useScrollTo.d.ts +0 -0
- /package/{lib → types}/utils/useScrollTo.d.ts.map +0 -0
- /package/{lib → types}/utils/useTimeout.d.ts +0 -0
- /package/{lib → types}/utils/useTimeout.d.ts.map +0 -0
- /package/{lib → types}/utils/useTouch.d.ts +0 -0
- /package/{lib → types}/utils/useTouch.d.ts.map +0 -0
- /package/{lib → types}/utils/useUpdateEffect.d.ts +0 -0
- /package/{lib → types}/utils/useUpdateEffect.d.ts.map +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./ClockFilled-2483aa4a.js"),n=require("react"),t=require("styled-components"),a=require("./Wrapper-accf2622.js"),i=require("./Image-c72f7a80.js"),r=require("./Tag-9238cf0c.js"),o=require("./Copy-ea6ab025.js"),l=require("./styles-3a495a2d.js"),s=require("./LibThemeProvider-4823de57.js"),d=require("./Grid-6f4f99bc.js"),m=require("./statusFormatter-0393122b.js"),p=require("./InfoList-71d3388a.js"),c=require("./arrays-c272ed59.js"),u=require("./EventBlock-7e2ba24d.js"),g=require("./concat-f387d848.js"),f=require("./Filter-d6d90b8b.js"),v=require("./Pointer-fde7b548.js"),x=require("./urlParams-7525f638.js"),h=require("./useMounted-0bba9869.js"),b=require("./useObserverSupport-5ab320dd.js"),w=require("./useScrollTo-fdd665da.js"),y=require("./useUpdateEffect-4d233e2c.js");function _(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("./Link-5a6f1633.js"),require("./clamp-bd21d587.js"),require("react-dom/server");var E,T,k,C,I,j,q,B,O,F,L,M,S,A,N,D,P=_(n),U=_(t),z=U.default(i.Image).withConfig({displayName:"EventDetail__StyledImage",componentId:"sc-1ko6neq-0"})(E||(E=e.__makeTemplateObject(["\n &:not(:last-child) {\n margin-bottom: ","px;\n }\n"],["\n &:not(:last-child) {\n margin-bottom: ","px;\n }\n"])),l.spacings.spacer),V=U.default.div.withConfig({displayName:"EventDetail__TagContainer",componentId:"sc-1ko6neq-1"})(T||(T=e.__makeTemplateObject(["\n max-width: 880px;\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n"],["\n max-width: 880px;\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n"])),l.spacings.nudge,l.spacings.nudge),R=U.default.div.withConfig({displayName:"EventDetail__TagWrapper",componentId:"sc-1ko6neq-2"})(k||(k=e.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n"],["\n padding-top: ","px;\n padding-left: ","px;\n"])),l.spacings.nudge,l.spacings.nudge),W=U.default(o.Heading).withConfig({displayName:"EventDetail__EventTitle",componentId:"sc-1ko6neq-3"})(C||(C=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n"])),3*l.spacings.nudge,l.mq.semilarge),G=U.default(o.Copy).withConfig({displayName:"EventDetail__EventDateTime",componentId:"sc-1ko6neq-4"})(I||(I=e.__makeTemplateObject(["\n max-width: 880px;\n /* overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; */\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"],["\n max-width: 880px;\n /* overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; */\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"])),3*l.spacings.nudge),H=U.default(o.Copy).withConfig({displayName:"EventDetail__EventAddress",componentId:"sc-1ko6neq-5"})(j||(j=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n "," + & {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n "," + & {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n"])),3*l.spacings.nudge,G,l.spacings.nudge,l.mq.semilarge),K=U.default(o.Copy).withConfig({displayName:"EventDetail__EventText",componentId:"sc-1ko6neq-6"})(q||(q=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"])),3*l.spacings.nudge),J=s.withLibTheme((function(t){var i,o=t.anchorId,u=t.event,g=t.infos,f=t.bgMode,v=t.customTag,x=s.useLibTheme(),h=x.colors,b=x.globals,w="inverted"===f,y="full"===f,_=n.useMemo((function(){return c.isValidArray(null==g?void 0:g.filter((function(e){return c.isValidArray(e.items,!1)})),!1)}),[g]),E="",T="";if(null==u?void 0:u.date){var k=new m.StatusFormatter(u.date.getTime(),"",b.sections.eventDateFormat(u.date),b.sections.eventTimeFormat(u.date),b.sections.eventLocaleKey);E=k.getFormattedDate(),T=k.getFormattedTimespan(b.sections.eventTimespanFormat(u.date,u.duration),u.duration)}return P.default.createElement(a.Section,{addSeperation:!0,anchorId:o,bgColor:w?h.sectionBg.dark:y?h.sectionBg.medium:h.sectionBg.light,bgMode:a.mapToBgMode(f,!0)},P.default.createElement(a.Wrapper,{addWhitespace:!0},(null===(i=u.image)||void 0===i?void 0:i.small)&&P.default.createElement(z,e.__assign({},u.image,{coverSpace:!0,allowEdgeRadius:!0,isInverted:w})),P.default.createElement(d.Grid.Row,{gutter:5*l.spacings.nudge,semilarge:{gutter:l.spacings.spacer}},P.default.createElement(d.Grid.Col,{semilarge:{span:_?5.7/8:1}},u.tags&&P.default.createElement(V,null,u.tags.map((function(e,n){return P.default.createElement(R,{key:"tag_"+n},v?v({key:"headtag-".concat(n),name:e.name||"",isInverted:w,isActive:!1,link:e.link}):P.default.createElement(r.Tag,{link:e.link,isInverted:w},e.name))}))),u.title&&P.default.createElement(W,{size:"heading-2",isInverted:w},u.title),E&&P.default.createElement(G,{size:"big",type:"copy-b"},E||"",E&&T?" | ":"",T),u.address&&P.default.createElement(H,{size:"big",type:"copy",innerHTML:u.address}),u.abstract&&P.default.createElement(K,{size:"medium",type:"copy-b",isInverted:w},u.abstract),u.text&&P.default.createElement(K,{size:"medium",isInverted:w,innerHTML:u.text})),_&&P.default.createElement(d.Grid.Col,{semilarge:{span:2.3/8}},P.default.createElement(p.InfoList,{isInverted:w,items:g})))))})),Q=U.default.div.withConfig({displayName:"EventOverview__TagContainer",componentId:"sc-u2afqs-0"})(B||(B=e.__makeTemplateObject(["\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:not(:only-child) {\n margin-bottom: ","px;\n }\n"],["\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:not(:only-child) {\n margin-bottom: ","px;\n }\n"])),l.spacings.nudge,l.spacings.nudge,6*l.spacings.nudge),X=U.default.div.withConfig({displayName:"EventOverview__TagWrapper",componentId:"sc-u2afqs-1"})(O||(O=e.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n"],["\n padding-top: ","px;\n padding-left: ","px;\n"])),l.spacings.nudge,l.spacings.nudge),Y=U.default.ul.withConfig({displayName:"EventOverview__Events",componentId:"sc-u2afqs-2"})(F||(F=e.__makeTemplateObject(["\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n }\n"],["\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n }\n"])),(function(e){var n=e.theme;return e.hasBg?l.getColors(n).elementBg.light:l.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?l.getColors(n).elementBg.light:l.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?l.getColors(n).elementBg.light:l.getColors(n).elementBg.medium})),Z=U.default(o.Copy).withConfig({displayName:"EventOverview__FilterIcon",componentId:"sc-u2afqs-3"})(L||(L=e.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: ","px ","px 0 0;\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: ","px ","px 0 0;\n\n & > * + * {\n margin-left: ","px;\n }\n"])),l.spacings.nudge/2,l.spacings.nudge,l.spacings.nudge),$=U.default.li.withConfig({displayName:"EventOverview__EventItem",componentId:"sc-u2afqs-4"})(M||(M=e.__makeTemplateObject(["\n padding: ","px 0;\n"],["\n padding: ","px 0;\n"])),3*l.spacings.nudge),ee=U.default.div.withConfig({displayName:"EventOverview__ListFooter",componentId:"sc-u2afqs-5"})(S||(S=e.__makeTemplateObject(["\n margin-top: ","px;\n text-align: center;\n\n @media "," {\n text-align: left;\n }\n"],["\n margin-top: ","px;\n text-align: center;\n\n @media "," {\n text-align: left;\n }\n"])),6*l.spacings.nudge,l.mq.medium),ne=U.default.span.withConfig({displayName:"EventOverview__ShowMore",componentId:"sc-u2afqs-6"})(A||(A=e.__makeTemplateObject(["\n display: ",";\n"],["\n display: ",";\n"])),(function(e){var n=e.itemCount;return n&&n>2?"block":"none"})),te=s.withLibTheme((function(t){var i=t.tags,l=t.events,d=t.bgMode,p=t.anchorId,_=t.initial,E=t.showMoreText,T=t.onTagClick,k=t.customTag,C="inverted"===d,I="full"===d,j=s.useLibTheme(),q=j.colors,B=j.globals,O=B.sections.eventFilterName,F=P.default.useState((null==_?void 0:_.activeTags)||[]),L=F[0],M=F[1],S=P.default.useState(1)[0],A=P.default.useState((null==_?void 0:_.visibleRows)||3),N=A[0],D=A[1],U=P.default.useRef(null),z=b.useObserverSupport(),V=h.useMounted(),R=(null==l?void 0:l.length)||0,W=w.useScrollTo(800),G=n.useCallback((function(){var e=[],n=x.getUrlParams()[O];if(n){var t=null==n?void 0:n.split(",");c.isValidArray(t,!1)&&e.push.apply(e,t)}return e}),[O]);n.useEffect((function(){if(!_){var e=G();c.isValidArray(e,!1)&&M(e)}}),[G,_]),n.useEffect((function(){var e;_&&!V&&(x.setUrlParam("rows",(null==_?void 0:_.visibleRows)||3),c.isValidArray(null==_?void 0:_.activeTags,!1)?x.setUrlParam(O,null===(e=null==_?void 0:_.activeTags)||void 0===e?void 0:e.join(",")):x.deleteUrlParam(O))}),[O,_,V]),y.useUpdateEffect((function(){x.setUrlParam("rows",N)}),[N]),y.useUpdateEffect((function(){!T&&c.isValidArray(L)&&(L.length>0?x.setUrlParam(O,L.join(",")):x.deleteUrlParam(O))}),[L]);var H=function(n,t){void 0===t&&(t=!0),M((function(a){var i=e.__spreadArray([],a,!0),r=n.name?a.indexOf(n.name):-1;return-1===r&&n.name?e.__spreadArray(e.__spreadArray([],i,!0),[n.name],!1):t?(i.splice(r,1),i):a})),D(3)},K=n.useMemo((function(){var n=c.isValidArray(l)?e.__spreadArray([],l,!0):[];return n=null==n?void 0:n.filter((function(e){if(!c.isValidArray(L,!1))return!0;if(!e.tags)return!1;for(var n=!1,t=0;t<e.tags.length;t++)if(-1!==L.indexOf(e.tags[t].name||"")){n=!0;break}return n}))}),[l,L]),J=n.useMemo((function(){return(null==K?void 0:K.filter((function(e,n){return n<N*S})))||[]}),[K,S,N]);n.useEffect((function(){if(z){var e,n=U.current;if(n){(e=new IntersectionObserver((function(e){var n=e[0];(null==n?void 0:n.isIntersecting)&&N<Math.ceil(K.length/S)&&D((function(e){return e+1}))}),{rootMargin:"0px 0px 100px 0px",threshold:0})).observe(n)}return function(){e&&e.disconnect()}}}),[S,R,N,z,K.length]);var te=n.useMemo((function(){return null==i?void 0:i.filter((function(e){return e}))}),[i]);return P.default.createElement(a.Section,{addSeperation:!0,anchorId:p,bgColor:C?q.sectionBg.dark:I?q.sectionBg.medium:"transparent",bgMode:a.mapToBgMode(d,!0)},P.default.createElement(a.Wrapper,{addWhitespace:!0},c.isValidArray(te,!1)&&P.default.createElement(Q,null,P.default.createElement(Z,{size:"small",type:"copy",isInverted:C},P.default.createElement(f.Filter,null),P.default.createElement("span",null,"Filter")),te.map((function(e,n){return P.default.createElement(X,{key:n},k?k({key:n,name:e,isInverted:C,isActive:-1!==L.indexOf(e),clickHandler:function(n){null==n||n.preventDefault(),T?T({name:e}):H({name:e})}}):P.default.createElement(r.Tag,{isInverted:C,onClick:function(n){null==n||n.preventDefault(),T?T({name:e},!1):H({name:e})},isActive:-1!==L.indexOf(e)},e))}))),P.default.createElement(Y,{hasBg:I},J.map((function(n,t){var a,i="";n.date&&(i=new m.StatusFormatter(n.date.getTime(),"",B.sections.eventDateFormat(n.date),B.sections.eventTimeFormat(n.date),B.sections.eventLocaleKey).getFormattedTimespan(B.sections.eventTimespanFormat(n.date,n.duration),n.duration));var r=g.concat([i,n.address]," | ");return P.default.createElement($,{key:"".concat(t,"_event_").concat(n.title)},P.default.createElement(u.EventBlock,e.__assign({},n,{text:r,tags:null===(a=n.tags)||void 0===a?void 0:a.map((function(e){return{name:e.name}})),isInverted:C,onTagClick:function(e){W(0),T?T({name:e.name},!0):H({name:e.name},!1)},customTag:k})))}))),P.default.createElement("div",{ref:U}),!z&&P.default.createElement(ee,null,l&&l.length>0&&P.default.createElement(o.Copy,{type:"copy",size:"medium",isInverted:C},P.default.createElement(ne,{itemCount:l.length,onClick:function(e){e.preventDefault(),N<Math.ceil(K.length/S)&&D((function(e){return e+1}))}},N<K.length/S&&P.default.createElement(v.Pointer.View,{as:"button",isInverted:C},P.default.createElement(v.Pointer.Label,null,E||"mehr anzeigen")))))))})),ae=U.default.ul.withConfig({displayName:"EventList__List",componentId:"sc-1ssgszz-0"})(N||(N=e.__makeTemplateObject(["\n list-style: none;\n margin: 0;\n padding: 0;\n\n & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n }\n"],["\n list-style: none;\n margin: 0;\n padding: 0;\n\n & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n }\n"])),(function(e){var n=e.theme;return e.hasBg?l.getColors(n).elementBg.light:l.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?l.getColors(n).elementBg.light:l.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?l.getColors(n).elementBg.light:l.getColors(n).elementBg.medium})),ie=U.default.li.withConfig({displayName:"EventList__ListItem",componentId:"sc-1ssgszz-1"})(D||(D=e.__makeTemplateObject(["\n padding: ","px 0;\n"],["\n padding: ","px 0;\n"])),3*l.spacings.nudge),re=s.withLibTheme((function(n){var t=n.anchorId,i=n.events,r=n.bgMode,o=n.customTag,l=s.useLibTheme(),d=l.colors,p=l.globals,f=l.theme,v="inverted"===r,x="full"===r;return P.default.createElement(a.Section,{addSeperation:!0,anchorId:t,bgColor:v?d.sectionBg.dark:r?d.sectionBg.medium:d.sectionBg.light,bgMode:a.mapToBgMode(r,!0)},P.default.createElement(a.Wrapper,{addWhitespace:!0},P.default.createElement(ae,{hasBg:x},null==i?void 0:i.map((function(n,t){var a,i="";n.date&&(i=new m.StatusFormatter(n.date.getTime(),"",p.sections.eventDateFormat(n.date),p.sections.eventTimeFormat(n.date),p.sections.eventLocaleKey).getFormattedTimespan(p.sections.eventTimespanFormat(n.date,n.duration),n.duration));var r=g.concat([i,n.address]," | ");return P.default.createElement(ie,{key:t},P.default.createElement(u.EventBlock,e.__assign({},n,{tags:null===(a=n.tags)||void 0===a?void 0:a.map((function(n){var t,a,i=void 0;return n.name&&(null===(t=n.link)||void 0===t?void 0:t.href)&&(i=function(e,n,t){if(void 0===t&&(t=[]),!e||!n)return"";if(!c.isValidArray(t,!1))return e;var a=n.globals.sections.eventFilterName;if(!a)return e;try{var i=new URL(e),r=new URLSearchParams(i.search);return r.set(a,encodeURIComponent(t.join(","))),"".concat(e,"?").concat(r.toString())}catch(n){return"".concat(e,"?").concat(a,"=").concat(encodeURIComponent(t.join(",")))}}(n.link.href,f,[n.name])),{name:n.name,link:(null===(a=n.link)||void 0===a?void 0:a.href)?e.__assign(e.__assign({},n.link),{href:i}):void 0}})),isInverted:v,text:r,customTag:o})))})))))}));exports.EventDetail=J,exports.EventList=re,exports.EventOverview=te;
|
|
2
|
+
//# sourceMappingURL=sections_events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sections_events.js","sources":["../src/components/sections/events/EventDetail.tsx","../src/components/sections/events/EventOverview.tsx","../src/components/sections/events/EventList.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { EventProps } from 'components/blocks/EventBlock';\nimport Image from 'components/blocks/Image';\nimport Tag from 'components/blocks/Tag';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport { LinkProps } from 'components/typography/Link';\nimport { mq, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\nimport StatusFormatter from 'utils/statusFormatter';\nimport InfoList from 'components/blocks/InfoList';\nimport { isValidArray } from 'utils/arrays';\n\nconst StyledImage = styled(Image)`\n &:not(:last-child) {\n margin-bottom: ${spacings.spacer}px;\n }\n`;\n\nconst TagContainer = styled.div`\n max-width: 880px;\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n`;\n\nconst TagWrapper = styled.div`\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst EventTitle = styled(Heading)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.semilarge} {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n`;\n\nconst EventDateTime = styled(Copy)`\n max-width: 880px;\n /* overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; */\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst EventAddress = styled(Copy)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n ${EventDateTime} + & {\n margin-top: ${spacings.nudge}px;\n }\n\n @media ${mq.semilarge} {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`;\n\nconst EventText = styled(Copy)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nexport type DetailEventProps = Omit<\n EventProps,\n 'customTag' | 'isInverted' | 'onTagClick' | 'link'\n>;\n\nexport interface EventInfoGroup {\n title?: string;\n items: EventInfo[];\n}\n\nexport interface EventInfo {\n /** icon injection function */\n icon?: (isInverted?: boolean) => React.ReactNode;\n /** Event info text (richtText) */\n text?: string;\n}\n\nconst EventDetail: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of event item settings */\n event: DetailEventProps & { address?: string; abstract?: string };\n\n /** Additional event infos */\n infos?: EventInfoGroup[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n }) => React.ReactNode;\n}> = ({ anchorId, event, infos, bgMode, customTag }) => {\n const { colors, globals } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const hasInfos = useMemo(() => {\n return isValidArray(\n infos?.filter((info) => isValidArray(info.items, false)),\n false\n );\n }, [infos]);\n\n let publishedAt = '';\n let timespan = '';\n\n if (event?.date) {\n const formatter = new StatusFormatter(\n event.date.getTime(),\n '',\n globals.sections.eventDateFormat(event.date),\n globals.sections.eventTimeFormat(event.date),\n globals.sections.eventLocaleKey\n );\n publishedAt = formatter.getFormattedDate();\n\n timespan = formatter.getFormattedTimespan(\n globals.sections.eventTimespanFormat(event.date, event.duration),\n event.duration\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 {event.image?.small && (\n <StyledImage\n {...event.image}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n />\n )}\n <Grid.Row\n gutter={spacings.nudge * 5}\n semilarge={{ gutter: spacings.spacer }}\n >\n <Grid.Col semilarge={{ span: hasInfos ? 5.7 / 8 : 1 }}>\n {event.tags && (\n <TagContainer>\n {event.tags.map((tag, i) => (\n <TagWrapper key={'tag_' + i}>\n {customTag ? (\n customTag({\n key: `headtag-${i}`,\n name: tag.name || '',\n isInverted: isInverted,\n isActive: false,\n link: tag.link,\n })\n ) : (\n <Tag\n link={tag.link}\n isInverted={isInverted}\n >\n {tag.name}\n </Tag>\n )}\n </TagWrapper>\n ))}\n </TagContainer>\n )}\n {event.title && (\n <EventTitle\n size=\"heading-2\"\n isInverted={isInverted}\n >\n {event.title}\n </EventTitle>\n )}\n {publishedAt && (\n <EventDateTime size=\"big\" type=\"copy-b\">\n {publishedAt || ''}\n {publishedAt && timespan ? ' | ' : ''}\n {timespan}\n </EventDateTime>\n )}\n {event.address && (\n <EventAddress\n size=\"big\"\n type=\"copy\"\n innerHTML={event.address}\n />\n )}\n {event.abstract && (\n <EventText\n size=\"medium\"\n type=\"copy-b\"\n isInverted={isInverted}\n >\n {event.abstract}\n </EventText>\n )}\n {event.text && (\n <EventText\n size=\"medium\"\n isInverted={isInverted}\n innerHTML={event.text}\n />\n )}\n </Grid.Col>\n {hasInfos && (\n <Grid.Col semilarge={{ span: 2.3 / 8 }}>\n <InfoList isInverted={isInverted} items={infos} />\n </Grid.Col>\n )}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const EventDetailComponent = EventDetail;\nexport default withLibTheme(EventDetail);\n","import Filter from 'components/base/icons/Filter';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport EventBlock, { EventProps } from 'components/blocks/EventBlock';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport Pointer from 'components/buttons/Pointer';\nimport Copy from 'components/typography/Copy';\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { concat } from 'utils/concat';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport StatusFormatter from 'utils/statusFormatter';\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport { deleteUrlParam, getUrlParams, setUrlParam } from 'utils/urlParams';\nimport useMounted from 'utils/useMounted';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport { useScrollTo } from 'utils/useScrollTo';\nimport useUpdateEffect from 'utils/useUpdateEffect';\n\nconst TagContainer = styled.div`\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:not(:only-child) {\n margin-bottom: ${spacings.nudge * 6}px;\n }\n`;\n\nconst TagWrapper = styled.div`\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst Events = styled.ul<{ hasBg?: boolean }>`\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n & > * + * {\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ${({ theme, hasBg }) =>\n hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n`;\n\nconst FilterIcon = styled(Copy)`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: ${spacings.nudge / 2}px ${spacings.nudge}px 0 0;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst EventItem = styled.li`\n padding: ${spacings.nudge * 3}px 0;\n`;\n\nconst ListFooter = styled.div`\n margin-top: ${spacings.nudge * 6}px;\n text-align: center;\n\n @media ${mq.medium} {\n text-align: left;\n }\n`;\n\nconst ShowMore = styled.span<{ itemCount?: number }>`\n display: ${({ itemCount }) =>\n itemCount && itemCount > 2 ? 'block' : 'none'};\n`;\n\nexport const getEventFilterParams = (\n url: string,\n theme: DefaultTheme,\n tags: string[] = []\n) => {\n if (!url || !theme) return '';\n if (!isValidArray(tags, false)) return url;\n\n const filterName = theme.globals.sections.eventFilterName;\n if (!filterName) return url;\n\n try {\n const validUrl = new URL(url);\n const newParams = new URLSearchParams(validUrl.search);\n newParams.set(filterName, encodeURIComponent(tags.join(',')));\n\n return `${url}?${newParams.toString()}`;\n } catch (err) {\n return `${url}?${filterName}=${encodeURIComponent(tags.join(','))}`;\n }\n};\n\nexport type EventItem = Omit<\n EventProps,\n 'customTag' | 'isInverted' | 'onTagClick' | 'text'\n> & { address?: string };\n\nconst EventOverview: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of event item settings */\n events?: EventItem[];\n\n /** Tags for events filtering */\n tags?: string[];\n\n /** Initial data. If not defined the component tries to collect this from URL params */\n initial?: {\n activeTags?: string[];\n visibleRows?: number;\n };\n\n /** Text for load more toggle. Only visible if browser doesn't support IntersectionObserver. */\n showMoreText?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /**\n * Callback function to handle tag click outside of component\n * If no callback is defined filtering is controlled on client\n * */\n onTagClick?: (tag: TagProps, insideList?: boolean) => void;\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n clickHandler?: (ev?: React.SyntheticEvent<HTMLElement>) => void;\n }) => React.ReactNode;\n}> = ({\n tags,\n events,\n bgMode,\n anchorId,\n initial,\n showMoreText,\n onTagClick,\n customTag,\n}) => {\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.eventFilterName;\n\n const [selectedTags, setSelectedTags] = React.useState<string[]>(\n initial?.activeTags || []\n );\n const [itemsPerRow] = React.useState(1);\n const [visibleRows, setVisibleRows] = React.useState(\n initial?.visibleRows || 3\n );\n\n const targetRef = React.useRef<HTMLDivElement>(null);\n const observerSupported = useObserverSupport();\n const isMounted = useMounted();\n\n const eventCount = events?.length || 0;\n const setNewPos = useScrollTo(800);\n\n const getFilters = useCallback(() => {\n const tags: string[] = [];\n\n const filters = getUrlParams()[filterName];\n if (filters) {\n const tagsFilter = filters?.split(',');\n if (isValidArray(tagsFilter, false)) {\n tags.push(...tagsFilter);\n }\n }\n return tags;\n }, [filterName]);\n\n useEffect(() => {\n // if initial data is defined exit hook\n if (initial) return;\n\n // if no initial data provied try to find needed params in URL\n const paramTags = getFilters();\n\n if (isValidArray(paramTags, false)) {\n setSelectedTags(paramTags);\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [getFilters, initial]);\n\n useEffect(() => {\n if (!initial || isMounted) return;\n\n // set inital data into URL\n setUrlParam('rows', initial?.visibleRows || 3);\n\n if (isValidArray(initial?.activeTags, false)) {\n setUrlParam(filterName, initial?.activeTags?.join(','));\n } else {\n deleteUrlParam(filterName);\n }\n }, [filterName, initial, isMounted]);\n\n useUpdateEffect(() => {\n setUrlParam('rows', visibleRows);\n }, [visibleRows]);\n\n useUpdateEffect(() => {\n if (onTagClick || !isValidArray(selectedTags)) return;\n\n // set filters to URL params\n if (selectedTags.length > 0) {\n setUrlParam(filterName, selectedTags.join(','));\n } else {\n deleteUrlParam(filterName);\n }\n }, [selectedTags]);\n\n const handleTagClick = (tag: TagProps, enableToggling = true) => {\n setSelectedTags((prev) => {\n const prevCopy = [...prev];\n const itemIndex = tag.name ? prev.indexOf(tag.name) : -1;\n\n if (itemIndex === -1 && tag.name) {\n return [...prevCopy, tag.name];\n }\n if (enableToggling) {\n prevCopy.splice(itemIndex, 1);\n return prevCopy;\n }\n return prev;\n });\n setVisibleRows(3);\n };\n\n const filteredEvents = useMemo(() => {\n const tagFilterFn = (item: EventItem) => {\n if (!isValidArray(selectedTags, false)) return true;\n if (!item.tags) return false;\n\n let hasTags = false;\n for (let i = 0; i < item.tags.length; i++) {\n if (selectedTags.indexOf(item.tags[i].name || '') !== -1) {\n hasTags = true;\n break;\n }\n }\n return hasTags;\n };\n\n let filtered = isValidArray(events) ? [...events] : [];\n\n // adding filter\n filtered = filtered?.filter(tagFilterFn);\n\n return filtered;\n }, [events, selectedTags]);\n\n const visibleEvents = useMemo(() => {\n return (\n filteredEvents?.filter((_, i) => i < visibleRows * itemsPerRow) ||\n []\n );\n }, [filteredEvents, itemsPerRow, visibleRows]);\n\n useEffect(() => {\n // cancel if intersection observers are not supported\n if (!observerSupported) return;\n\n const element = targetRef.current;\n let observer: IntersectionObserver;\n\n if (element) {\n const options = {\n rootMargin: '0px 0px 100px 0px',\n threshold: 0,\n };\n\n observer = new IntersectionObserver((entries) => {\n const entry = entries[0];\n if (entry?.isIntersecting) {\n // on bottom of the wrapper load more events\n if (\n visibleRows <\n Math.ceil(filteredEvents.length / itemsPerRow)\n ) {\n setVisibleRows((prev) => prev + 1);\n }\n }\n }, options);\n observer.observe(element);\n }\n\n return () => {\n if (observer) observer.disconnect();\n };\n }, [\n itemsPerRow,\n eventCount,\n visibleRows,\n observerSupported,\n filteredEvents.length,\n ]);\n\n const filteredTags = useMemo(() => {\n return tags?.filter((tag) => tag);\n }, [tags]);\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 : 'transparent'\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {isValidArray(filteredTags, false) && (\n <TagContainer>\n <FilterIcon\n size=\"small\"\n type=\"copy\"\n isInverted={isInverted}\n >\n <Filter />\n <span>Filter</span>\n </FilterIcon>\n {filteredTags.map((tag, i) => (\n <TagWrapper key={i}>\n {customTag ? (\n customTag({\n key: i,\n name: tag,\n isInverted: isInverted,\n isActive:\n selectedTags.indexOf(tag) !== -1,\n clickHandler: (ev) => {\n ev?.preventDefault();\n if (!onTagClick) {\n handleTagClick({ name: tag });\n } else onTagClick({ name: tag });\n },\n })\n ) : (\n <Tag\n isInverted={isInverted}\n onClick={(ev) => {\n ev?.preventDefault();\n if (!onTagClick) {\n handleTagClick({ name: tag });\n } else\n onTagClick(\n { name: tag },\n false\n );\n }}\n isActive={\n selectedTags.indexOf(tag) !== -1\n }\n >\n {tag}\n </Tag>\n )}\n </TagWrapper>\n ))}\n </TagContainer>\n )}\n <Events hasBg={hasBg}>\n {visibleEvents.map((item, i) => {\n let timespan = '';\n\n if (item.date) {\n const formatter = new StatusFormatter(\n item.date.getTime(),\n '',\n globals.sections.eventDateFormat(item.date),\n globals.sections.eventTimeFormat(item.date),\n globals.sections.eventLocaleKey\n );\n\n timespan = formatter.getFormattedTimespan(\n globals.sections.eventTimespanFormat(\n item.date,\n item.duration\n ),\n item.duration\n );\n }\n\n const text = concat([timespan, item.address], ' | ');\n\n return (\n <EventItem key={`${i}_event_${item.title}`}>\n <EventBlock\n {...item}\n text={text}\n tags={item.tags?.map((tag) => ({\n name: tag.name,\n }))}\n isInverted={isInverted}\n onTagClick={(tag) => {\n // scroll back to top\n setNewPos(0);\n if (!onTagClick) {\n // if no callback is defined handle filtering on client side inside the component\n handleTagClick(\n { name: tag.name },\n false\n );\n } else {\n onTagClick(\n { name: tag.name },\n true\n );\n }\n }}\n customTag={customTag}\n />\n </EventItem>\n );\n })}\n </Events>\n <div ref={targetRef} />\n {!observerSupported && (\n <ListFooter>\n {events && events.length > 0 && (\n <Copy\n type=\"copy\"\n size=\"medium\"\n isInverted={isInverted}\n >\n <ShowMore\n itemCount={events.length}\n onClick={(ev) => {\n ev.preventDefault();\n if (\n visibleRows <\n Math.ceil(\n filteredEvents.length /\n itemsPerRow\n )\n ) {\n setVisibleRows((prev) => prev + 1);\n }\n }}\n >\n {visibleRows <\n filteredEvents.length / itemsPerRow && (\n <Pointer.View\n as=\"button\"\n isInverted={isInverted}\n >\n <Pointer.Label>\n {showMoreText ||\n 'mehr anzeigen'}\n </Pointer.Label>\n </Pointer.View>\n )}\n </ShowMore>\n </Copy>\n )}\n </ListFooter>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const EventOverviewComponent = EventOverview;\nexport default withLibTheme(EventOverview);\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 EventBlock, { EventProps } from 'components/blocks/EventBlock';\nimport { getColors as color, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { LinkProps } from 'components/typography/Link';\nimport StatusFormatter from 'utils/statusFormatter';\nimport { concat } from 'utils/concat';\nimport { getEventFilterParams } from './EventOverview';\n\nconst List = styled.ul<{ hasBg?: boolean }>`\n list-style: none;\n margin: 0;\n padding: 0;\n\n & > * + * {\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ${({ theme, hasBg }) =>\n hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n }\n`;\n\nconst ListItem = styled.li`\n padding: ${spacings.nudge * 3}px 0;\n`;\n\nexport type EventItem = Omit<\n EventProps,\n 'customTag' | 'isInverted' | 'onTagClick' | 'text'\n> & { address?: string };\n\nconst EventList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of event item settings */\n events?: EventItem[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n }) => React.ReactNode;\n}> = ({ anchorId, events, bgMode, customTag }) => {\n const { colors, globals, theme } = 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 : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <List hasBg={hasBg}>\n {events?.map((event, i) => {\n let timespan = '';\n\n if (event.date) {\n const formatter = new StatusFormatter(\n event.date.getTime(),\n '',\n globals.sections.eventDateFormat(event.date),\n globals.sections.eventTimeFormat(event.date),\n globals.sections.eventLocaleKey\n );\n\n timespan = formatter.getFormattedTimespan(\n globals.sections.eventTimespanFormat(\n event.date,\n event.duration\n ),\n event.duration\n );\n }\n\n const text = concat([timespan, event.address], ' | ');\n\n return (\n <ListItem key={i}>\n <EventBlock\n {...event}\n tags={event.tags?.map((tag) => {\n let tagHref: string | undefined =\n undefined;\n\n if (tag.name && tag.link?.href) {\n tagHref = getEventFilterParams(\n tag.link.href,\n theme,\n [tag.name]\n );\n }\n\n return {\n name: tag.name,\n link: tag.link?.href\n ? {\n ...tag.link,\n href: tagHref,\n }\n : undefined,\n };\n })}\n isInverted={isInverted}\n text={text}\n customTag={customTag}\n />\n </ListItem>\n );\n })}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const EventListComponent = EventList;\nexport default withLibTheme(EventList);\n"],"names":["StyledImage","styled","Image","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","spacings","spacer","TagContainer","div","templateObject_2","nudge","TagWrapper","templateObject_3","EventTitle","Heading","templateObject_4","mq","semilarge","EventDateTime","Copy","templateObject_5","EventAddress","templateObject_6","EventText","templateObject_7","EventDetail$1","withLibTheme","_a","anchorId","event","infos","bgMode","customTag","_c","useLibTheme","colors","globals","isInverted","hasBg","hasInfos","useMemo","isValidArray","filter","info","items","publishedAt","timespan","date","formatter","StatusFormatter","getTime","sections","eventDateFormat","eventTimeFormat","eventLocaleKey","getFormattedDate","getFormattedTimespan","eventTimespanFormat","duration","React","createElement","Section","addSeperation","bgColor","sectionBg","dark","medium","light","mapToBgMode","Wrapper","addWhitespace","_b","image","small","__assign","coverSpace","allowEdgeRadius","Grid","Row","gutter","Col","span","tags","map","tag","i","key","concat","name","isActive","link","Tag","title","size","type","address","innerHTML","abstract","text","InfoList","Events","ul","theme","color","elementBg","FilterIcon","EventItem","li","ListFooter","ShowMore","itemCount","EventOverview$1","events","initial","showMoreText","onTagClick","filterName","eventFilterName","useState","activeTags","selectedTags","setSelectedTags","itemsPerRow","_d","visibleRows","setVisibleRows","targetRef","useRef","observerSupported","useObserverSupport","isMounted","useMounted","eventCount","length","setNewPos","useScrollTo","getFilters","useCallback","filters","getUrlParams","tagsFilter","split","push","apply","useEffect","paramTags","setUrlParam","join","deleteUrlParam","useUpdateEffect","handleTagClick","enableToggling","prev","prevCopy","__spreadArray","itemIndex","indexOf","splice","filteredEvents","filtered","item","hasTags","visibleEvents","_","observer","element","current","IntersectionObserver","entries","entry","isIntersecting","Math","ceil","rootMargin","threshold","observe","disconnect","filteredTags","Filter","clickHandler","ev","preventDefault","onClick","EventBlock","ref","Pointer","View","as","Label","List","ListItem","EventList$1","tagHref","undefined","href","url","validUrl","URL","newParams","URLSearchParams","search","set","encodeURIComponent","toString","err","getEventFilterParams"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./ClockFilled-2483aa4a.js"),n=require("react"),t=require("styled-components"),a=require("./styles-3a495a2d.js"),r=require("./LibThemeProvider-4823de57.js"),i=require("./Wrapper-accf2622.js"),l=require("formik"),o=require("./Actions-c7b16449.js"),u=require("./Button-51ea72b7.js"),d=require("./FileUpload-0a861caf.js"),s=require("./ButtonGhost-628bbd60.js"),c=require("./Checkbox-1c34c7e6.js"),m=require("./Copy-ea6ab025.js");function g(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("react-dom/server"),require("./concat-f387d848.js"),require("./arrays-c272ed59.js"),require("./hexRgbConverter-91b28aea.js"),require("./clamp-bd21d587.js"),require("./useLeafletMap-2e608b01.js"),require("./useLazyInput-f71c221b.js"),require("./useUpdateEffect-4d233e2c.js"),require("./useGeolocation-d8946470.js"),require("react-datepicker"),require("./useMounted-0bba9869.js");var v,f,p,h,b,_,x,y,k,C,w,F=g(n),q=g(t),M=q.default.fieldset.withConfig({displayName:"fieldGroupRenderer__FieldSet",componentId:"sc-1c0l16c-0"})(v||(v=e.__makeTemplateObject(["\n display: block;\n border: none;\n background: none;\n outline: none;\n padding: 0;\n margin-left: 0;\n margin-right: 0;\n text-align: left;\n"],["\n display: block;\n border: none;\n background: none;\n outline: none;\n padding: 0;\n margin-left: 0;\n margin-right: 0;\n text-align: left;\n"]))),I=q.default.div.withConfig({displayName:"fieldGroupRenderer__Fields",componentId:"sc-1c0l16c-1"})(f||(f=e.__makeTemplateObject(["\n & > * + * {\n margin-top: ","px;\n }\n"],["\n & > * + * {\n margin-top: ","px;\n }\n"])),a.spacings.nudge),T=function(n,t,a){return e.__awaiter(void 0,void 0,void 0,(function(){var n,r;return e.__generator(this,(function(e){switch(n=a.inputType,r="",a.isRequired&&!t&&(r=a.errorMsg||"Required field"),n){case"email":t&&!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(t)&&(r=a.errorMsg||"Invalid Mail format");break;case"tel":t&&/[A-Z]/gi.test(t)&&(r=a.errorMsg||"Ungültige Telefonnummer");break;case"number":t&&!/^[+]?\d+([.]\d+)?$/gm.test(t)&&(r=a.errorMsg||"Zahlenformat ungültig")}return[2,r]}))}))},E=function(n,t,a){return e.__awaiter(void 0,void 0,void 0,(function(){var n;return e.__generator(this,(function(e){return n="",a.isRequired&&!t&&(n=a.errorMsg||"Required field"),[2,n]}))}))},j=function(n,t,a){return e.__awaiter(void 0,void 0,void 0,(function(){var n;return e.__generator(this,(function(e){return n="",a.isRequired&&!t&&(n=a.errorMsg||"Required field"),[2,n]}))}))},B=function(n,t,a){return e.__awaiter(void 0,void 0,void 0,(function(){var n,r;return e.__generator(this,(function(e){return n="",r=a.singleSelect,a.isRequired&&!t?n=r?a.singleDateError||"Please submit date!":a.multiDateError||"Please submit start- and enddate!":a.isRequired&&r&&!t[0]?n=a.singleDateError||"Please submit date!":!a.isRequired||r||t[0]&&t[1]||(n=a.multiDateError||"Please submit start- and enddate!"),[2,n]}))}))},R=function(n,t,a){return e.__awaiter(void 0,void 0,void 0,(function(){var n,r,i;return e.__generator(this,(function(e){return n="",!a.isRequired||t.description||(null===(r=t.position)||void 0===r?void 0:r[0])||(null===(i=t.position)||void 0===i?void 0:i[1])||(n=a.errorMsg||"Please submit location info!"),[2,n]}))}))},S=function(n,t,a){return e.__awaiter(void 0,void 0,void 0,(function(){var n,r,i;return e.__generator(this,(function(e){return n=a.groupType,r="","Checkbox"===n?(i=t,a.isRequired&&(!i||(null==i?void 0:i.length)<1)&&(r=a.errorMsg||"Please select at least one item!")):"Radio"===n&&a.isRequired&&!t&&(r=a.errorMsg||"Selection required"),[2,r]}))}))},O=function(n,t,a){return e.__awaiter(void 0,void 0,void 0,(function(){var n;return e.__generator(this,(function(e){return n="",a.isRequired&&(!t||(null==t?void 0:t.length)<1)&&(n=a.errorMsg||"Please submit at least one file!"),[2,n]}))}))},D=q.default(i.Section).withConfig({displayName:"DynamicForm__StyledSection",componentId:"sc-1v8xcyg-0"})(p||(p=e.__makeTemplateObject(["\n overflow: visible;\n"],["\n overflow: visible;\n"]))),L=q.default.form.withConfig({displayName:"DynamicForm__Form",componentId:"sc-1v8xcyg-1"})(h||(h=e.__makeTemplateObject(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n @media "," {\n flex-direction: row;\n }\n"],["\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n @media "," {\n flex-direction: row;\n }\n"])),a.mq.semilarge),A=q.default.div.withConfig({displayName:"DynamicForm__FieldContainer",componentId:"sc-1v8xcyg-2"})(b||(b=e.__makeTemplateObject(["\n flex: 1 1 0;\n text-align: center;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n max-width: 610px;\n }\n"],["\n flex: 1 1 0;\n text-align: center;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n max-width: 610px;\n }\n"])),3*a.spacings.nudge,3*a.spacings.nudge,a.mq.semilarge),N=q.default.div.withConfig({displayName:"DynamicForm__FormFooter",componentId:"sc-1v8xcyg-3"})(_||(_=e.__makeTemplateObject(["\n margin-top: ","px;\n"],["\n margin-top: ","px;\n"])),a.spacings.spacer),U=q.default(m.Copy).withConfig({displayName:"DynamicForm__Status",componentId:"sc-1v8xcyg-4"})(x||(x=e.__makeTemplateObject(["\n text-align: left;\n margin: 0 auto;\n\n @media "," {\n max-width: 610px;\n }\n"],["\n text-align: left;\n margin: 0 auto;\n\n @media "," {\n max-width: 610px;\n }\n"])),a.mq.semilarge),V=q.default.div.withConfig({displayName:"DynamicForm__ActionContainer",componentId:"sc-1v8xcyg-5"})(y||(y=e.__makeTemplateObject(["\n width: 100%;\n margin: 0 auto;\n margin-top: ","px;\n text-align: right;\n\n @media "," {\n max-width: 610px;\n }\n"],["\n width: 100%;\n margin: 0 auto;\n margin-top: ","px;\n text-align: right;\n\n @media "," {\n max-width: 610px;\n }\n"])),1.5*a.spacings.spacer,a.mq.semilarge),Z=r.withLibTheme((function(t){var m=t.anchorId,g=t.fields,v=t.onSubmit,f=t.submitAction,p=t.definitions,h=t.subjectLine,b=t.targetEmails,_=t.bgMode,x="inverted"===_,y="full"===_||x,k=n.useState(),C=k[0],w=k[1],q={},Z=function(e){switch(g[e].type){case"Field":case"Area":q[e]=g[e].initialValue||"";break;case"Select":q[e]=g[e].initialOption||"";break;case"Datepicker":q[e]=g[e].initialDates||[null,null];break;case"Location":q[e]={description:"",position:[0,0]};break;case"Upload":q[e]=[];break;case"FieldGroup":var n=g[e],t=g[e].groupType;if("Checkbox"===t){var a=[];n.fields.forEach((function(e){e.initialChecked&&e.text&&a.push(e.text)})),q[e]=a}else"Radio"===t&&(q[e]="",n.fields.every((function(n){return!n.initialChecked||!n.text||(q[e]=n.text,!1)})))}};for(var P in g)Z(P);var W=l.useFormik({initialValues:e.__assign({},q),onSubmit:function(n,t){return e.__awaiter(void 0,void 0,void 0,(function(){var a,r;return e.__generator(this,(function(i){switch(i.label){case 0:return a=e.__assign(e.__assign({},n),{targetEmails:b||[],subjectLine:h||""}),v?[4,v(a)]:(J(!1),[2]);case 1:return r=i.sent(),t.resetForm({values:n}),w(r),r.isError&&J(!1),[2]}}))}))},validateOnBlur:!0,validateOnChange:!0,validate:function(n){return e.__awaiter(void 0,void 0,void 0,(function(){var t,a,r,i,l,o,u,d,s,c,m,v,f,p,h,b;return e.__generator(this,(function(e){switch(e.label){case 0:for(r in t={},a=[],g)a.push(r);i=0,e.label=1;case 1:if(!(i<a.length))return[3,31];switch(l=a[i],g[l].type){case"Field":return[3,2];case"Area":return[3,6];case"Select":return[3,10];case"Datepicker":return[3,14];case"Location":return[3,18];case"FieldGroup":return[3,22];case"Upload":return[3,26]}return[3,30];case 2:return f=g[l],m=n[l],f.validate?[4,f.validate(l,m,f)]:[3,4];case 3:return(o=e.sent())&&(t[l]=o),[3,30];case 4:return[4,T(0,m,f)];case 5:return(b=e.sent())&&(t[l]=b),[3,30];case 6:return f=g[l],m=n[l],f.validate?[4,f.validate(l,m,f)]:[3,8];case 7:return(u=e.sent())&&(t[l]=u),[3,30];case 8:return[4,E(0,m,f)];case 9:return(b=e.sent())&&(t[l]=b),[3,30];case 10:return f=g[l],m=n[l],f.validate?[4,f.validate(l,m,f)]:[3,12];case 11:return(d=e.sent())&&(t[l]=d),[3,30];case 12:return[4,j(0,m,f)];case 13:return(b=e.sent())&&(t[l]=b),[3,30];case 14:return f=g[l],m=n[l],f.validate?[4,f.validate(l,m,f)]:[3,16];case 15:return(s=e.sent())&&(t[l]=s),[3,30];case 16:return[4,B(0,m,f)];case 17:return(b=e.sent())&&(t[l]=b),[3,30];case 18:return f=g[l],m=n[l],f.validate?[4,f.validate(l,m,f)]:[3,20];case 19:return(c=e.sent())&&(t[l]=c),[3,30];case 20:return[4,R(0,m,f)];case 21:return(b=e.sent())&&(t[l]=b),[3,30];case 22:return f=g[l],m=n[l],f.validate?[4,f.validate(l,m,f)]:[3,24];case 23:return(v=e.sent())&&(t[l]=v),[3,30];case 24:return[4,S(0,m,f)];case 25:return(b=e.sent())&&(t[l]=b),[3,30];case 26:return f=g[l],p=n[l],f.validate?[4,f.validate(l,p,f)]:[3,28];case 27:return(h=e.sent())&&(t[l]=h),[3,30];case 28:return[4,O(0,p,f)];case 29:return(b=e.sent())&&(t[l]=b),[3,30];case 30:return i++,[3,1];case 31:return[2,t]}}))}))}}),G=W.handleSubmit,$=W.handleChange,z=W.handleBlur,H=W.setFieldTouched,J=W.setSubmitting,K=W.validateField,Q=W.submitForm,X=W.setValues,Y=W.isSubmitting,ee=W.touched,ne=W.values,te=W.errors,ae=W.dirty,re=W.validateOnBlur,ie=W.validateOnChange,le=n.useRef(e.__assign({},q)),oe=r.useLibTheme().theme,ue=n.useCallback((function(n){var t;return X(e.__assign(e.__assign({},le.current),((t={})[n.key]=n.value,t)),n.shouldValidate)}),[X]),de=g&&Object.keys(g);return n.useEffect((function(){le.current=e.__assign({},ne)}),[ne]),F.default.createElement(D,{addSeperation:!0,anchorId:m,bgColor:x?a.getColors(oe).sectionBg.dark:_?a.getColors(oe).sectionBg.medium:a.getColors(oe).sectionBg.light,bgMode:i.mapToBgMode(_,!0)},F.default.createElement(i.Wrapper,{addWhitespace:!0},F.default.createElement(L,{noValidate:!0,onSubmit:G},F.default.createElement(A,null,g&&(null==de?void 0:de.map((function(n,t){var a={index:t,field:g[n],key:n,value:ne[n],error:te[n],isTouched:ee[n]||!1,isInverted:x,hasBg:y,setField:ue,setTouched:H,validateField:K,handleChange:$,handleBlur:z,validateOnBlur:re,validateOnChange:ie,theme:oe};switch(g[n].type){case"Field":return(null==p?void 0:p.field)?p.field(a):function(e){var n=e.field,t=e.key,a=e.value,r=e.error,i=e.isTouched,l=e.handleChange,o=e.handleBlur,u=e.isInverted;return F.default.createElement(d.Textfield,{key:t,enableMemo:!0,label:"".concat(t).concat(n.isRequired?" *":""),placeholder:n.placeholder,name:"['".concat(t,"']"),type:n.inputType,isInverted:u,value:a,onChange:l,onBlur:o,infoMessage:n.info,errorMessage:r&&i?r:void 0})}(a);case"Area":return(null==p?void 0:p.area)?p.area(a):function(e){var n=e.field,t=e.key,a=e.value,r=e.error,i=e.isTouched,l=e.isInverted,o=e.handleChange,u=e.handleBlur;return F.default.createElement(d.Textarea,{key:t,enableMemo:!0,label:"".concat(t).concat(n.isRequired?" *":""),placeholder:n.placeholder,name:"['".concat(t,"']"),value:a,isInverted:l,onChange:o,onBlur:u,infoMessage:n.info,errorMessage:r&&i?r:void 0})}(a);case"Datepicker":return(null==p?void 0:p.datepicker)?p.datepicker(a):function(n){var t=n.key,a=n.field,r=n.value,i=n.error,l=n.isTouched,o=n.isInverted,c=n.setField,m=n.setTouched,g=n.validateField,v=r,f=function(n,a){return e.__awaiter(void 0,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,m(t,!0)];case 1:return e.sent(),[4,c({key:t,value:[n||null,a||null]})];case 2:return e.sent(),g(t),[2]}}))}))};return F.default.createElement(d.DatepickerCmp,{key:t,enableMemo:!0,onSubmit:f,onDataChange:f,values:[null==v?void 0:v[0],null==v?void 0:v[1]],label:"".concat(t).concat(a.isRequired?" *":""),placeholder:a.placeholder,singleSelect:a.singleSelect,infoMessage:a.info,errorMessage:i&&l?i:void 0,name:t,customIcon:null==a?void 0:a.customIcon,isInverted:o,minDate:a.minDate,maxDate:a.maxDate,deleteAction:function(e){return(null==a?void 0:a.deleteAction)?a.deleteAction(e):F.default.createElement(s.ButtonGhost.View,{onClick:e},"delete")},submitAction:function(e){return(null==a?void 0:a.submitAction)?a.submitAction(e):F.default.createElement(u.Button.View,{onClick:e},"submit")},nextCtrlUrl:a.nextCtrlUrl,prevCtrlUrl:a.prevCtrlUrl})}(a);case"Location":return(null==p?void 0:p.location)?p.location(a):function(n){var t,a,r=n.key,i=n.field,l=n.value,o=n.error,u=n.isTouched,s=n.isInverted,c=n.setField,m=l,g=e.__assign(e.__assign({},m),{position:(null===(t=null==m?void 0:m.position)||void 0===t?void 0:t[0])||(null===(a=null==m?void 0:m.position)||void 0===a?void 0:a[1])?m.position:void 0});return F.default.createElement(d.LocationField,{key:r,enableMemo:!0,name:"['".concat(r,"']"),label:"".concat(r).concat(i.isRequired?" *":""),placeholder:i.placeholder,initialMapCenter:i.initialMapCenter,zoom:i.zoom,isInverted:s,infoMessage:i.info,errorMessage:o&&u?o:void 0,value:g,onChange:function(n){c({key:r,value:e.__assign({},n),shouldValidate:!0})},customLocationControl:i.customLocationControl,customToggle:i.customToggle,customResetControl:i.customResetControl,toggleLabel:i.toggleLabel,trackLocationLabel:i.trackLocationLabel})}(a);case"FieldGroup":return"Checkbox"===g[n].groupType?(null==p?void 0:p.checkbox)?p.checkbox(a):function(e){var n,t=e.field,a=e.key,r=e.isInverted,i=e.value,l=e.isTouched,o=e.error,u=e.info,s=e.setTouched,m=e.validateField,g=e.setField,v=t,f=i;return F.default.createElement(M,{key:a},a&&F.default.createElement(d.FieldWrapper.Head,{isInverted:r,label:a,isRequired:t.isRequired}),F.default.createElement(I,null,null===(n=null==v?void 0:v.fields)||void 0===n?void 0:n.map((function(e,n){return F.default.createElement(c.Checkbox,{key:n,enableMemo:!0,isInverted:r,onChange:function(e){var n=e.currentTarget.value;if(n){var t=f.indexOf(n);-1===t?f.push(n):f.splice(t,1),g({key:a,value:f}),s(a,!0),m(a)}},isSelected:!!e.text&&-1!==f.indexOf(e.text),name:a,value:e.text,label:e.text})}))),l&&o&&F.default.createElement(d.FieldWrapper.Messages,{errorMessage:o,infoMessage:u}))}(a):(null==p?void 0:p.radio)?p.radio(a):function(e){var n,t=e.key,a=e.field,r=e.value,i=e.error,l=e.isTouched,o=e.isInverted,u=e.info,s=e.setField,c=a,m=r;return F.default.createElement(M,{key:t},t&&F.default.createElement(d.FieldWrapper.Head,{isInverted:o,label:t,isRequired:a.isRequired}),F.default.createElement(I,null,null===(n=null==c?void 0:c.fields)||void 0===n?void 0:n.map((function(e,n){return F.default.createElement(d.RadioButton,{key:n,enableMemo:!0,name:t,value:e.text,label:e.text,isInverted:o,isSelected:!!e.text&&m===e.text,onChange:function(n){e.text&&s({key:t,value:n.currentTarget.value})}})}))),l&&i&&F.default.createElement(d.FieldWrapper.Messages,{errorMessage:i,infoMessage:u}))}(a);case"Select":return(null==p?void 0:p.select)?p.select(a):function(n){var t,a,r=n.field,i=n.key,l=n.value,o=n.error,u=n.isTouched,s=n.isInverted,c=n.setField,m=n.setTouched,g=n.validateField,v=n.validateOnChange,f=n.validateOnBlur,p=l;return F.default.createElement(d.SelectDropdown,{key:i,enableMemo:!0,label:"".concat(i).concat(r.isRequired?" *":""),name:i,placeholder:r.placeholder,errorMessage:o&&u?o:void 0,items:null===(a=null===(t=r.dropdownItems)||void 0===t?void 0:t.filter((function(e){return e.label})))||void 0===a?void 0:a.map((function(e){return{label:e.label||"",value:e.value||{}}})),selectedItem:p,onChange:function(n){return e.__awaiter(void 0,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return c({key:i,value:n}),[4,m(i,!0)];case 1:return e.sent(),v&&g(i),[2]}}))}))},onBlur:function(){return m(i,!0,f)},indicator:r.indicator,isInverted:s})}(a);case"Upload":return(null==p?void 0:p.upload)?p.upload(a):function(e){var n=e.field,t=e.key,a=e.error,r=e.isTouched,i=e.isInverted,l=e.setField;return F.default.createElement(d.FileUploadCmp,{key:t,enableMemo:!0,label:"".concat(t).concat(n.isRequired?" *":""),name:t,infoMessage:n.info,uploadLabel:n.addBtnLabel,errorMessage:a&&r?a:void 0,acceptedFormats:n.acceptedFormats,onUploadFiles:function(e){l({key:t,value:e})},customUploadIcon:n.customUploadIcon,customDeleteIcon:n.customDeleteIcon,isInverted:i})}(a);default:return null}}))))),(g||(null==C?void 0:C.message))&&F.default.createElement(N,null,(null==C?void 0:C.message)&&!ae&&F.default.createElement(U,{textColor:(null==C?void 0:C.isError)?a.getColors(oe).error:x?a.getColors(oe).text.copyInverted:a.getColors(oe).text.copy},C.message||""),g&&F.default.createElement(V,null,F.default.createElement(o.Actions,{primary:f?f({isInverted:x,isSubmitting:Y,handleSubmit:Q}):F.default.createElement(u.Button.View,e.__assign({as:"button",onClick:Q},{type:"submit"}),F.default.createElement(u.Button.Label,null,"Send mail"))})))))})),P=q.default.form.withConfig({displayName:"NewsletterForm__Form",componentId:"sc-1pmvhu2-0"})(k||(k=e.__makeTemplateObject(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n @media "," {\n flex-direction: row;\n }\n"],["\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n @media "," {\n flex-direction: row;\n }\n"])),a.mq.semilarge),W=q.default.div.withConfig({displayName:"NewsletterForm__FieldContainer",componentId:"sc-1pmvhu2-1"})(C||(C=e.__makeTemplateObject(["\n flex: 1 1 0;\n text-align: center;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n max-width: 590px;\n\n & + & {\n margin-top: 0;\n }\n\n &:first-child {\n padding-right: ","px;\n }\n\n &:last-child {\n padding-left: ","px;\n }\n }\n"],["\n flex: 1 1 0;\n text-align: center;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n max-width: 590px;\n\n & + & {\n margin-top: 0;\n }\n\n &:first-child {\n padding-right: ","px;\n }\n\n &:last-child {\n padding-left: ","px;\n }\n }\n"])),3*a.spacings.nudge,3*a.spacings.nudge,a.mq.semilarge,3*a.spacings.nudge,3*a.spacings.nudge),G=q.default.div.withConfig({displayName:"NewsletterForm__ActionContainer",componentId:"sc-1pmvhu2-2"})(w||(w=e.__makeTemplateObject(["\n width: 100%;\n max-width: 590px;\n\n margin: 0 auto;\n margin-top: ","px;\n\n text-align: center;\n"],["\n width: 100%;\n max-width: 590px;\n\n margin: 0 auto;\n margin-top: ","px;\n\n text-align: center;\n"])),2*a.spacings.spacer),$=function(e){var n=e.key,t=e.field,a=e.isInverted,r=e.value,i=e.handleChange,l=e.handleBlur,o=e.error,u=e.isTouched;return F.default.createElement(d.Textfield,{key:n,label:"".concat(t.label||n).concat(t.isRequired?"*":""),placeholder:t.placeholder,name:"".concat(n),isInverted:a,value:r,onChange:i,onBlur:l,infoMessage:t.info,errorMessage:o&&u?o:void 0})},z=r.withLibTheme((function(t){var d=t.anchorId,s=t.bgMode,c=t.fields,m=t.customField,g=t.action,v=t.method,f=t.submitAction,p=t.onSubmit,h=r.useLibTheme().theme,b=n.useRef(null),_="inverted"===s,x={};for(var y in c)x[y]=c[y].initialValue||"";var k=l.useFormik({initialValues:e.__assign({},x),onSubmit:function(n){return e.__awaiter(void 0,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return b.current?g&&v?(b.current.submit(),[3,4]):[3,1]:[2];case 1:return p?[4,p(n,b.current)]:[3,3];case 2:e.sent(),e.label=3;case 3:e.label=4;case 4:return I(!1),[2]}}))}))},validateOnBlur:!0,validateOnChange:!0,validate:function(n){return e.__awaiter(void 0,void 0,void 0,(function(){var t,a,r,i,l,o,u,d;return e.__generator(this,(function(e){switch(e.label){case 0:for(r in t={},a=[],c)a.push(r);i=0,e.label=1;case 1:return i<a.length?(l=a[i],o=c[l],u=o.inputType,c[l].isRequired&&!n[l]&&(t[l]=c[l].errorMsg||"Required field"),o.validate?[4,o.validate(l,n[l],o)]:[3,3]):[3,5];case 2:return(d=e.sent())&&(t[l]=d),[3,5];case 3:switch(u){case"email":n[l]&&!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(n[l])&&(t[l]=c[l].errorMsg||"Invalid Mail format");break;case"tel":n[l]&&/[A-Z]/gi.test(n[l])&&(t[l]=c[l].errorMsg||"Ungültige Telefonnummer");break;case"number":n[l]&&!/^[+]?\d+([.]\d+)?$/gm.test(n[l])&&(t[l]=c[l].errorMsg||"Zahlenformat ungültig")}e.label=4;case 4:return i++,[3,1];case 5:return[2,t]}}))}))}}),C=k.handleSubmit,w=k.handleChange,q=k.handleBlur,M=k.setFieldTouched,I=k.setSubmitting,T=k.validateField,E=k.submitForm,j=k.setValues,B=k.isSubmitting,R=k.touched,S=k.values,O=k.errors,D=k.dirty,L=k.validateOnBlur,A=k.validateOnChange,N=n.useCallback((function(n,t,a){return e.__awaiter(void 0,void 0,void 0,(function(){var r;return e.__generator(this,(function(i){return[2,j(e.__assign(e.__assign({},S),(r={},r[n]=t,r)),a)]}))}))}),[j,S]);return F.default.createElement(i.Section,{addSeperation:!0,anchorId:d,bgColor:_?a.getColors(h).sectionBg.dark:s?a.getColors(h).sectionBg.medium:a.getColors(h).sectionBg.light,bgMode:i.mapToBgMode(s,!0)},F.default.createElement(i.Wrapper,{addWhitespace:!0},F.default.createElement(P,{ref:b,action:g,method:v,onSubmit:C},F.default.createElement(W,null,c&&Object.keys(c).map((function(e,n){var t={index:n,field:c[e],key:e,value:S[e],error:O[e],isTouched:R[e]||!1,isInverted:_,setField:N,setTouched:M,validateField:T,handleChange:w,handleBlur:q,validateOnBlur:L,validateOnChange:A,theme:h};return m?m(t):$(t)})))),c&&F.default.createElement(G,null,F.default.createElement(o.Actions,{primary:f?f({isInverted:_,isDisabled:B||!D,handleSubmit:E}):F.default.createElement(u.Button.View,e.__assign({as:"button",onClick:E,isDisabled:B||!D},{type:"submit"}),F.default.createElement(u.Button.Label,null,"send"))}))))}));exports.DynamicForm=Z,exports.NewsletterForm=z;
|
|
2
|
+
//# sourceMappingURL=sections_forms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sections_forms.js","sources":["../src/components/sections/form/renderer/fieldGroupRenderer.tsx","../src/components/sections/form/validators/fieldValidator.ts","../src/components/sections/form/validators/areaValidator.ts","../src/components/sections/form/validators/selectValidator.ts","../src/components/sections/form/validators/datepickerValidator.ts","../src/components/sections/form/validators/locationValidator.ts","../src/components/sections/form/validators/fieldGroupValidator.ts","../src/components/sections/form/validators/uploadValidator.ts","../src/components/sections/form/DynamicForm.tsx","../src/components/sections/form/renderer/fieldRenderer.tsx","../src/components/sections/form/renderer/areaRenderer.tsx","../src/components/sections/form/renderer/datepickerRenderer.tsx","../src/components/sections/form/renderer/locationRenderer.tsx","../src/components/sections/form/renderer/selectRenderer.tsx","../src/components/sections/form/renderer/uploadRenderer.tsx","../src/components/sections/NewsletterForm.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\n\nimport RadioButton from 'components/fields/Radio';\nimport { FieldGenerationProps, FieldGroup } from '../DynamicForm';\nimport FieldWrapper from 'components/fields/FormField';\nimport { spacings } from 'utils/styles';\nimport Checkbox from 'components/fields/Checkbox';\n\nconst FieldSet = styled.fieldset`\n display: block;\n border: none;\n background: none;\n outline: none;\n padding: 0;\n margin-left: 0;\n margin-right: 0;\n text-align: left;\n`;\n\nconst Fields = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nexport const renderRadioGroupField = ({\n key,\n field,\n value,\n error,\n isTouched,\n isInverted,\n info,\n setField,\n}: FieldGenerationProps<FieldGroup>) => {\n const group = field;\n const groupData = value as string;\n\n return (\n <FieldSet key={key}>\n {key && (\n <FieldWrapper.Head\n isInverted={isInverted}\n label={key}\n isRequired={field.isRequired}\n />\n )}\n <Fields>\n {group?.fields?.map((field, fi) => (\n <RadioButton\n key={fi}\n enableMemo\n name={key}\n value={field.text}\n label={field.text}\n isInverted={isInverted}\n isSelected={\n field.text ? groupData === field.text : false\n }\n onChange={(e) => {\n if (field.text) {\n setField({\n key,\n value: e.currentTarget.value,\n });\n }\n }}\n />\n ))}\n </Fields>\n {isTouched && error && (\n <FieldWrapper.Messages\n errorMessage={error}\n infoMessage={info}\n />\n )}\n </FieldSet>\n );\n};\n\nexport const renderCheckboxGroupField = ({\n field,\n key,\n isInverted,\n value,\n isTouched,\n error,\n info,\n setTouched,\n validateField,\n setField,\n}: FieldGenerationProps<FieldGroup>) => {\n const group = field;\n const groupData = value as string[];\n\n return (\n <FieldSet key={key}>\n {key && (\n <FieldWrapper.Head\n isInverted={isInverted}\n label={key}\n isRequired={field.isRequired}\n />\n )}\n\n <Fields>\n {group?.fields?.map((field, ci) => (\n <Checkbox\n key={ci}\n enableMemo\n isInverted={isInverted}\n onChange={(ev) => {\n const value = ev.currentTarget.value;\n\n // add key to form data array if not exists. Otherwise remove it\n if (value) {\n const cIndex = groupData.indexOf(value);\n if (cIndex === -1) {\n groupData.push(value);\n } else {\n groupData.splice(cIndex, 1);\n }\n // set formik values\n setField({\n key,\n value: groupData,\n });\n setTouched(key, true);\n validateField(key);\n }\n }}\n isSelected={\n field.text\n ? groupData.indexOf(field.text) !== -1\n : false\n }\n name={key}\n value={field.text}\n label={field.text}\n />\n ))}\n </Fields>\n {isTouched && error && (\n <FieldWrapper.Messages\n errorMessage={error}\n infoMessage={info}\n />\n )}\n </FieldSet>\n );\n};\n","import { Field } from '../DynamicForm';\n\nconst fieldValidator = async (key: string, value: string, config: Field) => {\n const inputType = config.inputType;\n let error = '';\n\n if (config.isRequired && !value) {\n error = config.errorMsg || 'Required field';\n }\n\n switch (inputType) {\n case 'email':\n if (\n value &&\n !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(value)\n ) {\n error = config.errorMsg || 'Invalid Mail format';\n }\n break;\n case 'tel':\n if (value && /[A-Z]/gi.test(value)) {\n error = config.errorMsg || 'Ungültige Telefonnummer';\n }\n break;\n case 'number':\n if (value && !/^[+]?\\d+([.]\\d+)?$/gm.test(value as string)) {\n error = config.errorMsg || 'Zahlenformat ungültig';\n }\n break;\n }\n\n return error;\n};\n\nexport default fieldValidator;\n","import { Area } from '../DynamicForm';\n\nconst areaValidator = async (key: string, value: string, config: Area) => {\n let error = '';\n\n if (config.isRequired && !value) {\n error = config.errorMsg || 'Required field';\n }\n\n return error;\n};\n\nexport default areaValidator;\n","import { Select } from '../DynamicForm';\n\nconst selectValidator = async (\n key: string,\n selectedItem: string,\n config: Select\n) => {\n let error = '';\n\n if (config.isRequired && !selectedItem) {\n error = config.errorMsg || 'Required field';\n }\n\n return error;\n};\n\nexport default selectValidator;\n","import { Datepicker } from '../DynamicForm';\n\nconst datepickerValidator = async (\n key: string,\n value: [Date | null, Date | null],\n config: Datepicker\n) => {\n let error = '';\n const single = config.singleSelect;\n\n if (config.isRequired && !value) {\n error = single\n ? config.singleDateError || 'Please submit date!'\n : config.multiDateError || 'Please submit start- and enddate!';\n } else if (config.isRequired && single && !value[0]) {\n error = config.singleDateError || 'Please submit date!';\n } else if (config.isRequired && !single && (!value[0] || !value[1])) {\n error = config.multiDateError || 'Please submit start- and enddate!';\n }\n\n return error;\n};\n\nexport default datepickerValidator;\n","import { LocationData } from 'components/fields/LocationField';\nimport { Location } from '../DynamicForm';\n\nconst locationValidator = async (\n key: string,\n value: LocationData,\n config: Location\n) => {\n let error = '';\n\n if (\n config.isRequired &&\n !value.description &&\n !value.position?.[0] &&\n !value.position?.[1]\n ) {\n error = config.errorMsg || 'Please submit location info!';\n }\n\n return error;\n};\n\nexport default locationValidator;\n","import { FieldGroup } from '../DynamicForm';\n\nconst fieldGroupValidator = async (\n key: string,\n value: Array<string> | string,\n config: FieldGroup\n) => {\n const type = config.groupType;\n let error = '';\n\n if (type === 'Checkbox') {\n const selectValues = value as string[];\n if (config.isRequired && (!selectValues || selectValues?.length < 1)) {\n error = config.errorMsg || 'Please select at least one item!';\n }\n } else if (type === 'Radio') {\n if (config.isRequired && !value) {\n error = config.errorMsg || 'Selection required';\n }\n }\n return error;\n};\n\nexport default fieldGroupValidator;\n","import { FileUpload } from '../DynamicForm';\n\nconst uploadValidator = async (\n key: string,\n files: Array<File>,\n config: FileUpload\n) => {\n let error = '';\n\n if (config.isRequired && (!files || files?.length < 1)) {\n error = config.errorMsg || 'Please submit at least one file!';\n }\n\n return error;\n};\n\nexport default uploadValidator;\n","import React, { FC, useCallback, useEffect, useRef, useState } from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\n\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { Field, FormikErrors, useFormik } from 'formik';\nimport Wrapper from 'components/base/Wrapper';\nimport Actions from 'components/blocks/Actions';\nimport Button from 'components/buttons/Button';\n\nimport { LocationData } from 'components/fields/LocationField';\n\n/** Field Renderer */\nimport renderLocationField from './renderer/locationRenderer';\nimport renderDatepickerField from './renderer/datepickerRenderer';\nimport {\n renderCheckboxGroupField,\n renderRadioGroupField,\n} from './renderer/fieldGroupRenderer';\nimport renderAreaField from './renderer/areaRenderer';\nimport renderField from './renderer/fieldRenderer';\nimport renderSelectField from './renderer/selectRenderer';\nimport renderUploadField from './renderer/uploadRenderer';\nimport fieldValidator from './validators/fieldValidator';\nimport areaValidator from './validators/areaValidator';\nimport selectValidator from './validators/selectValidator';\nimport datepickerValidator from './validators/datepickerValidator';\nimport locationValidator from './validators/locationValidator';\nimport fieldGroupValidator from './validators/fieldGroupValidator';\nimport uploadValidator from './validators/uploadValidator';\nimport Copy from 'components/typography/Copy';\n\nconst StyledSection = styled(Section)`\n overflow: visible;\n`;\n\nconst Form = styled.form`\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n @media ${mq.semilarge} {\n flex-direction: row;\n }\n`;\n\nconst FieldContainer = styled.div`\n flex: 1 1 0;\n text-align: center;\n\n & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.semilarge} {\n max-width: 610px;\n }\n`;\n\nconst FormFooter = styled.div`\n margin-top: ${spacings.spacer}px;\n`;\n\nconst Status = styled(Copy)`\n text-align: left;\n margin: 0 auto;\n\n @media ${mq.semilarge} {\n max-width: 610px;\n }\n`;\n\nconst ActionContainer = styled.div`\n width: 100%;\n margin: 0 auto;\n margin-top: ${spacings.spacer * 1.5}px;\n text-align: right;\n\n @media ${mq.semilarge} {\n max-width: 610px;\n }\n`;\n\nexport interface FormStructure {\n [key: string]:\n | Field\n | Area\n | Select\n | Datepicker\n | Location\n | FieldGroup\n | FileUpload;\n}\n\nexport interface FormField {\n isRequired?: boolean;\n}\n\nexport interface Field extends FormField {\n type: 'Field';\n inputType?: 'text' | 'number' | 'email' | 'password' | 'tel';\n initialValue?: string;\n placeholder?: string;\n info?: string;\n validate?: (key: string, value: string, config: Field) => Promise<string>;\n errorMsg?: string;\n}\n\nexport interface Area extends FormField {\n type: 'Area';\n initialValue?: string;\n placeholder?: string;\n info?: string;\n validate?: (key: string, value: string, config: Area) => Promise<string>;\n errorMsg?: string;\n}\n\nexport interface Select extends FormField {\n type: 'Select';\n initialOption?: string;\n placeholder?: string;\n dropdownItems: {\n label?: string;\n value?: Record<string, string>;\n }[];\n info?: string;\n validate?: (\n key: string,\n selectedItem: string,\n config: Select\n ) => Promise<string>;\n indicator?: (props: {\n isOpen: boolean;\n isDisabled?: boolean;\n }) => React.ReactNode;\n errorMsg?: string;\n}\n\nexport interface Datepicker extends FormField {\n type: 'Datepicker';\n initialDates?: [Date, Date];\n placeholder?: string;\n minDate?: Date;\n maxDate?: Date;\n singleSelect?: boolean;\n info?: string;\n customIcon?: (props: {\n isInverted?: boolean;\n singleSelect?: boolean;\n }) => React.ReactNode;\n\n singleDateError?: string;\n multiDateError?: string;\n nextCtrlUrl?: React.ReactNode;\n prevCtrlUrl?: React.ReactNode;\n validate?: (\n key: string,\n value: [Date | null, Date | null],\n config: Datepicker\n ) => Promise<string>;\n deleteAction?: (\n handleClick?: (\n e: React.SyntheticEvent<HTMLButtonElement, Event>\n ) => void\n ) => React.ReactNode;\n submitAction?: (\n handleClick?: (\n e: React.SyntheticEvent<HTMLButtonElement, Event>\n ) => void\n ) => React.ReactNode;\n}\n\nexport interface Location extends FormField {\n type: 'Location';\n zoom?: number;\n initialMapCenter?: [number, number];\n placeholder?: string;\n info?: string;\n errorMsg?: string;\n customToggle?: (props: {\n isInverted?: boolean;\n viewState?: 'desc' | 'map';\n handleClick?: () => void;\n }) => React.ReactNode;\n customLocationControl?: (props: {\n isInverted?: boolean;\n handleClick?: () => void;\n }) => React.ReactNode;\n customResetControl?: (props: {\n isInverted?: boolean;\n handleClick?: () => void;\n }) => React.ReactNode;\n validate?: (\n key: string,\n value: LocationData,\n config: Location\n ) => Promise<string>;\n toggleLabel?: string;\n trackLocationLabel?: string;\n}\n\nexport interface FieldGroup extends FormField {\n type: 'FieldGroup';\n groupType: 'Radio' | 'Checkbox';\n fields: Array<{ initialChecked?: boolean; text?: string }>;\n validate?: (\n key: string,\n value: Array<string> | string,\n config: FieldGroup\n ) => Promise<string>;\n errorMsg?: string;\n infoMsg?: string;\n}\n\nexport interface FileUpload extends FormField {\n type: 'Upload';\n addBtnLabel?: string;\n removeBtnLabel?: string;\n info?: string;\n acceptedFormats?: string;\n customUploadIcon?: (isInverted?: boolean) => React.ReactNode;\n customDeleteIcon?: (isInverted?: boolean) => React.ReactNode;\n validate?: (\n key: string,\n value: Array<File>,\n config: FileUpload\n ) => Promise<string>;\n errorMsg?: string;\n}\n\nexport interface FormData {\n [key: string]: FormDataTypes | string;\n}\n\nexport type FormDataTypes =\n | string\n | boolean\n | Record<string, string>\n | Array<string>\n | [Date | null, Date | null]\n | Array<File>\n | LocationData;\n\ntype FieldTypes =\n | Field\n | Area\n | Select\n | Datepicker\n | Location\n | FieldGroup\n | FileUpload;\n\nexport interface FieldGenerationProps<T extends FieldTypes> {\n field: T;\n value: FormDataTypes;\n error: string;\n info?: string;\n isTouched: boolean;\n key: string;\n isInverted: boolean;\n hasBg: boolean;\n theme: DefaultTheme;\n setField: (props: {\n key: string;\n value: any;\n shouldValidate?: boolean;\n }) => Promise<void | FormikErrors<FormData>>;\n validateField: (\n name: string\n ) => Promise<string | undefined> | Promise<void>;\n setTouched: (\n field: string,\n touched?: boolean | undefined,\n shouldValidate?: boolean | undefined\n ) => Promise<void> | Promise<FormikErrors<FormData>>;\n handleChange: {\n (e: React.ChangeEvent<any>): void;\n <T_1 = string | React.ChangeEvent<any>>(\n field: T_1\n ): T_1 extends React.ChangeEvent<any>\n ? void\n : (e: string | React.ChangeEvent<any>) => void;\n };\n handleBlur: {\n (e: React.FocusEvent<any>): void;\n <T = any>(fieldOrEvent: T): T extends string ? (e: any) => void : void;\n };\n validateOnBlur?: boolean;\n validateOnChange?: boolean;\n}\n\nexport type FormValues = FormData & {\n targetEmails: string[];\n subjectLine: string;\n};\n\nexport interface SubmitResponse {\n message?: string;\n isError?: boolean;\n}\n\nconst DynamicForm: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Field definitions */\n fields?: FormStructure;\n\n /** Callback on form submit */\n onSubmit?: (values: FormValues) => Promise<SubmitResponse>;\n\n /** Function to inject custom submit button */\n submitAction?: (props: {\n isInverted?: boolean;\n handleSubmit?: () => Promise<any>;\n isSubmitting?: boolean;\n }) => React.ReactNode;\n\n /** List of target emails */\n targetEmails?: string[];\n\n /** E-Mail subject */\n subjectLine?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Functions to inject custom field components (React nodes) */\n definitions?: {\n field?: (props: FieldGenerationProps<Field>) => React.ReactNode;\n area?: (props: FieldGenerationProps<Area>) => React.ReactNode;\n select?: (props: FieldGenerationProps<Select>) => React.ReactNode;\n datepicker?: (\n props: FieldGenerationProps<Datepicker>\n ) => React.ReactNode;\n location?: (props: FieldGenerationProps<Location>) => React.ReactNode;\n checkbox?: (props: FieldGenerationProps<FieldGroup>) => React.ReactNode;\n radio?: (props: FieldGenerationProps<FieldGroup>) => React.ReactNode;\n upload?: (props: FieldGenerationProps<FileUpload>) => React.ReactNode;\n };\n}> = ({\n anchorId,\n fields,\n onSubmit,\n submitAction,\n definitions,\n subjectLine,\n targetEmails,\n bgMode,\n}) => {\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full' || isInverted;\n\n const [submitReponse, setSubmitResponse] = useState<SubmitResponse>();\n\n // generate initial data and setup yup validation definition\n const initalData: FormData = {};\n\n for (const key in fields) {\n switch (fields[key].type) {\n case 'Field':\n initalData[key] = (fields[key] as Field).initialValue || '';\n break;\n case 'Area':\n initalData[key] = (fields[key] as Area).initialValue || '';\n break;\n case 'Select':\n initalData[key] = (fields[key] as Select).initialOption || '';\n break;\n case 'Datepicker':\n initalData[key] = (fields[key] as Datepicker).initialDates || [\n null,\n null,\n ];\n break;\n case 'Location': {\n initalData[key] = {\n description: '',\n position: [0, 0],\n };\n break;\n }\n case 'Upload':\n initalData[key] = [];\n break;\n case 'FieldGroup': {\n const group = fields[key] as FieldGroup;\n const type = (fields[key] as FieldGroup).groupType;\n if (type === 'Checkbox') {\n const initalArray: string[] = [];\n group.fields.forEach((field) => {\n if (field.initialChecked && field.text)\n initalArray.push(field.text);\n });\n initalData[key] = initalArray;\n } else if (type === 'Radio') {\n initalData[key] = '';\n group.fields.every((field) => {\n if (field.initialChecked && field.text) {\n initalData[key] = field.text;\n return false;\n }\n return true;\n });\n }\n break;\n }\n }\n }\n\n const validation = async (values: FormData) => {\n const errors: Partial<FormData> = {};\n\n // search for errors and set them\n for (const key in fields) {\n switch (fields[key].type) {\n case 'Field': {\n const config = fields[key] as Field;\n const value = values[key] as string;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await fieldValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Area': {\n const config = fields[key] as Area;\n const value = values[key] as string;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await areaValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Select': {\n const config = fields[key] as Select;\n const value = values[key] as string;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await selectValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Datepicker': {\n const config = fields[key] as Datepicker;\n const value = values[key] as [Date | null, Date | null];\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await datepickerValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Location': {\n const config = fields[key] as Location;\n const value = values[key] as LocationData;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await locationValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'FieldGroup': {\n const config = fields[key] as FieldGroup;\n const value = values[key] as Array<string> | string;\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await fieldGroupValidator(key, value, config);\n if (error) errors[key] = error;\n break;\n }\n\n case 'Upload': {\n const config = fields[key] as FileUpload;\n const files = values[key] as File[];\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(key, files, config);\n if (error) errors[key] = error;\n break;\n }\n\n // default\n const error = await uploadValidator(key, files, config);\n if (error) errors[key] = error;\n break;\n }\n }\n }\n\n return errors;\n };\n\n // formik hook\n const {\n handleSubmit,\n handleChange,\n handleBlur,\n setFieldTouched,\n setSubmitting,\n validateField,\n submitForm,\n setValues,\n isSubmitting,\n touched,\n values,\n errors,\n dirty,\n validateOnBlur,\n validateOnChange,\n } = useFormik<FormData>({\n initialValues: {\n ...initalData,\n } as FormData,\n\n onSubmit: async (values, helpers) => {\n const valuesAndMails = {\n ...values,\n targetEmails: targetEmails || [],\n subjectLine: subjectLine || '',\n };\n\n if (!onSubmit) {\n setSubmitting(false);\n return;\n }\n\n const response = await onSubmit(valuesAndMails);\n helpers.resetForm({ values });\n setSubmitResponse(response);\n\n if (response.isError) {\n setSubmitting(false);\n }\n },\n validateOnBlur: true,\n validateOnChange: true,\n validate: validation,\n });\n\n // save last react state\n const latestValuesRef = useRef<FormData>({ ...initalData } as FormData);\n const { theme } = useLibTheme();\n\n // rewrite setFieldValue to prevent loadash feature of Formik: https://github.com/jaredpalmer/formik/issues/2262\n const setField = useCallback(\n (props: {\n key: string;\n value: any;\n prevValues: FormData;\n shouldValidate?: boolean;\n }) => {\n return setValues(\n { ...latestValuesRef.current, [props.key]: props.value },\n props.shouldValidate\n );\n },\n [setValues]\n );\n\n const fieldKeys = fields && Object.keys(fields);\n\n useEffect(() => {\n latestValuesRef.current = { ...values };\n }, [values]);\n\n return (\n <StyledSection\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? color(theme).sectionBg.dark\n : bgMode\n ? color(theme).sectionBg.medium\n : color(theme).sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <Form noValidate onSubmit={handleSubmit}>\n <FieldContainer>\n {fields &&\n fieldKeys?.map((label, i) => {\n const props = {\n index: i,\n field: fields[label],\n key: label,\n value: values[label],\n error: errors[label],\n isTouched: touched[label] || false,\n isInverted: isInverted,\n hasBg: hasBg,\n setField: setField,\n setTouched: setFieldTouched,\n validateField: validateField,\n handleChange: handleChange,\n handleBlur: handleBlur,\n validateOnBlur,\n validateOnChange,\n theme: theme,\n } as FieldGenerationProps<any>;\n\n switch (fields[label].type) {\n case 'Field': {\n if (definitions?.field) {\n return definitions.field(props);\n } else {\n return renderField(props);\n }\n }\n\n case 'Area': {\n if (definitions?.area) {\n return definitions.area(props);\n } else {\n return renderAreaField(props);\n }\n }\n\n case 'Datepicker': {\n if (definitions?.datepicker) {\n return definitions.datepicker(\n props\n );\n } else {\n return renderDatepickerField(props);\n }\n }\n\n case 'Location': {\n if (definitions?.location) {\n return definitions.location(props);\n } else {\n return renderLocationField(props);\n }\n }\n\n case 'FieldGroup': {\n if (\n (fields[label] as FieldGroup)\n .groupType === 'Checkbox'\n ) {\n if (definitions?.checkbox) {\n return definitions.checkbox(\n props\n );\n } else {\n return renderCheckboxGroupField(\n props\n );\n }\n } else {\n if (definitions?.radio) {\n return definitions.radio(props);\n } else {\n return renderRadioGroupField(\n props\n );\n }\n }\n }\n\n case 'Select': {\n if (definitions?.select) {\n return definitions.select(props);\n } else {\n return renderSelectField(props);\n }\n }\n\n case 'Upload': {\n if (definitions?.upload) {\n return definitions.upload(props);\n } else {\n return renderUploadField(props);\n }\n }\n default:\n return null;\n }\n })}\n </FieldContainer>\n </Form>\n {(fields || submitReponse?.message) && (\n <FormFooter>\n {submitReponse?.message && !dirty && (\n <Status\n textColor={\n submitReponse?.isError\n ? color(theme).error\n : isInverted\n ? color(theme).text.copyInverted\n : color(theme).text.copy\n }\n >\n {submitReponse.message || ''}\n </Status>\n )}\n {fields && (\n <ActionContainer>\n <Actions\n primary={\n submitAction ? (\n submitAction({\n isInverted,\n isSubmitting,\n handleSubmit: submitForm,\n })\n ) : (\n <Button.View\n as=\"button\"\n onClick={submitForm}\n {...{\n type: 'submit',\n }}\n >\n <Button.Label>\n Send mail\n </Button.Label>\n </Button.View>\n )\n }\n />\n </ActionContainer>\n )}\n </FormFooter>\n )}\n </Wrapper>\n </StyledSection>\n );\n};\n\nexport const DynamicFormComponent = DynamicForm;\nexport default withLibTheme(DynamicForm);\n","import React from 'react';\n\nimport Textfield from 'components/fields/Textfield';\nimport { Field, FieldGenerationProps } from '../DynamicForm';\n\nconst renderField = ({\n field,\n key,\n value,\n error,\n isTouched,\n handleChange,\n handleBlur,\n isInverted,\n}: FieldGenerationProps<Field>) => (\n <Textfield\n key={key}\n enableMemo\n label={`${key}${field.isRequired ? ' *' : ''}`}\n placeholder={field.placeholder}\n name={`['${key}']`}\n type={field.inputType}\n isInverted={isInverted}\n value={value as string}\n onChange={handleChange}\n onBlur={handleBlur}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n />\n);\n\nexport default renderField;\n","import React from 'react';\n\nimport Textarea from 'components/fields/Textarea';\nimport { Area, FieldGenerationProps } from '../DynamicForm';\n\nconst renderAreaField = ({\n field,\n key,\n value,\n error,\n isTouched,\n isInverted,\n handleChange,\n handleBlur,\n}: FieldGenerationProps<Area>) => (\n <Textarea\n key={key}\n enableMemo\n label={`${key}${field.isRequired ? ' *' : ''}`}\n placeholder={field.placeholder}\n name={`['${key}']`}\n value={value as string}\n isInverted={isInverted}\n onChange={handleChange}\n onBlur={handleBlur}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n />\n);\n\nexport default renderAreaField;\n","import React from 'react';\nimport DatepickerCmp from 'components/fields/Datepicker';\nimport { Datepicker, FieldGenerationProps } from '../DynamicForm';\nimport ButtonGhost from 'components/buttons/ButtonGhost';\nimport Button from 'components/buttons/Button';\n\nconst renderDatepickerField = ({\n key,\n field,\n value,\n error,\n isTouched,\n isInverted,\n setField,\n setTouched,\n validateField,\n}: FieldGenerationProps<Datepicker>) => {\n const dates = value as [Date | null, Date | null];\n\n const handleSubmit = async (start?: Date | null, end?: Date | null) => {\n await setTouched(key, true);\n await setField({\n key,\n value: [start || null, end || null],\n });\n validateField(key);\n };\n\n return (\n <DatepickerCmp\n key={key}\n enableMemo\n onSubmit={handleSubmit}\n onDataChange={handleSubmit}\n values={[dates?.[0] as Date, dates?.[1] as Date]}\n label={`${key}${field.isRequired ? ' *' : ''}`}\n placeholder={field.placeholder}\n singleSelect={field.singleSelect}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n name={key}\n customIcon={field?.customIcon}\n isInverted={isInverted}\n minDate={field.minDate}\n maxDate={field.maxDate}\n deleteAction={(handleReset) =>\n field?.deleteAction ? (\n field.deleteAction(handleReset)\n ) : (\n <ButtonGhost.View onClick={handleReset}>\n delete\n </ButtonGhost.View>\n )\n }\n submitAction={(handleSubmit) =>\n field?.submitAction ? (\n field.submitAction(handleSubmit)\n ) : (\n <Button.View onClick={handleSubmit}>submit</Button.View>\n )\n }\n nextCtrlUrl={field.nextCtrlUrl}\n prevCtrlUrl={field.prevCtrlUrl}\n />\n );\n};\n\nexport default renderDatepickerField;\n","import React from 'react';\n\nimport LocationField, { LocationData } from 'components/fields/LocationField';\nimport { FieldGenerationProps } from '../DynamicForm';\nimport { Location } from '../DynamicForm';\n\nconst renderLocationField = ({\n key,\n field,\n value,\n error,\n isTouched,\n isInverted,\n setField,\n}: FieldGenerationProps<Location>) => {\n const locationData = value as LocationData;\n const mappedData = {\n ...locationData,\n position:\n !locationData?.position?.[0] && !locationData?.position?.[1]\n ? undefined\n : locationData.position,\n };\n\n const handleChange = (location: LocationData) => {\n setField({\n key,\n value: { ...location },\n shouldValidate: true,\n });\n };\n\n return (\n <LocationField\n key={key}\n enableMemo\n name={`['${key}']`}\n label={`${key}${field.isRequired ? ' *' : ''}`}\n placeholder={field.placeholder}\n initialMapCenter={field.initialMapCenter}\n zoom={field.zoom}\n isInverted={isInverted}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n value={mappedData}\n onChange={handleChange}\n customLocationControl={field.customLocationControl}\n customToggle={field.customToggle}\n customResetControl={field.customResetControl}\n toggleLabel={field.toggleLabel}\n trackLocationLabel={field.trackLocationLabel}\n />\n );\n};\n\nexport default renderLocationField;\n","import React from 'react';\n\nimport SelectDropdown from 'components/fields/SelectDropdown';\nimport { Select, FieldGenerationProps } from '../DynamicForm';\n\nconst renderSelectField = ({\n field,\n key,\n value,\n error,\n isTouched,\n isInverted,\n setField,\n setTouched,\n validateField,\n validateOnChange,\n validateOnBlur,\n}: FieldGenerationProps<Select>) => {\n const selectedItem = value as string;\n\n return (\n <SelectDropdown\n key={key}\n enableMemo\n label={`${key}${field.isRequired ? ' *' : ''}`}\n name={key}\n placeholder={field.placeholder}\n errorMessage={error && isTouched ? error : undefined}\n items={field.dropdownItems\n ?.filter((item) => item.label)\n ?.map((item) => ({\n label: item.label || '',\n value: item.value || {},\n }))}\n selectedItem={selectedItem}\n onChange={async (selectedOption) => {\n setField({ key, value: selectedOption });\n await setTouched(key, true);\n if (validateOnChange) validateField(key);\n }}\n onBlur={() => setTouched(key, true, validateOnBlur)}\n indicator={field.indicator}\n isInverted={isInverted}\n />\n );\n};\n\nexport default renderSelectField;\n","import FileUploadCmp from 'components/fields/FileUpload';\nimport React from 'react';\n\nimport { FileUpload, FieldGenerationProps } from '../DynamicForm';\n\nconst renderUploadField = ({\n field,\n key,\n error,\n isTouched,\n isInverted,\n setField,\n}: FieldGenerationProps<FileUpload>) => (\n <FileUploadCmp\n key={key}\n enableMemo\n label={`${key}${field.isRequired ? ' *' : ''}`}\n name={key}\n infoMessage={field.info}\n uploadLabel={field.addBtnLabel}\n errorMessage={error && isTouched ? error : undefined}\n acceptedFormats={field.acceptedFormats}\n onUploadFiles={(files) => {\n setField({ key, value: files });\n }}\n customUploadIcon={field.customUploadIcon}\n customDeleteIcon={field.customDeleteIcon}\n isInverted={isInverted}\n />\n);\n\nexport default renderUploadField;\n","import React, { FC, useCallback, useRef } from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\n\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport Wrapper from 'components/base/Wrapper';\nimport Textfield from 'components/fields/Textfield';\nimport { FormikErrors, useFormik } from 'formik';\nimport Actions from 'components/blocks/Actions';\nimport Button from 'components/buttons/Button';\n\nconst Form = styled.form`\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n @media ${mq.semilarge} {\n flex-direction: row;\n }\n`;\n\nconst FieldContainer = styled.div`\n flex: 1 1 0;\n text-align: center;\n\n & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.semilarge} {\n max-width: 590px;\n\n & + & {\n margin-top: 0;\n }\n\n &:first-child {\n padding-right: ${spacings.nudge * 3}px;\n }\n\n &:last-child {\n padding-left: ${spacings.nudge * 3}px;\n }\n }\n`;\n\nconst ActionContainer = styled.div`\n width: 100%;\n max-width: 590px;\n\n margin: 0 auto;\n margin-top: ${spacings.spacer * 2}px;\n\n text-align: center;\n`;\n\nexport interface FieldGenerationProps {\n field: NewsletterField;\n value: string;\n error: string;\n info?: string;\n isTouched: boolean;\n key: string;\n isInverted: boolean;\n theme: DefaultTheme;\n setField: (\n field: string,\n value: any,\n shouldValidate?: boolean | undefined\n ) => Promise<void> | Promise<FormikErrors<FormData>>;\n validateField: (\n name: string\n ) => Promise<string | undefined> | Promise<void>;\n setTouched: (\n field: string,\n touched?: boolean | undefined,\n shouldValidate?: boolean | undefined\n ) => Promise<void> | Promise<FormikErrors<FormData>>;\n handleChange: {\n (e: React.ChangeEvent<any>): void;\n <T_1 = string | React.ChangeEvent<any>>(\n field: T_1\n ): T_1 extends React.ChangeEvent<any>\n ? void\n : (e: string | React.ChangeEvent<any>) => void;\n };\n handleBlur: {\n (e: React.FocusEvent<any>): void;\n <T = any>(fieldOrEvent: T): T extends string ? (e: any) => void : void;\n };\n validateOnBlur?: boolean;\n validateOnChange?: boolean;\n}\n\nexport interface NewsletterFormStructure {\n [key: string]: NewsletterField;\n}\n\nexport interface FormData {\n [key: string]: string;\n}\n\nexport interface NewsletterField {\n inputType?: 'text' | 'number' | 'email' | 'password' | 'tel';\n isRequired?: boolean;\n label?: string;\n errorMsg?: string;\n initialValue?: string;\n placeholder?: string;\n info?: string;\n validate?: (\n key: string,\n value: string,\n config: NewsletterField\n ) => Promise<string>;\n}\n\nconst NewsletterForm: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Structure to define fields of newsletter form */\n fields?: NewsletterFormStructure;\n\n /** Function to inject custom field definition */\n customField?: (props: FieldGenerationProps) => React.ReactNode;\n\n /** HTML form element action */\n action?: string;\n\n /** HTML form element method */\n method?: string;\n\n /** Form submission callback */\n onSubmit?: (values: FormData, element: HTMLFormElement) => Promise<void>;\n\n /** Function to inject custom submit button */\n submitAction?: (props: {\n isInverted?: boolean;\n handleSubmit?: () => Promise<any>;\n isDisabled?: boolean;\n }) => React.ReactNode;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({\n anchorId,\n bgMode,\n fields,\n customField,\n action,\n method,\n submitAction,\n onSubmit,\n}) => {\n const { theme } = useLibTheme();\n const formRef = useRef<HTMLFormElement>(null);\n const isInverted = bgMode === 'inverted';\n\n // generate initial data and setup yup validation definition\n const initialData: FormData = {};\n\n for (const key in fields) {\n initialData[key] = fields[key].initialValue || '';\n }\n\n const validation = async (values: FormData) => {\n const errors: Partial<FormData> = {};\n\n // search for errors and set them\n for (const key in fields) {\n const config = fields[key];\n const inputType = config.inputType;\n\n // default\n if (fields[key].isRequired && !values[key]) {\n errors[key] = fields[key].errorMsg || 'Required field';\n }\n\n // custom validation\n if (config.validate) {\n const error = await config.validate(\n key,\n values[key] as string,\n config\n );\n if (error) errors[key] = error;\n break;\n }\n\n switch (inputType) {\n case 'email':\n if (\n values[key] &&\n !/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i.test(\n values[key] as string\n )\n ) {\n errors[key] =\n fields[key].errorMsg || 'Invalid Mail format';\n }\n break;\n case 'tel':\n if (values[key] && /[A-Z]/gi.test(values[key] as string)) {\n errors[key] =\n fields[key].errorMsg || 'Ungültige Telefonnummer';\n }\n break;\n case 'number':\n if (\n values[key] &&\n !/^[+]?\\d+([.]\\d+)?$/gm.test(values[key] as string)\n ) {\n errors[key] =\n fields[key].errorMsg || 'Zahlenformat ungültig';\n }\n break;\n }\n }\n\n return errors;\n };\n\n // formik hook\n const {\n handleSubmit,\n handleChange,\n handleBlur,\n setFieldTouched,\n setSubmitting,\n validateField,\n submitForm,\n setValues,\n isSubmitting,\n touched,\n values,\n errors,\n dirty,\n validateOnBlur,\n validateOnChange,\n } = useFormik<FormData>({\n initialValues: {\n ...initialData,\n } as FormData,\n\n onSubmit: async (values) => {\n if (!formRef.current) return;\n\n if (action && method) {\n formRef.current.submit();\n } else {\n onSubmit && (await onSubmit(values, formRef.current));\n }\n\n setSubmitting(false);\n },\n validateOnBlur: true,\n validateOnChange: true,\n validate: validation,\n });\n\n // rewrite setFieldValue to prevent loadash feature of Formik: https://github.com/jaredpalmer/formik/issues/2262\n const setField = useCallback(\n async (key: string, value: any, shouldValidate?: boolean) => {\n return setValues({ ...values, [key]: value }, shouldValidate);\n },\n [setValues, values]\n );\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? color(theme).sectionBg.dark\n : bgMode\n ? color(theme).sectionBg.medium\n : color(theme).sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <Form\n ref={formRef}\n action={action}\n method={method}\n onSubmit={handleSubmit}\n >\n <FieldContainer>\n {fields &&\n Object.keys(fields).map((key, i) => {\n const generationProps = {\n index: i,\n field: fields[key],\n key: key,\n value: values[key],\n error: errors[key],\n isTouched: touched[key] || false,\n isInverted: isInverted,\n setField: setField,\n setTouched: setFieldTouched,\n validateField: validateField,\n handleChange: handleChange,\n handleBlur: handleBlur,\n validateOnBlur,\n validateOnChange,\n theme: theme,\n } as FieldGenerationProps;\n\n return customField\n ? customField(generationProps)\n : generateTextField(generationProps);\n })}\n </FieldContainer>\n </Form>\n {fields && (\n <ActionContainer>\n <Actions\n primary={\n submitAction ? (\n submitAction({\n isInverted,\n isDisabled: isSubmitting || !dirty,\n handleSubmit: submitForm,\n })\n ) : (\n <Button.View\n as=\"button\"\n onClick={submitForm}\n isDisabled={isSubmitting || !dirty}\n {...{\n type: 'submit',\n }}\n >\n <Button.Label>send</Button.Label>\n </Button.View>\n )\n }\n />\n </ActionContainer>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nconst generateTextField = ({\n key,\n field,\n isInverted,\n value,\n handleChange,\n handleBlur,\n error,\n isTouched,\n}: FieldGenerationProps) => (\n <Textfield\n key={key}\n label={`${field.label || key}${field.isRequired ? '*' : ''}`}\n placeholder={field.placeholder}\n name={`${key}`}\n isInverted={isInverted}\n value={value as string}\n onChange={handleChange}\n onBlur={handleBlur}\n infoMessage={field.info}\n errorMessage={error && isTouched ? error : undefined}\n />\n);\n\nexport const NewsletterFormComponent = NewsletterForm;\nexport default withLibTheme(NewsletterForm);\n"],"names":["FieldSet","styled","fieldset","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","Fields","div","templateObject_2","spacings","nudge","fieldValidator","key","value","config","__awaiter","inputType","error","isRequired","errorMsg","test","areaValidator","selectValidator","selectedItem","datepickerValidator","single","singleSelect","singleDateError","multiDateError","locationValidator","description","position","_a","_b","fieldGroupValidator","type","groupType","selectValues","length","uploadValidator","files","StyledSection","Section","Form","form","mq","semilarge","FieldContainer","templateObject_3","FormFooter","templateObject_4","spacer","Status","Copy","templateObject_5","ActionContainer","templateObject_6","DynamicForm$1","withLibTheme","anchorId","fields","onSubmit","submitAction","definitions","subjectLine","targetEmails","bgMode","isInverted","hasBg","useState","submitReponse","setSubmitResponse","initalData","initialValue","initialOption","initialDates","group","initalArray_1","forEach","field","initialChecked","text","push","every","_c","useFormik","initialValues","__assign","values","helpers","valuesAndMails","setSubmitting","response","sent","resetForm","isError","validateOnBlur","validateOnChange","validate","errors","error_1","_d","error_2","error_3","error_4","error_5","error_6","error_7","handleSubmit","handleChange","handleBlur","setFieldTouched","validateField","submitForm","setValues","isSubmitting","touched","dirty","latestValuesRef","useRef","theme","useLibTheme","setField","useCallback","props","current","shouldValidate","fieldKeys","Object","keys","useEffect","React","createElement","addSeperation","bgColor","color","getColors","sectionBg","dark","medium","light","mapToBgMode","Wrapper","addWhitespace","noValidate","map","label","i","index","isTouched","setTouched","Textfield","enableMemo","concat","placeholder","name","onChange","onBlur","infoMessage","info","errorMessage","undefined","renderField","area","Textarea","renderAreaField","datepicker","dates","start","end","DatepickerCmp","onDataChange","customIcon","minDate","maxDate","deleteAction","handleReset","ButtonGhost","View","onClick","Button","nextCtrlUrl","prevCtrlUrl","renderDatepickerField","location","locationData","mappedData","LocationField","initialMapCenter","zoom","customLocationControl","customToggle","customResetControl","toggleLabel","trackLocationLabel","renderLocationField","checkbox","groupData","FieldWrapper","Head","ci","Checkbox","ev","currentTarget","cIndex","indexOf","splice","isSelected","Messages","renderCheckboxGroupField","radio","fi","RadioButton","e","renderRadioGroupField","select","SelectDropdown","items","dropdownItems","filter","item","selectedOption","indicator","renderSelectField","upload","FileUploadCmp","uploadLabel","addBtnLabel","acceptedFormats","onUploadFiles","customUploadIcon","customDeleteIcon","renderUploadField","message","textColor","copyInverted","copy","Actions","primary","as","Label","generateTextField","NewsletterForm$1","customField","action","method","formRef","initialData","submit","ref","generationProps","isDisabled"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var n=require("./ClockFilled-2483aa4a.js"),e=require("react"),t=require("styled-components"),i=require("./Wrapper-accf2622.js"),a=require("./Copy-ea6ab025.js"),r=require("./Link-5a6f1633.js"),o=require("./arrays-c272ed59.js"),l=require("./styles-3a495a2d.js"),s=require("./LibThemeProvider-4823de57.js"),d=require("./useEqualSheetHeight-501f4c5f.js"),c=require("./FilterField-cce38ffb.js"),p=require("./useUpdateEffect-4d233e2c.js"),u=require("./escape-1ef8dd83.js"),m=require("./urlParams-7525f638.js"),f=require("./useMounted-0bba9869.js"),g=require("./Actions-c7b16449.js"),h=require("./concat-f387d848.js"),b=require("./structuredData-0b1278a9.js");function x(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}require("./clamp-bd21d587.js"),require("react-dom/server"),require("./useMediaQuery-3d1054e5.js"),require("./useLazyInput-f71c221b.js"),require("react-schemaorg");var y,v,_,w,j,I,C,E=x(e),L=x(t),T=L.default.div.withConfig({displayName:"JobCard__View",componentId:"sc-rrpaxu-0"})(v||(v=n.__makeTemplateObject(["\n position: relative;\n color: ",";\n background: ",";\n\n padding: ","px;\n\n border-radius: ",";\n\n ","\n\n @media "," {\n min-height: 440px;\n\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n }\n"],["\n position: relative;\n color: ",";\n background: ",";\n\n padding: ","px;\n\n border-radius: ",";\n\n ","\n\n @media "," {\n min-height: 440px;\n\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n }\n"])),(function(n){var e=n.theme;return l.getColors(e).primary.default}),(function(n){var e=n.theme,t=n.hasBg;return n.isInverted?l.getColors(e).elementBg.medium:t?l.getColors(e).elementBg.light:l.getColors(e).elementBg.medium}),l.spacings.spacer,(function(n){var e=n.theme;return l.getGlobals(e).sections.edgeRadius}),(function(e){var i=e.clickable,a=e.isInverted;return i&&t.css(y||(y=n.__makeTemplateObject(["\n transition: all 0.2s ease-in-out;\n cursor: pointer;\n\n &:hover {\n box-shadow: 0px 2px 6px\n ",";\n\n color: ",";\n }\n\n &:focus {\n box-shadow: 0px 2px 6px\n ",";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ",";\n }\n "],["\n transition: all 0.2s ease-in-out;\n cursor: pointer;\n\n &:hover {\n box-shadow: 0px 2px 6px\n ",";\n\n color: ",";\n }\n\n &:focus {\n box-shadow: 0px 2px 6px\n ",";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ",";\n }\n "])),a?"rgba(255, 255, 255, 0.7)":"rgba(0, 0, 0, 0.35)",(function(n){var e=n.theme;return l.getColors(e).primary.hover}),a?"rgba(255, 255, 255, 0.7)":"rgba(0, 0, 0, 0.3)",a?"rgba(255, 255, 255, 0.7)":"rgba(0, 0, 0, 0.3)")}),l.mq.medium),k=L.default(a.Copy).withConfig({displayName:"JobCard__JobInfos",componentId:"sc-rrpaxu-1"})(_||(_=n.__makeTemplateObject(["\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n color: ",";\n\n ",":hover & {\n color: ",";\n }\n"],["\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n color: ",";\n\n ",":hover & {\n color: ",";\n }\n"])),4*l.spacings.nudge,(function(n){var e=n.theme;return l.getColors(e).primary.default}),T,(function(n){var e=n.theme;return l.getColors(e).primary.hover})),q=L.default.div.withConfig({displayName:"JobCard__Info",componentId:"sc-rrpaxu-2"})(w||(w=n.__makeTemplateObject(["\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 & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\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 & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"])),3*l.spacings.nudge,2*l.spacings.nudge),A=L.default.div.withConfig({displayName:"JobCard__Icon",componentId:"sc-rrpaxu-3"})(j||(j=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n"],["\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n"]))),J=L.default.div.withConfig({displayName:"JobCard__MainLabel",componentId:"sc-rrpaxu-4"})(I||(I=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n"],["\n display: flex;\n align-items: center;\n"]))),N=L.default(r.Link).withConfig({displayName:"JobCard__ViewLink",componentId:"sc-rrpaxu-5"})(C||(C=n.__makeTemplateObject(["\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n && {\n margin: 0;\n }\n"],["\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n && {\n margin: 0;\n }\n"]))),O=E.default.forwardRef((function(e,t){var i,r,l=e.isInverted,s=e.hasBackground,d=e.jobTitle,c=e.employmentTypes,p=e.locations,u=e.totalLocations,m=e.allLocationsLabel,f=e.modelIcon,g=e.locationIcon,h=e.className,b=e.link,x=o.isValidArray(c,!1),y=null==p?void 0:p.filter((function(n){return n.name})),v=o.isValidArray(y,!1),_="";return v&&(_=void 0!==u&&y.length>=u&&m?m:null===(i=y.map((function(n){return n.name})))||void 0===i?void 0:i.join(", ")),E.default.createElement(T,{ref:t,isInverted:l,hasBg:s,className:h,clickable:!!b},E.default.createElement(a.Heading,{textColor:"inherit",size:"heading-2","data-sheet":"title",innerHTML:d,hyphens:!0}),(x||v)&&E.default.createElement(k,{type:"copy-b","data-sheet":"info"},x&&E.default.createElement(q,null,E.default.createElement(A,null,f?f():E.default.createElement(n.ClockFilled,null)),E.default.createElement(J,null,null===(r=null==c?void 0:c.filter((function(n){return n.name})).map((function(n){return n.name})))||void 0===r?void 0:r.join(", "))),v&&E.default.createElement(q,null,E.default.createElement(A,null,g?g():E.default.createElement(n.LocationPin,null)),E.default.createElement(J,null,_))),b&&E.default.createElement(N,n.__assign({},b,{ariaLabel:(null==b?void 0:b.href)?d:void 0})))}));O.displayName="JobCard";var M,B,V,P,F,S,z,H,R,U,W=L.default.ul.withConfig({displayName:"JobList__List",componentId:"sc-1b9tzu5-0"})(M||(M=n.__makeTemplateObject(["\n display: flex;\n flex-wrap: wrap;\n list-style: none;\n margin: 0;\n padding: 0;\n\n margin-top: -","px;\n margin-left: -","px;\n\n @media "," {\n margin-top: -","px;\n margin-left: -","px;\n }\n"],["\n display: flex;\n flex-wrap: wrap;\n list-style: none;\n margin: 0;\n padding: 0;\n\n margin-top: -","px;\n margin-left: -","px;\n\n @media "," {\n margin-top: -","px;\n margin-left: -","px;\n }\n"])),2*l.spacings.nudge,2*l.spacings.nudge,l.mq.medium,l.spacings.spacer,l.spacings.spacer),D=L.default.li.withConfig({displayName:"JobList__Item",componentId:"sc-1b9tzu5-1"})(B||(B=n.__makeTemplateObject(["\n flex: 0 1 100%;\n max-width: 100%;\n margin: 0;\n\n padding-top: ","px;\n padding-left: ","px;\n\n @media "," {\n flex: 0 1 50%;\n max-width: 50%;\n\n padding-top: ","px;\n padding-left: ","px;\n }\n\n @media "," {\n flex: 0 1 33.33%;\n max-width: 33.33%;\n }\n"],["\n flex: 0 1 100%;\n max-width: 100%;\n margin: 0;\n\n padding-top: ","px;\n padding-left: ","px;\n\n @media "," {\n flex: 0 1 50%;\n max-width: 50%;\n\n padding-top: ","px;\n padding-left: ","px;\n }\n\n @media "," {\n flex: 0 1 33.33%;\n max-width: 33.33%;\n }\n"])),2*l.spacings.nudge,2*l.spacings.nudge,l.mq.medium,l.spacings.spacer,l.spacings.spacer,l.mq.large),Q=L.default(c.FilterField).withConfig({displayName:"JobList__Filter",componentId:"sc-1b9tzu5-2"})(V||(V=n.__makeTemplateObject(["\n margin-top: ","px;\n margin-bottom: ","px;\n\n min-width: 50%;\n"],["\n margin-top: ","px;\n margin-bottom: ","px;\n\n min-width: 50%;\n"])),l.spacings.nudge,5*l.spacings.nudge),G=function(n,e){return e?null==e?void 0:e.filter((function(e){return!n.find((function(n){return n.item.id===e.id}))})):[]},K=function(n,e){var t=[];if(!o.isValidArray(null==e?void 0:e.filter((function(n){return void 0!==n.jobTitle})),!1))return t;var i=null==e?void 0:e.filter(function(n){return function(e){return new RegExp(n).test(e.jobTitle)}}(n));o.isValidArray(i,!1)&&t.push.apply(t,i.map((function(n){return{item:n,priority:1}})));var a=G(t,null==e?void 0:e.filter(function(n){return function(e){var t=n.toLowerCase().replace(/\s/g,""),i=e.jobTitle.toLowerCase().replace(/\s/g,"");return new RegExp(t).test(i)}}(n)));o.isValidArray(a,!1)&&t.push.apply(t,a.map((function(n){return{item:n,priority:2}})));var r=G(t,null==e?void 0:e.filter(function(n){return function(e){if(!o.isValidArray(e.locations,!1))return!1;var t=n.toLowerCase().replace(/\s/g,""),i=new RegExp(t);return!!e.locations.find((function(n){var e,t=null===(e=n.name)||void 0===e?void 0:e.toLowerCase().replace(/\s/g,"");return i.test(t||"")}))}}(n)));o.isValidArray(r,!1)&&t.push.apply(t,r.map((function(n){return{item:n,priority:3}})));var l=G(t,null==e?void 0:e.filter(function(n){return function(e){if(!o.isValidArray(null==e?void 0:e.employmentTypes,!1))return!1;var t=n.toLowerCase().replace(/\s/g,""),i=new RegExp(t);return!!e.employmentTypes.find((function(n){if(!n.name)return!1;var e=n.name.toLowerCase().replace(/\s/g,"");return i.test(e)}))}}(n)));return o.isValidArray(l,!1)&&t.push.apply(t,l.map((function(n){return{item:n,priority:4}}))),t},X=s.withLibTheme((function(t){var a=t.anchorId,r=t.jobs,o=t.bgMode,l=t.modelIcon,c=t.locationIcon,g=t.totalJobLocations,h=t.allJobLocationsLabel,b=t.initialFilterQuery,x=t.filterPlaceholder,y=t.hasFilter,v=t.filterSubmitIcon,_=t.filterClearIcon,w=s.useLibTheme(),j=w.colors,I=w.globals.sections.jobFilterName,C="inverted"===o,L="full"===o,T=(null==r?void 0:r.length)||0,k=d.useEqualSheetHeight({listLength:T,identifiers:['[data-sheet="title"]','[data-sheet="info"]'],responsive:{small:1,semilarge:2,large:3}}).sheetRefs,q=E.default.useState(b||""),A=q[0],J=q[1],N=f.useMounted(),M=E.default.useMemo((function(){for(var e=void 0!==A?A.split(" ").map((function(n){return n.trim()})):[""],t=[],i=0,a=e;i<a.length;i++)for(var o=a[i],l=function(n){var e=t.findIndex((function(e){return e.match.item.id===n.item.id}));-1!==e?t[e].intersections+=1:t.push({match:n,intersections:1})},s=0,d=K(u.escapeRegExp(o),r||[]);s<d.length;s++){l(d[s])}return t.filter((function(n){return n.intersections>=e.length})).map((function(e){return n.__assign({},e.match)}))}),[A,r]),B=e.useCallback((function(){return m.getUrlParams()[I]}),[I]);return e.useEffect((function(){var n=B();null!=n&&"string"==typeof n&&J(n)}),[B]),e.useEffect((function(){N||(A?m.setUrlParam(I,A):m.deleteUrlParam(I))}),[I,A,N]),p.useUpdateEffect((function(){A?m.setUrlParam(I,A):m.deleteUrlParam(I)}),[A]),E.default.createElement(i.Section,{addSeperation:!0,anchorId:a,bgColor:C?j.sectionBg.dark:o?j.sectionBg.medium:j.sectionBg.light,bgMode:i.mapToBgMode(o,!0)},E.default.createElement(i.Wrapper,{addWhitespace:!0},y&&E.default.createElement(Q,{placeholder:x||"Suche",value:A,initialValue:b,onSubmit:J,isInverted:C,submitIcon:v,clearIcon:_}),E.default.createElement(W,null,null==M?void 0:M.sort((function(n,e){return n.priority-e.priority})).map((function(e,t){return E.default.createElement(D,{key:t},E.default.createElement(O,n.__assign({ref:k[t]},e.item,{isInverted:C,hasBackground:L,modelIcon:l,locationIcon:c,totalLocations:g,allLocationsLabel:h})))})))))})),Y=L.default.div.withConfig({displayName:"JobArticle__ArticleHead",componentId:"sc-1bwhr8-0"})(P||(P=n.__makeTemplateObject(["\n & + * {\n margin-top: ","px;\n }\n"],["\n & + * {\n margin-top: ","px;\n }\n"])),l.spacings.spacer),Z=L.default(a.Copy).withConfig({displayName:"JobArticle__JobInfos",componentId:"sc-1bwhr8-1"})(F||(F=n.__makeTemplateObject(["\n &:not(:first-child) {\n margin-top: ","px;\n }\n"],["\n &:not(:first-child) {\n margin-top: ","px;\n }\n"])),l.spacings.spacer),$=L.default.div.withConfig({displayName:"JobArticle__Info",componentId:"sc-1bwhr8-2"})(S||(S=n.__makeTemplateObject(["\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 & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\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 & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"])),3*l.spacings.nudge,2*l.spacings.nudge),nn=L.default.span.withConfig({displayName:"JobArticle__Icon",componentId:"sc-1bwhr8-3"})(z||(z=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n"],["\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n"]))),en=L.default.span.withConfig({displayName:"JobArticle__MainLabel",componentId:"sc-1bwhr8-4"})(H||(H=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n"],["\n display: flex;\n align-items: center;\n"]))),tn=L.default(a.Copy).withConfig({displayName:"JobArticle__Text",componentId:"sc-1bwhr8-5"})(R||(R=n.__makeTemplateObject(["\n & + & {\n margin-top: ","px;\n }\n"],["\n & + & {\n margin-top: ","px;\n }\n"])),3*l.spacings.nudge),an=L.default(g.Actions).withConfig({displayName:"JobArticle__StyledActions",componentId:"sc-1bwhr8-6"})(U||(U=n.__makeTemplateObject(["\n margin-top: ","px;\n"],["\n margin-top: ","px;\n"])),l.spacings.spacer),rn=s.withLibTheme((function(e){var t,r,l=e.anchorId,d=e.bgMode,c=e.jobTitle,p=e.employmentTypes,u=e.locations,m=e.totalLocations,f=e.allLocationsLabel,g=e.modelIcon,x=e.locationIcon,y=e.abstract,v=e.description,_=e.organization,w=e.datePosted,j=e.primaryAction,I=e.secondaryAction,C=s.useLibTheme().colors,L="inverted"===d,T=o.isValidArray(p,!1),k=null==u?void 0:u.filter((function(n){return n.name})),q=o.isValidArray(k,!1),A="";q&&(A=void 0!==m&&k.length>=m?f||"":null===(t=k.map((function(n){return n.name})))||void 0===t?void 0:t.join(", "));var J={jobTitle:c,locations:u,jobDesc:h.concat([y,v]," - "),organization:_,directApply:!(!j&&!I),employmentTypes:(null==p?void 0:p.filter((function(n){return n.type})).map((function(n){return n.type})))||[],datePosted:w};return E.default.createElement(i.Section,{addSeperation:!0,anchorId:l,bgColor:L?C.sectionBg.dark:d?C.sectionBg.medium:C.sectionBg.light,bgMode:i.mapToBgMode(d,!0)},b.generateJob(J),E.default.createElement(i.Wrapper,{clampWidth:"small",addWhitespace:!0},E.default.createElement(Y,null,E.default.createElement(a.Heading,{size:"heading-2",innerHTML:c,isInverted:L}),(T||q)&&E.default.createElement(Z,{type:"copy-b","data-sheet":"info",isInverted:L},T&&E.default.createElement($,null,E.default.createElement(nn,null,g?g():E.default.createElement(n.ClockFilled,null)),E.default.createElement(en,null,null===(r=null==p?void 0:p.filter((function(n){return n.name})).map((function(n){return n.name})))||void 0===r?void 0:r.join(", "))),q&&E.default.createElement($,null,E.default.createElement(nn,null,x?x():E.default.createElement(n.LocationPin,null)),E.default.createElement(en,null,A)))),y&&E.default.createElement(tn,{type:"copy-b",isInverted:L},y),v&&E.default.createElement(tn,{innerHTML:v,isInverted:L}),(j||I)&&E.default.createElement(an,{primary:j&&j(L),secondary:I&&I(L)})))}));exports.JobArticle=rn,exports.JobList=X;
|
|
2
|
+
//# sourceMappingURL=sections_jobs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sections_jobs.js","sources":["../src/components/blocks/JobCard.tsx","../src/components/sections/jobs/JobList.tsx","../src/components/sections/jobs/JobArticle.tsx"],"sourcesContent":["import ClockFilled from 'components/base/icons/ClockFilled';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { StructuredEmploymentType } from 'utils/structuredData';\nimport { getColors as color, getGlobals, mq, spacings } from 'utils/styles';\n\nconst View = styled.div<{\n isInverted?: boolean;\n hasBg?: boolean;\n clickable?: boolean;\n}>`\n position: relative;\n color: ${({ theme }) => color(theme).primary.default};\n background: ${({ theme, hasBg, isInverted }) =>\n isInverted\n ? color(theme).elementBg.medium\n : hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n\n padding: ${spacings.spacer}px;\n\n border-radius: ${({ theme }) => getGlobals(theme).sections.edgeRadius};\n\n ${({ clickable, isInverted }) =>\n clickable &&\n css`\n transition: all 0.2s ease-in-out;\n cursor: pointer;\n\n &:hover {\n box-shadow: 0px 2px 6px\n ${isInverted\n ? 'rgba(255, 255, 255, 0.7)'\n : 'rgba(0, 0, 0, 0.35)'};\n\n color: ${({ theme }) => color(theme).primary.hover};\n }\n\n &:focus {\n box-shadow: 0px 2px 6px\n ${isInverted\n ? 'rgba(255, 255, 255, 0.7)'\n : 'rgba(0, 0, 0, 0.3)'};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ${isInverted\n ? 'rgba(255, 255, 255, 0.7)'\n : 'rgba(0, 0, 0, 0.3)'};\n }\n `}\n\n @media ${mq.medium} {\n min-height: 440px;\n\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n }\n`;\n\nconst JobInfos = styled(Copy)`\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 4}px;\n }\n\n color: ${({ theme }) => color(theme).primary.default};\n\n ${View}:hover & {\n color: ${({ theme }) => color(theme).primary.hover};\n }\n`;\n\nconst Info = styled.div`\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 & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Icon = styled.div`\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n`;\n\nconst MainLabel = styled.div`\n display: flex;\n align-items: center;\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\nexport interface JobLocation {\n name?: string;\n description?: string;\n streetAddress?: string;\n addressLocality?: string;\n addressRegion?: string;\n postalCode?: string;\n addressCountry?: string;\n}\n\nexport interface JobCardProps {\n /** Invert text and background color */\n isInverted?: boolean;\n\n /** For use on light backgrounds */\n hasBackground?: boolean;\n\n /** Job card title (richtext) */\n jobTitle: string;\n\n /** The employment type (important for structured data) */\n employmentTypes?: Array<{\n name: string;\n type: StructuredEmploymentType;\n }>;\n\n /** Injection function for job time model icon */\n modelIcon?: () => React.ReactNode;\n\n /** List of job locations */\n locations?: JobLocation[];\n\n /** Total amount all locations */\n totalLocations?: number;\n\n /** Label to show if all location selected */\n allLocationsLabel?: string;\n\n /** Injection function for job location icon */\n locationIcon?: () => React.ReactNode;\n\n /** Job card link */\n link?: LinkProps;\n}\n\nconst JobCard = React.forwardRef<\n HTMLDivElement,\n JobCardProps & {\n className?: string;\n }\n>(\n (\n {\n isInverted,\n hasBackground,\n jobTitle,\n employmentTypes,\n locations,\n totalLocations,\n allLocationsLabel,\n modelIcon,\n locationIcon,\n className,\n link,\n },\n ref\n ) => {\n const hasEmploymentType = isValidArray(employmentTypes, false);\n const validLocations = locations?.filter((loc) => loc.name);\n const hasLocations = isValidArray(validLocations, false);\n\n let locationText = '';\n\n if (hasLocations) {\n if (\n totalLocations !== undefined &&\n validLocations.length >= totalLocations &&\n allLocationsLabel\n ) {\n locationText = allLocationsLabel;\n } else {\n locationText = validLocations\n .map((loc) => loc.name)\n ?.join(', ');\n }\n }\n\n return (\n <View\n ref={ref}\n isInverted={isInverted}\n hasBg={hasBackground}\n className={className}\n clickable={!!link}\n >\n <Heading\n textColor=\"inherit\"\n size=\"heading-2\"\n data-sheet=\"title\"\n innerHTML={jobTitle}\n hyphens\n />\n {(hasEmploymentType || hasLocations) && (\n <JobInfos type=\"copy-b\" data-sheet=\"info\">\n {hasEmploymentType && (\n <Info>\n <Icon>\n {modelIcon ? modelIcon() : <ClockFilled />}\n </Icon>\n <MainLabel>\n {employmentTypes\n ?.filter((type) => type.name)\n .map((type) => type.name)\n ?.join(', ')}\n </MainLabel>\n </Info>\n )}\n {hasLocations && (\n <Info>\n <Icon>\n {locationIcon ? (\n locationIcon()\n ) : (\n <LocationPin />\n )}\n </Icon>\n <MainLabel>{locationText}</MainLabel>\n </Info>\n )}\n </JobInfos>\n )}\n {link && (\n <ViewLink\n {...link}\n ariaLabel={link?.href ? jobTitle : undefined}\n />\n )}\n </View>\n );\n }\n);\n\nJobCard.displayName = 'JobCard';\n\nexport default JobCard;\n","import React, { useCallback, useEffect } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport JobCard, { JobCardProps } from 'components/blocks/JobCard';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { mq, spacings } from 'utils/styles';\nimport FilterField from 'components/fields/FilterField';\nimport { isValidArray } from 'utils/arrays';\nimport useUpdateEffect from 'utils/useUpdateEffect';\nimport { escapeRegExp } from 'utils/escape';\nimport { deleteUrlParam, getUrlParams, setUrlParam } from 'utils/urlParams';\nimport useMounted from 'utils/useMounted';\n\nconst List = styled.ul`\n display: flex;\n flex-wrap: wrap;\n list-style: none;\n margin: 0;\n padding: 0;\n\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.nudge * 2}px;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n }\n`;\n\nconst Item = styled.li`\n flex: 0 1 100%;\n max-width: 100%;\n margin: 0;\n\n padding-top: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\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 33.33%;\n max-width: 33.33%;\n }\n`;\n\nconst Filter = styled(FilterField)`\n margin-top: ${spacings.nudge}px;\n margin-bottom: ${spacings.nudge * 5}px;\n\n min-width: 50%;\n`;\n\nexport interface CardProps extends JobCardProps {\n id: string;\n}\n\nexport type JobItem = Omit<\n CardProps,\n | 'isInverted'\n | 'hasBackground'\n | 'modelIcon'\n | 'locationIcon'\n | 'totalLocations'\n | 'allLocationsLabel'\n>;\n\nconst jobExactTitleFilter = (filterQuery: string) => (value: JobItem) => {\n const regex = new RegExp(filterQuery);\n return regex.test(value.jobTitle);\n};\n\nconst jobSoftTitleFilter = (filterQuery: string) => (value: JobItem) => {\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const perparedJobTitle = value.jobTitle.toLowerCase().replace(/\\s/g, '');\n\n const regex = new RegExp(preparedQuery);\n return regex.test(perparedJobTitle);\n};\n\nconst jobLocationNameFilter = (filterQuery: string) => (value: JobItem) => {\n if (!isValidArray(value.locations, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n const result = value.locations.find((location) => {\n const preparedName = location.name?.toLowerCase().replace(/\\s/g, '');\n\n return regex.test(preparedName || '');\n });\n\n return !!result;\n};\n\nconst jobTypesFilter = (filterQuery: string) => (value: JobItem) => {\n if (!isValidArray(value?.employmentTypes, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n return !!value.employmentTypes.find((type) => {\n if (!type.name) return false;\n const preparedText = type.name.toLowerCase().replace(/\\s/g, '');\n return regex.test(preparedText);\n });\n};\n\nconst removeMatchIntersections = (array: FilterMatch[], item?: JobItem[]) => {\n if (!item) return [];\n return item?.filter(\n (m) => !array.find((prioItem) => prioItem.item.id === m.id)\n );\n};\n\ninterface FilterMatch {\n item: JobItem;\n priority: number;\n}\n\nconst filterJobs = (filterQuery: string, jobs: JobItem[]) => {\n const prioList: FilterMatch[] = [];\n if (\n !isValidArray(\n jobs?.filter((job) => job.jobTitle !== undefined),\n false\n )\n ) {\n return prioList;\n }\n\n // PRIO 1 Filter: Exact name\n const exactNameMatches = jobs?.filter(jobExactTitleFilter(filterQuery));\n if (isValidArray(exactNameMatches, false)) {\n prioList.push(\n ...exactNameMatches.map((match) => ({\n item: match,\n priority: 1,\n }))\n );\n }\n\n // PRIO 2 Filter: Name\n const nameMatches = removeMatchIntersections(\n prioList,\n jobs?.filter(jobSoftTitleFilter(filterQuery))\n );\n if (isValidArray(nameMatches, false)) {\n prioList.push(\n ...nameMatches.map((match) => ({\n item: match,\n priority: 2,\n }))\n );\n }\n\n // PRIO 3 Filter: Location\n const locationNameMatches = removeMatchIntersections(\n prioList,\n jobs?.filter(jobLocationNameFilter(filterQuery))\n );\n if (isValidArray(locationNameMatches, false)) {\n prioList.push(\n ...locationNameMatches.map((match) => ({\n item: match,\n priority: 3,\n }))\n );\n }\n\n // PRIO 4 Filter: Job Type\n const typeMatches = removeMatchIntersections(\n prioList,\n jobs?.filter(jobTypesFilter(filterQuery))\n );\n\n if (isValidArray(typeMatches, false)) {\n prioList.push(\n ...typeMatches.map((match) => ({\n item: match,\n priority: 4,\n }))\n );\n }\n\n return prioList;\n};\n\nconst JobList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of job item settings */\n jobs?: JobItem[];\n\n /** Total amount all locations */\n totalJobLocations?: number;\n\n /** Label to show if all location selected */\n allJobLocationsLabel?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Injection function for job time model icon */\n modelIcon?: () => React.ReactNode;\n\n /** Injection function for job location icon */\n locationIcon?: () => React.ReactNode;\n\n /** Initial filter query on component render */\n initialFilterQuery?: string;\n\n /** Filter placeholder */\n filterPlaceholder?: string;\n\n /** Show filter input field */\n hasFilter?: boolean;\n\n /** Injection function for filter submit icon */\n filterSubmitIcon?: (isInverted?: boolean) => React.ReactNode;\n\n /** Injection function for filter reset icon */\n filterClearIcon?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n jobs,\n bgMode,\n modelIcon,\n locationIcon,\n totalJobLocations,\n allJobLocationsLabel,\n initialFilterQuery,\n filterPlaceholder,\n hasFilter,\n filterSubmitIcon,\n filterClearIcon,\n}) => {\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.jobFilterName;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const jobCount = jobs?.length || 0;\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: jobCount,\n identifiers: ['[data-sheet=\"title\"]', '[data-sheet=\"info\"]'],\n responsive: {\n small: 1,\n semilarge: 2,\n large: 3,\n },\n });\n\n const [filterQuery, setFilterQuery] = React.useState<string>(\n initialFilterQuery || ''\n );\n const isMounted = useMounted();\n\n const jobMatches: FilterMatch[] = React.useMemo(() => {\n const queryParts =\n filterQuery !== undefined\n ? filterQuery.split(' ').map((part) => part.trim())\n : [''];\n const searchMatches: Array<{\n match: FilterMatch;\n intersections: number;\n }> = [];\n\n // tracking matches of each query part\n for (const part of queryParts) {\n const matches = filterJobs(escapeRegExp(part), jobs || []);\n\n for (const match of matches) {\n const intersectionIndex = searchMatches.findIndex(\n (sItem) => sItem.match.item.id === match.item.id\n );\n\n if (intersectionIndex !== -1) {\n searchMatches[intersectionIndex].intersections += 1;\n } else {\n searchMatches.push({\n match,\n intersections: 1,\n });\n }\n }\n }\n\n // filter search matches by intersections so only matches with results for all search parts are shown\n return searchMatches\n .filter((m) => m.intersections >= queryParts.length)\n .map<FilterMatch>((m) => ({\n ...m.match,\n }));\n }, [filterQuery, jobs]);\n\n const getFilter = useCallback(() => {\n return getUrlParams()[filterName];\n }, [filterName]);\n\n useEffect(() => {\n const urlFilter = getFilter();\n\n if (\n urlFilter !== undefined &&\n urlFilter !== null &&\n typeof urlFilter === 'string'\n ) {\n setFilterQuery(urlFilter);\n }\n }, [getFilter]);\n\n useEffect(() => {\n if (isMounted) return;\n\n // set inital data into URL\n if (filterQuery) {\n setUrlParam(filterName, filterQuery);\n } else {\n deleteUrlParam(filterName);\n }\n }, [filterName, filterQuery, isMounted]);\n\n useUpdateEffect(() => {\n // set filters to URL params\n if (filterQuery) {\n setUrlParam(filterName, filterQuery);\n } else {\n deleteUrlParam(filterName);\n }\n }, [filterQuery]);\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, true)}\n >\n <Wrapper addWhitespace>\n {hasFilter && (\n <Filter\n placeholder={filterPlaceholder || 'Suche'}\n value={filterQuery}\n initialValue={initialFilterQuery}\n onSubmit={setFilterQuery}\n isInverted={isInverted}\n submitIcon={filterSubmitIcon}\n clearIcon={filterClearIcon}\n />\n )}\n <List>\n {jobMatches\n ?.sort((a, b) => a.priority - b.priority)\n .map((match, i) => (\n <Item key={i}>\n <JobCard\n ref={cardRefs[i]}\n {...match.item}\n isInverted={isInverted}\n hasBackground={hasBg}\n modelIcon={modelIcon}\n locationIcon={locationIcon}\n totalLocations={totalJobLocations}\n allLocationsLabel={allJobLocationsLabel}\n />\n </Item>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const JobListComponent = JobList;\nexport default withLibTheme(JobList);\n","import ClockFilled from 'components/base/icons/ClockFilled';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Actions from 'components/blocks/Actions';\nimport { JobCardProps } from 'components/blocks/JobCard';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { concat } from 'utils/concat';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { generateJob, StructuredEmploymentType } from 'utils/structuredData';\nimport { spacings } from 'utils/styles';\n\nconst ArticleHead = styled.div`\n & + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst JobInfos = styled(Copy)`\n &:not(:first-child) {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst Info = styled.div`\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 & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Icon = styled.span`\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n`;\n\nconst MainLabel = styled.span`\n display: flex;\n align-items: center;\n`;\n\nconst Text = styled(Copy)`\n & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst StyledActions = styled(Actions)`\n margin-top: ${spacings.spacer}px;\n`;\n\nexport interface OrganizationData {\n name?: string;\n url?: string;\n logo?: string;\n telephone?: string;\n email?: string;\n address?: {\n streetAddress?: string;\n addressLocality?: string;\n postalCode?: string;\n addressCountry?: string;\n };\n}\n\nexport type JobArticleProps = Omit<\n JobCardProps,\n 'isInverted' | 'hasBackground' | 'link'\n> & {\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Abstract text which summarizes the job */\n abstract?: string;\n\n /** Text that describes the job (richtext) */\n description?: string;\n\n /** The hiring organization (important for structured data) */\n organization?: OrganizationData;\n\n /** The date of posting the job tender (important for structured data) */\n datePosted?: Date;\n\n /** Function to inject primary action */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject secondary action */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n};\n\nconst JobArticle: React.FC<JobArticleProps> = ({\n anchorId,\n bgMode,\n jobTitle,\n employmentTypes,\n locations,\n totalLocations,\n allLocationsLabel,\n modelIcon,\n locationIcon,\n abstract,\n description,\n organization,\n datePosted,\n primaryAction,\n secondaryAction,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasEmploymentType = isValidArray(employmentTypes, false);\n const validLocations = locations?.filter((loc) => loc.name);\n const hasLocations = isValidArray(validLocations, false);\n\n let locationText = '';\n\n if (hasLocations) {\n if (\n totalLocations !== undefined &&\n validLocations.length >= totalLocations\n ) {\n locationText = allLocationsLabel || '';\n } else {\n locationText = validLocations.map((loc) => loc.name)?.join(', ');\n }\n }\n\n const jsonLd = {\n jobTitle, // title\n locations, // jobLocation\n jobDesc: concat([abstract, description], ' - '), // description\n organization: organization, // hiringOrganization\n directApply: primaryAction || secondaryAction ? true : false, // directApply\n employmentTypes:\n (employmentTypes\n ?.filter((el) => el.type)\n .map((el) => el.type) as StructuredEmploymentType[]) || [],\n datePosted, // datePosted\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, true)}\n >\n {generateJob(jsonLd)}\n <Wrapper clampWidth=\"small\" addWhitespace>\n <ArticleHead>\n <Heading\n size=\"heading-2\"\n innerHTML={jobTitle}\n isInverted={isInverted}\n />\n {(hasEmploymentType || hasLocations) && (\n <JobInfos\n type=\"copy-b\"\n data-sheet=\"info\"\n isInverted={isInverted}\n >\n {hasEmploymentType && (\n <Info>\n <Icon>\n {modelIcon ? (\n modelIcon()\n ) : (\n <ClockFilled />\n )}\n </Icon>\n <MainLabel>\n {employmentTypes\n ?.filter((type) => type.name)\n .map((type) => type.name)\n ?.join(', ')}\n </MainLabel>\n </Info>\n )}\n\n {hasLocations && (\n <Info>\n <Icon>\n {locationIcon ? (\n locationIcon()\n ) : (\n <LocationPin />\n )}\n </Icon>\n <MainLabel>{locationText}</MainLabel>\n </Info>\n )}\n </JobInfos>\n )}\n </ArticleHead>\n {abstract && (\n <Text type=\"copy-b\" isInverted={isInverted}>\n {abstract}\n </Text>\n )}\n {description && (\n <Text innerHTML={description} isInverted={isInverted} />\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 JobArticleComponent = JobArticle;\nexport default withLibTheme(JobArticle);\n"],"names":["View","styled","div","withConfig","displayName","componentId","templateObject_2","__makeTemplateObject","_a","theme","color","primary","default","hasBg","isInverted","elementBg","medium","light","spacings","spacer","getGlobals","sections","edgeRadius","clickable","css","templateObject_1","hover","mq","JobInfos","Copy","templateObject_3","nudge","Info","Icon","templateObject_5","MainLabel","templateObject_6","ViewLink","Link","templateObject_7","JobCard","React","forwardRef","ref","hasBackground","jobTitle","employmentTypes","locations","totalLocations","allLocationsLabel","modelIcon","locationIcon","className","link","hasEmploymentType","isValidArray","validLocations","filter","loc","name","hasLocations","locationText","undefined","length","map","_b","join","createElement","Heading","textColor","size","innerHTML","hyphens","type","ClockFilled","_c","LocationPin","__assign","ariaLabel","href","List","ul","Item","li","large","Filter","FilterField","removeMatchIntersections","array","item","m","find","prioItem","id","filterJobs","filterQuery","jobs","prioList","job","exactNameMatches","value","RegExp","test","jobExactTitleFilter","push","apply","match","priority","nameMatches","preparedQuery","toLowerCase","replace","perparedJobTitle","jobSoftTitleFilter","locationNameMatches","regex","location","preparedName","jobLocationNameFilter","typeMatches","preparedText","jobTypesFilter","JobList$1","withLibTheme","anchorId","bgMode","totalJobLocations","allJobLocationsLabel","initialFilterQuery","filterPlaceholder","hasFilter","filterSubmitIcon","filterClearIcon","useLibTheme","colors","filterName","globals","jobFilterName","jobCount","cardRefs","useEqualSheetHeight","listLength","identifiers","responsive","small","semilarge","useState","setFilterQuery","isMounted","useMounted","jobMatches","useMemo","queryParts","split","part","trim","searchMatches","queryParts_1","_i","intersectionIndex","findIndex","sItem","intersections","matches_1","escapeRegExp","getFilter","useCallback","getUrlParams","useEffect","urlFilter","setUrlParam","deleteUrlParam","useUpdateEffect","Section","addSeperation","bgColor","sectionBg","dark","mapToBgMode","Wrapper","addWhitespace","placeholder","initialValue","onSubmit","submitIcon","clearIcon","sort","a","b","i","key","ArticleHead","span","templateObject_4","Text","StyledActions","Actions","JobArticle$1","abstract","description","organization","datePosted","primaryAction","secondaryAction","jsonLd","jobDesc","concat","directApply","el","generateJob","clampWidth","secondary"],"mappings":"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"}
|