@blateral/b.kit 2.7.5 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/Actions-c52a14e4.js +2 -0
- package/cjs/{Actions-c7b16449.js.map → Actions-c52a14e4.js.map} +1 -1
- package/cjs/Bdot-62c8e349.js +2 -0
- package/cjs/{Bdot-5f8e0450.js.map → Bdot-62c8e349.js.map} +1 -1
- package/cjs/Button-1adf99b8.js +2 -0
- package/cjs/{Button-51ea72b7.js.map → Button-1adf99b8.js.map} +1 -1
- package/cjs/ButtonGhost-fbab8769.js +2 -0
- package/cjs/{ButtonGhost-628bbd60.js.map → ButtonGhost-fbab8769.js.map} +1 -1
- package/cjs/Callout-d84ca60b.js +2 -0
- package/cjs/{Callout-5dd16679.js.map → Callout-d84ca60b.js.map} +1 -1
- package/cjs/Checkbox-8dccd42f.js +2 -0
- package/cjs/Checkbox-8dccd42f.js.map +1 -0
- package/cjs/Control-e15e1572.js +2 -0
- package/cjs/{Control-08d09950.js.map → Control-e15e1572.js.map} +1 -1
- package/cjs/Copy-a0bc570d.js +2 -0
- package/cjs/{Copy-ea6ab025.js.map → Copy-a0bc570d.js.map} +1 -1
- package/cjs/EventBlock-4e406696.js +2 -0
- package/cjs/{EventBlock-04e719a7.js.map → EventBlock-4e406696.js.map} +1 -1
- package/cjs/Filter-89286db9.js +2 -0
- package/cjs/Filter-89286db9.js.map +1 -0
- package/cjs/FilterBar-0781490f.js +2 -0
- package/cjs/FilterBar-0781490f.js.map +1 -0
- package/cjs/FilterField-7efcacb7.js +2 -0
- package/cjs/FilterField-7efcacb7.js.map +1 -0
- package/cjs/Grid-1acefee9.js +2 -0
- package/cjs/{Grid-6f4f99bc.js.map → Grid-1acefee9.js.map} +1 -1
- package/cjs/Image-94820dfd.js +2 -0
- package/cjs/{Image-c72f7a80.js.map → Image-94820dfd.js.map} +1 -1
- package/cjs/InfoList-e416058c.js +2 -0
- package/cjs/{InfoList-71d3388a.js.map → InfoList-e416058c.js.map} +1 -1
- package/cjs/LanguageSwitcher-aa96cc7d.js +2 -0
- package/cjs/{LanguageSwitcher-8fdd22ba.js.map → LanguageSwitcher-aa96cc7d.js.map} +1 -1
- package/cjs/LibThemeProvider-69109901.js +2 -0
- package/cjs/{LibThemeProvider-4823de57.js.map → LibThemeProvider-69109901.js.map} +1 -1
- package/cjs/Link-8951180c.js +2 -0
- package/cjs/{Link-5a6f1633.js.map → Link-8951180c.js.map} +1 -1
- package/cjs/MultiselectDropdown-a16ea1c9.js +2 -0
- package/cjs/MultiselectDropdown-a16ea1c9.js.map +1 -0
- package/cjs/Navigation-6abb6213.js +2 -0
- package/cjs/{Navigation-939e4d0e.js.map → Navigation-6abb6213.js.map} +1 -1
- package/cjs/Pointer-331140b6.js +2 -0
- package/cjs/{Pointer-fde7b548.js.map → Pointer-331140b6.js.map} +1 -1
- package/cjs/Section-c9a16ccc.js +2 -0
- package/cjs/{Section-e8e8cf81.js.map → Section-c9a16ccc.js.map} +1 -1
- package/cjs/SocialList-aec9a5c2.js +2 -0
- package/cjs/{SocialList-1d5f75a8.js.map → SocialList-aec9a5c2.js.map} +1 -1
- package/cjs/TableBlock-c545ca8d.js +2 -0
- package/cjs/{TableBlock-f2c59d9b.js.map → TableBlock-c545ca8d.js.map} +1 -1
- package/cjs/Tag-937849ad.js +2 -0
- package/cjs/{Tag-9238cf0c.js.map → Tag-937849ad.js.map} +1 -1
- package/cjs/Textarea-599e94a4.js +2 -0
- package/cjs/{Textarea-03bd2c34.js.map → Textarea-599e94a4.js.map} +1 -1
- package/cjs/Textfield-24f468be.js +2 -0
- package/cjs/Textfield-24f468be.js.map +1 -0
- package/cjs/VideoBlock-1fbf598b.js +2 -0
- package/cjs/{VideoBlock-dea7de8a.js.map → VideoBlock-1fbf598b.js.map} +1 -1
- package/cjs/VideoCard-905c08d2.js +2 -0
- package/cjs/{VideoCard-f6c436ca.js.map → VideoCard-905c08d2.js.map} +1 -1
- package/cjs/Wrapper-bca9463e.js +2 -0
- package/cjs/{Wrapper-ff6854d7.js.map → Wrapper-bca9463e.js.map} +1 -1
- package/cjs/base.js +1 -1
- package/cjs/blocks.js +1 -1
- package/cjs/buttons.js +1 -1
- package/cjs/cookies.js +1 -1
- package/cjs/cookies.js.map +1 -1
- package/cjs/fields.js +1 -1
- package/cjs/fields.js.map +1 -1
- package/cjs/footer.js +1 -1
- package/cjs/footer.js.map +1 -1
- package/cjs/formFieldText-046fcbf4.js +2 -0
- package/cjs/formFieldText-046fcbf4.js.map +1 -0
- package/cjs/headers.js +1 -1
- package/cjs/headers.js.map +1 -1
- package/cjs/hooks.js +1 -1
- package/cjs/hooks.js.map +1 -1
- package/cjs/icons.js +1 -1
- package/cjs/index.js +1 -1
- package/cjs/navigation-3f9d4ac4.js +2 -0
- package/cjs/{navigation-bf154e6e.js.map → navigation-3f9d4ac4.js.map} +1 -1
- package/cjs/navigation.js +1 -1
- package/cjs/navigation.js.map +1 -1
- package/cjs/sections.dynamicform.js +1 -1
- package/cjs/sections.dynamicform.js.map +1 -1
- package/cjs/sections.events.js +1 -1
- package/cjs/sections.events.js.map +1 -1
- package/cjs/sections.forms.js +1 -1
- package/cjs/sections.forms.js.map +1 -1
- package/cjs/sections.jobs.js +1 -1
- package/cjs/sections.jobs.js.map +1 -1
- package/cjs/sections.js +1 -1
- package/cjs/sections.js.map +1 -1
- package/cjs/sections.news.js +1 -1
- package/cjs/sections.news.js.map +1 -1
- package/cjs/sections.pois.js +1 -1
- package/cjs/sections.pois.js.map +1 -1
- package/cjs/styles-13e5d9ac.js +2 -0
- package/cjs/styles-13e5d9ac.js.map +1 -0
- package/cjs/typography.js +1 -1
- package/cjs/useCookieConsent-665d91cf.js +2 -0
- package/cjs/{useCookieConsent-aa9f1104.js.map → useCookieConsent-665d91cf.js.map} +1 -1
- package/cjs/useEqualSheetHeight-f1c10ec5.js +2 -0
- package/cjs/{useEqualSheetHeight-501f4c5f.js.map → useEqualSheetHeight-f1c10ec5.js.map} +1 -1
- package/cjs/useLazyInput-911b8eda.js +2 -0
- package/cjs/{useLazyInput-f71c221b.js.map → useLazyInput-911b8eda.js.map} +1 -1
- package/cjs/useLeafletMap-514304b6.js +2 -0
- package/cjs/{useLeafletMap-2e608b01.js.map → useLeafletMap-514304b6.js.map} +1 -1
- package/cjs/useMediaQuery-619d7203.js +2 -0
- package/cjs/{useMediaQuery-3d1054e5.js.map → useMediaQuery-619d7203.js.map} +1 -1
- package/cjs/useScroll-2f086e7f.js +2 -0
- package/cjs/useScroll-2f086e7f.js.map +1 -0
- package/esm/{Actions-21372b3a.js → Actions-e29b5e75.js} +3 -3
- package/esm/{Actions-21372b3a.js.map → Actions-e29b5e75.js.map} +1 -1
- package/esm/{Bdot-4db38753.js → Bdot-5e798e7e.js} +3 -3
- package/esm/{Bdot-4db38753.js.map → Bdot-5e798e7e.js.map} +1 -1
- package/esm/{Button-f9279013.js → Button-9a0dd9aa.js} +3 -3
- package/esm/{Button-f9279013.js.map → Button-9a0dd9aa.js.map} +1 -1
- package/esm/{ButtonGhost-ae2e97a2.js → ButtonGhost-fc9e7a75.js} +3 -3
- package/esm/{ButtonGhost-ae2e97a2.js.map → ButtonGhost-fc9e7a75.js.map} +1 -1
- package/esm/{Callout-a926194d.js → Callout-46f0bef0.js} +4 -4
- package/esm/{Callout-a926194d.js.map → Callout-46f0bef0.js.map} +1 -1
- package/esm/{Checkbox-dd12facd.js → Checkbox-1957067a.js} +11 -8
- package/esm/Checkbox-1957067a.js.map +1 -0
- package/esm/{Control-2d605e12.js → Control-56ec7872.js} +3 -3
- package/esm/{Control-2d605e12.js.map → Control-56ec7872.js.map} +1 -1
- package/esm/{Copy-a28aeb61.js → Copy-c6786949.js} +4 -4
- package/esm/{Copy-a28aeb61.js.map → Copy-c6786949.js.map} +1 -1
- package/esm/{EventBlock-b9204a0d.js → EventBlock-8e130f6b.js} +8 -8
- package/esm/{EventBlock-b9204a0d.js.map → EventBlock-8e130f6b.js.map} +1 -1
- package/esm/{ClockFilled-62515a8f.js → Filter-19220970.js} +321 -235
- package/esm/Filter-19220970.js.map +1 -0
- package/esm/FilterBar-2a2a09b7.js +460 -0
- package/esm/FilterBar-2a2a09b7.js.map +1 -0
- package/esm/FilterField-bec061bc.js +115 -0
- package/esm/FilterField-bec061bc.js.map +1 -0
- package/esm/{Grid-5eec127f.js → Grid-7b33e271.js} +3 -3
- package/esm/{Grid-5eec127f.js.map → Grid-7b33e271.js.map} +1 -1
- package/esm/{Image-dc2b33c1.js → Image-b26692a9.js} +5 -5
- package/esm/{Image-dc2b33c1.js.map → Image-b26692a9.js.map} +1 -1
- package/esm/{InfoList-5c4586ed.js → InfoList-b6980a42.js} +4 -4
- package/esm/{InfoList-5c4586ed.js.map → InfoList-b6980a42.js.map} +1 -1
- package/esm/{LanguageSwitcher-3fa20077.js → LanguageSwitcher-f9218fdc.js} +5 -5
- package/esm/{LanguageSwitcher-3fa20077.js.map → LanguageSwitcher-f9218fdc.js.map} +1 -1
- package/esm/{LibThemeProvider-52555ac9.js → LibThemeProvider-fb1d35ac.js} +3 -3
- package/esm/{LibThemeProvider-52555ac9.js.map → LibThemeProvider-fb1d35ac.js.map} +1 -1
- package/esm/{Link-3fd9c9b8.js → Link-6067a27f.js} +3 -3
- package/esm/{Link-3fd9c9b8.js.map → Link-6067a27f.js.map} +1 -1
- package/esm/MultiselectDropdown-a97be6bc.js +296 -0
- package/esm/MultiselectDropdown-a97be6bc.js.map +1 -0
- package/esm/{Navigation-99f6dc41.js → Navigation-bb79a1eb.js} +10 -10
- package/esm/{Navigation-99f6dc41.js.map → Navigation-bb79a1eb.js.map} +1 -1
- package/esm/{Pointer-5c77b1f1.js → Pointer-b4abee91.js} +3 -3
- package/esm/{Pointer-5c77b1f1.js.map → Pointer-b4abee91.js.map} +1 -1
- package/esm/{Section-b76e6909.js → Section-bd61eb2f.js} +3 -3
- package/esm/{Section-b76e6909.js.map → Section-bd61eb2f.js.map} +1 -1
- package/esm/{SocialList-402b8f20.js → SocialList-336b7f6d.js} +5 -5
- package/esm/{SocialList-402b8f20.js.map → SocialList-336b7f6d.js.map} +1 -1
- package/esm/{TableBlock-67fe2385.js → TableBlock-1ddfd539.js} +5 -5
- package/esm/{TableBlock-67fe2385.js.map → TableBlock-1ddfd539.js.map} +1 -1
- package/esm/{Tag-ac51e916.js → Tag-c3bd6b7f.js} +5 -5
- package/esm/{Tag-ac51e916.js.map → Tag-c3bd6b7f.js.map} +1 -1
- package/esm/{Textarea-266f1e45.js → Textarea-95352f50.js} +10 -10
- package/esm/{Textarea-266f1e45.js.map → Textarea-95352f50.js.map} +1 -1
- package/esm/{Textfield-d2f201a9.js → Textfield-99d91b4e.js} +10 -97
- package/esm/Textfield-99d91b4e.js.map +1 -0
- package/esm/{VideoBlock-b227ae6e.js → VideoBlock-474e0aa4.js} +7 -7
- package/esm/{VideoBlock-b227ae6e.js.map → VideoBlock-474e0aa4.js.map} +1 -1
- package/esm/{VideoCard-2c6e26d1.js → VideoCard-91438667.js} +7 -7
- package/esm/{VideoCard-2c6e26d1.js.map → VideoCard-91438667.js.map} +1 -1
- package/esm/{Wrapper-90dccc89.js → Wrapper-95108115.js} +3 -3
- package/esm/{Wrapper-90dccc89.js.map → Wrapper-95108115.js.map} +1 -1
- package/esm/base.js +5 -5
- package/esm/blocks.js +25 -16
- package/esm/blocks.js.map +1 -1
- package/esm/buttons.js +6 -6
- package/esm/cookies.js +7 -7
- package/esm/fields.js +14 -12
- package/esm/fields.js.map +1 -1
- package/esm/footer.js +11 -11
- package/esm/formFieldText-f4188e55.js +96 -0
- package/esm/formFieldText-f4188e55.js.map +1 -0
- package/esm/headers.js +12 -12
- package/esm/hooks.js +12 -83
- package/esm/hooks.js.map +1 -1
- package/esm/icons.js +5 -2
- package/esm/icons.js.map +1 -1
- package/esm/index.js +3 -3
- package/esm/{navigation-b89325f8.js → navigation-5216dbad.js} +2 -2
- package/esm/{navigation-b89325f8.js.map → navigation-5216dbad.js.map} +1 -1
- package/esm/navigation.js +12 -12
- package/esm/sections.dynamicform.js +15 -14
- package/esm/sections.dynamicform.js.map +1 -1
- package/esm/sections.events.js +13 -14
- package/esm/sections.events.js.map +1 -1
- package/esm/sections.forms.js +10 -9
- package/esm/sections.forms.js.map +1 -1
- package/esm/sections.jobs.js +12 -12
- package/esm/sections.js +28 -25
- package/esm/sections.js.map +1 -1
- package/esm/sections.news.js +17 -18
- package/esm/sections.news.js.map +1 -1
- package/esm/sections.pois.js +318 -143
- package/esm/sections.pois.js.map +1 -1
- package/esm/{styles-da982973.js → styles-1f1841ef.js} +4 -3
- package/esm/styles-1f1841ef.js.map +1 -0
- package/esm/typography.js +6 -6
- package/esm/{useCookieConsent-6b2d4d93.js → useCookieConsent-6661d419.js} +49 -49
- package/esm/useCookieConsent-6661d419.js.map +1 -0
- package/esm/{useEqualSheetHeight-97420d63.js → useEqualSheetHeight-60ff9de7.js} +4 -4
- package/esm/{useEqualSheetHeight-97420d63.js.map → useEqualSheetHeight-60ff9de7.js.map} +1 -1
- package/esm/{useLazyInput-54d1785c.js → useLazyInput-0b6932aa.js} +2 -2
- package/esm/{useLazyInput-54d1785c.js.map → useLazyInput-0b6932aa.js.map} +1 -1
- package/esm/{useLeafletMap-84170d32.js → useLeafletMap-fa0ab7d4.js} +10 -6
- package/esm/useLeafletMap-fa0ab7d4.js.map +1 -0
- package/esm/{useMediaQuery-b42fd64e.js → useMediaQuery-4c1b1fa6.js} +3 -3
- package/esm/{useMediaQuery-b42fd64e.js.map → useMediaQuery-4c1b1fa6.js.map} +1 -1
- package/esm/useScroll-881c7b04.js +76 -0
- package/esm/useScroll-881c7b04.js.map +1 -0
- package/package.json +2 -1
- package/types/blocks.d.ts +1 -0
- package/types/blocks.d.ts.map +1 -1
- package/types/components/base/icons/Cross.d.ts +2 -0
- package/types/components/base/icons/Cross.d.ts.map +1 -1
- package/types/components/base/icons/CrossBubble.d.ts +8 -0
- package/types/components/base/icons/CrossBubble.d.ts.map +1 -0
- package/types/components/base/icons/Icons.d.ts +3 -0
- package/types/components/base/icons/Icons.d.ts.map +1 -1
- package/types/components/base/icons/Magnifier.d.ts +2 -0
- package/types/components/base/icons/Magnifier.d.ts.map +1 -1
- package/types/components/blocks/FilterBar.d.ts +38 -0
- package/types/components/blocks/FilterBar.d.ts.map +1 -0
- package/types/components/blocks/POICard.d.ts.map +1 -1
- package/types/components/blocks/Portal.d.ts +8 -0
- package/types/components/blocks/Portal.d.ts.map +1 -0
- package/types/components/fields/Checkbox.d.ts +3 -1
- package/types/components/fields/Checkbox.d.ts.map +1 -1
- package/types/components/fields/FilterField.d.ts +1 -0
- package/types/components/fields/FilterField.d.ts.map +1 -1
- package/types/components/fields/MultiselectDropdown.d.ts +42 -0
- package/types/components/fields/MultiselectDropdown.d.ts.map +1 -0
- package/types/components/sections/Accordion.d.ts.map +1 -1
- package/types/components/sections/pois/PointOfInterestMap.d.ts +42 -1
- package/types/components/sections/pois/PointOfInterestMap.d.ts.map +1 -1
- package/types/components/sections/pois/PointOfInterestOverview.d.ts +41 -20
- package/types/components/sections/pois/PointOfInterestOverview.d.ts.map +1 -1
- package/types/components/sections/pois/filters.d.ts +10 -0
- package/types/components/sections/pois/filters.d.ts.map +1 -0
- package/types/components/sections/pois/partials/PoiFilterBar.d.ts +8 -0
- package/types/components/sections/pois/partials/PoiFilterBar.d.ts.map +1 -0
- package/types/components/sections/pois/partials/index.d.ts +3 -0
- package/types/components/sections/pois/partials/index.d.ts.map +1 -0
- package/types/fields.d.ts +1 -0
- package/types/fields.d.ts.map +1 -1
- package/types/sections.pois.d.ts +1 -0
- package/types/sections.pois.d.ts.map +1 -1
- package/types/utils/styles.d.ts +1 -0
- package/types/utils/styles.d.ts.map +1 -1
- package/types/utils/useLeafletMap.d.ts.map +1 -1
- package/cjs/Actions-c7b16449.js +0 -2
- package/cjs/Bdot-5f8e0450.js +0 -2
- package/cjs/Button-51ea72b7.js +0 -2
- package/cjs/ButtonGhost-628bbd60.js +0 -2
- package/cjs/Callout-5dd16679.js +0 -2
- package/cjs/Checkbox-1c34c7e6.js +0 -2
- package/cjs/Checkbox-1c34c7e6.js.map +0 -1
- package/cjs/ClockFilled-2483aa4a.js +0 -2
- package/cjs/ClockFilled-2483aa4a.js.map +0 -1
- package/cjs/Control-08d09950.js +0 -2
- package/cjs/Copy-ea6ab025.js +0 -2
- package/cjs/EventBlock-04e719a7.js +0 -2
- package/cjs/Filter-d6d90b8b.js +0 -2
- package/cjs/Filter-d6d90b8b.js.map +0 -1
- package/cjs/FilterField-cce38ffb.js +0 -2
- package/cjs/FilterField-cce38ffb.js.map +0 -1
- package/cjs/Grid-6f4f99bc.js +0 -2
- package/cjs/Image-c72f7a80.js +0 -2
- package/cjs/InfoList-71d3388a.js +0 -2
- package/cjs/LanguageSwitcher-8fdd22ba.js +0 -2
- package/cjs/LibThemeProvider-4823de57.js +0 -2
- package/cjs/Link-5a6f1633.js +0 -2
- package/cjs/Navigation-939e4d0e.js +0 -2
- package/cjs/POICard-e46f9041.js +0 -2
- package/cjs/POICard-e46f9041.js.map +0 -1
- package/cjs/Pointer-fde7b548.js +0 -2
- package/cjs/Section-e8e8cf81.js +0 -2
- package/cjs/SocialList-1d5f75a8.js +0 -2
- package/cjs/TableBlock-f2c59d9b.js +0 -2
- package/cjs/Tag-9238cf0c.js +0 -2
- package/cjs/Textarea-03bd2c34.js +0 -2
- package/cjs/Textfield-56996c98.js +0 -2
- package/cjs/Textfield-56996c98.js.map +0 -1
- package/cjs/VideoBlock-dea7de8a.js +0 -2
- package/cjs/VideoCard-f6c436ca.js +0 -2
- package/cjs/Wrapper-ff6854d7.js +0 -2
- package/cjs/navigation-bf154e6e.js +0 -2
- package/cjs/styles-3a495a2d.js +0 -2
- package/cjs/styles-3a495a2d.js.map +0 -1
- package/cjs/useCookieConsent-aa9f1104.js +0 -2
- package/cjs/useEqualSheetHeight-501f4c5f.js +0 -2
- package/cjs/useLazyInput-f71c221b.js +0 -2
- package/cjs/useLeafletMap-2e608b01.js +0 -2
- package/cjs/useMediaQuery-3d1054e5.js +0 -2
- package/esm/Checkbox-dd12facd.js.map +0 -1
- package/esm/ClockFilled-62515a8f.js.map +0 -1
- package/esm/Filter-2b5f5e53.js +0 -32
- package/esm/Filter-2b5f5e53.js.map +0 -1
- package/esm/FilterField-962ec61f.js +0 -129
- package/esm/FilterField-962ec61f.js.map +0 -1
- package/esm/POICard-96ec71d8.js +0 -116
- package/esm/POICard-96ec71d8.js.map +0 -1
- package/esm/Textfield-d2f201a9.js.map +0 -1
- package/esm/styles-da982973.js.map +0 -1
- package/esm/useCookieConsent-6b2d4d93.js.map +0 -1
- package/esm/useLeafletMap-84170d32.js.map +0 -1
package/cjs/navigation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","sources":["../src/components/sections/navigation/partials/MenuFooter.tsx","../src/components/sections/navigation/partials/NavBarBottom.tsx","../src/components/sections/navigation/partials/NavBarMain.tsx","../src/components/sections/navigation/partials/NavBarTop.tsx"],"sourcesContent":["import React, { FC } from 'react';\n\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\nimport { NavMenuStates } from '../Navigation';\n\nimport SocialList, { SocialItem } from 'components/blocks/SocialList';\nimport LanguageSwitcher, { Language } from 'components/blocks/LanguageSwitcher';\nimport { isValidArray } from 'utils/arrays';\n\nconst Footer = styled.div`\n display: flex;\n flex-direction: column;\n\n padding: ${spacings.nudge * 2}px;\n margin-top: auto;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst MenuFooter: FC<{\n isInverted?: boolean;\n langs?: Language[];\n socials?: SocialItem[];\n menuStates?: NavMenuStates;\n}> = ({ isInverted, langs, socials }) => {\n const hasSocials = isValidArray(socials, false);\n const hasLangs = isValidArray(langs, false);\n\n return (\n <React.Fragment>\n {(hasSocials || hasLangs) && (\n <Footer>\n {hasSocials && (\n <SocialList isInverted={isInverted} items={socials} />\n )}\n {hasLangs && (\n <LanguageSwitcher\n isInverted={isInverted}\n langs={langs}\n />\n )}\n </Footer>\n )}\n </React.Fragment>\n );\n};\n\nexport default MenuFooter;\n","import React, { FC } from 'react';\n\nimport { NavBarStates } from '../Navigation';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\nimport { LinkProps } from 'components/typography/Link';\n\nconst NavBarBottom: FC<{\n rootLink?: LinkProps;\n rootLabel?: string;\n navStates: NavBarStates;\n}> = ({ rootLink, rootLabel, navStates }) => {\n const isInverted =\n navStates?.size === 'large' && navStates?.pageFlow === 'overContent';\n\n return (\n <Skeletons.Breadcrumbs\n isInverted={isInverted}\n rootLink={rootLink}\n rootLabel={rootLabel}\n navItems={navStates.mainNavigation}\n />\n );\n};\n\nexport default NavBarBottom;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport MenuBurger from 'components/base/icons/MenuBurger';\nimport { NavBarStates } from '../Navigation';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\nimport { spacings, mq } from 'utils/styles';\nimport { LinkProps } from 'components/typography/Link';\nimport { isValidArray } from 'utils/arrays';\nimport LanguageSwitcher, { Language } from 'components/blocks/LanguageSwitcher';\n\nconst ToggleColumn = styled(Skeletons.Column)`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nconst LogoColumn = styled(Skeletons.Column)`\n display: flex;\n align-items: center;\n padding: ${spacings.nudge}px 0;\n`;\n\nconst ActionsColumn = styled(Skeletons.Column)`\n display: flex;\n justify-content: flex-end;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n\n @media ${mq.medium} {\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n }\n`;\n\nconst LanguageWrapper = styled.div`\n display: none;\n\n @media ${mq.semilarge} {\n display: block;\n margin-left: ${spacings.nudge * 3}px;\n margin-top: 2px;\n }\n`;\n\nconst NavBarMain: FC<{\n isInverted?: boolean;\n logo?: {\n desktop?: { src: string; alt?: string };\n desktopInverted?: { src: string; alt?: string };\n mobile?: { src: string; alt?: string };\n mobileInverted?: { src: string; alt?: string };\n link?: Omit<LinkProps, 'coverSpace' | 'ratios'>;\n };\n customToggle?: (props: { isInverted?: boolean }) => React.ReactNode;\n langs?: Language[];\n primaryAction?: (\n props: { isInverted?: boolean } & NavBarStates\n ) => React.ReactNode;\n secondaryAction?: (\n props: { isInverted?: boolean } & NavBarStates\n ) => React.ReactNode;\n navStates: NavBarStates;\n}> = ({\n isInverted,\n logo,\n navStates,\n customToggle,\n langs,\n primaryAction,\n secondaryAction,\n}) => {\n const inverted =\n isInverted !== undefined\n ? isInverted\n : navStates?.size === 'large' &&\n navStates?.pageFlow === 'overContent';\n\n return (\n <React.Fragment>\n <ToggleColumn takeSpace vAlign=\"center\" isInverted={inverted}>\n <Skeletons.MenuToggle\n isInverted={inverted}\n isExpanded={navStates?.isMenuOpen}\n onClick={navStates?.openMenu}\n >\n {customToggle ? (\n customToggle({ isInverted: inverted })\n ) : (\n <MenuBurger ariaHidden={true} />\n )}\n </Skeletons.MenuToggle>\n {isValidArray(langs, false) && (\n <LanguageWrapper>\n <LanguageSwitcher isInverted={inverted} langs={langs} />\n </LanguageWrapper>\n )}\n </ToggleColumn>\n {logo?.desktop?.src && (\n <LogoColumn isInverted={inverted}>\n <Skeletons.Logo\n link={logo.link}\n logo={{\n small: inverted\n ? logo?.mobileInverted?.src || ''\n : logo?.mobile?.src || '',\n semilarge: inverted\n ? logo?.desktopInverted?.src || ''\n : logo?.desktop?.src || '',\n alt: logo?.desktop?.alt,\n }}\n />\n </LogoColumn>\n )}\n <ActionsColumn takeSpace vAlign=\"center\">\n {secondaryAction\n ? secondaryAction({\n isInverted: inverted,\n ...navStates,\n })\n : undefined}\n {primaryAction\n ? primaryAction({\n isInverted: inverted,\n ...navStates,\n })\n : undefined}\n </ActionsColumn>\n </React.Fragment>\n );\n};\n\nexport default NavBarMain;\n","import styled from 'styled-components';\nimport LanguageSwitcher, { Language } from 'components/blocks/LanguageSwitcher';\nimport React, { FC } from 'react';\nimport { mq, spacings } from 'utils/styles';\nimport { NavBarStates } from '../Navigation';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\nimport { NavItem } from '../menu/Menu';\n\nconst StyledCol = styled(Skeletons.Column)`\n &:not(:first-child) {\n margin-left: ${spacings.spacer}px;\n }\n`;\n\nconst StyledNavList = styled(Skeletons.NavList)`\n display: none;\n\n @media ${mq.semilarge} {\n display: inline-flex;\n }\n`;\n\nconst NavBarTop: FC<{\n navLinks?: Array<NavItem>;\n languages?: Array<Language>;\n navStates: NavBarStates;\n}> = ({ navLinks, languages, navStates }) => {\n const isInverted =\n navStates?.size === 'large' && navStates?.pageFlow === 'overContent';\n\n return (\n <React.Fragment>\n <StyledCol>\n <StyledNavList isInverted={isInverted} navLinks={navLinks} />\n </StyledCol>\n <StyledCol>\n <LanguageSwitcher isInverted={isInverted} langs={languages} />\n </StyledCol>\n </React.Fragment>\n );\n};\n\nexport default NavBarTop;\n"],"names":["Footer","styled","div","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","spacings","nudge","spacer","MenuFooter","_a","isInverted","langs","socials","hasSocials","isValidArray","hasLangs","React","createElement","Fragment","SocialList","items","LanguageSwitcher","NavBarBottom","rootLink","rootLabel","navStates","size","pageFlow","Skeletons","navItems","mainNavigation","ToggleColumn","LogoColumn","templateObject_2","ActionsColumn","templateObject_3","mq","medium","LanguageWrapper","templateObject_4","semilarge","NavBarMain","logo","customToggle","primaryAction","secondaryAction","inverted","undefined","takeSpace","vAlign","isExpanded","isMenuOpen","onClick","openMenu","MenuBurger","ariaHidden","desktop","_b","src","link","small","_c","mobileInverted","_d","mobile","_e","desktopInverted","_f","alt","_g","__assign","StyledCol","StyledNavList","NavBarTop","navLinks","languages"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"navigation.js","sources":["../src/components/sections/navigation/partials/MenuFooter.tsx","../src/components/sections/navigation/partials/NavBarBottom.tsx","../src/components/sections/navigation/partials/NavBarMain.tsx","../src/components/sections/navigation/partials/NavBarTop.tsx"],"sourcesContent":["import React, { FC } from 'react';\n\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\nimport { NavMenuStates } from '../Navigation';\n\nimport SocialList, { SocialItem } from 'components/blocks/SocialList';\nimport LanguageSwitcher, { Language } from 'components/blocks/LanguageSwitcher';\nimport { isValidArray } from 'utils/arrays';\n\nconst Footer = styled.div`\n display: flex;\n flex-direction: column;\n\n padding: ${spacings.nudge * 2}px;\n margin-top: auto;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst MenuFooter: FC<{\n isInverted?: boolean;\n langs?: Language[];\n socials?: SocialItem[];\n menuStates?: NavMenuStates;\n}> = ({ isInverted, langs, socials }) => {\n const hasSocials = isValidArray(socials, false);\n const hasLangs = isValidArray(langs, false);\n\n return (\n <React.Fragment>\n {(hasSocials || hasLangs) && (\n <Footer>\n {hasSocials && (\n <SocialList isInverted={isInverted} items={socials} />\n )}\n {hasLangs && (\n <LanguageSwitcher\n isInverted={isInverted}\n langs={langs}\n />\n )}\n </Footer>\n )}\n </React.Fragment>\n );\n};\n\nexport default MenuFooter;\n","import React, { FC } from 'react';\n\nimport { NavBarStates } from '../Navigation';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\nimport { LinkProps } from 'components/typography/Link';\n\nconst NavBarBottom: FC<{\n rootLink?: LinkProps;\n rootLabel?: string;\n navStates: NavBarStates;\n}> = ({ rootLink, rootLabel, navStates }) => {\n const isInverted =\n navStates?.size === 'large' && navStates?.pageFlow === 'overContent';\n\n return (\n <Skeletons.Breadcrumbs\n isInverted={isInverted}\n rootLink={rootLink}\n rootLabel={rootLabel}\n navItems={navStates.mainNavigation}\n />\n );\n};\n\nexport default NavBarBottom;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport MenuBurger from 'components/base/icons/MenuBurger';\nimport { NavBarStates } from '../Navigation';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\nimport { spacings, mq } from 'utils/styles';\nimport { LinkProps } from 'components/typography/Link';\nimport { isValidArray } from 'utils/arrays';\nimport LanguageSwitcher, { Language } from 'components/blocks/LanguageSwitcher';\n\nconst ToggleColumn = styled(Skeletons.Column)`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nconst LogoColumn = styled(Skeletons.Column)`\n display: flex;\n align-items: center;\n padding: ${spacings.nudge}px 0;\n`;\n\nconst ActionsColumn = styled(Skeletons.Column)`\n display: flex;\n justify-content: flex-end;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n\n @media ${mq.medium} {\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n }\n`;\n\nconst LanguageWrapper = styled.div`\n display: none;\n\n @media ${mq.semilarge} {\n display: block;\n margin-left: ${spacings.nudge * 3}px;\n margin-top: 2px;\n }\n`;\n\nconst NavBarMain: FC<{\n isInverted?: boolean;\n logo?: {\n desktop?: { src: string; alt?: string };\n desktopInverted?: { src: string; alt?: string };\n mobile?: { src: string; alt?: string };\n mobileInverted?: { src: string; alt?: string };\n link?: Omit<LinkProps, 'coverSpace' | 'ratios'>;\n };\n customToggle?: (props: { isInverted?: boolean }) => React.ReactNode;\n langs?: Language[];\n primaryAction?: (\n props: { isInverted?: boolean } & NavBarStates\n ) => React.ReactNode;\n secondaryAction?: (\n props: { isInverted?: boolean } & NavBarStates\n ) => React.ReactNode;\n navStates: NavBarStates;\n}> = ({\n isInverted,\n logo,\n navStates,\n customToggle,\n langs,\n primaryAction,\n secondaryAction,\n}) => {\n const inverted =\n isInverted !== undefined\n ? isInverted\n : navStates?.size === 'large' &&\n navStates?.pageFlow === 'overContent';\n\n return (\n <React.Fragment>\n <ToggleColumn takeSpace vAlign=\"center\" isInverted={inverted}>\n <Skeletons.MenuToggle\n isInverted={inverted}\n isExpanded={navStates?.isMenuOpen}\n onClick={navStates?.openMenu}\n >\n {customToggle ? (\n customToggle({ isInverted: inverted })\n ) : (\n <MenuBurger ariaHidden={true} />\n )}\n </Skeletons.MenuToggle>\n {isValidArray(langs, false) && (\n <LanguageWrapper>\n <LanguageSwitcher isInverted={inverted} langs={langs} />\n </LanguageWrapper>\n )}\n </ToggleColumn>\n {logo?.desktop?.src && (\n <LogoColumn isInverted={inverted}>\n <Skeletons.Logo\n link={logo.link}\n logo={{\n small: inverted\n ? logo?.mobileInverted?.src || ''\n : logo?.mobile?.src || '',\n semilarge: inverted\n ? logo?.desktopInverted?.src || ''\n : logo?.desktop?.src || '',\n alt: logo?.desktop?.alt,\n }}\n />\n </LogoColumn>\n )}\n <ActionsColumn takeSpace vAlign=\"center\">\n {secondaryAction\n ? secondaryAction({\n isInverted: inverted,\n ...navStates,\n })\n : undefined}\n {primaryAction\n ? primaryAction({\n isInverted: inverted,\n ...navStates,\n })\n : undefined}\n </ActionsColumn>\n </React.Fragment>\n );\n};\n\nexport default NavBarMain;\n","import styled from 'styled-components';\nimport LanguageSwitcher, { Language } from 'components/blocks/LanguageSwitcher';\nimport React, { FC } from 'react';\nimport { mq, spacings } from 'utils/styles';\nimport { NavBarStates } from '../Navigation';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\nimport { NavItem } from '../menu/Menu';\n\nconst StyledCol = styled(Skeletons.Column)`\n &:not(:first-child) {\n margin-left: ${spacings.spacer}px;\n }\n`;\n\nconst StyledNavList = styled(Skeletons.NavList)`\n display: none;\n\n @media ${mq.semilarge} {\n display: inline-flex;\n }\n`;\n\nconst NavBarTop: FC<{\n navLinks?: Array<NavItem>;\n languages?: Array<Language>;\n navStates: NavBarStates;\n}> = ({ navLinks, languages, navStates }) => {\n const isInverted =\n navStates?.size === 'large' && navStates?.pageFlow === 'overContent';\n\n return (\n <React.Fragment>\n <StyledCol>\n <StyledNavList isInverted={isInverted} navLinks={navLinks} />\n </StyledCol>\n <StyledCol>\n <LanguageSwitcher isInverted={isInverted} langs={languages} />\n </StyledCol>\n </React.Fragment>\n );\n};\n\nexport default NavBarTop;\n"],"names":["Footer","styled","div","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","spacings","nudge","spacer","MenuFooter","_a","isInverted","langs","socials","hasSocials","isValidArray","hasLangs","React","createElement","Fragment","SocialList","items","LanguageSwitcher","NavBarBottom","rootLink","rootLabel","navStates","size","pageFlow","Skeletons","navItems","mainNavigation","ToggleColumn","LogoColumn","templateObject_2","ActionsColumn","templateObject_3","mq","medium","LanguageWrapper","templateObject_4","semilarge","NavBarMain","logo","customToggle","primaryAction","secondaryAction","inverted","undefined","takeSpace","vAlign","isExpanded","isMenuOpen","onClick","openMenu","MenuBurger","ariaHidden","desktop","_b","src","link","small","_c","mobileInverted","_d","mobile","_e","desktopInverted","_f","alt","_g","__assign","StyledCol","StyledNavList","NavBarTop","navLinks","languages"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./ClockFilled-2483aa4a.js"),n=require("react"),t=require("styled-components"),r=require("./styles-3a495a2d.js"),a=require("./LibThemeProvider-4823de57.js"),i=require("./Section-e8e8cf81.js"),o=require("formik"),l=require("./Wrapper-ff6854d7.js"),u=require("./Actions-c7b16449.js"),s=require("./Button-51ea72b7.js"),d=require("./Textarea-03bd2c34.js"),c=require("./ButtonGhost-628bbd60.js"),m=require("./Textfield-56996c98.js"),v=require("./Checkbox-1c34c7e6.js"),f=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("react-datepicker"),require("./useLeafletMap-2e608b01.js"),require("./useLazyInput-f71c221b.js"),require("./useUpdateEffect-4d233e2c.js"),require("./useGeolocation-d8946470.js"),require("./useMounted-0bba9869.js");var p,h,b,_,x,y,k,C,q=g(n),w=g(t),F=w.default.fieldset.withConfig({displayName:"fieldGroupRenderer__FieldSet",componentId:"sc-1c0l16c-0"})(p||(p=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"]))),M=w.default.div.withConfig({displayName:"fieldGroupRenderer__Fields",componentId:"sc-1c0l16c-1"})(h||(h=e.__makeTemplateObject(["\n & > * + * {\n margin-top: ","px;\n }\n"],["\n & > * + * {\n margin-top: ","px;\n }\n"])),r.spacings.nudge),I=function(n,t,r){return e.__awaiter(void 0,void 0,void 0,(function(){var n,a;return e.__generator(this,(function(e){switch(n=r.inputType,a="",r.isRequired&&!t&&(a=r.errorMsg||"Required field"),n){case"email":t&&!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(t)&&(a=r.errorMsg||"Invalid Mail format");break;case"tel":t&&/[A-Z]/gi.test(t)&&(a=r.errorMsg||"Ungültige Telefonnummer");break;case"number":t&&!/^[+]?\d+([.]\d+)?$/gm.test(t)&&(a=r.errorMsg||"Zahlenformat ungültig")}return[2,a]}))}))},T=function(n,t,r){return e.__awaiter(void 0,void 0,void 0,(function(){var n;return e.__generator(this,(function(e){return n="",r.isRequired&&!t&&(n=r.errorMsg||"Required field"),[2,n]}))}))},E=function(n,t,r){return e.__awaiter(void 0,void 0,void 0,(function(){var n;return e.__generator(this,(function(e){return n="",r.isRequired&&!t&&(n=r.errorMsg||"Required field"),[2,n]}))}))},j=function(n,t,r){return e.__awaiter(void 0,void 0,void 0,(function(){var n,a;return e.__generator(this,(function(e){return n="",a=r.singleSelect,r.isRequired&&!t?n=a?r.singleDateError||"Please submit date!":r.multiDateError||"Please submit start- and enddate!":r.isRequired&&a&&!t[0]?n=r.singleDateError||"Please submit date!":!r.isRequired||a||t[0]&&t[1]||(n=r.multiDateError||"Please submit start- and enddate!"),[2,n]}))}))},R=function(n,t,r){return e.__awaiter(void 0,void 0,void 0,(function(){var n,a,i;return e.__generator(this,(function(e){return n="",!r.isRequired||t.description||(null===(a=t.position)||void 0===a?void 0:a[0])||(null===(i=t.position)||void 0===i?void 0:i[1])||(n=r.errorMsg||"Please submit location info!"),[2,n]}))}))},S=function(n,t,r){return e.__awaiter(void 0,void 0,void 0,(function(){var n,a,i;return e.__generator(this,(function(e){return n=r.groupType,a="","Checkbox"===n?(i=t,r.isRequired&&(!i||(null==i?void 0:i.length)<1)&&(a=r.errorMsg||"Please select at least one item!")):"Radio"===n&&r.isRequired&&!t&&(a=r.errorMsg||"Selection required"),[2,a]}))}))},B=function(n,t,r){return e.__awaiter(void 0,void 0,void 0,(function(){var n;return e.__generator(this,(function(e){return n="",r.isRequired&&(!t||(null==t?void 0:t.length)<1)&&(n=r.errorMsg||"Please submit at least one file!"),[2,n]}))}))},D=w.default(i.Section).withConfig({displayName:"DynamicForm__StyledSection",componentId:"sc-1v8xcyg-0"})(b||(b=e.__makeTemplateObject(["\n overflow: visible;\n"],["\n overflow: visible;\n"]))),L=w.default.form.withConfig({displayName:"DynamicForm__Form",componentId:"sc-1v8xcyg-1"})(_||(_=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"])),r.mq.semilarge),O=w.default.div.withConfig({displayName:"DynamicForm__FieldContainer",componentId:"sc-1v8xcyg-2"})(x||(x=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*r.spacings.nudge,3*r.spacings.nudge,r.mq.semilarge),A=w.default.div.withConfig({displayName:"DynamicForm__FormFooter",componentId:"sc-1v8xcyg-3"})(y||(y=e.__makeTemplateObject(["\n margin-top: ","px;\n"],["\n margin-top: ","px;\n"])),r.spacings.spacer),U=w.default(f.Copy).withConfig({displayName:"DynamicForm__Status",componentId:"sc-1v8xcyg-4"})(k||(k=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"])),r.mq.semilarge),P=w.default.div.withConfig({displayName:"DynamicForm__ActionContainer",componentId:"sc-1v8xcyg-5"})(C||(C=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*r.spacings.spacer,r.mq.semilarge),V=a.withLibTheme((function(t){var f=t.anchorId,g=t.fields,p=t.onSubmit,h=t.submitAction,b=t.definitions,_=t.subjectLine,x=t.targetEmails,y=t.bgMode,k="inverted"===y,C="full"===y||k,w=n.useState(),V=w[0],G=w[1],N={},W=function(e){switch(g[e].type){case"Field":case"Area":N[e]=g[e].initialValue||"";break;case"Select":N[e]=g[e].initialOption||"";break;case"Datepicker":N[e]=g[e].initialDates||[null,null];break;case"Location":N[e]={description:"",position:[0,0]};break;case"Upload":N[e]=[];break;case"FieldGroup":var n=g[e],t=g[e].groupType;if("Checkbox"===t){var r=[];n.fields.forEach((function(e){e.initialChecked&&e.text&&r.push(e.text)})),N[e]=r}else"Radio"===t&&(N[e]="",n.fields.every((function(n){return!n.initialChecked||!n.text||(N[e]=n.text,!1)})))}};for(var Z in g)W(Z);var z=o.useFormik({initialValues:e.__assign({},N),onSubmit:function(n,t){return e.__awaiter(void 0,void 0,void 0,(function(){var r,a;return e.__generator(this,(function(i){switch(i.label){case 0:return r=e.__assign(e.__assign({},n),{targetEmails:x||[],subjectLine:_||""}),p?[4,p(r)]:(Q(!1),[2]);case 1:return a=i.sent(),t.resetForm({values:n}),G(a),a.isError&&Q(!1),[2]}}))}))},validateOnBlur:!0,validateOnChange:!0,validate:function(n){return e.__awaiter(void 0,void 0,void 0,(function(){var t,r,a,i,o,l,u,s,d,c,m,v,f,p,h,b;return e.__generator(this,(function(e){switch(e.label){case 0:for(a in t={},r=[],g)r.push(a);i=0,e.label=1;case 1:if(!(i<r.length))return[3,31];switch(o=r[i],g[o].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[o],m=n[o],f.validate?[4,f.validate(o,m,f)]:[3,4];case 3:return(l=e.sent())&&(t[o]=l),[3,30];case 4:return[4,I(0,m,f)];case 5:return(b=e.sent())&&(t[o]=b),[3,30];case 6:return f=g[o],m=n[o],f.validate?[4,f.validate(o,m,f)]:[3,8];case 7:return(u=e.sent())&&(t[o]=u),[3,30];case 8:return[4,T(0,m,f)];case 9:return(b=e.sent())&&(t[o]=b),[3,30];case 10:return f=g[o],m=n[o],f.validate?[4,f.validate(o,m,f)]:[3,12];case 11:return(s=e.sent())&&(t[o]=s),[3,30];case 12:return[4,E(0,m,f)];case 13:return(b=e.sent())&&(t[o]=b),[3,30];case 14:return f=g[o],m=n[o],f.validate?[4,f.validate(o,m,f)]:[3,16];case 15:return(d=e.sent())&&(t[o]=d),[3,30];case 16:return[4,j(0,m,f)];case 17:return(b=e.sent())&&(t[o]=b),[3,30];case 18:return f=g[o],m=n[o],f.validate?[4,f.validate(o,m,f)]:[3,20];case 19:return(c=e.sent())&&(t[o]=c),[3,30];case 20:return[4,R(0,m,f)];case 21:return(b=e.sent())&&(t[o]=b),[3,30];case 22:return f=g[o],m=n[o],f.validate?[4,f.validate(o,m,f)]:[3,24];case 23:return(v=e.sent())&&(t[o]=v),[3,30];case 24:return[4,S(0,m,f)];case 25:return(b=e.sent())&&(t[o]=b),[3,30];case 26:return f=g[o],p=n[o],f.validate?[4,f.validate(o,p,f)]:[3,28];case 27:return(h=e.sent())&&(t[o]=h),[3,30];case 28:return[4,B(0,p,f)];case 29:return(b=e.sent())&&(t[o]=b),[3,30];case 30:return i++,[3,1];case 31:return[2,t]}}))}))}}),H=z.handleSubmit,$=z.handleChange,J=z.handleBlur,K=z.setFieldTouched,Q=z.setSubmitting,X=z.validateField,Y=z.submitForm,ee=z.setValues,ne=z.isSubmitting,te=z.touched,re=z.values,ae=z.errors,ie=z.dirty,oe=z.validateOnBlur,le=z.validateOnChange,ue=n.useRef(e.__assign({},N)),se=a.useLibTheme().theme,de=n.useCallback((function(n){var t;return ee(e.__assign(e.__assign({},ue.current),((t={})[n.key]=n.value,t)),n.shouldValidate)}),[ee]),ce=g&&Object.keys(g);return n.useEffect((function(){ue.current=e.__assign({},re)}),[re]),q.default.createElement(D,{addSeperation:!0,anchorId:f,bgColor:k?r.getColors(se).sectionBg.dark:y?r.getColors(se).sectionBg.medium:r.getColors(se).sectionBg.light,bgMode:i.mapToBgMode(y,!0)},q.default.createElement(l.Wrapper,{addWhitespace:!0},q.default.createElement(L,{noValidate:!0,onSubmit:H},q.default.createElement(O,null,g&&(null==ce?void 0:ce.map((function(n,t){var r={index:t,field:g[n],key:n,value:re[n],error:ae[n],isTouched:te[n]||!1,isInverted:k,hasBg:C,setField:de,setTouched:K,validateField:X,handleChange:$,handleBlur:J,validateOnBlur:oe,validateOnChange:le,theme:se};switch(g[n].type){case"Field":return(null==b?void 0:b.field)?b.field(r):function(e){var n=e.field,t=e.key,r=e.value,a=e.error,i=e.isTouched,o=e.handleChange,l=e.handleBlur,u=e.isInverted;return q.default.createElement(m.Textfield,{key:t,enableMemo:!0,label:"".concat(t).concat(n.isRequired?" *":""),placeholder:n.placeholder,name:"['".concat(t,"']"),type:n.inputType,isInverted:u,value:r,onChange:o,onBlur:l,infoMessage:n.info,errorMessage:a&&i?a:void 0})}(r);case"Area":return(null==b?void 0:b.area)?b.area(r):function(e){var n=e.field,t=e.key,r=e.value,a=e.error,i=e.isTouched,o=e.isInverted,l=e.handleChange,u=e.handleBlur;return q.default.createElement(d.Textarea,{key:t,enableMemo:!0,label:"".concat(t).concat(n.isRequired?" *":""),placeholder:n.placeholder,name:"['".concat(t,"']"),value:r,isInverted:o,onChange:l,onBlur:u,infoMessage:n.info,errorMessage:a&&i?a:void 0})}(r);case"Datepicker":return(null==b?void 0:b.datepicker)?b.datepicker(r):function(n){var t=n.key,r=n.field,a=n.value,i=n.error,o=n.isTouched,l=n.isInverted,u=n.setField,m=n.setTouched,v=n.validateField,f=a,g=function(n,r){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,u({key:t,value:[n||null,r||null]})];case 2:return e.sent(),v(t),[2]}}))}))};return q.default.createElement(d.DatepickerCmp,{key:t,enableMemo:!0,onSubmit:g,onDataChange:g,values:[null==f?void 0:f[0],null==f?void 0:f[1]],label:"".concat(t).concat(r.isRequired?" *":""),placeholder:r.placeholder,singleSelect:r.singleSelect,infoMessage:r.info,errorMessage:i&&o?i:void 0,name:t,customIcon:null==r?void 0:r.customIcon,isInverted:l,minDate:r.minDate,maxDate:r.maxDate,deleteAction:function(e){return(null==r?void 0:r.deleteAction)?r.deleteAction(e):q.default.createElement(c.ButtonGhost.View,{onClick:e},"delete")},submitAction:function(e){return(null==r?void 0:r.submitAction)?r.submitAction(e):q.default.createElement(s.Button.View,{onClick:e},"submit")},nextCtrlUrl:r.nextCtrlUrl,prevCtrlUrl:r.prevCtrlUrl})}(r);case"Location":return(null==b?void 0:b.location)?b.location(r):function(n){var t,r,a=n.key,i=n.field,o=n.value,l=n.error,u=n.isTouched,s=n.isInverted,c=n.setField,m=o,v=e.__assign(e.__assign({},m),{position:(null===(t=null==m?void 0:m.position)||void 0===t?void 0:t[0])||(null===(r=null==m?void 0:m.position)||void 0===r?void 0:r[1])?m.position:void 0});return q.default.createElement(d.LocationField,{key:a,enableMemo:!0,name:"['".concat(a,"']"),label:"".concat(a).concat(i.isRequired?" *":""),placeholder:i.placeholder,initialMapCenter:i.initialMapCenter,zoom:i.zoom,isInverted:s,infoMessage:i.info,errorMessage:l&&u?l:void 0,value:v,onChange:function(n){c({key:a,value:e.__assign({},n),shouldValidate:!0})},customLocationControl:i.customLocationControl,customToggle:i.customToggle,customResetControl:i.customResetControl,toggleLabel:i.toggleLabel,trackLocationLabel:i.trackLocationLabel})}(r);case"FieldGroup":return"Checkbox"===g[n].groupType?(null==b?void 0:b.checkbox)?b.checkbox(r):function(e){var n,t=e.field,r=e.key,a=e.isInverted,i=e.value,o=e.isTouched,l=e.error,u=e.info,s=e.setTouched,d=e.validateField,c=e.setField,f=t,g=i;return q.default.createElement(F,{key:r},r&&q.default.createElement(m.FieldWrapper.Head,{isInverted:a,label:r,isRequired:t.isRequired}),q.default.createElement(M,null,null===(n=null==f?void 0:f.fields)||void 0===n?void 0:n.map((function(e,n){return q.default.createElement(v.Checkbox,{key:n,enableMemo:!0,isInverted:a,onChange:function(e){var n=e.currentTarget.value;if(n){var t=g.indexOf(n);-1===t?g.push(n):g.splice(t,1),c({key:r,value:g}),s(r,!0),d(r)}},isSelected:!!e.text&&-1!==g.indexOf(e.text),name:r,value:e.text,label:e.text})}))),o&&l&&q.default.createElement(m.FieldWrapper.Messages,{errorMessage:l,infoMessage:u}))}(r):(null==b?void 0:b.radio)?b.radio(r):function(e){var n,t=e.key,r=e.field,a=e.value,i=e.error,o=e.isTouched,l=e.isInverted,u=e.info,s=e.setField,c=r,v=a;return q.default.createElement(F,{key:t},t&&q.default.createElement(m.FieldWrapper.Head,{isInverted:l,label:t,isRequired:r.isRequired}),q.default.createElement(M,null,null===(n=null==c?void 0:c.fields)||void 0===n?void 0:n.map((function(e,n){return q.default.createElement(d.RadioButton,{key:n,enableMemo:!0,name:t,value:e.text,label:e.text,isInverted:l,isSelected:!!e.text&&v===e.text,onChange:function(n){e.text&&s({key:t,value:n.currentTarget.value})}})}))),o&&i&&q.default.createElement(m.FieldWrapper.Messages,{errorMessage:i,infoMessage:u}))}(r);case"Select":return(null==b?void 0:b.select)?b.select(r):function(n){var t,r,a=n.field,i=n.key,o=n.value,l=n.error,u=n.isTouched,s=n.isInverted,c=n.setField,m=n.setTouched,v=n.validateField,f=n.validateOnChange,g=n.validateOnBlur,p=o;return q.default.createElement(d.SelectDropdown,{key:i,enableMemo:!0,label:"".concat(i).concat(a.isRequired?" *":""),name:i,placeholder:a.placeholder,errorMessage:l&&u?l:void 0,items:null===(r=null===(t=a.dropdownItems)||void 0===t?void 0:t.filter((function(e){return e.label})))||void 0===r?void 0:r.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(),f&&v(i),[2]}}))}))},onBlur:function(){return m(i,!0,g)},indicator:a.indicator,isInverted:s})}(r);case"Upload":return(null==b?void 0:b.upload)?b.upload(r):function(e){var n=e.field,t=e.key,r=e.error,a=e.isTouched,i=e.isInverted,o=e.setField;return q.default.createElement(d.FileUploadCmp,{key:t,enableMemo:!0,label:"".concat(t).concat(n.isRequired?" *":""),name:t,infoMessage:n.info,uploadLabel:n.addBtnLabel,errorMessage:r&&a?r:void 0,acceptedFormats:n.acceptedFormats,onUploadFiles:function(e){o({key:t,value:e})},customUploadIcon:n.customUploadIcon,customDeleteIcon:n.customDeleteIcon,isInverted:i})}(r);default:return null}}))))),(g||(null==V?void 0:V.message))&&q.default.createElement(A,null,(null==V?void 0:V.message)&&!ie&&q.default.createElement(U,{textColor:(null==V?void 0:V.isError)?r.getColors(se).error:k?r.getColors(se).text.copyInverted:r.getColors(se).text.copy},V.message||""),g&&q.default.createElement(P,null,q.default.createElement(u.Actions,{primary:h?h({isInverted:k,isSubmitting:ne,handleSubmit:Y}):q.default.createElement(s.Button.View,e.__assign({as:"button",onClick:Y},{type:"submit"}),q.default.createElement(s.Button.Label,null,"Send mail"))})))))}));exports.DynamicForm=V;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Filter-89286db9.js"),t=require("react"),n=require("styled-components"),r=require("./styles-13e5d9ac.js"),a=require("./LibThemeProvider-69109901.js"),i=require("./Section-c9a16ccc.js"),o=require("formik"),l=require("./Wrapper-bca9463e.js"),u=require("./Actions-c52a14e4.js"),s=require("./Button-1adf99b8.js"),d=require("./Textarea-599e94a4.js"),c=require("./ButtonGhost-fbab8769.js"),m=require("./formFieldText-046fcbf4.js"),v=require("./Checkbox-8dccd42f.js"),f=require("./Textfield-24f468be.js"),g=require("./Copy-a0bc570d.js");function p(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("react-datepicker"),require("./useLeafletMap-514304b6.js"),require("./useLazyInput-911b8eda.js"),require("./useUpdateEffect-4d233e2c.js"),require("./useGeolocation-d8946470.js"),require("./useMounted-0bba9869.js");var h,b,_,x,y,k,C,q,F=p(t),w=p(n),M=w.default.fieldset.withConfig({displayName:"fieldGroupRenderer__FieldSet",componentId:"sc-1c0l16c-0"})(h||(h=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=w.default.div.withConfig({displayName:"fieldGroupRenderer__Fields",componentId:"sc-1c0l16c-1"})(b||(b=e.__makeTemplateObject(["\n & > * + * {\n margin-top: ","px;\n }\n"],["\n & > * + * {\n margin-top: ","px;\n }\n"])),r.spacings.nudge),T=function(t,n,r){return e.__awaiter(void 0,void 0,void 0,(function(){var t,a;return e.__generator(this,(function(e){switch(t=r.inputType,a="",r.isRequired&&!n&&(a=r.errorMsg||"Required field"),t){case"email":n&&!/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i.test(n)&&(a=r.errorMsg||"Invalid Mail format");break;case"tel":n&&/[A-Z]/gi.test(n)&&(a=r.errorMsg||"Ungültige Telefonnummer");break;case"number":n&&!/^[+]?\d+([.]\d+)?$/gm.test(n)&&(a=r.errorMsg||"Zahlenformat ungültig")}return[2,a]}))}))},E=function(t,n,r){return e.__awaiter(void 0,void 0,void 0,(function(){var t;return e.__generator(this,(function(e){return t="",r.isRequired&&!n&&(t=r.errorMsg||"Required field"),[2,t]}))}))},j=function(t,n,r){return e.__awaiter(void 0,void 0,void 0,(function(){var t;return e.__generator(this,(function(e){return t="",r.isRequired&&!n&&(t=r.errorMsg||"Required field"),[2,t]}))}))},R=function(t,n,r){return e.__awaiter(void 0,void 0,void 0,(function(){var t,a;return e.__generator(this,(function(e){return t="",a=r.singleSelect,r.isRequired&&!n?t=a?r.singleDateError||"Please submit date!":r.multiDateError||"Please submit start- and enddate!":r.isRequired&&a&&!n[0]?t=r.singleDateError||"Please submit date!":!r.isRequired||a||n[0]&&n[1]||(t=r.multiDateError||"Please submit start- and enddate!"),[2,t]}))}))},S=function(t,n,r){return e.__awaiter(void 0,void 0,void 0,(function(){var t,a,i;return e.__generator(this,(function(e){return t="",!r.isRequired||n.description||(null===(a=n.position)||void 0===a?void 0:a[0])||(null===(i=n.position)||void 0===i?void 0:i[1])||(t=r.errorMsg||"Please submit location info!"),[2,t]}))}))},B=function(t,n,r){return e.__awaiter(void 0,void 0,void 0,(function(){var t,a,i;return e.__generator(this,(function(e){return t=r.groupType,a="","Checkbox"===t?(i=n,r.isRequired&&(!i||(null==i?void 0:i.length)<1)&&(a=r.errorMsg||"Please select at least one item!")):"Radio"===t&&r.isRequired&&!n&&(a=r.errorMsg||"Selection required"),[2,a]}))}))},D=function(t,n,r){return e.__awaiter(void 0,void 0,void 0,(function(){var t;return e.__generator(this,(function(e){return t="",r.isRequired&&(!n||(null==n?void 0:n.length)<1)&&(t=r.errorMsg||"Please submit at least one file!"),[2,t]}))}))},L=w.default(i.Section).withConfig({displayName:"DynamicForm__StyledSection",componentId:"sc-1v8xcyg-0"})(_||(_=e.__makeTemplateObject(["\n overflow: visible;\n"],["\n overflow: visible;\n"]))),O=w.default.form.withConfig({displayName:"DynamicForm__Form",componentId:"sc-1v8xcyg-1"})(x||(x=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"])),r.mq.semilarge),A=w.default.div.withConfig({displayName:"DynamicForm__FieldContainer",componentId:"sc-1v8xcyg-2"})(y||(y=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*r.spacings.nudge,3*r.spacings.nudge,r.mq.semilarge),U=w.default.div.withConfig({displayName:"DynamicForm__FormFooter",componentId:"sc-1v8xcyg-3"})(k||(k=e.__makeTemplateObject(["\n margin-top: ","px;\n"],["\n margin-top: ","px;\n"])),r.spacings.spacer),P=w.default(g.Copy).withConfig({displayName:"DynamicForm__Status",componentId:"sc-1v8xcyg-4"})(C||(C=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"])),r.mq.semilarge),V=w.default.div.withConfig({displayName:"DynamicForm__ActionContainer",componentId:"sc-1v8xcyg-5"})(q||(q=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*r.spacings.spacer,r.mq.semilarge),G=a.withLibTheme((function(n){var g=n.anchorId,p=n.fields,h=n.onSubmit,b=n.submitAction,_=n.definitions,x=n.subjectLine,y=n.targetEmails,k=n.bgMode,C="inverted"===k,q="full"===k||C,w=t.useState(),G=w[0],N=w[1],W={},Z=function(e){switch(p[e].type){case"Field":case"Area":W[e]=p[e].initialValue||"";break;case"Select":W[e]=p[e].initialOption||"";break;case"Datepicker":W[e]=p[e].initialDates||[null,null];break;case"Location":W[e]={description:"",position:[0,0]};break;case"Upload":W[e]=[];break;case"FieldGroup":var t=p[e],n=p[e].groupType;if("Checkbox"===n){var r=[];t.fields.forEach((function(e){e.initialChecked&&e.text&&r.push(e.text)})),W[e]=r}else"Radio"===n&&(W[e]="",t.fields.every((function(t){return!t.initialChecked||!t.text||(W[e]=t.text,!1)})))}};for(var z in p)Z(z);var H=o.useFormik({initialValues:e.__assign({},W),onSubmit:function(t,n){return e.__awaiter(void 0,void 0,void 0,(function(){var r,a;return e.__generator(this,(function(i){switch(i.label){case 0:return r=e.__assign(e.__assign({},t),{targetEmails:y||[],subjectLine:x||""}),h?[4,h(r)]:(X(!1),[2]);case 1:return a=i.sent(),n.resetForm({values:t}),N(a),a.isError&&X(!1),[2]}}))}))},validateOnBlur:!0,validateOnChange:!0,validate:function(t){return e.__awaiter(void 0,void 0,void 0,(function(){var n,r,a,i,o,l,u,s,d,c,m,v,f,g,h,b;return e.__generator(this,(function(e){switch(e.label){case 0:for(a in n={},r=[],p)r.push(a);i=0,e.label=1;case 1:if(!(i<r.length))return[3,31];switch(o=r[i],p[o].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=p[o],m=t[o],f.validate?[4,f.validate(o,m,f)]:[3,4];case 3:return(l=e.sent())&&(n[o]=l),[3,30];case 4:return[4,T(0,m,f)];case 5:return(b=e.sent())&&(n[o]=b),[3,30];case 6:return f=p[o],m=t[o],f.validate?[4,f.validate(o,m,f)]:[3,8];case 7:return(u=e.sent())&&(n[o]=u),[3,30];case 8:return[4,E(0,m,f)];case 9:return(b=e.sent())&&(n[o]=b),[3,30];case 10:return f=p[o],m=t[o],f.validate?[4,f.validate(o,m,f)]:[3,12];case 11:return(s=e.sent())&&(n[o]=s),[3,30];case 12:return[4,j(0,m,f)];case 13:return(b=e.sent())&&(n[o]=b),[3,30];case 14:return f=p[o],m=t[o],f.validate?[4,f.validate(o,m,f)]:[3,16];case 15:return(d=e.sent())&&(n[o]=d),[3,30];case 16:return[4,R(0,m,f)];case 17:return(b=e.sent())&&(n[o]=b),[3,30];case 18:return f=p[o],m=t[o],f.validate?[4,f.validate(o,m,f)]:[3,20];case 19:return(c=e.sent())&&(n[o]=c),[3,30];case 20:return[4,S(0,m,f)];case 21:return(b=e.sent())&&(n[o]=b),[3,30];case 22:return f=p[o],m=t[o],f.validate?[4,f.validate(o,m,f)]:[3,24];case 23:return(v=e.sent())&&(n[o]=v),[3,30];case 24:return[4,B(0,m,f)];case 25:return(b=e.sent())&&(n[o]=b),[3,30];case 26:return f=p[o],g=t[o],f.validate?[4,f.validate(o,g,f)]:[3,28];case 27:return(h=e.sent())&&(n[o]=h),[3,30];case 28:return[4,D(0,g,f)];case 29:return(b=e.sent())&&(n[o]=b),[3,30];case 30:return i++,[3,1];case 31:return[2,n]}}))}))}}),$=H.handleSubmit,J=H.handleChange,K=H.handleBlur,Q=H.setFieldTouched,X=H.setSubmitting,Y=H.validateField,ee=H.submitForm,te=H.setValues,ne=H.isSubmitting,re=H.touched,ae=H.values,ie=H.errors,oe=H.dirty,le=H.validateOnBlur,ue=H.validateOnChange,se=t.useRef(e.__assign({},W)),de=a.useLibTheme().theme,ce=t.useCallback((function(t){var n;return te(e.__assign(e.__assign({},se.current),((n={})[t.key]=t.value,n)),t.shouldValidate)}),[te]),me=p&&Object.keys(p);return t.useEffect((function(){se.current=e.__assign({},ae)}),[ae]),F.default.createElement(L,{addSeperation:!0,anchorId:g,bgColor:C?r.getColors(de).sectionBg.dark:k?r.getColors(de).sectionBg.medium:r.getColors(de).sectionBg.light,bgMode:i.mapToBgMode(k,!0)},F.default.createElement(l.Wrapper,{addWhitespace:!0},F.default.createElement(O,{noValidate:!0,onSubmit:$},F.default.createElement(A,null,p&&(null==me?void 0:me.map((function(t,n){var r={index:n,field:p[t],key:t,value:ae[t],error:ie[t],isTouched:re[t]||!1,isInverted:C,hasBg:q,setField:ce,setTouched:Q,validateField:Y,handleChange:J,handleBlur:K,validateOnBlur:le,validateOnChange:ue,theme:de};switch(p[t].type){case"Field":return(null==_?void 0:_.field)?_.field(r):function(e){var t=e.field,n=e.key,r=e.value,a=e.error,i=e.isTouched,o=e.handleChange,l=e.handleBlur,u=e.isInverted;return F.default.createElement(f.Textfield,{key:n,enableMemo:!0,label:"".concat(n).concat(t.isRequired?" *":""),placeholder:t.placeholder,name:"['".concat(n,"']"),type:t.inputType,isInverted:u,value:r,onChange:o,onBlur:l,infoMessage:t.info,errorMessage:a&&i?a:void 0})}(r);case"Area":return(null==_?void 0:_.area)?_.area(r):function(e){var t=e.field,n=e.key,r=e.value,a=e.error,i=e.isTouched,o=e.isInverted,l=e.handleChange,u=e.handleBlur;return F.default.createElement(d.Textarea,{key:n,enableMemo:!0,label:"".concat(n).concat(t.isRequired?" *":""),placeholder:t.placeholder,name:"['".concat(n,"']"),value:r,isInverted:o,onChange:l,onBlur:u,infoMessage:t.info,errorMessage:a&&i?a:void 0})}(r);case"Datepicker":return(null==_?void 0:_.datepicker)?_.datepicker(r):function(t){var n=t.key,r=t.field,a=t.value,i=t.error,o=t.isTouched,l=t.isInverted,u=t.setField,m=t.setTouched,v=t.validateField,f=a,g=function(t,r){return e.__awaiter(void 0,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,m(n,!0)];case 1:return e.sent(),[4,u({key:n,value:[t||null,r||null]})];case 2:return e.sent(),v(n),[2]}}))}))};return F.default.createElement(d.DatepickerCmp,{key:n,enableMemo:!0,onSubmit:g,onDataChange:g,values:[null==f?void 0:f[0],null==f?void 0:f[1]],label:"".concat(n).concat(r.isRequired?" *":""),placeholder:r.placeholder,singleSelect:r.singleSelect,infoMessage:r.info,errorMessage:i&&o?i:void 0,name:n,customIcon:null==r?void 0:r.customIcon,isInverted:l,minDate:r.minDate,maxDate:r.maxDate,deleteAction:function(e){return(null==r?void 0:r.deleteAction)?r.deleteAction(e):F.default.createElement(c.ButtonGhost.View,{onClick:e},"delete")},submitAction:function(e){return(null==r?void 0:r.submitAction)?r.submitAction(e):F.default.createElement(s.Button.View,{onClick:e},"submit")},nextCtrlUrl:r.nextCtrlUrl,prevCtrlUrl:r.prevCtrlUrl})}(r);case"Location":return(null==_?void 0:_.location)?_.location(r):function(t){var n,r,a=t.key,i=t.field,o=t.value,l=t.error,u=t.isTouched,s=t.isInverted,c=t.setField,m=o,v=e.__assign(e.__assign({},m),{position:(null===(n=null==m?void 0:m.position)||void 0===n?void 0:n[0])||(null===(r=null==m?void 0:m.position)||void 0===r?void 0:r[1])?m.position:void 0});return F.default.createElement(d.LocationField,{key:a,enableMemo:!0,name:"['".concat(a,"']"),label:"".concat(a).concat(i.isRequired?" *":""),placeholder:i.placeholder,initialMapCenter:i.initialMapCenter,zoom:i.zoom,isInverted:s,infoMessage:i.info,errorMessage:l&&u?l:void 0,value:v,onChange:function(t){c({key:a,value:e.__assign({},t),shouldValidate:!0})},customLocationControl:i.customLocationControl,customToggle:i.customToggle,customResetControl:i.customResetControl,toggleLabel:i.toggleLabel,trackLocationLabel:i.trackLocationLabel})}(r);case"FieldGroup":return"Checkbox"===p[t].groupType?(null==_?void 0:_.checkbox)?_.checkbox(r):function(e){var t,n=e.field,r=e.key,a=e.isInverted,i=e.value,o=e.isTouched,l=e.error,u=e.info,s=e.setTouched,d=e.validateField,c=e.setField,f=n,g=i;return F.default.createElement(M,{key:r},r&&F.default.createElement(m.FieldWrapper.Head,{isInverted:a,label:r,isRequired:n.isRequired}),F.default.createElement(I,null,null===(t=null==f?void 0:f.fields)||void 0===t?void 0:t.map((function(e,t){return F.default.createElement(v.Checkbox,{key:t,enableMemo:!0,isInverted:a,onChange:function(e){var t=e.currentTarget.value;if(t){var n=g.indexOf(t);-1===n?g.push(t):g.splice(n,1),c({key:r,value:g}),s(r,!0),d(r)}},isSelected:!!e.text&&-1!==g.indexOf(e.text),name:r,value:e.text,label:e.text})}))),o&&l&&F.default.createElement(m.FieldWrapper.Messages,{errorMessage:l,infoMessage:u}))}(r):(null==_?void 0:_.radio)?_.radio(r):function(e){var t,n=e.key,r=e.field,a=e.value,i=e.error,o=e.isTouched,l=e.isInverted,u=e.info,s=e.setField,c=r,v=a;return F.default.createElement(M,{key:n},n&&F.default.createElement(m.FieldWrapper.Head,{isInverted:l,label:n,isRequired:r.isRequired}),F.default.createElement(I,null,null===(t=null==c?void 0:c.fields)||void 0===t?void 0:t.map((function(e,t){return F.default.createElement(d.RadioButton,{key:t,enableMemo:!0,name:n,value:e.text,label:e.text,isInverted:l,isSelected:!!e.text&&v===e.text,onChange:function(t){e.text&&s({key:n,value:t.currentTarget.value})}})}))),o&&i&&F.default.createElement(m.FieldWrapper.Messages,{errorMessage:i,infoMessage:u}))}(r);case"Select":return(null==_?void 0:_.select)?_.select(r):function(t){var n,r,a=t.field,i=t.key,o=t.value,l=t.error,u=t.isTouched,s=t.isInverted,c=t.setField,m=t.setTouched,v=t.validateField,f=t.validateOnChange,g=t.validateOnBlur,p=o;return F.default.createElement(d.SelectDropdown,{key:i,enableMemo:!0,label:"".concat(i).concat(a.isRequired?" *":""),name:i,placeholder:a.placeholder,errorMessage:l&&u?l:void 0,items:null===(r=null===(n=a.dropdownItems)||void 0===n?void 0:n.filter((function(e){return e.label})))||void 0===r?void 0:r.map((function(e){return{label:e.label||"",value:e.value||{}}})),selectedItem:p,onChange:function(t){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:t}),[4,m(i,!0)];case 1:return e.sent(),f&&v(i),[2]}}))}))},onBlur:function(){return m(i,!0,g)},indicator:a.indicator,isInverted:s})}(r);case"Upload":return(null==_?void 0:_.upload)?_.upload(r):function(e){var t=e.field,n=e.key,r=e.error,a=e.isTouched,i=e.isInverted,o=e.setField;return F.default.createElement(d.FileUploadCmp,{key:n,enableMemo:!0,label:"".concat(n).concat(t.isRequired?" *":""),name:n,infoMessage:t.info,uploadLabel:t.addBtnLabel,errorMessage:r&&a?r:void 0,acceptedFormats:t.acceptedFormats,onUploadFiles:function(e){o({key:n,value:e})},customUploadIcon:t.customUploadIcon,customDeleteIcon:t.customDeleteIcon,isInverted:i})}(r);default:return null}}))))),(p||(null==G?void 0:G.message))&&F.default.createElement(U,null,(null==G?void 0:G.message)&&!oe&&F.default.createElement(P,{textColor:(null==G?void 0:G.isError)?r.getColors(de).error:C?r.getColors(de).text.copyInverted:r.getColors(de).text.copy},G.message||""),p&&F.default.createElement(V,null,F.default.createElement(u.Actions,{primary:b?b({isInverted:C,isSubmitting:ne,handleSubmit:ee}):F.default.createElement(s.Button.View,e.__assign({as:"button",onClick:ee},{type:"submit"}),F.default.createElement(s.Button.Label,null,"Send mail"))})))))}));exports.DynamicForm=G;
|
|
2
2
|
//# sourceMappingURL=sections.dynamicform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sections.dynamicform.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"],"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"],"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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sections.dynamicform.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"],"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"],"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"],"mappings":"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"}
|