@blateral/b.kit 2.7.5 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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-2266ee4d.js +2 -0
- package/cjs/FilterBar-2266ee4d.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-ce2084d6.js +2 -0
- package/cjs/MultiselectDropdown-ce2084d6.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-f9e957c1.js +460 -0
- package/esm/FilterBar-f9e957c1.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-10ab18cf.js +296 -0
- package/esm/MultiselectDropdown-10ab18cf.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 +24 -24
- package/esm/sections.news.js +17 -18
- package/esm/sections.news.js.map +1 -1
- package/esm/sections.pois.js +282 -145
- 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/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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterBar-2266ee4d.js","sources":["../src/components/blocks/POIFacts.tsx","../src/components/blocks/POICard.tsx","../src/components/blocks/Portal.tsx","../node_modules/fast-deep-equal/react.js","../src/components/blocks/FilterBar.tsx"],"sourcesContent":["import Check from 'components/base/icons/Check';\nimport { copyStyle } from 'components/typography/Copy';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { getColors as color, spacings } from 'utils/styles';\n\nconst View = styled.div`\n display: inline-flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge * 2}px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst FactsWrapper = styled.div`\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge * 2}px;\n`;\n\nconst Fact = styled.span<{ isInverted?: boolean }>`\n display: inline-flex;\n align-items: center;\n ${copyStyle('copy', 'medium')}\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.copyInverted : color(theme).text.copy};\n\n & > * + * {\n margin-left: ${spacings.nudge * 0.5}px;\n }\n`;\n\nconst POIFacts: React.FC<{\n facts: string[];\n customFact?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n }) => React.ReactNode;\n isInverted?: boolean;\n}> = ({ facts, customFact, isInverted }) => {\n return (\n <View>\n {facts.map((fact, i) => (\n <FactsWrapper key={'tag_' + i}>\n {customFact ? (\n customFact({\n key: `headtag-${i}`,\n name: fact || '',\n isInverted: isInverted,\n })\n ) : (\n <Fact isInverted={isInverted}>\n <Check />\n <span>{fact}</span>\n </Fact>\n )}\n </FactsWrapper>\n ))}\n </View>\n );\n};\n\nexport default POIFacts;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport POIFacts from 'components/blocks/POIFacts';\nimport Copy from 'components/typography/Copy';\nimport { isValidArray } from 'utils/arrays';\nimport {\n getColors as color,\n getGlobals as global,\n mq,\n spacings,\n} from 'utils/styles';\nimport InfoList, { Info } from './InfoList';\n\nconst View = styled.div<{ isInverted?: boolean }>`\n border: 1px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n padding: ${spacings.nudge * 2}px;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Title = styled(Copy)`\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Description = styled(Copy)`\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 4; /* number of lines to show */\n line-clamp: 4;\n -webkit-box-orient: vertical;\n`;\n\nconst Body = styled.div<{ isInverted?: boolean }>`\n display: flex;\n flex-direction: row;\n /* align-items: flex-start; */\n\n @media ${mq.semilarge} {\n margin-left: -${spacings.spacer}px;\n margin-right: -${spacings.spacer}px;\n\n & > * + * {\n border-left: 1px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n }\n }\n`;\n\nconst Col = styled.div`\n flex: 1 0 100%;\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.semilarge} {\n flex: 1 0 60%;\n padding: 0 ${spacings.spacer}px;\n }\n\n @media ${mq.large} {\n flex: 1 0 ${(2 / 3) * 100}%;\n }\n`;\n\nconst InfoCol = styled(Col)`\n display: none;\n margin-bottom: ${spacings.nudge * 2}px;\n\n @media ${mq.semilarge} {\n display: block;\n flex: 1 0 40%;\n }\n\n @media ${mq.large} {\n display: block;\n flex: 1 0 ${(1 / 3) * 100}%;\n }\n`;\n\nconst Action = styled.div``;\n\nexport type POILocation = {\n address: string;\n street: string;\n postalCode: string;\n city: string;\n coordinates?: { lat: number; long: number };\n mail: string;\n phone: string;\n web: string;\n};\n\nexport type POIContact = {\n name: string;\n position: string;\n street: string;\n postalCode: string;\n city: string;\n mail: string;\n phone: string;\n};\n\nexport interface POICardProps {\n /** Invert text and background for use on dark sections */\n isInverted?: boolean;\n\n /** POI name */\n name: string;\n\n /** Short POI description text (RichText) */\n shortDescription?: string;\n\n /** Array of additional POI informations */\n infos?: Info[];\n\n /** Array of POI facts */\n facts?: string[];\n\n /** Function to inject custom fact node */\n customFact?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n }) => React.ReactNode;\n\n /** Function to inject custom action node */\n action?: (isInverted?: boolean) => React.ReactNode;\n}\n\nconst POICard: React.FC<POICardProps> = ({\n isInverted,\n name,\n shortDescription,\n facts,\n infos,\n customFact,\n action,\n}) => {\n const hasFacts = isValidArray(facts, false);\n const hasInfos = isValidArray(infos, false);\n\n return (\n <View isInverted={isInverted}>\n {name && (\n <Title type=\"copy-b\" size=\"big\" isInverted={isInverted}>\n {name}\n </Title>\n )}\n {(hasFacts || shortDescription || hasInfos || action) && (\n <Body isInverted={isInverted}>\n <Col>\n {isValidArray(facts, false) && (\n <POIFacts\n facts={facts}\n isInverted={isInverted}\n customFact={customFact}\n />\n )}\n {shortDescription && (\n <Description\n isInverted={isInverted}\n innerHTML={shortDescription}\n />\n )}\n {action && <Action>{action(isInverted)}</Action>}\n </Col>\n {isValidArray(infos, false) && (\n <InfoCol>\n <InfoList\n isInverted={isInverted}\n items={[\n {\n items: infos,\n },\n ]}\n />\n </InfoCol>\n )}\n </Body>\n )}\n </View>\n );\n};\n\nexport default POICard;\n","import { FC, ReactNode, useEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\n\nconst Portal: FC<{\n isVisible?: boolean;\n root?: HTMLElement;\n children?: ReactNode;\n}> = ({ isVisible, root, children }) => {\n const rootRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n rootRef.current = root || document.body;\n }, [root]);\n\n return isVisible && rootRef.current\n ? createPortal(children, rootRef.current)\n : null;\n};\nexport default Portal;\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n continue;\n }\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","import * as Icons from 'components/base/icons/Icons';\nimport FilterField from 'components/fields/FilterField';\nimport MultiselectDropdown from 'components/fields/MultiselectDropdown';\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport { isValidArray } from 'hooks';\nimport React, {\n FC,\n Fragment,\n ReactNode,\n SyntheticEvent,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport styled from 'styled-components';\nimport {\n mq,\n spacings,\n getColors as color,\n getGlobals as global,\n withRange,\n} from 'utils/styles';\nimport Portal from './Portal';\nimport Pointer from 'components/buttons/Pointer';\nimport equal from 'fast-deep-equal/react';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport { getFormFieldTextSize } from 'utils/formFieldText';\n\nconst FilterView = styled.div`\n display: inline-block;\n`;\n\nconst TextFilter = styled(FilterField)<{ hasBorders?: boolean }>`\n min-height: 45px;\n height: 45px;\n background: ${({ theme }) => color(theme).elementBg.light};\n border: ${({ hasBorders }) => (!hasBorders ? 'none' : undefined)};\n`;\n\nconst Select = styled(MultiselectDropdown)<{ hasBorders?: boolean }>`\n min-width: 220px;\n min-height: 45px;\n\n button,\n ul {\n border: ${({ hasBorders }) => (!hasBorders ? 'none' : undefined)};\n background: ${({ theme }) => color(theme).elementBg.light};\n }\n`;\n\nconst OverlayToggleView = styled.button<{ isInverted?: boolean }>`\n width: 250px;\n height: 45px;\n\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n padding: ${spacings.nudge}px;\n background: ${({ theme }) => color(theme).elementBg.light};\n\n ${copyStyle('copy', 'small')}\n line-height: normal;\n /** Clamping min font size to 16px to prevent browser zooming */\n ${({ theme }) => withRange(getFormFieldTextSize(theme), 'font-size')}\n\n border: none;\n outline: none;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n cursor: pointer;\n\n transition: all ease-in-out 0.2s;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n\n @media ${mq.medium} {\n display: none;\n }\n\n &:focus {\n text-decoration: underline;\n box-shadow: 0px 8px 16px\n ${({ isInverted }) =>\n isInverted\n ? 'rgba(255, 255, 255, 0.25)'\n : 'rgba(0, 0, 0, 0.25)'};\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n box-shadow: none;\n }\n`;\n\nconst Counter = styled(Copy)`\n position: relative;\n background: ${({ theme }) => color(theme).text.default};\n color: ${({ theme }) => color(theme).text.inverted};\n line-height: normal;\n\n max-height: 20px;\n max-width: 20px;\n\n height: 20px;\n width: 20px;\n\n border-radius: 50px;\n\n margin-left: ${spacings.nudge * 2}px;\n\n & > * {\n position: absolute;\n top: 50%;\n left: 50%;\n\n transform: translate(-50%, -50%);\n }\n`;\n\nconst Indicator = styled.span`\n display: flex;\n align-items: center;\n pointer-events: none;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst Icon = styled.div`\n display: flex;\n align-items: center;\n padding-left: ${spacings.nudge}px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n`;\n\nconst Label = styled.span`\n display: flex;\n align-items: center;\n user-select: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst OverlayToggle: FC<{\n isInverted?: boolean;\n label: string;\n onClick?: (ev: SyntheticEvent<HTMLButtonElement>) => void;\n icon?: (isInverted?: boolean) => ReactNode;\n indicator?: () => ReactNode;\n selected?: number;\n className?: string;\n}> = ({ isInverted, label, selected, onClick, icon, indicator, className }) => {\n const iconElement = icon?.(isInverted);\n const { colors } = useLibTheme();\n\n return (\n <OverlayToggleView\n isInverted={isInverted}\n onClick={onClick}\n className={className}\n >\n <Label>\n {iconElement && <Icon>{iconElement}</Icon>}\n <span>{label}</span>\n </Label>\n\n <Indicator>\n <Counter size=\"small\">\n <span>{selected || 0}</span>\n </Counter>\n {indicator?.()}\n {!indicator && (\n <Icons.AngleDown iconColor={colors.elementBg.dark} />\n )}\n </Indicator>\n </OverlayToggleView>\n );\n};\n\nconst DesktopFilters = styled.div`\n display: none;\n\n @media ${mq.medium} {\n display: flex;\n flex-direction: row-reverse;\n align-items: center;\n justify-content: flex-end;\n\n & > * {\n width: 220px;\n }\n\n & > * + * {\n margin-right: ${spacings.nudge}px;\n }\n }\n`;\n\nconst MobileBarStage = styled.div`\n position: fixed;\n bottom: 0;\n left: 0;\n top: 0;\n height: 100vh;\n width: 100vw;\n`;\n\nconst MobileBarBackdrop = styled.div`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n background-color: ${({ theme }) => color(theme).elementBg.light};\n opacity: 0.8;\n z-index: 0;\n`;\n\nconst MobileBarContent = styled.div`\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n max-height: 90vh;\n z-index: 0;\n overflow-y: auto;\n\n padding: ${spacings.nudge * 2}px;\n background-color: ${({ theme }) => color(theme).elementBg.light};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n`;\n\nconst FilterBarHead = styled(Copy)`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n margin-bottom: ${spacings.nudge * 3}px;\n`;\n\nconst FilterBarCloseBtn = styled.button`\n flex: 0 0 auto;\n\n display: inline-block;\n background: none;\n border: none;\n padding: 0;\n margin: 0;\n\n cursor: pointer;\n`;\n\nconst MobileBarMain = styled.div`\n display: flex;\n flex-direction: column;\n\n & > * {\n width: 100%;\n }\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst MobileBarSubmitPointer = styled(Pointer.View)`\n width: auto;\n margin-right: auto;\n margin-top: ${spacings.nudge * 3}px;\n`;\n\nexport interface FilterBarProps {\n isInverted?: boolean;\n hasBorders?: boolean;\n value?: FilterState;\n onChange?: (filters: FilterState) => void;\n toggleLabel?: string;\n mobileSubmitLabel?: string;\n categoryFilter?: {\n label?: string;\n resetLabel?: string;\n items?: Array<{\n value: string;\n label: string;\n }>;\n };\n textFilter?: {\n placeholder?: string;\n icon?: (isInverted?: boolean) => React.ReactNode;\n submitIcon?: (isInverted?: boolean) => React.ReactNode;\n clearIcon?: (isInverted?: boolean) => React.ReactNode;\n };\n closeIcon?: (isInverted?: boolean) => React.ReactNode;\n filterIcon?: (isInverted?: boolean) => React.ReactNode;\n indicator?: (props: {\n isOpen: boolean;\n isDisabled?: boolean;\n }) => React.ReactNode;\n}\n\nexport interface FilterState {\n textFilter?: string;\n categoryFilter?: string[];\n}\n\nconst FilterBar: FC<FilterBarProps & { className?: string }> = ({\n isInverted,\n hasBorders,\n value,\n onChange,\n mobileSubmitLabel = 'Apply filters',\n toggleLabel,\n categoryFilter,\n textFilter,\n closeIcon,\n filterIcon,\n indicator,\n className,\n}) => {\n const [filters, setFilters] = useState<FilterState>(\n value || {\n textFilter: '',\n categoryFilter: [],\n }\n );\n const lastFilters = useRef<FilterState>(filters);\n\n const [isMobileBarOpen, setIsMobileBarOpen] = useState(false);\n const [mobileTextFilter, setMobileTextFilter] = useState(\n filters.textFilter || ''\n );\n const [mobileCategoryFilter, setMobileCategoryFilter] = useState(\n filters.categoryFilter || []\n );\n\n const handleMobileBarSubmit = () => {\n setIsMobileBarOpen(false);\n setFilters({\n textFilter: mobileTextFilter,\n categoryFilter: mobileCategoryFilter,\n });\n };\n\n const handleMobileBarClose = () => {\n setIsMobileBarOpen(false);\n setMobileCategoryFilter(filters.categoryFilter || []);\n setMobileTextFilter(filters.textFilter || '');\n };\n\n useEffect(() => {\n setMobileCategoryFilter(filters.categoryFilter || []);\n setMobileTextFilter(filters.textFilter || '');\n }, [filters]);\n\n useEffect(() => {\n if (!equal(filters, value)) {\n onChange?.(filters);\n }\n }, [filters, onChange, value]);\n\n useEffect(() => {\n if (value && !equal(value, lastFilters.current)) {\n setFilters(value);\n lastFilters.current = value;\n }\n }, [value]);\n\n const overallSelected =\n (filters?.categoryFilter?.length || 0) + (filters.textFilter ? 1 : 0);\n\n const closeIconElement = closeIcon?.(isInverted) || (\n <Icons.Cross width={32} height={32} />\n );\n\n return (\n <Fragment>\n <FilterView className={className}>\n <OverlayToggle\n label={toggleLabel || ''}\n selected={overallSelected}\n onClick={() => setIsMobileBarOpen((prev) => !prev)}\n icon={filterIcon}\n indicator={\n indicator\n ? () =>\n indicator({\n isOpen: false,\n isDisabled: false,\n })\n : undefined\n }\n />\n <DesktopFilters>\n {textFilter && (\n <TextFilter\n isInverted={isInverted}\n icon={textFilter.icon}\n submitIcon={textFilter.submitIcon}\n clearIcon={textFilter.clearIcon}\n placeholder={textFilter.placeholder}\n value={filters.textFilter}\n onSubmit={(value) => {\n setFilters((prev) => ({\n ...prev,\n textFilter: value,\n }));\n }}\n hasBorders={hasBorders}\n />\n )}\n {categoryFilter &&\n isValidArray(categoryFilter?.items, false) && (\n <Select\n isInverted={isInverted}\n items={categoryFilter.items}\n placeholder={categoryFilter.label}\n icon={filterIcon}\n indicator={indicator}\n resetLabel={categoryFilter.resetLabel}\n onChange={(value) =>\n setFilters((prev) => ({\n ...prev,\n categoryFilter: value,\n }))\n }\n selectedItems={filters.categoryFilter}\n hasBorders={hasBorders}\n />\n )}\n </DesktopFilters>\n </FilterView>\n <Portal isVisible={isMobileBarOpen}>\n <MobileBarStage>\n <MobileBarBackdrop onClick={handleMobileBarClose} />\n <MobileBarContent>\n <FilterBarHead>\n <Copy type=\"copy-b\" size=\"big\">\n {toggleLabel}\n </Copy>\n {closeIconElement && (\n <FilterBarCloseBtn\n onClick={handleMobileBarClose}\n >\n {closeIconElement}\n </FilterBarCloseBtn>\n )}\n </FilterBarHead>\n <MobileBarMain>\n {textFilter && (\n <FilterField\n icon={textFilter.icon}\n submitIcon={textFilter.submitIcon}\n clearIcon={textFilter.clearIcon}\n placeholder={textFilter.placeholder}\n value={mobileTextFilter}\n onSubmit={setMobileTextFilter}\n />\n )}\n {categoryFilter &&\n isValidArray(categoryFilter?.items, false) && (\n <MultiselectDropdown\n inlined\n items={categoryFilter.items}\n placeholder={categoryFilter.label}\n icon={filterIcon}\n indicator={indicator}\n resetLabel={categoryFilter.resetLabel}\n selectedItems={mobileCategoryFilter}\n onChange={setMobileCategoryFilter}\n />\n )}\n {mobileSubmitLabel && (\n <MobileBarSubmitPointer\n onClick={handleMobileBarSubmit}\n >\n <Pointer.Label>\n {mobileSubmitLabel}\n </Pointer.Label>\n <Pointer.Icon>\n <Icons.AngleRight />\n </Pointer.Icon>\n </MobileBarSubmitPointer>\n )}\n </MobileBarMain>\n </MobileBarContent>\n </MobileBarStage>\n </Portal>\n </Fragment>\n );\n};\n\nexport default FilterBar;\n"],"names":["View","styled","div","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","spacings","nudge","FactsWrapper","templateObject_2","Fact","span","templateObject_3","copyStyle","_a","theme","isInverted","color","text","copyInverted","copy","POIFacts","facts","customFact","React","createElement","map","fact","i","key","concat","name","Check","elementBg","light","dark","global","sections","edgeRadius","Title","Copy","Description","Body","templateObject_4","mq","semilarge","spacer","Col","templateObject_5","large","InfoCol","templateObject_6","Action","templateObject_7","Portal","isVisible","root","children","rootRef","useRef","useEffect","current","document","body","createPortal","react","equal","a","b","constructor","length","keys","Array","isArray","RegExp","source","flags","valueOf","Object","prototype","toString","hasOwnProperty","call","$$typeof","FilterView","TextFilter","FilterField","hasBorders","undefined","Select","MultiselectDropdown","OverlayToggleView","button","withRange","getFormFieldTextSize","medium","Counter","default","inverted","Indicator","Icon","Label","templateObject_8","OverlayToggle","label","selected","onClick","icon","indicator","className","iconElement","colors","useLibTheme","size","Icons","iconColor","DesktopFilters","templateObject_9","MobileBarStage","templateObject_10","MobileBarBackdrop","templateObject_11","MobileBarContent","templateObject_12","FilterBarHead","templateObject_13","FilterBarCloseBtn","templateObject_14","MobileBarMain","MobileBarSubmitPointer","Pointer","templateObject_16","value","onChange","_c","mobileSubmitLabel","toggleLabel","categoryFilter","textFilter","closeIcon","filterIcon","_d","useState","filters","setFilters","lastFilters","_e","isMobileBarOpen","setIsMobileBarOpen","_f","mobileTextFilter","setMobileTextFilter","_g","mobileCategoryFilter","setMobileCategoryFilter","handleMobileBarClose","overallSelected","_b","closeIconElement","width","height","Fragment","prev","isOpen","isDisabled","submitIcon","clearIcon","placeholder","onSubmit","__assign","isValidArray","items","resetLabel","selectedItems","type","inlined","AngleRight","shortDescription","infos","action","hasFacts","hasInfos","innerHTML","InfoList"],"mappings":"mqBAMMA,EAAOC,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,iBAAAC,YAAA,eAAGJ,CAAUK,IAAAA,EAAAC,EAAAA,qBAAA,CAAA,mGAAA,0BAAA,yDAAA,gBAAA,CAAA,mGAKU,0BACK,yDAGE,kBAJrBC,EAAQA,SAACC,MACS,EAAjBD,EAAAA,SAASC,MAGU,EAAjBD,EAAAA,SAASC,OAIzBC,EAAeT,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,yBAAAC,YAAA,eAAGJ,CAAUU,IAAAA,EAAAJ,EAAAA,qBAAA,CAAA,sBAAA,0BAAA,SAAA,CAAA,sBACE,0BACK,WADnBC,EAAQA,SAACC,MACS,EAAjBD,WAASC,OAGvBG,EAAOX,EAAAA,QAAOY,KAAVV,WAAA,CAAAC,YAAA,iBAAAC,YAAA,eAAGJ,CAAqCa,IAAAA,EAAAP,EAAAA,qBAAA,CAAA,8DAAA,gBAAA,8CAAA,gBAAA,CAAA,8DAGjB,gBAE2C,8CAGjC,kBALrCQ,EAASA,UAAC,OAAQ,WACX,SAACC,OAAEC,EAAKD,EAAAC,MACb,OADyBD,EAAAE,WACZC,EAAAA,UAAMF,GAAOG,KAAKC,aAAeF,EAAAA,UAAMF,GAAOG,KAAKE,OAGhC,GAAjBd,EAAQA,SAACC,OAI1Bc,EAQD,SAACP,GAAE,IAAAQ,UAAOC,EAAUT,EAAAS,WAAEP,EAAUF,EAAAE,WACjC,OACIQ,EAAA,QAAAC,cAAC3B,EAAI,KACAwB,EAAMI,KAAI,SAACC,EAAMC,GAAM,OACpBJ,EAAC,QAAAC,cAAAjB,EAAa,CAAAqB,IAAK,OAASD,GACvBL,EACGA,EAAW,CACPM,IAAK,WAAWC,OAAAF,GAChBG,KAAMJ,GAAQ,GACdX,WAAYA,IAGhBQ,EAAAA,sBAACd,EAAI,CAACM,WAAYA,GACdQ,UAAAC,cAACO,EAADA,MAAS,MACTR,EAAAA,QAAOC,cAAA,OAAA,KAAAE,UC5C7B7B,EAAOC,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,gBAAAC,YAAA,gBAAGJ,sMAAoC,oCAKJ,mBACZ,2BACoC,oEAI7B,mBAT9B,SAACe,OAAEC,EAAKD,EAAAC,MACN,OADkBD,EAAAE,WAEZC,EAAAA,UAAMF,GAAOkB,UAAUC,MACvBjB,EAAAA,UAAMF,GAAOkB,UAAUE,OACT,EAAjB7B,WAASC,OACH,SAACO,GAAE,IAAAC,EAAKD,EAAAC,MAAO,OAAAqB,aAAOrB,GAAOsB,SAASC,aAIpB,EAAjBhC,EAAQA,SAACC,OAIzBgC,EAAQxC,EAAM,QAACyC,QAAVvC,WAAA,CAAAC,YAAA,iBAAAC,YAAA,gBAAGJ,CAAYU,IAAAA,EAAAJ,EAAAA,qBAAA,CAAA,uPAAA,gBAAA,CAAA,uPASc,kBAAD,EAAjBC,EAAQA,SAACC,OAIzBkC,EAAc1C,EAAM,QAACyC,QAAVvC,WAAA,CAAAC,YAAA,uBAAAC,YAAA,gBAAGJ,CAAYa,IAAAA,EAAAP,uBAAA,CAAA,uMAAA,CAAA,0MAS1BqC,EAAO3C,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,gBAAAC,YAAA,gBAAGJ,CAAU4C,IAAAA,EAAAtC,EAAAA,qBAAA,CAAA,oGAAA,6BAAA,+BAAA,mFAAA,yBAAA,CAA0B,oGAKxB,6BACc,+BACC,mFAOa,2BATxCuC,EAAAA,GAAGC,UACQvC,EAAQA,SAACwC,OACRxC,EAAAA,SAASwC,QAIhB,SAAChC,OAAEC,EAAKD,EAAAC,MACN,OADkBD,EAAAE,WAEZC,EAAAA,UAAMF,GAAOkB,UAAUC,MACvBjB,EAAAA,UAAMF,GAAOkB,UAAUE,QAK3CY,EAAMhD,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,eAAAC,YAAA,gBAAGJ,CAAUiD,IAAAA,EAAA3C,EAAAA,qBAAA,CAAA,iEAAA,4BAAA,kDAAA,4BAAA,yBAAA,eAAA,CAAA,iEAIkB,4BAGf,kDAEW,4BAGf,yBACY,iBATM,EAAjBC,EAAAA,SAASC,MAGlBqC,EAAAA,GAAGC,UAEKvC,EAAAA,SAASwC,OAGjBF,EAAAA,GAAGK,MACK,EAAI,EAAK,KAIxBC,EAAUnD,EAAM,QAACgD,GAAV9C,WAAA,CAAAC,YAAA,mBAAAC,YAAA,gBAAGJ,CAAWoD,IAAAA,EAAA9C,EAAAA,qBAAA,CAAA,4CAAA,qBAAA,4EAAA,kDAAA,eAAA,CAAA,4CAEY,qBAEd,4EAKJ,kDAEY,iBATK,EAAjBC,WAASC,MAEjBqC,EAAAA,GAAGC,UAKHD,EAAEA,GAACK,MAEK,EAAI,EAAK,KAIxBG,EAASrD,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,kBAAAC,YAAA,gBAAGJ,CAAUsD,IAAAA,EAAAhD,uBAAA,CAAA,IAAA,CAAA,OCnGnBiD,EAID,SAACxC,GAAE,IAAAyC,cAAWC,EAAI1C,EAAA0C,KAAEC,EAAQ3C,EAAA2C,SACvBC,EAAUC,SAA2B,MAM3C,OAJAC,EAAAA,WAAU,WACNF,EAAQG,QAAUL,GAAQM,SAASC,OACpC,CAACP,IAEGD,GAAaG,EAAQG,QACtBG,EAAAA,aAAaP,EAAUC,EAAQG,SAC/B,MCVVI,GAAiB,SAASC,EAAMC,EAAGC,GACjC,GAAID,IAAMC,EAAG,OAAO,EAEpB,GAAID,GAAKC,GAAiB,iBAALD,GAA6B,iBAALC,EAAe,CACtDD,GAAAA,EAAEE,cAAgBD,EAAEC,YAAa,OAAO,EAE5C,IAAIC,EAAQ1C,EAAG2C,EACf,GAAIC,MAAMC,QAAQN,GAAI,CAEpB,IADAG,EAASH,EAAEG,SACGF,EAAEE,OAAQ,OAAO,EAC1B1C,IAAAA,EAAI0C,EAAgB,GAAR1C,KACf,IAAKsC,EAAMC,EAAEvC,GAAIwC,EAAExC,IAAK,OAAO,EACjC,OAAO,EAKLuC,GAAAA,EAAEE,cAAgBK,OAAQ,OAAOP,EAAEQ,SAAWP,EAAEO,QAAUR,EAAES,QAAUR,EAAEQ,MAC5E,GAAIT,EAAEU,UAAYC,OAAOC,UAAUF,QAAS,OAAOV,EAAEU,YAAcT,EAAES,UACrE,GAAIV,EAAEa,WAAaF,OAAOC,UAAUC,SAAU,OAAOb,EAAEa,aAAeZ,EAAEY,WAIpEV,IADJA,GADAC,EAAOO,OAAOP,KAAKJ,IACLG,UACCQ,OAAOP,KAAKH,GAAGE,OAAQ,OAAO,EAExC1C,IAAAA,EAAI0C,EAAgB,GAAR1C,KACf,IAAKkD,OAAOC,UAAUE,eAAeC,KAAKd,EAAGG,EAAK3C,IAAK,OAAO,EAEhE,IAAKA,EAAI0C,EAAgB,GAAR1C,KAAY,CAC3B,IAAIC,EAAM0C,EAAK3C,GAEf,IAAY,WAARC,IAAoBsC,EAAEgB,YAOrBjB,EAAMC,EAAEtC,GAAMuC,EAAEvC,IAAO,OAAO,EAGrC,OAAO,EAIT,OAAOsC,GAAIA,GAAKC,GAAIA,GCvBhBgB,GAAarF,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,wBAAAC,YAAA,eAAGJ,CAAUK,IAAAA,EAAAC,uBAAA,CAAA,kCAAA,CAAA,qCAIvBgF,GAAatF,EAAM,QAACuF,eAAVrF,WAAA,CAAAC,YAAA,wBAAAC,YAAA,eAAGJ,CAAmBU,IAAAA,EAAAJ,EAAAA,qBAAA,CAAA,+DAAA,kBAAA,OAAA,CAA0B,+DAGH,kBACO,UADlD,SAACS,GAAE,IAAAC,EAAKD,EAAAC,MAAO,OAAAE,YAAMF,GAAOkB,UAAUC,SAC1C,SAACpB,GAAmB,OAAPA,EAAAyE,gBAA+BC,EAAT,UAG3CC,GAAS1F,EAAM,QAAC2F,uBAAVzF,WAAA,CAAAC,YAAA,oBAAAC,YAAA,eAAGJ,CAA2Ba,IAAAA,EAAAP,EAAAA,qBAAA,CAAA,4FAAA,0BAAA,cAAA,CAA0B,4FAMI,0BACP,iBAD/C,SAACS,GAAmB,OAAPA,EAAAyE,gBAA+BC,EAAT,UAC/B,SAAC1E,GAAE,IAAAC,EAAKD,EAAAC,MAAO,OAAAE,YAAMF,GAAOkB,UAAUC,SAItDyD,GAAoB5F,EAAAA,QAAO6F,OAAV3F,WAAA,CAAAC,YAAA,+BAAAC,YAAA,eAAGJ,CAAa4C,IAAAA,EAAAtC,EAAAA,qBAAA,CAAA,yKAAA,wBAAA,YAAA,yGAAA,iEAAA,6GAAA,4BAAA,0IAAA,6IAAA,CAA0B,yKASpC,wBACgC,YAE7B,yGAGwC,iEAIH,6GAMhC,4BAGf,0IAUqB,+IA7B5BC,EAAQA,SAACC,OACN,SAACO,GAAE,IAAAC,EAAKD,EAAAC,MAAO,OAAAE,YAAMF,GAAOkB,UAAUC,QAElDrB,EAASA,UAAC,OAAQ,UAGlB,SAACC,GAAE,IAAAC,EAAKD,EAAAC,MAAO8E,OAAAA,EAASA,UAACC,EAAoBA,qBAAC/E,GAAQ,gBAIvC,SAACD,GAAE,IAAAC,EAAKD,EAAAC,MAAO,OAAAqB,aAAOrB,GAAOsB,SAASC,aAMpChC,EAAQA,SAACC,MAGnBqC,EAAEA,GAACmD,QAOF,SAACjF,GACC,OADWA,EAAAE,WAEL,4BACA,yBAUhBgF,GAAUjG,EAAM,QAACyC,QAAVvC,WAAA,CAAAC,YAAA,qBAAAC,YAAA,eAAGJ,CAAYiD,IAAAA,EAAA3C,EAAAA,qBAAA,CAAA,8CAAA,iBAAA,qKAAA,gJAAA,CAAA,8CAE8B,iBACJ,qKAWjB,mJAZnB,SAACS,GAAE,IAAAC,EAAKD,EAAAC,MAAO,OAAAE,YAAMF,GAAOG,KAAK+E,WACtC,SAACnF,GAAE,IAAAC,EAAKD,EAAAC,MAAO,OAAAE,YAAMF,GAAOG,KAAKgF,WAWV,EAAjB5F,EAAQA,SAACC,OAWtB4F,GAAYpG,EAAAA,QAAOY,KAAVV,WAAA,CAAAC,YAAA,uBAAAC,YAAA,eAAGJ,CAAWoD,IAAAA,EAAA9C,EAAAA,qBAAA,CAAA,sHAAA,gBAAA,CAAA,sHAMQ,kBAAdC,EAAQA,SAACC,OAI1B6F,GAAOrG,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,kBAAAC,YAAA,eAAGJ,CAAUsD,IAAAA,EAAAhD,EAAAA,qBAAA,CAAA,qEAAA,6EAAA,CAAA,qEAGW,+EAAdC,EAAQA,SAACC,OAMvB8F,GAAQtG,EAAAA,QAAOY,KAAVV,WAAA,CAAAC,YAAA,mBAAAC,YAAA,eAAGJ,CAAWuG,IAAAA,EAAAjG,EAAAA,qBAAA,CAAA,uNAAA,gBAAA,CAAA,uNAWY,kBAAdC,EAAQA,SAACC,OAI1BgG,GAQD,SAACzF,GAAE,IAAAE,eAAYwF,UAAOC,aAAUC,EAAO5F,EAAA4F,QAAEC,EAAI7F,EAAA6F,KAAEC,EAAS9F,EAAA8F,UAAEC,EAAS/F,EAAA+F,UAC9DC,EAAcH,MAAAA,SAAAA,EAAO3F,GACnB+F,EAAWC,uBAEnB,OACIxF,EAAA,QAAAC,cAACkE,GAAiB,CACd3E,WAAYA,EACZ0F,QAASA,EACTG,UAAWA,GAEXrF,UAAAC,cAAC4E,GAAK,KACDS,GAAetF,EAAA,QAAAC,cAAC2E,GAAI,KAAEU,GACvBtF,EAAAA,QAAOC,cAAA,OAAA,KAAA+E,IAGXhF,EAAA,QAAAC,cAAC0E,GAAS,KACN3E,UAAAC,cAACuE,GAAO,CAACiB,KAAK,SACVzF,EAAO,QAAAC,cAAA,OAAA,KAAAgF,GAAY,IAEtBG,MAAAA,OAAS,EAATA,KACCA,GACEpF,EAAAA,QAAAC,cAACyF,aAAgBC,UAAWJ,EAAO9E,UAAUE,UAO3DiF,GAAiBrH,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,4BAAAC,YAAA,eAAGJ,CAAUsH,IAAAA,EAAAhH,EAAAA,qBAAA,CAAA,sCAAA,iPAAA,2BAAA,CAAA,sCAGX,iPAWoB,6BAX7BuC,EAAEA,GAACmD,OAWYzF,EAAAA,SAASC,OAK/B+G,GAAiBvH,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,4BAAAC,YAAA,eAAGJ,CAAUwH,IAAAA,EAAAlH,uBAAA,CAAA,8GAAA,CAAA,iHAS3BmH,GAAoBzH,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,+BAAAC,YAAA,gBAAGJ,CAAU0H,IAAAA,EAAApH,EAAAA,qBAAA,CAAA,qJAAA,2CAAA,CAAA,qJAS+B,8CAA3C,SAACS,GAAE,IAAAC,EAAKD,EAAAC,MAAO,OAAAE,YAAMF,GAAOkB,UAAUC,SAKxDwF,GAAmB3H,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,8BAAAC,YAAA,gBAAGJ,CAAU4H,IAAAA,EAAAtH,EAAAA,qBAAA,CAAA,4JAAA,8BAAA,yBAAA,OAAA,CAAA,4JASF,8BACkC,yBACE,SAFrC,EAAjBC,EAAAA,SAASC,OACA,SAACO,GAAE,IAAAC,EAAKD,EAAAC,MAAO,OAAAE,YAAMF,GAAOkB,UAAUC,SACzC,SAACpB,GAAE,IAAAC,EAAKD,EAAAC,MAAO,OAAAqB,aAAOrB,GAAOsB,SAASC,cAGrDsF,GAAgB7H,EAAM,QAACyC,QAAVvC,WAAA,CAAAC,YAAA,2BAAAC,YAAA,gBAAGJ,CAAY8H,IAAAA,EAAAxH,EAAAA,qBAAA,CAAA,uIAAA,SAAA,CAAA,uIAMK,WAAD,EAAjBC,EAAQA,SAACC,OAGxBuH,GAAoB/H,EAAAA,QAAO6F,OAAV3F,WAAA,CAAAC,YAAA,+BAAAC,YAAA,gBAAGJ,CAAagI,IAAAA,EAAA1H,uBAAA,CAAA,4JAAA,CAAA,+JAYjC2H,GAAgBjI,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,2BAAAC,YAAA,gBAAGJ,yLAAU,yIASQ,kBAAD,EAAjBO,EAAQA,SAACC,OAIzB0H,GAAyBlI,EAAAA,QAAOmI,EAAAA,QAAQpI,MAAlBG,WAAA,CAAAC,YAAA,oCAAAC,YAAA,gBAAGJ,CAAoBoI,IAAAA,EAAA9H,EAAAA,qBAAA,CAAA,gEAAA,SAAA,CAAA,gEAGf,WAAD,EAAjBC,EAAQA,SAACC,yBAqCoC,SAACO,SAC5DE,eACAuE,EAAUzE,EAAAyE,WACV6C,EAAKtH,EAAAsH,MACLC,EAAQvH,EAAAuH,SACRC,EAAmCxH,EAAAyH,kBAAnCA,OAAiB,IAAAD,EAAG,gBAAeA,EACnCE,EAAW1H,EAAA0H,YACXC,EAAc3H,EAAA2H,eACdC,eACAC,EAAS7H,EAAA6H,UACTC,EAAU9H,EAAA8H,WACVhC,EAAS9F,EAAA8F,UACTC,EAAS/F,EAAA+F,UAEHgC,EAAwBC,EAAQA,SAClCV,GAAS,CACLM,WAAY,GACZD,eAAgB,KAHjBM,EAAOF,EAAA,GAAEG,OAMVC,EAActF,SAAoBoF,GAElCG,EAAwCJ,EAAQA,UAAC,GAAhDK,EAAeD,EAAA,GAAEE,EAAkBF,EAAA,GACpCG,EAA0CP,EAAQA,SACpDC,EAAQL,YAAc,IADnBY,EAAgBD,EAAA,GAAEE,OAGnBC,EAAkDV,EAAQA,SAC5DC,EAAQN,gBAAkB,IADvBgB,EAAoBD,EAAA,GAAEE,OAYvBC,EAAuB,WACzBP,GAAmB,GACnBM,EAAwBX,EAAQN,gBAAkB,IAClDc,EAAoBR,EAAQL,YAAc,KAG9C9E,EAAAA,WAAU,WACN8F,EAAwBX,EAAQN,gBAAkB,IAClDc,EAAoBR,EAAQL,YAAc,MAC3C,CAACK,IAEJnF,EAAAA,WAAU,WACDM,GAAM6E,EAASX,IAChBC,MAAAA,GAAAA,EAAWU,KAEhB,CAACA,EAASV,EAAUD,IAEvBxE,EAAAA,WAAU,WACFwE,IAAUlE,GAAMkE,EAAOa,EAAYpF,WACnCmF,EAAWZ,GACXa,EAAYpF,QAAUuE,KAE3B,CAACA,IAEEwB,IAAAA,YACDC,EAAAd,MAAAA,OAAA,EAAAA,EAASN,qCAAgBnE,SAAU,IAAMyE,EAAQL,WAAa,EAAI,GAEjEoB,GAAmBnB,MAAAA,OAAS,EAATA,EAAY3H,KACjCQ,EAAAA,QAACC,cAAAyF,EAAAA,MAAY,CAAA6C,MAAO,GAAIC,OAAQ,KAGpC,OACIxI,EAAAA,sBAACyI,EAADA,SAAS,KACLzI,EAAA,QAAAC,cAAC2D,GAAU,CAACyB,UAAWA,GACnBrF,EAAA,QAAAC,cAAC8E,GACG,CAAAC,MAAOgC,GAAe,GACtB/B,SAAUmD,EACVlD,QAAS,WAAM,OAAA0C,GAAmB,SAACc,GAAS,OAACA,MAC7CvD,KAAMiC,EACNhC,UACIA,EACM,WACI,OAAAA,EAAU,CACNuD,QAAQ,EACRC,YAAY,UAEpB5E,IAGdhE,EAAAA,QAAAC,cAAC2F,GAAc,KACVsB,GACGlH,EAAAA,QAAAC,cAAC4D,GACG,CAAArE,WAAYA,EACZ2F,KAAM+B,EAAW/B,KACjB0D,WAAY3B,EAAW2B,WACvBC,UAAW5B,EAAW4B,UACtBC,YAAa7B,EAAW6B,YACxBnC,MAAOW,EAAQL,WACf8B,SAAU,SAACpC,GACPY,GAAW,SAACkB,GACLO,OAAAA,WAAAA,EAAAA,SAAA,GAAAP,GACH,CAAAxB,WAAYN,QAGpB7C,WAAYA,IAGnBkD,GACGiC,EAAYA,aAACjC,MAAAA,SAAAA,EAAgBkC,OAAO,IAChCnJ,EAAA,QAAAC,cAACgE,GACG,CAAAzE,WAAYA,EACZ2J,MAAOlC,EAAekC,MACtBJ,YAAa9B,EAAejC,MAC5BG,KAAMiC,EACNhC,UAAWA,EACXgE,WAAYnC,EAAemC,WAC3BvC,SAAU,SAACD,GACP,OAAAY,GAAW,SAACkB,GAASO,OAAAA,WAAAA,EAAAA,SAAA,GACdP,GAAI,CACPzB,eAAgBL,QAGxByC,cAAe9B,EAAQN,eACvBlD,WAAYA,MAKhC/D,UAAAC,cAAC6B,EAAM,CAACC,UAAW4F,GACf3H,EAAAA,QAAAC,cAAC6F,GAAc,KACX9F,EAAA,QAAAC,cAAC+F,GAAiB,CAACd,QAASiD,IAC5BnI,EAAA,QAAAC,cAACiG,GAAgB,KACblG,EAAAA,QAAAC,cAACmG,GAAa,KACVpG,UAACC,cAAAe,EAAAA,KAAK,CAAAsI,KAAK,SAAS7D,KAAK,OACpBuB,GAEJsB,GACGtI,EAAAA,QAACC,cAAAqG,GACG,CAAApB,QAASiD,GAERG,IAIbtI,EAAA,QAAAC,cAACuG,GAAa,KACTU,GACGlH,EAAAA,QAAAC,cAAC6D,cAAW,CACRqB,KAAM+B,EAAW/B,KACjB0D,WAAY3B,EAAW2B,WACvBC,UAAW5B,EAAW4B,UACtBC,YAAa7B,EAAW6B,YACxBnC,MAAOkB,EACPkB,SAAUjB,IAGjBd,GACGiC,EAAYA,aAACjC,MAAAA,OAAc,EAAdA,EAAgBkC,OAAO,IAChCnJ,EAAC,QAAAC,cAAAiE,sBACG,CAAAqF,SACA,EAAAJ,MAAOlC,EAAekC,MACtBJ,YAAa9B,EAAejC,MAC5BG,KAAMiC,EACNhC,UAAWA,EACXgE,WAAYnC,EAAemC,WAC3BC,cAAepB,EACfpB,SAAUqB,IAGrBnB,GACG/G,UAAAC,cAACwG,GACG,CAAAvB,QA1IF,WAC1B0C,GAAmB,GACnBJ,EAAW,CACPN,WAAYY,EACZb,eAAgBgB,MAwIQjI,EAAA,QAAAC,cAACyG,UAAQ7B,MAAK,KACTkC,GAEL/G,EAAC,QAAAC,cAAAyG,EAAAA,QAAQ9B,KAAI,KACT5E,UAAAC,cAACyF,EAAD8D,WAAiB,8BHzVjB,SAAClK,GACrC,IAAAE,eACAe,SACAkJ,qBACA3J,EAAKR,EAAAQ,MACL4J,EAAKpK,EAAAoK,MACL3J,EAAUT,EAAAS,WACV4J,EAAMrK,EAAAqK,OAEAC,EAAWV,EAAAA,aAAapJ,GAAO,GAC/B+J,EAAWX,EAAAA,aAAaQ,GAAO,GAErC,OACI1J,EAAC,QAAAC,cAAA3B,EAAK,CAAAkB,WAAYA,GACbe,GACGP,EAAAA,QAAAC,cAACc,EAAM,CAAAuI,KAAK,SAAS7D,KAAK,MAAMjG,WAAYA,GACvCe,IAGPqJ,GAAYH,GAAoBI,GAAYF,IAC1C3J,EAAAA,QAACC,cAAAiB,EAAK,CAAA1B,WAAYA,GACdQ,UAAAC,cAACsB,EAAG,KACC2H,EAAAA,aAAapJ,GAAO,IACjBE,UAACC,cAAAJ,EACG,CAAAC,MAAOA,EACPN,WAAYA,EACZO,WAAYA,IAGnB0J,GACGzJ,UAACC,cAAAgB,EACG,CAAAzB,WAAYA,EACZsK,UAAWL,IAGlBE,GAAU3J,EAAAA,sBAAC4B,EAAM,KAAE+H,EAAOnK,KAE9B0J,EAAYA,aAACQ,GAAO,IACjB1J,EAAAA,sBAAC0B,EAAO,KACJ1B,EAAAA,QAAAC,cAAC8J,WACG,CAAAvK,WAAYA,EACZ2J,MAAO,CACH,CACIA,MAAOO"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var n=require("./Filter-89286db9.js"),e=require("react"),t=require("styled-components"),i=require("./Copy-a0bc570d.js"),o=require("./styles-13e5d9ac.js"),r=require("./useLazyInput-911b8eda.js");function l(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var a,d,s,u,c=l(e),p=l(t),f=p.default.div.withConfig({displayName:"FilterField__View",componentId:"sc-1reb7yx-0"})(a||(a=n.__makeTemplateObject(["\n display: flex;\n height: 45px;\n border: solid 1px\n ",";\n border-radius: ",";\n\n color: ",";\n\n &:focus-within {\n outline: ",";\n outline-offset: 0;\n }\n\n &:focus-within & > input:not(:focus-visible) {\n outline: none;\n }\n"],["\n display: flex;\n height: 45px;\n border: solid 1px\n ",";\n border-radius: ",";\n\n color: ",";\n\n &:focus-within {\n outline: ",";\n outline-offset: 0;\n }\n\n &:focus-within & > input:not(:focus-visible) {\n outline: none;\n }\n"])),(function(n){var e=n.theme;return n.isInverted?o.getColors(e).elementBg.light:o.getColors(e).elementBg.dark}),(function(n){var e=n.theme;return o.getGlobals(e).sections.edgeRadius}),(function(n){var e=n.theme;return n.isInverted?o.getFonts(e).copy.medium.colorInverted:o.getFonts(e).copy.medium.color}),(function(n){var e=n.theme,t=n.isInverted;return"1px solid ".concat(t?o.getColors(e).primary.inverted:o.getColors(e).primary.default)})),g=p.default.input.withConfig({displayName:"FilterField__Field",componentId:"sc-1reb7yx-1"})(d||(d=n.__makeTemplateObject(["\n flex: 1 1 auto;\n min-width: 20%;\n\n background-color: transparent;\n box-shadow: none;\n border: none;\n border-right: none;\n border-radius: 0px;\n outline: none;\n -webkit-appearance: none;\n color: inherit;\n ","\n line-height: 1;\n\n padding: ","px ","px;\n\n &:not(:first-child) {\n padding-left: 0px;\n }\n\n &:not(:last-child) {\n padding-right: 0px;\n }\n\n &::placeholder {\n color: ",";\n }\n"],["\n flex: 1 1 auto;\n min-width: 20%;\n\n background-color: transparent;\n box-shadow: none;\n border: none;\n border-right: none;\n border-radius: 0px;\n outline: none;\n -webkit-appearance: none;\n color: inherit;\n ","\n line-height: 1;\n\n padding: ","px ","px;\n\n &:not(:first-child) {\n padding-left: 0px;\n }\n\n &:not(:last-child) {\n padding-right: 0px;\n }\n\n &::placeholder {\n color: ",";\n }\n"])),i.copyStyle("copy","medium"),2*o.spacings.nudge,o.spacings.nudge,(function(n){var e=n.theme;return n.isInverted?o.getColors(e).text.subtileInverted:o.getColors(e).text.subtile})),h=p.default.div.withConfig({displayName:"FilterField__Icon",componentId:"sc-1reb7yx-2"})(s||(s=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n padding-right: ","px;\n padding-left: ","px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n"],["\n display: flex;\n align-items: center;\n padding-right: ","px;\n padding-left: ","px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n"])),o.spacings.nudge,2*o.spacings.nudge),m=p.default.button.withConfig({displayName:"FilterField__ClearBtn",componentId:"sc-1reb7yx-3"})(u||(u=n.__makeTemplateObject(["\n flex: 0 0 auto;\n\n display: flex;\n align-items: center;\n background: none;\n border: none;\n cursor: pointer;\n\n padding-right: ","px;\n padding-left: ","px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n\n &:focus {\n text-decoration: underline;\n transform: scale(1.012);\n\n outline: ",";\n outline-offset: -4px;\n outline-style: dashed;\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n & > * {\n height: 20px;\n width: 20px;\n }\n"],["\n flex: 0 0 auto;\n\n display: flex;\n align-items: center;\n background: none;\n border: none;\n cursor: pointer;\n\n padding-right: ","px;\n padding-left: ","px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n\n &:focus {\n text-decoration: underline;\n transform: scale(1.012);\n\n outline: ",";\n outline-offset: -4px;\n outline-style: dashed;\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n & > * {\n height: 20px;\n width: 20px;\n }\n"])),o.spacings.nudge,2*o.spacings.nudge,(function(n){var e=n.theme,t=n.isInverted;return"2px solid ".concat(t?o.getColors(e).primary.inverted:o.getColors(e).primary.default)}));exports.FilterField=function(t){var i=t.isInverted,o=t.value,l=t.initialValue,a=t.placeholder,d=t.onSubmit,s=t.onBlur,u=t.icon,p=t.submitIcon,x=t.clearIcon,b=t.className,v=r.useLazyInput((function(n){null==d||d(n)}),l||""),y=v.update,w=v.value,I=v.forceUpdate;e.useEffect((function(){void 0!==o&&y(o)}),[y,o]);var C=u?u(i):null,_=p?p(i):c.default.createElement(n.Magnifier,{width:20,height:20}),F=x?x(i):c.default.createElement(n.Cross,{width:20,height:20});return c.default.createElement(f,{isInverted:i,className:b},C&&c.default.createElement(h,null,C),c.default.createElement(g,{type:"text",isInverted:i,value:w,placeholder:a,onChange:function(n){var e,t=null===(e=null==n?void 0:n.currentTarget)||void 0===e?void 0:e.value;void 0!==t&&y(t,""===t)},onBlur:s,onKeyDown:function(n){"Enter"===n.key&&I()}}),""===w&&_&&c.default.createElement(h,null,_),""!==w&&F&&c.default.createElement(m,{isInverted:i,"aria-label":"clear filter",onClick:function(){y("",!0)}},F))};
|
|
2
|
+
//# sourceMappingURL=FilterField-7efcacb7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterField-7efcacb7.js","sources":["../src/components/fields/FilterField.tsx"],"sourcesContent":["import React, { FC, useEffect } from 'react';\nimport styled from 'styled-components';\n\nimport { copyStyle } from 'components/typography/Copy';\nimport {\n spacings,\n getColors as color,\n getFonts as font,\n getGlobals as global,\n} from 'utils/styles';\nimport Magnifier from 'components/base/icons/Magnifier';\nimport useLazyInput from 'utils/useLazyInput';\nimport Cross from 'components/base/icons/Cross';\n\nconst View = styled.div<{ isInverted?: boolean }>`\n display: flex;\n height: 45px;\n border: solid 1px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme).copy.medium.colorInverted\n : font(theme).copy.medium.color};\n\n &:focus-within {\n outline: ${({ theme, isInverted }) =>\n `1px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: 0;\n }\n\n &:focus-within & > input:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst Field = styled.input<{ isInverted?: boolean }>`\n flex: 1 1 auto;\n min-width: 20%;\n\n background-color: transparent;\n box-shadow: none;\n border: none;\n border-right: none;\n border-radius: 0px;\n outline: none;\n -webkit-appearance: none;\n color: inherit;\n ${copyStyle('copy', 'medium')}\n line-height: 1;\n\n padding: ${spacings.nudge * 2}px ${spacings.nudge}px;\n\n &:not(:first-child) {\n padding-left: 0px;\n }\n\n &:not(:last-child) {\n padding-right: 0px;\n }\n\n &::placeholder {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).text.subtileInverted\n : color(theme).text.subtile};\n }\n`;\n\nconst Icon = styled.div`\n display: flex;\n align-items: center;\n padding-right: ${spacings.nudge}px;\n padding-left: ${spacings.nudge * 2}px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n`;\n\nconst ClearBtn = styled.button<{ isInverted?: boolean }>`\n flex: 0 0 auto;\n\n display: flex;\n align-items: center;\n background: none;\n border: none;\n cursor: pointer;\n\n padding-right: ${spacings.nudge}px;\n padding-left: ${spacings.nudge * 2}px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n\n &:focus {\n text-decoration: underline;\n transform: scale(1.012);\n\n outline: ${({ theme, isInverted }) =>\n `2px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: -4px;\n outline-style: dashed;\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n & > * {\n height: 20px;\n width: 20px;\n }\n`;\n\nconst FilterField: FC<{\n isInverted?: boolean;\n value?: string;\n initialValue?: string;\n placeholder?: string;\n onSubmit?: (value: string) => void;\n onBlur?: (ev: React.SyntheticEvent<HTMLInputElement>) => void;\n icon?: (isInverted?: boolean) => React.ReactNode;\n submitIcon?: (isInverted?: boolean) => React.ReactNode;\n clearIcon?: (isInverted?: boolean) => React.ReactNode;\n className?: string;\n}> = ({\n isInverted,\n value,\n initialValue,\n placeholder,\n onSubmit,\n onBlur,\n icon,\n submitIcon,\n clearIcon,\n className,\n}) => {\n const {\n update,\n value: getValue,\n forceUpdate,\n } = useLazyInput((value) => {\n onSubmit?.(value);\n }, initialValue || '');\n\n useEffect(() => {\n if (value !== undefined) {\n update(value);\n }\n }, [update, value]);\n\n const iconElement = icon ? icon(isInverted) : null;\n const submitIconElement = submitIcon ? (\n submitIcon(isInverted)\n ) : (\n <Magnifier width={20} height={20} />\n );\n const clearIconElement = clearIcon ? (\n clearIcon(isInverted)\n ) : (\n <Cross width={20} height={20} />\n );\n\n return (\n <View isInverted={isInverted} className={className}>\n {iconElement && <Icon>{iconElement}</Icon>}\n <Field\n type=\"text\"\n isInverted={isInverted}\n value={getValue}\n placeholder={placeholder}\n onChange={(ev) => {\n const newValue = ev?.currentTarget?.value;\n if (newValue !== undefined) {\n update(newValue, newValue === '');\n }\n }}\n onBlur={onBlur}\n onKeyDown={(ev) => {\n if (ev.key === 'Enter') {\n forceUpdate();\n }\n }}\n />\n {getValue === '' && submitIconElement && (\n <Icon>{submitIconElement}</Icon>\n )}\n {getValue !== '' && clearIconElement && (\n <ClearBtn\n isInverted={isInverted}\n aria-label=\"clear filter\"\n onClick={() => {\n update('', true);\n }}\n >\n {clearIconElement}\n </ClearBtn>\n )}\n </View>\n );\n};\n\nexport default FilterField;\n"],"names":["View","styled","div","withConfig","displayName","componentId","_a","theme","isInverted","color","elementBg","light","dark","global","sections","edgeRadius","font","getFonts","copy","medium","colorInverted","primary","inverted","default","Field","input","templateObject_2","__makeTemplateObject","copyStyle","spacings","nudge","text","subtileInverted","subtile","Icon","templateObject_3","ClearBtn","button","value","initialValue","placeholder","onSubmit","onBlur","icon","submitIcon","clearIcon","className","_b","useLazyInput","update","getValue","forceUpdate","useEffect","undefined","iconElement","submitIconElement","React","createElement","Magnifier","width","height","clearIconElement","Cross","type","onChange","ev","newValue","currentTarget","onKeyDown","key","onClick"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var n=require("./Filter-89286db9.js"),e=require("react"),i=require("styled-components"),t=require("./clamp-bd21d587.js"),l=require("./styles-13e5d9ac.js");function a(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}function d(n){if(n&&n.__esModule)return n;var e=Object.create(null);return n&&Object.keys(n).forEach((function(i){if("default"!==i){var t=Object.getOwnPropertyDescriptor(n,i);Object.defineProperty(e,i,t.get?t:{enumerable:!0,get:function(){return n[i]}})}})),e.default=n,Object.freeze(e)}var o=d(e),r=a(i),m={cols:12,gutter:l.spacings.spacer},u=function(n,e,i){return null==n?n:n!==t.clampValue(n,e,i)?void 0:n},v=function(e){return function(t){var a,d,o,r,m=u(t.gutter,0)||0,v=u(null===(a=null==t?void 0:t.medium)||void 0===a?void 0:a.gutter,0),s=u(null===(d=null==t?void 0:t.semilarge)||void 0===d?void 0:d.gutter,0),c=u(null===(o=null==t?void 0:t.large)||void 0===o?void 0:o.gutter,0),g=u(null===(r=null==t?void 0:t.xlarge)||void 0===r?void 0:r.gutter,0),p="grid"===e?"margin-top: -":"padding-top: ",_="grid"===e?"margin-left: -":"padding-left: ";return i.css(F||(F=n.__makeTemplateObject(["\n ","","px;\n ","","px;\n\n ","\n\n ","\n \n ","\n\n ","\n "],["\n ","","px;\n ","","px;\n\n ","\n\n ","\n \n ","\n\n ","\n "])),p,m,_,m,void 0!==v&&i.css(G||(G=n.__makeTemplateObject(["\n @media "," {\n ","","px;\n ","","px;\n }\n "],["\n @media "," {\n ","","px;\n ","","px;\n }\n "])),l.mq.medium,p,v,_,v),void 0!==s&&i.css(E||(E=n.__makeTemplateObject(["\n @media "," {\n ","","px;\n ","","px;\n }\n "],["\n @media "," {\n ","","px;\n ","","px;\n }\n "])),l.mq.semilarge,p,s,_,s),void 0!==c&&i.css(P||(P=n.__makeTemplateObject(["\n @media "," {\n ","","px;\n ","","px;\n }\n "],["\n @media "," {\n ","","px;\n ","","px;\n }\n "])),l.mq.large,p,c,_,c),void 0!==g&&i.css(S||(S=n.__makeTemplateObject(["\n @media "," {\n ","","px;\n ","","px;\n }\n "],["\n @media "," {\n ","","px;\n ","","px;\n }\n "])),l.mq.xlarge,p,g,_,g))}},s=function(n){switch(n){case"top":return"flex-start";case"center":return"center";case"bottom":return"flex-end";default:return}},c=function(e){return function(t){var a,d,o,r,m=s(t.valign),u=s(null===(a=null==t?void 0:t.medium)||void 0===a?void 0:a.valign),v=s(null===(d=null==t?void 0:t.semilarge)||void 0===d?void 0:d.valign),c=s(null===(o=null==t?void 0:t.large)||void 0===o?void 0:o.valign),g=s(null===(r=null==t?void 0:t.xlarge)||void 0===r?void 0:r.valign),p=e?"align-self: ":"align-items: ";return i.css(B||(B=n.__makeTemplateObject(["\n ","",";\n\n ","\n\n ","\n\n ","\n\n ","\n "],["\n ","",";\n\n ","\n\n ","\n\n ","\n\n ","\n "])),p,m||void 0,void 0!==u&&i.css(D||(D=n.__makeTemplateObject(["\n @media "," {\n ","",";\n }\n "],["\n @media "," {\n ","",";\n }\n "])),l.mq.medium,p,u),void 0!==v&&i.css(L||(L=n.__makeTemplateObject(["\n @media "," {\n ","",";\n }\n "],["\n @media "," {\n ","",";\n }\n "])),l.mq.semilarge,p,v),void 0!==c&&i.css(M||(M=n.__makeTemplateObject(["\n @media "," {\n ","",";\n }\n "],["\n @media "," {\n ","",";\n }\n "])),l.mq.large,p,c),void 0!==g&&i.css(V||(V=n.__makeTemplateObject(["\n @media "," {\n ","",";\n }\n "],["\n @media "," {\n ","",";\n }\n "])),l.mq.xlarge,p,g))}},g=function(n){switch(n){case"left":return"flex-start";case"center":return"center";case"right":return"flex-end";default:return}},p=r.default.div.withConfig({displayName:"Grid__StyledCol",componentId:"sc-cwn14w-0"})(Z||(Z=n.__makeTemplateObject(["\n ",";\n ",";\n ","\n display: inline-grid;\n grid-template-columns: 100%;\n position: relative;\n\n ","\n ","\n ","\n ","\n"],["\n ",";\n ",";\n ","\n display: inline-grid;\n grid-template-columns: 100%;\n position: relative;\n\n ","\n ","\n ","\n ","\n"])),(function(e){var t,a,d,o,r=u(e.span,0,1),m=u(null===(t=e.medium)||void 0===t?void 0:t.span,0,1),v=u(null===(a=e.semilarge)||void 0===a?void 0:a.span,0,1),s=u(null===(d=e.large)||void 0===d?void 0:d.span,0,1),c=u(null===(o=e.xlarge)||void 0===o?void 0:o.span,0,1);return i.css(T||(T=n.__makeTemplateObject(["\n width: ","%;\n\n ","\n\n ","\n\n ","\n\n ","\n "],["\n width: ","%;\n\n ","\n\n ","\n\n ","\n\n ","\n "])),100*(r||1),m&&i.css(b||(b=n.__makeTemplateObject(["\n @media "," {\n width: ","%;\n }\n "],["\n @media "," {\n width: ","%;\n }\n "])),l.mq.medium,100*(m||1)),v&&i.css(h||(h=n.__makeTemplateObject(["\n @media "," {\n width: ","%;\n }\n "],["\n @media "," {\n width: ","%;\n }\n "])),l.mq.semilarge,100*(v||1)),s&&i.css(O||(O=n.__makeTemplateObject(["\n @media "," {\n width: ","%;\n }\n "],["\n @media "," {\n width: ","%;\n }\n "])),l.mq.large,100*(s||1)),c&&i.css(k||(k=n.__makeTemplateObject(["\n @media "," {\n width: ","%;\n }\n "],["\n @media "," {\n width: ","%;\n }\n "])),l.mq.xlarge,100*(c||1)))}),(function(e){var t,a,d,o,r=null===(t=null==e?void 0:e.medium)||void 0===t?void 0:t.move,m=null===(a=null==e?void 0:e.semilarge)||void 0===a?void 0:a.move,u=null===(d=null==e?void 0:e.large)||void 0===d?void 0:d.move,v=null===(o=null==e?void 0:e.xlarge)||void 0===o?void 0:o.move;return i.css(C||(C=n.__makeTemplateObject(["\n left: ",";\n right: ",";\n\n ","\n\n ","\n\n ","\n\n ","\n "],["\n left: ",";\n right: ",";\n\n ","\n\n ","\n\n ","\n\n ","\n "])),(null==e?void 0:e.move)&&(null==e?void 0:e.move)>0?100*(null==e?void 0:e.move)+"%":"auto",(null==e?void 0:e.move)&&(null==e?void 0:e.move)<0?-100*(null==e?void 0:e.move)+"%":"auto",void 0!==r&&i.css(q||(q=n.__makeTemplateObject(["\n @media "," {\n left: ",";\n right: ",";\n }\n "],["\n @media "," {\n left: ",";\n right: ",";\n }\n "])),l.mq.medium,r&&r>0?100*r+"%":"auto",r&&r<0?-100*r+"%":"auto"),void 0!==m&&i.css(w||(w=n.__makeTemplateObject(["\n @media "," {\n left: ",";\n right: ",";\n }\n "],["\n @media "," {\n left: ",";\n right: ",";\n }\n "])),l.mq.semilarge,m&&m>0?100*m+"%":"auto",m&&m<0?-100*m+"%":"auto"),void 0!==u&&i.css(y||(y=n.__makeTemplateObject(["\n @media "," {\n left: ",";\n right: ",";\n }\n "],["\n @media "," {\n left: ",";\n right: ",";\n }\n "])),l.mq.large,u&&u>0?100*u+"%":"auto",u&&u<0?-100*u+"%":"auto"),void 0!==v&&i.css(A||(A=n.__makeTemplateObject(["\n @media "," {\n left: ",";\n right: ",";\n }\n "],["\n @media "," {\n left: ",";\n right: ",";\n }\n "])),l.mq.xlarge,v&&v>0?100*v+"%":"auto",v&&v<0?-100*v+"%":"auto"))}),v("col"),(function(e){var t,a,d,o,r=null===(t=null==e?void 0:e.medium)||void 0===t?void 0:t.textAlign,m=null===(a=null==e?void 0:e.semilarge)||void 0===a?void 0:a.textAlign,u=null===(d=null==e?void 0:e.large)||void 0===d?void 0:d.textAlign,v=null===(o=null==e?void 0:e.xlarge)||void 0===o?void 0:o.textAlign;return i.css(z||(z=n.__makeTemplateObject(["\n text-align: ",";\n\n ","\n\n ","\n\n ","\n\n ","\n "],["\n text-align: ",";\n\n ","\n\n ","\n\n ","\n\n ","\n "])),(null==e?void 0:e.textAlign)||void 0,void 0!==r&&i.css(I||(I=n.__makeTemplateObject(["\n @media "," {\n text-align: ",";\n }\n "],["\n @media "," {\n text-align: ",";\n }\n "])),l.mq.medium,r),void 0!==m&&i.css(N||(N=n.__makeTemplateObject(["\n @media "," {\n text-align: ",";\n }\n "],["\n @media "," {\n text-align: ",";\n }\n "])),l.mq.semilarge,m),void 0!==u&&i.css(R||(R=n.__makeTemplateObject(["\n @media "," {\n text-align: ",";\n }\n "],["\n @media "," {\n text-align: ",";\n }\n "])),l.mq.large,u),void 0!==v&&i.css(W||(W=n.__makeTemplateObject(["\n @media "," {\n text-align: ",";\n }\n "],["\n @media "," {\n text-align: ",";\n }\n "])),l.mq.xlarge,v))}),c(!0),(function(e){return e.toRight&&i.css(X||(X=n.__makeTemplateObject(["\n margin-left: auto;\n "],["\n margin-left: auto;\n "])))}),(function(e){return e.toLeft&&i.css(Y||(Y=n.__makeTemplateObject(["\n margin-right: auto;\n "],["\n margin-right: auto;\n "])))})),_=r.default.div.withConfig({displayName:"Grid__StyledGrid",componentId:"sc-cwn14w-1"})($||($=n.__makeTemplateObject(["\n ","\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n ","\n ","\n"],["\n ","\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n ","\n ","\n"])),v("grid"),c(),(function(e){var t,a,d,o,r=g(e.halign),m=g(null===(t=null==e?void 0:e.medium)||void 0===t?void 0:t.halign),u=g(null===(a=null==e?void 0:e.semilarge)||void 0===a?void 0:a.halign),v=g(null===(d=null==e?void 0:e.large)||void 0===d?void 0:d.halign),s=g(null===(o=null==e?void 0:e.xlarge)||void 0===o?void 0:o.halign);return i.css(U||(U=n.__makeTemplateObject(["\n justify-content: ",";\n\n ","\n\n ","\n\n ","\n\n ","\n "],["\n justify-content: ",";\n\n ","\n\n ","\n\n ","\n\n ","\n "])),r||void 0,void 0!==m&&i.css(H||(H=n.__makeTemplateObject(["\n @media "," {\n justify-content: ",";\n }\n "],["\n @media "," {\n justify-content: ",";\n }\n "])),l.mq.medium,m),void 0!==u&&i.css(J||(J=n.__makeTemplateObject(["\n @media "," {\n justify-content: ",";\n }\n "],["\n @media "," {\n justify-content: ",";\n }\n "])),l.mq.semilarge,u),void 0!==v&&i.css(K||(K=n.__makeTemplateObject(["\n @media "," {\n justify-content: ",";\n }\n "],["\n @media "," {\n justify-content: ",";\n }\n "])),l.mq.large,v),void 0!==s&&i.css(Q||(Q=n.__makeTemplateObject(["\n @media "," {\n justify-content: ",";\n }\n "],["\n @media "," {\n justify-content: ",";\n }\n "])),l.mq.xlarge,s))})),f=function(e,i){return void 0===e?i:i?n.__assign(n.__assign({},i),{gutter:e}):{gutter:e}},x=function(e){var i=e.gutter,t=e.valign,l=e.children,a=e.halign,d=e.medium,r=e.semilarge,m=e.large,u=e.xlarge;return o.createElement(_,{gutter:i,valign:t,halign:a,medium:d,semilarge:r,large:m,xlarge:u},o.Children.map(l,(function(e){var t,l,a,v;return e?o.createElement(p,n.__assign({},null==e?void 0:e.props,{gutter:i,medium:f(null==d?void 0:d.gutter,null===(t=null==e?void 0:e.props)||void 0===t?void 0:t.medium),semilarge:f(null==r?void 0:r.gutter,null===(l=null==e?void 0:e.props)||void 0===l?void 0:l.semilarge),large:f(null==m?void 0:m.gutter,null===(a=null==e?void 0:e.props)||void 0===a?void 0:a.large),xlarge:f(null==u?void 0:u.gutter,null===(v=null==e?void 0:e.props)||void 0===v?void 0:v.xlarge)})):void 0})))};x.defaultProps={gutter:m.gutter};var j,b,h,O,k,T,q,w,y,A,C,G,E,P,S,F,I,N,R,W,z,D,L,M,V,B,H,J,K,Q,U,X,Y,Z,$,nn={Row:x,Col:function(n){return o.createElement(o.Fragment,null,null==n?void 0:n.children)}};exports.Grid=nn,exports.getGridWidth=function(e){var t=(null==e?void 0:e.cols)||m.cols,l=(null==e?void 0:e.gridWidth)||"100%",a=void 0!==(null==e?void 0:e.gutter)?e.gutter:m.gutter,d=m.cols;return i.css(j||(j=n.__makeTemplateObject(["\n calc((("," - ","px) / ",") * "," + ","px)\n "],["\n calc((("," - ","px) / ",") * "," + ","px)\n "])),l,(d-1)*a,d,t,(t-1)*a)},exports.gridSettings=m;
|
|
2
|
+
//# sourceMappingURL=Grid-1acefee9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grid-6f4f99bc.js","sources":["../src/components/base/Grid.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled, { css } from 'styled-components';\nimport { clampValue } from 'utils/clamp';\nimport { spacings, mq } from 'utils/styles';\n\nexport interface ColPropsSettings {\n /** Normalisierte Werte zwischen 0 und 1: z.B. 12 von 28 Spalten (12 / 28) */\n span?: number;\n /** Normalisierte Werte zwischen -1 und 1: z.B. -12 von 28 Spalten (-12 / 28) */\n move?: number;\n /** Vertical alignment of column content */\n valign?: VerticalAlign;\n /** Text alignment of column content */\n textAlign?: TextAlign;\n}\n\ntype VerticalAlign = 'top' | 'center' | 'bottom';\ntype HorizontalAlign = 'left' | 'center' | 'right';\ntype TextAlign = 'left' | 'center' | 'right';\n\ninterface ColProps extends ColPropsSettings {\n medium?: ColPropsSettings;\n semilarge?: ColPropsSettings;\n large?: ColPropsSettings;\n xlarge?: ColPropsSettings;\n /** force column to the right */\n toRight?: boolean;\n /** force column to the left */\n toLeft?: boolean;\n}\n\nexport const gridSettings = {\n cols: 12,\n gutter: spacings.spacer,\n};\n\n/** Get width of grid cols incl. gutter (relative to container element) */\nexport const getGridWidth = (props?: {\n cols?: number;\n gutter?: number;\n gridWidth?: string;\n}) => {\n const columns = props?.cols || gridSettings.cols;\n\n const width = props?.gridWidth || '100%';\n const gridGutter =\n props?.gutter !== undefined ? props.gutter : gridSettings.gutter;\n const gridCols = gridSettings.cols;\n\n return css`\n calc(((${width} - ${\n (gridCols - 1) * gridGutter\n }px) / ${gridCols}) * ${columns} + ${(columns - 1) * gridGutter}px)\n `;\n};\n\nconst validateValue = (\n value: number | undefined,\n min: number,\n max?: number\n) => {\n if (value === undefined || value === null) return value;\n return value !== clampValue(value, min, max) ? undefined : value;\n};\n\nconst getWidth = (props: ColProps) => {\n const span = validateValue(props.span, 0, 1);\n const mediumSpan = validateValue(props.medium?.span, 0, 1);\n const semilargeSpan = validateValue(props.semilarge?.span, 0, 1);\n const largeSpan = validateValue(props.large?.span, 0, 1);\n const xlargeSpan = validateValue(props.xlarge?.span, 0, 1);\n\n return css`\n width: ${(span || 1) * 100}%;\n\n ${mediumSpan &&\n css`\n @media ${mq.medium} {\n width: ${(mediumSpan || 1) * 100}%;\n }\n `}\n\n ${semilargeSpan &&\n css`\n @media ${mq.semilarge} {\n width: ${(semilargeSpan || 1) * 100}%;\n }\n `}\n\n ${largeSpan &&\n css`\n @media ${mq.large} {\n width: ${(largeSpan || 1) * 100}%;\n }\n `}\n\n ${xlargeSpan &&\n css`\n @media ${mq.xlarge} {\n width: ${(xlargeSpan || 1) * 100}%;\n }\n `}\n `;\n};\n\nconst getLeftRight = (props: ColProps) => {\n const mediumMove = props?.medium?.move;\n const semilargeMove = props?.semilarge?.move;\n const largeMove = props?.large?.move;\n const xlargeMove = props?.xlarge?.move;\n\n return css`\n left: ${props?.move && props?.move > 0\n ? props?.move * 100 + '%'\n : 'auto'};\n right: ${props?.move && props?.move < 0\n ? props?.move * -100 + '%'\n : 'auto'};\n\n ${mediumMove !== undefined &&\n css`\n @media ${mq.medium} {\n left: ${mediumMove && mediumMove > 0\n ? mediumMove * 100 + '%'\n : 'auto'};\n right: ${mediumMove && mediumMove < 0\n ? mediumMove * -100 + '%'\n : 'auto'};\n }\n `}\n\n ${semilargeMove !== undefined &&\n css`\n @media ${mq.semilarge} {\n left: ${semilargeMove && semilargeMove > 0\n ? semilargeMove * 100 + '%'\n : 'auto'};\n right: ${semilargeMove && semilargeMove < 0\n ? semilargeMove * -100 + '%'\n : 'auto'};\n }\n `}\n\n ${largeMove !== undefined &&\n css`\n @media ${mq.large} {\n left: ${largeMove && largeMove > 0\n ? largeMove * 100 + '%'\n : 'auto'};\n right: ${largeMove && largeMove < 0\n ? largeMove * -100 + '%'\n : 'auto'};\n }\n `}\n\n ${xlargeMove !== undefined &&\n css`\n @media ${mq.xlarge} {\n left: ${xlargeMove && xlargeMove > 0\n ? xlargeMove * 100 + '%'\n : 'auto'};\n right: ${xlargeMove && xlargeMove < 0\n ? xlargeMove * -100 + '%'\n : 'auto'};\n }\n `}\n `;\n};\n\nconst getGutter = (mode: 'grid' | 'col') => (props: GridProps) => {\n const gutter = validateValue(props.gutter, 0) || 0;\n const mediumGutter = validateValue(props?.medium?.gutter, 0);\n const semilargeGutter = validateValue(props?.semilarge?.gutter, 0);\n const largeGutter = validateValue(props?.large?.gutter, 0);\n const xlargeGutter = validateValue(props?.xlarge?.gutter, 0);\n\n const propertyTop = mode === 'grid' ? 'margin-top: -' : 'padding-top: ';\n const propertyLeft = mode === 'grid' ? 'margin-left: -' : 'padding-left: ';\n\n return css`\n ${propertyTop}${gutter}px;\n ${propertyLeft}${gutter}px;\n\n ${mediumGutter !== undefined &&\n css`\n @media ${mq.medium} {\n ${propertyTop}${mediumGutter}px;\n ${propertyLeft}${mediumGutter}px;\n }\n `}\n\n ${semilargeGutter !== undefined &&\n css`\n @media ${mq.semilarge} {\n ${propertyTop}${semilargeGutter}px;\n ${propertyLeft}${semilargeGutter}px;\n }\n `}\n \n ${largeGutter !== undefined &&\n css`\n @media ${mq.large} {\n ${propertyTop}${largeGutter}px;\n ${propertyLeft}${largeGutter}px;\n }\n `}\n\n ${xlargeGutter !== undefined &&\n css`\n @media ${mq.xlarge} {\n ${propertyTop}${xlargeGutter}px;\n ${propertyLeft}${xlargeGutter}px;\n }\n `}\n `;\n};\n\nconst getTextAlign = (props: ColProps) => {\n const mediumTextAlign = props?.medium?.textAlign;\n const semilargeTextAlign = props?.semilarge?.textAlign;\n const largeTextAlign = props?.large?.textAlign;\n const xlargeTextAlign = props?.xlarge?.textAlign;\n\n return css`\n text-align: ${props?.textAlign || undefined};\n\n ${mediumTextAlign !== undefined &&\n css`\n @media ${mq.medium} {\n text-align: ${mediumTextAlign};\n }\n `}\n\n ${semilargeTextAlign !== undefined &&\n css`\n @media ${mq.semilarge} {\n text-align: ${semilargeTextAlign};\n }\n `}\n\n ${largeTextAlign !== undefined &&\n css`\n @media ${mq.large} {\n text-align: ${largeTextAlign};\n }\n `}\n\n ${xlargeTextAlign !== undefined &&\n css`\n @media ${mq.xlarge} {\n text-align: ${xlargeTextAlign};\n }\n `}\n `;\n};\n\nconst mapVerticalAlign = (alignMode?: VerticalAlign) => {\n switch (alignMode) {\n case 'top':\n return 'flex-start';\n case 'center':\n return 'center';\n case 'bottom':\n return 'flex-end';\n default:\n return undefined;\n }\n};\n\nconst getVerticalAlign =\n (selfAlign?: boolean) => (props: ColProps & GridProps) => {\n const vAlign = mapVerticalAlign(props.valign);\n const mediumAlign = mapVerticalAlign(props?.medium?.valign);\n const semilargelAlign = mapVerticalAlign(props?.semilarge?.valign);\n const largeAlign = mapVerticalAlign(props?.large?.valign);\n const xlargeAlign = mapVerticalAlign(props?.xlarge?.valign);\n\n const property = selfAlign ? 'align-self: ' : 'align-items: ';\n\n return css`\n ${property}${vAlign || undefined};\n\n ${mediumAlign !== undefined &&\n css`\n @media ${mq.medium} {\n ${property}${mediumAlign};\n }\n `}\n\n ${semilargelAlign !== undefined &&\n css`\n @media ${mq.semilarge} {\n ${property}${semilargelAlign};\n }\n `}\n\n ${largeAlign !== undefined &&\n css`\n @media ${mq.large} {\n ${property}${largeAlign};\n }\n `}\n\n ${xlargeAlign !== undefined &&\n css`\n @media ${mq.xlarge} {\n ${property}${xlargeAlign};\n }\n `}\n `;\n };\n\nconst mapHorizontalAlign = (alignMode?: HorizontalAlign) => {\n switch (alignMode) {\n case 'left':\n return 'flex-start';\n case 'center':\n return 'center';\n case 'right':\n return 'flex-end';\n default:\n return undefined;\n }\n};\n\nconst getHorinzontalAlign = (props: GridProps) => {\n const hAlign = mapHorizontalAlign(props.halign);\n const mediumAlign = mapHorizontalAlign(props?.medium?.halign);\n const semilargelAlign = mapHorizontalAlign(props?.semilarge?.halign);\n const largeAlign = mapHorizontalAlign(props?.large?.halign);\n const xlargeAlign = mapHorizontalAlign(props?.xlarge?.halign);\n\n return css`\n justify-content: ${hAlign || undefined};\n\n ${mediumAlign !== undefined &&\n css`\n @media ${mq.medium} {\n justify-content: ${mediumAlign};\n }\n `}\n\n ${semilargelAlign !== undefined &&\n css`\n @media ${mq.semilarge} {\n justify-content: ${semilargelAlign};\n }\n `}\n\n ${largeAlign !== undefined &&\n css`\n @media ${mq.large} {\n justify-content: ${largeAlign};\n }\n `}\n\n ${xlargeAlign !== undefined &&\n css`\n @media ${mq.xlarge} {\n justify-content: ${xlargeAlign};\n }\n `}\n `;\n};\n\nconst StyledCol = styled.div<GridProps & ColProps>`\n ${getWidth};\n ${getLeftRight};\n ${getGutter('col')}\n display: inline-grid;\n grid-template-columns: 100%;\n position: relative;\n\n ${getTextAlign}\n ${getVerticalAlign(true)}\n ${({ toRight }) =>\n toRight &&\n css`\n margin-left: auto;\n `}\n ${({ toLeft }) =>\n toLeft &&\n css`\n margin-right: auto;\n `}\n`;\n\nconst Col: React.FC<ColProps & { children?: React.ReactNode }> = (props) => {\n return <React.Fragment>{props?.children}</React.Fragment>;\n};\n\ninterface GridPropsSettings {\n gutter?: number;\n valign?: VerticalAlign;\n halign?: HorizontalAlign;\n}\n\ninterface GridProps extends GridPropsSettings {\n medium?: GridPropsSettings;\n semilarge?: GridPropsSettings;\n large?: GridPropsSettings;\n xlarge?: GridPropsSettings;\n}\n\nconst StyledGrid = styled.div<GridProps>`\n ${getGutter('grid')}\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n ${getVerticalAlign()}\n ${getHorinzontalAlign}\n`;\n\nconst mapGutterToCol = (gutter?: number, colSettings?: any) => {\n if (gutter === undefined) return colSettings;\n if (colSettings) {\n return {\n ...colSettings,\n gutter,\n };\n } else {\n return {\n gutter,\n };\n }\n};\n\nconst Grid: React.FC<GridProps & { children?: React.ReactNode }> = ({\n gutter,\n valign,\n children,\n halign,\n medium,\n semilarge,\n large,\n xlarge,\n}) => {\n return (\n <StyledGrid\n gutter={gutter}\n valign={valign}\n halign={halign}\n medium={medium}\n semilarge={semilarge}\n large={large}\n xlarge={xlarge}\n >\n {React.Children.map(children, (comp: any) => {\n return comp ? (\n <StyledCol\n {...comp?.props}\n gutter={gutter}\n medium={mapGutterToCol(\n medium?.gutter,\n comp?.props?.medium\n )}\n semilarge={mapGutterToCol(\n semilarge?.gutter,\n comp?.props?.semilarge\n )}\n large={mapGutterToCol(\n large?.gutter,\n comp?.props?.large\n )}\n xlarge={mapGutterToCol(\n xlarge?.gutter,\n comp?.props?.xlarge\n )}\n />\n ) : undefined;\n })}\n </StyledGrid>\n );\n};\n\nGrid.defaultProps = {\n gutter: gridSettings.gutter,\n};\n\nexport default {\n Row: Grid,\n Col,\n};\n"],"names":["gridSettings","cols","gutter","spacings","spacer","validateValue","value","min","max","clampValue","undefined","getGutter","mode","props","mediumGutter","_a","medium","semilargeGutter","_b","semilarge","largeGutter","_c","large","xlargeGutter","_d","xlarge","propertyTop","propertyLeft","css","templateObject_16","__makeTemplateObject","mq","templateObject_13","templateObject_14","templateObject_15","mapVerticalAlign","alignMode","getVerticalAlign","selfAlign","vAlign","valign","mediumAlign","semilargelAlign","largeAlign","xlargeAlign","property","templateObject_26","templateObject_23","templateObject_24","templateObject_25","mapHorizontalAlign","StyledCol","styled","div","withConfig","displayName","componentId","span","mediumSpan","semilargeSpan","largeSpan","xlargeSpan","templateObject_6","templateObject_2","templateObject_3","templateObject_4","templateObject_5","mediumMove","move","semilargeMove","largeMove","xlargeMove","templateObject_11","templateObject_7","templateObject_8","templateObject_9","templateObject_10","mediumTextAlign","textAlign","semilargeTextAlign","largeTextAlign","xlargeTextAlign","templateObject_18","templateObject_19","templateObject_20","toRight","templateObject_32","toLeft","templateObject_33","StyledGrid","hAlign","halign","templateObject_27","templateObject_28","templateObject_30","mapGutterToCol","colSettings","__assign","Grid","children","React","createElement","Children","map","comp","defaultProps","Grid$1","Row","Col","Fragment","columns","width","gridWidth","gridGutter","gridCols","templateObject_1"],"mappings":"siBA+BaA,EAAe,CACxBC,KAAM,GACNC,OAAQC,EAAQA,SAACC,QAuBfC,EAAgB,SAClBC,EACAC,EACAC,GAEIF,OAAAA,MAAAA,EAA8CA,EAC3CA,IAAUG,EAAAA,WAAWH,EAAOC,EAAKC,QAAOE,EAAYJ,GA2GzDK,EAAY,SAACC,GAAyB,OAAA,SAACC,eACnCX,EAASG,EAAcQ,EAAMX,OAAQ,IAAM,EAC3CY,EAAeT,EAA2B,QAAbU,EAAAF,MAAAA,OAAA,EAAAA,EAAOG,cAAM,IAAAD,OAAA,EAAAA,EAAEb,OAAQ,GACpDe,EAAkBZ,EAA8B,QAAhBa,EAAAL,MAAAA,OAAA,EAAAA,EAAOM,iBAAS,IAAAD,OAAA,EAAAA,EAAEhB,OAAQ,GAC1DkB,EAAcf,EAA0B,QAAZgB,EAAAR,MAAAA,OAAA,EAAAA,EAAOS,aAAK,IAAAD,OAAA,EAAAA,EAAEnB,OAAQ,GAClDqB,EAAelB,EAA2B,QAAbmB,EAAAX,MAAAA,OAAA,EAAAA,EAAOY,cAAM,IAAAD,OAAA,EAAAA,EAAEtB,OAAQ,GAEpDwB,EAAuB,SAATd,EAAkB,gBAAkB,gBAClDe,EAAwB,SAATf,EAAkB,iBAAmB,iBAE1D,OAAOgB,EAAAA,IAAGC,IAAAA,EAAAC,EAAAA,qBAAA,CAAA,aAAA,GAAA,gBAAA,GAAA,kBAAA,eAAA,uBAAA,eAAA,UAAA,CAAA,aACO,GAAS,gBACR,GAAS,kBAQtB,eAQA,uBAQA,eAQA,YAjCCJ,EAAcxB,EACdyB,EAAezB,OAEEQ,IAAjBI,GACFc,EAAGA,gJAAA,wBACmB,uBACD,GAAe,wBACd,GAAe,kCAFxBG,EAAEA,GAACf,OACNU,EAAcZ,EACda,EAAeb,QAIHJ,IAApBO,GACFW,MAAGI,IAAAA,EAAAF,EAAAA,qBAAA,CAAA,wBAAA,uBAAA,GAAA,wBAAA,GAAA,gCAAA,CAAA,wBACsB,uBACJ,GAAkB,wBACjB,GAAkB,kCAF3BC,EAAEA,GAACZ,UACNO,EAAcT,EACdU,EAAeV,QAIPP,IAAhBU,GACFQ,EAAAA,IAAGK,IAAAA,EAAAH,EAAAA,qBAAA,CAAA,wBAAA,uBAAA,GAAA,wBAAA,GAAA,gCAAA,CAAA,wBACkB,uBACA,GAAc,wBACb,GAAc,kCAFvBC,EAAAA,GAAGT,MACNI,EAAcN,EACdO,EAAeP,QAINV,IAAjBa,GACFK,EAAAA,IAAGM,IAAAA,EAAAJ,EAAAA,qBAAA,CAAA,wBAAA,uBAAA,GAAA,wBAAA,GAAA,gCAAA,CAAA,wBACmB,uBACD,GAAe,wBACd,GAAe,kCAFxBC,EAAAA,GAAGN,OACNC,EAAcH,EACdI,EAAeJ,MA6C3BY,EAAmB,SAACC,GACtB,OAAQA,GACJ,IAAK,MACD,MAAO,aACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,WACX,QACI,SAINC,EACF,SAACC,GAAwB,OAAA,SAACzB,eAChB0B,EAASJ,EAAiBtB,EAAM2B,QAChCC,EAAcN,EAAgC,UAAftB,MAAAA,OAAK,EAALA,EAAOG,cAAQ,IAAAD,OAAA,EAAAA,EAAAyB,QAC9CE,EAAkBP,EAAmC,UAAlBtB,MAAAA,OAAK,EAALA,EAAOM,iBAAW,IAAAD,OAAA,EAAAA,EAAAsB,QACrDG,EAAaR,EAA+B,UAAdtB,MAAAA,OAAK,EAALA,EAAOS,aAAO,IAAAD,OAAA,EAAAA,EAAAmB,QAC5CI,EAAcT,EAAgC,UAAftB,MAAAA,OAAK,EAALA,EAAOY,cAAQ,IAAAD,OAAA,EAAAA,EAAAgB,QAE9CK,EAAWP,EAAY,eAAiB,gBAEvCV,OAAAA,EAAGA,IAAAkB,IAAAA,EAAAhB,EAAAA,qBAAA,CAAA,iBAAA,GAAA,oBAAA,mBAAA,eAAA,eAAA,cAAA,CAAA,iBACI,GAAsB,oBAO/B,mBAOA,eAOA,eAOA,gBA5BCe,EAAWN,QAAU7B,OAELA,IAAhB+B,GACFb,EAAAA,mIAAG,4BACmB,2BACJ,GAAc,wCADnBG,EAAEA,GAACf,OACN6B,EAAWJ,QAIC/B,IAApBgC,GACFd,MAAGmB,IAAAA,EAAAjB,EAAAA,qBAAA,CAAA,4BAAA,2BAAA,GAAA,sCAAA,CAAA,4BACsB,2BACP,GAAkB,wCADvBC,EAAAA,GAAGZ,UACN0B,EAAWH,QAIRhC,IAAfiC,GACEf,EAAGA,IAAAoB,IAAAA,EAAAlB,uBAAA,CAAA,4BAAA,2BAAA,GAAA,sCAAA,CAAA,4BACkB,2BACH,GAAa,wCADlBC,EAAEA,GAACT,MACNuB,EAAWF,QAIPjC,IAAhBkC,GACEhB,EAAAA,IAAGqB,IAAAA,EAAAnB,EAAAA,qBAAA,CAAA,4BAAA,2BAAA,GAAA,sCAAA,CAAA,4BACmB,2BACJ,GAAc,wCADnBC,EAAAA,GAAGN,OACNoB,EAAWD,MAM3BM,EAAqB,SAACd,GACxB,OAAQA,GACJ,IAAK,OACD,MAAO,aACX,IAAK,SACD,MAAO,SACX,IAAK,QACD,MAAO,WACX,QACI,SA4CNe,EAAYC,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,kBAAAC,YAAA,eAAGJ,mMAAgC,SACpC,UACI,UACI,iGAKJ,SACU,SAKnB,aAKA,SA/TQ,SAACvC,eACR4C,EAAOpD,EAAcQ,EAAM4C,KAAM,EAAG,GACpCC,EAAarD,EAA0B,UAAZQ,EAAMG,cAAM,IAAAD,OAAA,EAAAA,EAAE0C,KAAM,EAAG,GAClDE,EAAgBtD,EAA6B,UAAfQ,EAAMM,iBAAS,IAAAD,OAAA,EAAAA,EAAEuC,KAAM,EAAG,GACxDG,EAAYvD,EAAyB,UAAXQ,EAAMS,aAAK,IAAAD,OAAA,EAAAA,EAAEoC,KAAM,EAAG,GAChDI,EAAaxD,EAA0B,UAAZQ,EAAMY,cAAM,IAAAD,OAAA,EAAAA,EAAEiC,KAAM,EAAG,GAEjD7B,OAAAA,MAAGkC,IAAAA,EAAAhC,EAAAA,qBAAA,CAAA,oBAAA,iBAAA,eAAA,eAAA,eAAA,UAAA,CAAA,oBACoB,iBAOzB,eAOA,eAOA,eAOA,YA5BsB,KAAb2B,GAAQ,GAEhBC,GACF9B,EAAGA,IAAAmC,IAAAA,EAAAjC,EAAAA,qBAAA,CAAA,wBAAA,8BAAA,+BAAA,CAAA,wBACmB,8BACkB,iCAD3BC,EAAEA,GAACf,OACqB,KAAnB0C,GAAc,IAI9BC,GACF/B,EAAAA,IAAGoC,IAAAA,EAAAlC,EAAAA,qBAAA,CAAA,wBAAA,8BAAA,+BAAA,CAAA,wBACsB,8BACkB,iCAD9BC,EAAEA,GAACZ,UACwB,KAAtBwC,GAAiB,IAIjCC,GACFhC,EAAAA,IAAGqC,IAAAA,EAAAnC,EAAAA,qBAAA,CAAA,wBAAA,8BAAA,+BAAA,CAAA,wBACkB,8BACkB,iCAD1BC,EAAAA,GAAGT,MACoB,KAAlBsC,GAAa,IAI7BC,GACFjC,MAAGsC,IAAAA,EAAApC,uBAAA,CAAA,wBAAA,8BAAA,+BAAA,CAAA,wBACmB,8BACkB,iCAD3BC,KAAGN,OACqB,KAAnBoC,GAAc,QAMnB,SAAChD,eACZsD,EAA4B,QAAfpD,EAAAF,MAAAA,OAAA,EAAAA,EAAOG,cAAQ,IAAAD,OAAA,EAAAA,EAAAqD,KAC5BC,EAAkC,QAAlBnD,EAAAL,MAAAA,OAAA,EAAAA,EAAOM,iBAAW,IAAAD,OAAA,EAAAA,EAAAkD,KAClCE,EAA0B,QAAdjD,EAAAR,MAAAA,OAAA,EAAAA,EAAOS,aAAO,IAAAD,OAAA,EAAAA,EAAA+C,KAC1BG,EAA4B,QAAf/C,EAAAX,MAAAA,OAAA,EAAAA,EAAOY,cAAQ,IAAAD,OAAA,EAAAA,EAAA4C,KAE3BxC,OAAAA,MAAG4C,IAAAA,EAAA1C,EAAAA,qBAAA,CAAA,mBAAA,qBAAA,gBAAA,eAAA,eAAA,eAAA,UAAA,CAAA,mBAGM,qBAGA,gBAYX,eAYA,eAYA,eAYA,aArDOjB,MAAAA,OAAK,EAALA,EAAOuD,QAAQvD,MAAAA,OAAA,EAAAA,EAAOuD,MAAO,EACjB,KAAdvD,MAAAA,OAAK,EAALA,EAAOuD,MAAa,IACpB,QACGvD,MAAAA,SAAAA,EAAOuD,QAAQvD,MAAAA,SAAAA,EAAOuD,MAAO,GACjB,KAAfvD,MAAAA,OAAK,EAALA,EAAOuD,MAAc,IACrB,YAEW1D,IAAfyD,GACFvC,EAAGA,IAAA6C,IAAAA,EAAA3C,EAAAA,qBAAA,CAAA,wBAAA,6BAAA,6BAAA,8BAAA,CAAA,wBACmB,6BAGF,6BAGA,gCANPC,KAAGf,OACAmD,GAAcA,EAAa,EAChB,IAAbA,EAAmB,IACnB,OACGA,GAAcA,EAAa,GAChB,IAAdA,EAAoB,IACpB,aAIMzD,IAAlB2D,GACFzC,EAAAA,IAAG8C,IAAAA,EAAA5C,EAAAA,qBAAA,CAAA,wBAAA,6BAAA,6BAAA,8BAAA,CAAA,wBACsB,6BAGL,6BAGA,gCANPC,KAAGZ,UACAkD,GAAiBA,EAAgB,EACnB,IAAhBA,EAAsB,IACtB,OACGA,GAAiBA,EAAgB,GACnB,IAAjBA,EAAuB,IACvB,aAIE3D,IAAd4D,GACF1C,EAAAA,IAAG+C,IAAAA,EAAA7C,EAAAA,qBAAA,CAAA,wBAAA,6BAAA,6BAAA,8BAAA,CAAA,wBACkB,6BAGD,6BAGA,gCANPC,KAAGT,MACAgD,GAAaA,EAAY,EACf,IAAZA,EAAkB,IAClB,OACGA,GAAaA,EAAY,GACf,IAAbA,EAAmB,IACnB,aAIG5D,IAAf6D,GACF3C,EAAGA,IAAAgD,IAAAA,EAAA9C,EAAAA,qBAAA,CAAA,wBAAA,6BAAA,6BAAA,8BAAA,CAAA,wBACmB,6BAGF,6BAGA,gCANPC,EAAAA,GAAGN,OACA8C,GAAcA,EAAa,EAChB,IAAbA,EAAmB,IACnB,OACGA,GAAcA,EAAa,GAChB,IAAdA,EAAoB,IACpB,WA6MhB5D,EAAU,QAvJK,SAACE,eACZgE,EAAiC,QAAf9D,EAAAF,MAAAA,OAAA,EAAAA,EAAOG,cAAQ,IAAAD,OAAA,EAAAA,EAAA+D,UACjCC,EAAuC,QAAlB7D,EAAAL,MAAAA,OAAA,EAAAA,EAAOM,iBAAW,IAAAD,OAAA,EAAAA,EAAA4D,UACvCE,EAA+B,QAAd3D,EAAAR,MAAAA,OAAA,EAAAA,EAAOS,aAAO,IAAAD,OAAA,EAAAA,EAAAyD,UAC/BG,EAAiC,QAAfzD,EAAAX,MAAAA,OAAA,EAAAA,EAAOY,cAAQ,IAAAD,OAAA,EAAAA,EAAAsD,UAEhClD,OAAAA,qIAAG,yBACqC,gBAO1C,eAOA,eAOA,eAOA,aA5Baf,MAAAA,OAAA,EAAAA,EAAOiE,iBAAapE,OAEZA,IAApBmE,GACFjD,EAAAA,4HAAG,wBACmB,mCACe,gCADxBG,EAAAA,GAAGf,OACM6D,QAIGnE,IAAvBqE,GACFnD,EAAGA,IAAAsD,IAAAA,EAAApD,EAAAA,qBAAA,CAAA,wBAAA,mCAAA,8BAAA,CAAA,wBACsB,mCACe,gCAD3BC,EAAEA,GAACZ,UACM4D,QAIDrE,IAAnBsE,GACFpD,EAAGA,IAAAuD,IAAAA,EAAArD,uBAAA,CAAA,wBAAA,mCAAA,8BAAA,CAAA,wBACkB,mCACe,gCADvBC,EAAEA,GAACT,MACM0D,QAIAtE,IAApBuE,GACFrD,EAAAA,IAAGwD,IAAAA,EAAAtD,EAAAA,qBAAA,CAAA,wBAAA,mCAAA,8BAAA,CAAA,wBACmB,mCACe,gCADxBC,EAAEA,GAACN,OACMwD,MA4HxB5C,GAAiB,IACjB,SAACtB,GACC,OADQA,EAAAsE,SAERzD,EAAAA,IAAG0D,IAAAA,EAAAxD,EAAAA,qBAAA,CAAA,8CAAA,CAAA,oDAGD,SAACf,GACH,OADWA,EAAAwE,QAEX3D,EAAAA,IAAG4D,IAAAA,EAAA1D,EAAAA,qBAAA,CAAA,+CAAA,CAAA,qDAsBL2D,EAAarC,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,mBAAAC,YAAA,eAAGJ,uIAAqB,SACjB,+EAKC,SACC,QANnBzC,EAAU,QAKV0B,KArFsB,SAACxB,eACnB6E,EAASxC,EAAmBrC,EAAM8E,QAClClD,EAAcS,EAAkC,UAAfrC,MAAAA,OAAK,EAALA,EAAOG,cAAQ,IAAAD,OAAA,EAAAA,EAAA4E,QAChDjD,EAAkBQ,EAAqC,UAAlBrC,MAAAA,OAAK,EAALA,EAAOM,iBAAW,IAAAD,OAAA,EAAAA,EAAAyE,QACvDhD,EAAaO,EAAiC,UAAdrC,MAAAA,OAAK,EAALA,EAAOS,aAAO,IAAAD,OAAA,EAAAA,EAAAsE,QAC9C/C,EAAcM,EAAkC,UAAfrC,MAAAA,OAAK,EAALA,EAAOY,cAAQ,IAAAD,OAAA,EAAAA,EAAAmE,QAE/C/D,OAAAA,0IAAG,8BACgC,gBAOrC,eAOA,eAOA,eAOA,YA5BkB8D,QAAUhF,OAEXA,IAAhB+B,GACFb,EAAGA,IAAAgE,IAAAA,EAAA9D,EAAAA,qBAAA,CAAA,wBAAA,wCAAA,8BAAA,CAAA,wBACmB,wCACgB,gCADzBC,KAAGf,OACWyB,QAIL/B,IAApBgC,GACFd,EAAAA,IAAGiE,IAAAA,EAAA/D,EAAAA,qBAAA,CAAA,wBAAA,wCAAA,8BAAA,CAAA,wBACsB,wCACiB,gCAD7BC,KAAGZ,UACWuB,QAIVhC,IAAfiC,GACFf,EAAAA,iIAAG,wBACkB,wCACgB,gCADxBG,KAAGT,MACWqB,QAITjC,IAAhBkC,GACFhB,EAAAA,IAAGkE,IAAAA,EAAAhE,EAAAA,qBAAA,CAAA,wBAAA,wCAAA,8BAAA,CAAA,wBACmB,wCACgB,gCADzBC,EAAEA,GAACN,OACWmB,OAuD7BmD,EAAiB,SAAC7F,EAAiB8F,GACrC,YAAetF,IAAXR,EAA6B8F,EAC7BA,EACAC,WAAAA,EAAAA,SAAA,GACOD,GAAW,CACd9F,OAAMA,IAGH,CACHA,OAAMA,IAKZgG,EAA6D,SAACnF,OAChEb,EAAMa,EAAAb,OACNsC,EAAMzB,EAAAyB,OACN2D,EAAQpF,EAAAoF,SACRR,EAAM5E,EAAA4E,OACN3E,EAAMD,EAAAC,OACNG,EAASJ,EAAAI,UACTG,EAAKP,EAAAO,MACLG,EAAMV,EAAAU,OAEN,OACI2E,EAACC,cAAAZ,GACGvF,OAAQA,EACRsC,OAAQA,EACRmD,OAAQA,EACR3E,OAAQA,EACRG,UAAWA,EACXG,MAAOA,EACPG,OAAQA,GAEP2E,EAAME,SAASC,IAAIJ,GAAU,SAACK,eACpBA,OAAAA,EACHJ,EAACC,cAAAlD,EACO8C,EAAAA,SAAA,GAAAO,MAAAA,OAAA,EAAAA,EAAM3F,MACV,CAAAX,OAAQA,EACRc,OAAQ+E,EACJ/E,MAAAA,OAAA,EAAAA,EAAQd,OACK,QAAba,EAAAyF,MAAAA,OAAA,EAAAA,EAAM3F,aAAO,IAAAE,OAAA,EAAAA,EAAAC,QAEjBG,UAAW4E,EACP5E,MAAAA,OAAS,EAATA,EAAWjB,OACA,QAAXgB,EAAAsF,MAAAA,SAAAA,EAAM3F,aAAK,IAAAK,OAAA,EAAAA,EAAEC,WAEjBG,MAAOyE,EACHzE,MAAAA,OAAA,EAAAA,EAAOpB,OACI,QAAXmB,EAAAmF,MAAAA,OAAI,EAAJA,EAAM3F,aAAK,IAAAQ,OAAA,EAAAA,EAAEC,OAEjBG,OAAQsE,EACJtE,MAAAA,OAAA,EAAAA,EAAQvB,OACG,QAAXsB,EAAAgF,MAAAA,OAAI,EAAJA,EAAM3F,aAAK,IAAAW,OAAA,EAAAA,EAAEC,gBAGrBf,OAMpBwF,EAAKO,aAAe,CAChBvG,OAAQF,EAAaE,QAGzB,0EAAewG,GAAA,CACXC,IAAKT,EACLU,IA/F6D,SAAC/F,GACvDuF,OAAAA,EAACC,cAAAD,EAAMS,SAAU,KAAAhG,MAAAA,OAAA,EAAAA,EAAOsF,iDA/VP,SAACtF,GAKnBiG,IAAAA,GAAUjG,MAAAA,OAAK,EAALA,EAAOZ,OAAQD,EAAaC,KAEtC8G,GAAQlG,MAAAA,OAAA,EAAAA,EAAOmG,YAAa,OAC5BC,OACgBvG,KAAlBG,MAAAA,OAAA,EAAAA,EAAOX,QAAuBW,EAAMX,OAASF,EAAaE,OACxDgH,EAAWlH,EAAaC,KAEvB2B,OAAAA,EAAGA,IAAAuF,IAAAA,EAAArF,EAAAA,qBAAA,CAAA,oBAAA,MAAA,SAAA,OAAA,MAAA,aAAA,CAAA,oBACQ,MAElB,SAAiB,OAAc,MAAgC,eAFlDiF,GACRG,EAAW,GAAKD,EACZC,EAAeJ,GAAcA,EAAU,GAAKG"}
|
|
1
|
+
{"version":3,"file":"Grid-1acefee9.js","sources":["../src/components/base/Grid.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled, { css } from 'styled-components';\nimport { clampValue } from 'utils/clamp';\nimport { spacings, mq } from 'utils/styles';\n\nexport interface ColPropsSettings {\n /** Normalisierte Werte zwischen 0 und 1: z.B. 12 von 28 Spalten (12 / 28) */\n span?: number;\n /** Normalisierte Werte zwischen -1 und 1: z.B. -12 von 28 Spalten (-12 / 28) */\n move?: number;\n /** Vertical alignment of column content */\n valign?: VerticalAlign;\n /** Text alignment of column content */\n textAlign?: TextAlign;\n}\n\ntype VerticalAlign = 'top' | 'center' | 'bottom';\ntype HorizontalAlign = 'left' | 'center' | 'right';\ntype TextAlign = 'left' | 'center' | 'right';\n\ninterface ColProps extends ColPropsSettings {\n medium?: ColPropsSettings;\n semilarge?: ColPropsSettings;\n large?: ColPropsSettings;\n xlarge?: ColPropsSettings;\n /** force column to the right */\n toRight?: boolean;\n /** force column to the left */\n toLeft?: boolean;\n}\n\nexport const gridSettings = {\n cols: 12,\n gutter: spacings.spacer,\n};\n\n/** Get width of grid cols incl. gutter (relative to container element) */\nexport const getGridWidth = (props?: {\n cols?: number;\n gutter?: number;\n gridWidth?: string;\n}) => {\n const columns = props?.cols || gridSettings.cols;\n\n const width = props?.gridWidth || '100%';\n const gridGutter =\n props?.gutter !== undefined ? props.gutter : gridSettings.gutter;\n const gridCols = gridSettings.cols;\n\n return css`\n calc(((${width} - ${\n (gridCols - 1) * gridGutter\n }px) / ${gridCols}) * ${columns} + ${(columns - 1) * gridGutter}px)\n `;\n};\n\nconst validateValue = (\n value: number | undefined,\n min: number,\n max?: number\n) => {\n if (value === undefined || value === null) return value;\n return value !== clampValue(value, min, max) ? undefined : value;\n};\n\nconst getWidth = (props: ColProps) => {\n const span = validateValue(props.span, 0, 1);\n const mediumSpan = validateValue(props.medium?.span, 0, 1);\n const semilargeSpan = validateValue(props.semilarge?.span, 0, 1);\n const largeSpan = validateValue(props.large?.span, 0, 1);\n const xlargeSpan = validateValue(props.xlarge?.span, 0, 1);\n\n return css`\n width: ${(span || 1) * 100}%;\n\n ${mediumSpan &&\n css`\n @media ${mq.medium} {\n width: ${(mediumSpan || 1) * 100}%;\n }\n `}\n\n ${semilargeSpan &&\n css`\n @media ${mq.semilarge} {\n width: ${(semilargeSpan || 1) * 100}%;\n }\n `}\n\n ${largeSpan &&\n css`\n @media ${mq.large} {\n width: ${(largeSpan || 1) * 100}%;\n }\n `}\n\n ${xlargeSpan &&\n css`\n @media ${mq.xlarge} {\n width: ${(xlargeSpan || 1) * 100}%;\n }\n `}\n `;\n};\n\nconst getLeftRight = (props: ColProps) => {\n const mediumMove = props?.medium?.move;\n const semilargeMove = props?.semilarge?.move;\n const largeMove = props?.large?.move;\n const xlargeMove = props?.xlarge?.move;\n\n return css`\n left: ${props?.move && props?.move > 0\n ? props?.move * 100 + '%'\n : 'auto'};\n right: ${props?.move && props?.move < 0\n ? props?.move * -100 + '%'\n : 'auto'};\n\n ${mediumMove !== undefined &&\n css`\n @media ${mq.medium} {\n left: ${mediumMove && mediumMove > 0\n ? mediumMove * 100 + '%'\n : 'auto'};\n right: ${mediumMove && mediumMove < 0\n ? mediumMove * -100 + '%'\n : 'auto'};\n }\n `}\n\n ${semilargeMove !== undefined &&\n css`\n @media ${mq.semilarge} {\n left: ${semilargeMove && semilargeMove > 0\n ? semilargeMove * 100 + '%'\n : 'auto'};\n right: ${semilargeMove && semilargeMove < 0\n ? semilargeMove * -100 + '%'\n : 'auto'};\n }\n `}\n\n ${largeMove !== undefined &&\n css`\n @media ${mq.large} {\n left: ${largeMove && largeMove > 0\n ? largeMove * 100 + '%'\n : 'auto'};\n right: ${largeMove && largeMove < 0\n ? largeMove * -100 + '%'\n : 'auto'};\n }\n `}\n\n ${xlargeMove !== undefined &&\n css`\n @media ${mq.xlarge} {\n left: ${xlargeMove && xlargeMove > 0\n ? xlargeMove * 100 + '%'\n : 'auto'};\n right: ${xlargeMove && xlargeMove < 0\n ? xlargeMove * -100 + '%'\n : 'auto'};\n }\n `}\n `;\n};\n\nconst getGutter = (mode: 'grid' | 'col') => (props: GridProps) => {\n const gutter = validateValue(props.gutter, 0) || 0;\n const mediumGutter = validateValue(props?.medium?.gutter, 0);\n const semilargeGutter = validateValue(props?.semilarge?.gutter, 0);\n const largeGutter = validateValue(props?.large?.gutter, 0);\n const xlargeGutter = validateValue(props?.xlarge?.gutter, 0);\n\n const propertyTop = mode === 'grid' ? 'margin-top: -' : 'padding-top: ';\n const propertyLeft = mode === 'grid' ? 'margin-left: -' : 'padding-left: ';\n\n return css`\n ${propertyTop}${gutter}px;\n ${propertyLeft}${gutter}px;\n\n ${mediumGutter !== undefined &&\n css`\n @media ${mq.medium} {\n ${propertyTop}${mediumGutter}px;\n ${propertyLeft}${mediumGutter}px;\n }\n `}\n\n ${semilargeGutter !== undefined &&\n css`\n @media ${mq.semilarge} {\n ${propertyTop}${semilargeGutter}px;\n ${propertyLeft}${semilargeGutter}px;\n }\n `}\n \n ${largeGutter !== undefined &&\n css`\n @media ${mq.large} {\n ${propertyTop}${largeGutter}px;\n ${propertyLeft}${largeGutter}px;\n }\n `}\n\n ${xlargeGutter !== undefined &&\n css`\n @media ${mq.xlarge} {\n ${propertyTop}${xlargeGutter}px;\n ${propertyLeft}${xlargeGutter}px;\n }\n `}\n `;\n};\n\nconst getTextAlign = (props: ColProps) => {\n const mediumTextAlign = props?.medium?.textAlign;\n const semilargeTextAlign = props?.semilarge?.textAlign;\n const largeTextAlign = props?.large?.textAlign;\n const xlargeTextAlign = props?.xlarge?.textAlign;\n\n return css`\n text-align: ${props?.textAlign || undefined};\n\n ${mediumTextAlign !== undefined &&\n css`\n @media ${mq.medium} {\n text-align: ${mediumTextAlign};\n }\n `}\n\n ${semilargeTextAlign !== undefined &&\n css`\n @media ${mq.semilarge} {\n text-align: ${semilargeTextAlign};\n }\n `}\n\n ${largeTextAlign !== undefined &&\n css`\n @media ${mq.large} {\n text-align: ${largeTextAlign};\n }\n `}\n\n ${xlargeTextAlign !== undefined &&\n css`\n @media ${mq.xlarge} {\n text-align: ${xlargeTextAlign};\n }\n `}\n `;\n};\n\nconst mapVerticalAlign = (alignMode?: VerticalAlign) => {\n switch (alignMode) {\n case 'top':\n return 'flex-start';\n case 'center':\n return 'center';\n case 'bottom':\n return 'flex-end';\n default:\n return undefined;\n }\n};\n\nconst getVerticalAlign =\n (selfAlign?: boolean) => (props: ColProps & GridProps) => {\n const vAlign = mapVerticalAlign(props.valign);\n const mediumAlign = mapVerticalAlign(props?.medium?.valign);\n const semilargelAlign = mapVerticalAlign(props?.semilarge?.valign);\n const largeAlign = mapVerticalAlign(props?.large?.valign);\n const xlargeAlign = mapVerticalAlign(props?.xlarge?.valign);\n\n const property = selfAlign ? 'align-self: ' : 'align-items: ';\n\n return css`\n ${property}${vAlign || undefined};\n\n ${mediumAlign !== undefined &&\n css`\n @media ${mq.medium} {\n ${property}${mediumAlign};\n }\n `}\n\n ${semilargelAlign !== undefined &&\n css`\n @media ${mq.semilarge} {\n ${property}${semilargelAlign};\n }\n `}\n\n ${largeAlign !== undefined &&\n css`\n @media ${mq.large} {\n ${property}${largeAlign};\n }\n `}\n\n ${xlargeAlign !== undefined &&\n css`\n @media ${mq.xlarge} {\n ${property}${xlargeAlign};\n }\n `}\n `;\n };\n\nconst mapHorizontalAlign = (alignMode?: HorizontalAlign) => {\n switch (alignMode) {\n case 'left':\n return 'flex-start';\n case 'center':\n return 'center';\n case 'right':\n return 'flex-end';\n default:\n return undefined;\n }\n};\n\nconst getHorinzontalAlign = (props: GridProps) => {\n const hAlign = mapHorizontalAlign(props.halign);\n const mediumAlign = mapHorizontalAlign(props?.medium?.halign);\n const semilargelAlign = mapHorizontalAlign(props?.semilarge?.halign);\n const largeAlign = mapHorizontalAlign(props?.large?.halign);\n const xlargeAlign = mapHorizontalAlign(props?.xlarge?.halign);\n\n return css`\n justify-content: ${hAlign || undefined};\n\n ${mediumAlign !== undefined &&\n css`\n @media ${mq.medium} {\n justify-content: ${mediumAlign};\n }\n `}\n\n ${semilargelAlign !== undefined &&\n css`\n @media ${mq.semilarge} {\n justify-content: ${semilargelAlign};\n }\n `}\n\n ${largeAlign !== undefined &&\n css`\n @media ${mq.large} {\n justify-content: ${largeAlign};\n }\n `}\n\n ${xlargeAlign !== undefined &&\n css`\n @media ${mq.xlarge} {\n justify-content: ${xlargeAlign};\n }\n `}\n `;\n};\n\nconst StyledCol = styled.div<GridProps & ColProps>`\n ${getWidth};\n ${getLeftRight};\n ${getGutter('col')}\n display: inline-grid;\n grid-template-columns: 100%;\n position: relative;\n\n ${getTextAlign}\n ${getVerticalAlign(true)}\n ${({ toRight }) =>\n toRight &&\n css`\n margin-left: auto;\n `}\n ${({ toLeft }) =>\n toLeft &&\n css`\n margin-right: auto;\n `}\n`;\n\nconst Col: React.FC<ColProps & { children?: React.ReactNode }> = (props) => {\n return <React.Fragment>{props?.children}</React.Fragment>;\n};\n\ninterface GridPropsSettings {\n gutter?: number;\n valign?: VerticalAlign;\n halign?: HorizontalAlign;\n}\n\ninterface GridProps extends GridPropsSettings {\n medium?: GridPropsSettings;\n semilarge?: GridPropsSettings;\n large?: GridPropsSettings;\n xlarge?: GridPropsSettings;\n}\n\nconst StyledGrid = styled.div<GridProps>`\n ${getGutter('grid')}\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n ${getVerticalAlign()}\n ${getHorinzontalAlign}\n`;\n\nconst mapGutterToCol = (gutter?: number, colSettings?: any) => {\n if (gutter === undefined) return colSettings;\n if (colSettings) {\n return {\n ...colSettings,\n gutter,\n };\n } else {\n return {\n gutter,\n };\n }\n};\n\nconst Grid: React.FC<GridProps & { children?: React.ReactNode }> = ({\n gutter,\n valign,\n children,\n halign,\n medium,\n semilarge,\n large,\n xlarge,\n}) => {\n return (\n <StyledGrid\n gutter={gutter}\n valign={valign}\n halign={halign}\n medium={medium}\n semilarge={semilarge}\n large={large}\n xlarge={xlarge}\n >\n {React.Children.map(children, (comp: any) => {\n return comp ? (\n <StyledCol\n {...comp?.props}\n gutter={gutter}\n medium={mapGutterToCol(\n medium?.gutter,\n comp?.props?.medium\n )}\n semilarge={mapGutterToCol(\n semilarge?.gutter,\n comp?.props?.semilarge\n )}\n large={mapGutterToCol(\n large?.gutter,\n comp?.props?.large\n )}\n xlarge={mapGutterToCol(\n xlarge?.gutter,\n comp?.props?.xlarge\n )}\n />\n ) : undefined;\n })}\n </StyledGrid>\n );\n};\n\nGrid.defaultProps = {\n gutter: gridSettings.gutter,\n};\n\nexport default {\n Row: Grid,\n Col,\n};\n"],"names":["gridSettings","cols","gutter","spacings","spacer","validateValue","value","min","max","clampValue","undefined","getGutter","mode","props","mediumGutter","_a","medium","semilargeGutter","_b","semilarge","largeGutter","_c","large","xlargeGutter","_d","xlarge","propertyTop","propertyLeft","css","templateObject_16","__makeTemplateObject","mq","templateObject_13","templateObject_14","templateObject_15","mapVerticalAlign","alignMode","getVerticalAlign","selfAlign","vAlign","valign","mediumAlign","semilargelAlign","largeAlign","xlargeAlign","property","templateObject_26","templateObject_23","templateObject_24","templateObject_25","mapHorizontalAlign","StyledCol","styled","div","withConfig","displayName","componentId","span","mediumSpan","semilargeSpan","largeSpan","xlargeSpan","templateObject_6","templateObject_2","templateObject_3","templateObject_4","templateObject_5","mediumMove","move","semilargeMove","largeMove","xlargeMove","templateObject_11","templateObject_7","templateObject_8","templateObject_9","templateObject_10","mediumTextAlign","textAlign","semilargeTextAlign","largeTextAlign","xlargeTextAlign","templateObject_18","templateObject_19","templateObject_20","toRight","templateObject_32","toLeft","templateObject_33","StyledGrid","hAlign","halign","templateObject_27","templateObject_28","templateObject_30","mapGutterToCol","colSettings","__assign","Grid","children","React","createElement","Children","map","comp","defaultProps","Grid$1","Row","Col","Fragment","columns","width","gridWidth","gridGutter","gridCols","templateObject_1"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var n=require("./Filter-89286db9.js"),e=require("./Copy-a0bc570d.js"),t=require("react"),o=require("styled-components"),i=require("./LibThemeProvider-69109901.js"),r=require("./styles-13e5d9ac.js");function a(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}function l(n){if(n&&n.__esModule)return n;var e=Object.create(null);return n&&Object.keys(n).forEach((function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,o.get?o:{enumerable:!0,get:function(){return n[t]}})}})),e.default=n,Object.freeze(e)}var s,d,c,u,p,m,v=l(t),f=a(o),g=function(n,e){if(n&&e&&!isNaN(n)&&!isNaN(e))return n/e},w=function(n){return!!(n&&(null==n?void 0:n.w)&&(null==n?void 0:n.h))},h=function(e){return o.css(s||(s=n.__makeTemplateObject(["\n @supports not (aspect-ratio: auto) {\n height: ",";\n padding-top: ",";\n }\n"],["\n @supports not (aspect-ratio: auto) {\n height: ",";\n padding-top: ",";\n }\n"])),w(e)&&0,w(e)&&"calc(100% / ".concat(g(null==e?void 0:e.w,null==e?void 0:e.h),")"))},b=f.default.div.withConfig({displayName:"Image__AspectContainer",componentId:"sc-10qjgzr-0"})(u||(u=n.__makeTemplateObject(["\n display: inline-block;\n position: relative;\n border-radius: ",";\n overflow: hidden;\n\n aspect-ratio: ",";\n\n width: ",";\n\n max-width: 100%;\n\n object-position: center;\n\n img {\n width: 100%;\n }\n\n ","\n\n // fallback if browsers do not support aspect-ratio\n ","\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio. (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n ","\n"],["\n display: inline-block;\n position: relative;\n border-radius: ",";\n overflow: hidden;\n\n aspect-ratio: ",";\n\n width: ",";\n\n max-width: 100%;\n\n object-position: center;\n\n img {\n width: 100%;\n }\n\n ","\n\n // fallback if browsers do not support aspect-ratio\n ","\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio. (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n @media "," {\n aspect-ratio: ",";\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ","\n }\n\n ","\n"])),(function(n){var e=n.theme;return n.allowEdgeRadius&&r.getGlobals(e).sections.edgeRadius}),(function(n){var e,t,o=n.ratios;return g(null===(e=null==o?void 0:o.small)||void 0===e?void 0:e.w,null===(t=null==o?void 0:o.small)||void 0===t?void 0:t.h)}),(function(n){var e,t,o=n.ratios;return!n.coverSpace&&(null===(e=null==o?void 0:o.small)||void 0===e?void 0:e.w)?"".concat(null===(t=null==o?void 0:o.small)||void 0===t?void 0:t.w,"px"):""}),(function(e){return e.coverSpace&&o.css(d||(d=n.__makeTemplateObject(["\n width: 100%;\n\n img {\n object-fit: cover;\n }\n "],["\n width: 100%;\n\n img {\n object-fit: cover;\n }\n "])))}),(function(n){var e=n.ratios;return n.coverSpace&&h(null==e?void 0:e.small)}),r.mq.medium,(function(n){var e,t,o=n.ratios;return g(null===(e=null==o?void 0:o.medium)||void 0===e?void 0:e.w,null===(t=null==o?void 0:o.medium)||void 0===t?void 0:t.h)}),(function(n){var e=n.ratios;return n.coverSpace&&h(null==e?void 0:e.medium)}),r.mq.semilarge,(function(n){var e,t,o=n.ratios;return g(null===(e=null==o?void 0:o.semilarge)||void 0===e?void 0:e.w,null===(t=null==o?void 0:o.semilarge)||void 0===t?void 0:t.h)}),(function(n){var e=n.ratios;return n.coverSpace&&h(null==e?void 0:e.semilarge)}),r.mq.large,(function(n){var e,t,o=n.ratios;return g(null===(e=null==o?void 0:o.large)||void 0===e?void 0:e.w,null===(t=null==o?void 0:o.large)||void 0===t?void 0:t.h)}),(function(n){var e=n.ratios;return n.coverSpace&&h(null==e?void 0:e.large)}),r.mq.xlarge,(function(n){var e,t,o=n.ratios;return g(null===(e=null==o?void 0:o.xlarge)||void 0===e?void 0:e.w,null===(t=null==o?void 0:o.xlarge)||void 0===t?void 0:t.h)}),(function(n){var e=n.ratios;return n.coverSpace&&h(null==e?void 0:e.xlarge)}),(function(e){var t=e.ratios,i=e.coverSpace;return t&&o.css(c||(c=n.__makeTemplateObject(["\n img {\n height: 100%;\n width: 100%;\n object-fit: ",";\n\n @supports not (aspect-ratio: auto) {\n position: ",";\n top: 0;\n left: 0;\n right: 0;\n }\n }\n "],["\n img {\n height: 100%;\n width: 100%;\n object-fit: ",";\n\n @supports not (aspect-ratio: auto) {\n position: ",";\n top: 0;\n left: 0;\n right: 0;\n }\n }\n "])),i?"cover":"contain",i&&"absolute")})),k=f.default.img.withConfig({displayName:"Image__Img",componentId:"sc-10qjgzr-1"})(p||(p=n.__makeTemplateObject(["\n display: block;\n color: ",";\n\n &[data-img-loaded='false'] {\n background: ",";\n }\n"],["\n display: block;\n color: ",";\n\n &[data-img-loaded='false'] {\n background: ",";\n }\n"])),(function(n){var e=n.theme;return n.isInverted?r.getColors(e).text.inverted:r.getColors(e).text.default}),(function(n){var e=n.theme,t=n.isInverted;return n.showPlaceholder?t?r.getGlobals(e).sections.imagePlaceholderBg.inverted:r.getGlobals(e).sections.imagePlaceholderBg.default:void 0})),y=f.default(e.Copy).withConfig({displayName:"Image__Copyright",componentId:"sc-10qjgzr-2"})(m||(m=n.__makeTemplateObject(["\n display: inline-block;\n position: absolute;\n max-height: 100%;\n bottom: 0;\n right: 0;\n\n padding: ","px ","px;\n\n pointer-events: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -ms-writing-mode: tb-rl;\n writing-mode: vertical-rl;\n text-orientation: sideways-right;\n transform: rotate(180deg);\n"],["\n display: inline-block;\n position: absolute;\n max-height: 100%;\n bottom: 0;\n right: 0;\n\n padding: ","px ","px;\n\n pointer-events: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -ms-writing-mode: tb-rl;\n writing-mode: vertical-rl;\n text-orientation: sideways-right;\n transform: rotate(180deg);\n"])),2*r.spacings.nudge,r.spacings.nudge);exports.Image=function(n){var e=n.className,o=n.small,a=n.medium,l=n.semilarge,s=n.large,d=n.xlarge,c=n.alt,u=n.ratios,p=n.coverSpace,m=n.onClick,f=n.isInverted,g=n.showPlaceholder,w=void 0===g||g,h=n.allowEdgeRadius,j=n.copyright,x=i.useLibTheme().colors,O=t.useRef(null),_=t.useState(!1),E=_[0],q=_[1];return t.useEffect((function(){if(O.current){var n=O.current,e=function(){q(!0)},t=function(){q(!1)};return n.complete?(n.removeEventListener("load",e),n.removeEventListener("error",t),e()):(n.addEventListener("load",e),n.addEventListener("error",t)),function(){n.removeEventListener("load",e),n.removeEventListener("error",t)}}}),[]),v.createElement(b,{ratios:u,coverSpace:p,allowEdgeRadius:h,className:e},v.createElement("picture",{onClick:m},d&&v.createElement("source",{srcSet:d,media:r.mq.xlarge}),s&&v.createElement("source",{srcSet:s,media:r.mq.large}),l&&v.createElement("source",{srcSet:l,media:r.mq.semilarge}),a&&v.createElement("source",{srcSet:a,media:r.mq.medium}),v.createElement(k,{ref:O,"data-img-loaded":E,showPlaceholder:w,isInverted:f,srcSet:o,alt:c||"",loading:"lazy"})),j&&v.createElement(y,{size:"small",textColor:x.text.inverted,innerHTML:"© ".concat(j),renderAs:"span"}))};
|
|
2
|
+
//# sourceMappingURL=Image-94820dfd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Image-c72f7a80.js","sources":["../src/components/blocks/Image.tsx"],"sourcesContent":["import Copy from 'components/typography/Copy';\nimport * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport {\n mq,\n getColors as color,\n getGlobals as global,\n spacings,\n} from 'utils/styles';\n\nexport interface ImageAspectRatios {\n small: { w: number; h: number };\n medium?: { w: number; h: number };\n semilarge?: { w: number; h: number };\n large?: { w: number; h: number };\n xlarge?: { w: number; h: number };\n}\n\nexport interface ImageProps {\n /** Alternative text if image cannot be loaded */\n alt?: string;\n\n /** Image URL for small breakpoint */\n small: string;\n /** Image URL for medium breakpoint */\n medium?: string;\n /** Image URL for semilarge breakpoint */\n semilarge?: string;\n /** Image URL for large breakpoint */\n large?: string;\n /** Image URL for xlarge breakpoint */\n xlarge?: string;\n\n /** Cover full width of parent container */\n coverSpace?: boolean;\n\n /**\n * Image ratios for each breakpoint to avoid layout shifting.\n * Only works if coverSpace = true!\n * */\n ratios?: ImageAspectRatios;\n\n /** Show image placeholder background */\n showPlaceholder?: boolean;\n\n /** Image copyright text (richtext) */\n copyright?: string;\n}\n\nconst getAspectRatio = (width?: number, height?: number) => {\n if (!width || !height) return undefined;\n if (isNaN(width) || isNaN(height)) return undefined;\n\n return width / height;\n};\n\nconst isValid = (ratio?: { w?: number; h?: number }) => {\n return ratio && ratio?.w && ratio?.h ? true : false;\n};\n\nconst aspectFallback = (ratio?: { w?: number; h?: number }) => css`\n @supports not (aspect-ratio: auto) {\n height: ${isValid(ratio) && 0};\n padding-top: ${isValid(ratio) &&\n `calc(100% / ${getAspectRatio(ratio?.w, ratio?.h)})`};\n }\n`;\n\nconst AspectContainer = styled.div<{\n ratios?: ImageAspectRatios;\n coverSpace?: boolean;\n allowEdgeRadius?: boolean;\n}>`\n display: inline-block;\n position: relative;\n border-radius: ${({ theme, allowEdgeRadius }) =>\n allowEdgeRadius && global(theme).sections.edgeRadius};\n overflow: hidden;\n\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.small?.w, ratios?.small?.h)};\n\n width: ${({ ratios, coverSpace }) =>\n !coverSpace && ratios?.small?.w ? `${ratios?.small?.w}px` : ''};\n\n max-width: 100%;\n\n object-position: center;\n\n img {\n width: 100%;\n }\n\n ${({ coverSpace }) =>\n coverSpace &&\n css`\n width: 100%;\n\n img {\n object-fit: cover;\n }\n `}\n\n // fallback if browsers do not support aspect-ratio\n ${({ ratios, coverSpace }) => coverSpace && aspectFallback(ratios?.small)}\n\n @media ${mq.medium} {\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.medium?.w, ratios?.medium?.h)};\n\n // fallback if browsers do not support aspect-ratio. (Only works with width = 100%)\n ${({ ratios, coverSpace }) =>\n coverSpace && aspectFallback(ratios?.medium)}\n }\n\n @media ${mq.semilarge} {\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.semilarge?.w, ratios?.semilarge?.h)};\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ${({ ratios, coverSpace }) =>\n coverSpace && aspectFallback(ratios?.semilarge)}\n }\n\n @media ${mq.large} {\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.large?.w, ratios?.large?.h)};\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ${({ ratios, coverSpace }) =>\n coverSpace && aspectFallback(ratios?.large)}\n }\n\n @media ${mq.xlarge} {\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.xlarge?.w, ratios?.xlarge?.h)};\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ${({ ratios, coverSpace }) =>\n coverSpace && aspectFallback(ratios?.xlarge)}\n }\n\n ${({ ratios, coverSpace }) =>\n ratios &&\n css`\n img {\n height: 100%;\n width: 100%;\n object-fit: ${coverSpace ? 'cover' : 'contain'};\n\n @supports not (aspect-ratio: auto) {\n position: ${coverSpace && 'absolute'};\n top: 0;\n left: 0;\n right: 0;\n }\n }\n `}\n`;\n\nconst Img = styled.img<{ isInverted?: boolean; showPlaceholder?: boolean }>`\n display: block;\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n\n &[data-img-loaded='false'] {\n background: ${({ theme, isInverted, showPlaceholder }) =>\n showPlaceholder\n ? isInverted\n ? global(theme).sections.imagePlaceholderBg.inverted\n : global(theme).sections.imagePlaceholderBg.default\n : undefined};\n }\n`;\n\nconst Copyright = styled(Copy)`\n display: inline-block;\n position: absolute;\n max-height: 100%;\n bottom: 0;\n right: 0;\n\n padding: ${spacings.nudge * 2}px ${spacings.nudge}px;\n\n pointer-events: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -ms-writing-mode: tb-rl;\n writing-mode: vertical-rl;\n text-orientation: sideways-right;\n transform: rotate(180deg);\n`;\n\nconst Image: React.FC<\n {\n className?: string;\n\n /** Click handler */\n onClick?: () => void;\n\n /** Show inverted image placeholder background */\n isInverted?: boolean;\n\n /** Allow edge radius defined by theme settings */\n allowEdgeRadius?: boolean;\n } & ImageProps\n> = ({\n className,\n small,\n medium,\n semilarge,\n large,\n xlarge,\n alt,\n ratios,\n coverSpace,\n onClick,\n isInverted,\n showPlaceholder = true,\n allowEdgeRadius,\n copyright,\n}) => {\n const { colors } = useLibTheme();\n const imgRef = useRef<HTMLImageElement>(null);\n const [isLoaded, setIsLoaded] = useState<boolean>(false);\n\n useEffect(() => {\n if (!imgRef.current) return;\n const ref = imgRef.current;\n\n const handleLoad = () => {\n setIsLoaded(true);\n };\n\n const handleError = () => {\n setIsLoaded(false);\n };\n\n if (!ref.complete) {\n ref.addEventListener('load', handleLoad);\n ref.addEventListener('error', handleError);\n } else {\n ref.removeEventListener('load', handleLoad);\n ref.removeEventListener('error', handleError);\n handleLoad();\n }\n\n return () => {\n ref.removeEventListener('load', handleLoad);\n ref.removeEventListener('error', handleError);\n };\n }, []);\n\n return (\n <AspectContainer\n ratios={ratios}\n coverSpace={coverSpace}\n allowEdgeRadius={allowEdgeRadius}\n className={className}\n >\n <picture onClick={onClick}>\n {xlarge && <source srcSet={xlarge} media={mq.xlarge} />}\n {large && <source srcSet={large} media={mq.large} />}\n {semilarge && (\n <source srcSet={semilarge} media={mq.semilarge} />\n )}\n {medium && <source srcSet={medium} media={mq.medium} />}\n <Img\n ref={imgRef}\n data-img-loaded={isLoaded}\n showPlaceholder={showPlaceholder}\n isInverted={isInverted}\n srcSet={small}\n alt={alt || ''}\n loading=\"lazy\"\n />\n </picture>\n {copyright && (\n <Copyright\n size=\"small\"\n textColor={colors.text.inverted}\n innerHTML={`© ${copyright}`}\n renderAs=\"span\"\n />\n )}\n </AspectContainer>\n );\n};\n\nexport default Image;\n"],"names":["getAspectRatio","width","height","isNaN","isValid","ratio","w","h","aspectFallback","css","templateObject_1","__makeTemplateObject","concat","AspectContainer","styled","div","withConfig","displayName","componentId","templateObject_4","_a","theme","allowEdgeRadius","global","getGlobals","sections","edgeRadius","ratios","_b","small","_c","coverSpace","templateObject_2","mq","medium","semilarge","large","xlarge","templateObject_3","Img","img","templateObject_5","isInverted","color","text","inverted","default","showPlaceholder","imagePlaceholderBg","undefined","Copyright","Copy","templateObject_6","spacings","nudge","className","alt","onClick","copyright","colors","useLibTheme","imgRef","useRef","useState","isLoaded","setIsLoaded","useEffect","current","ref","handleLoad","handleError","complete","removeEventListener","addEventListener","React","createElement","srcSet","media","loading","size","textColor","innerHTML","renderAs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Image-94820dfd.js","sources":["../src/components/blocks/Image.tsx"],"sourcesContent":["import Copy from 'components/typography/Copy';\nimport * as React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport {\n mq,\n getColors as color,\n getGlobals as global,\n spacings,\n} from 'utils/styles';\n\nexport interface ImageAspectRatios {\n small: { w: number; h: number };\n medium?: { w: number; h: number };\n semilarge?: { w: number; h: number };\n large?: { w: number; h: number };\n xlarge?: { w: number; h: number };\n}\n\nexport interface ImageProps {\n /** Alternative text if image cannot be loaded */\n alt?: string;\n\n /** Image URL for small breakpoint */\n small: string;\n /** Image URL for medium breakpoint */\n medium?: string;\n /** Image URL for semilarge breakpoint */\n semilarge?: string;\n /** Image URL for large breakpoint */\n large?: string;\n /** Image URL for xlarge breakpoint */\n xlarge?: string;\n\n /** Cover full width of parent container */\n coverSpace?: boolean;\n\n /**\n * Image ratios for each breakpoint to avoid layout shifting.\n * Only works if coverSpace = true!\n * */\n ratios?: ImageAspectRatios;\n\n /** Show image placeholder background */\n showPlaceholder?: boolean;\n\n /** Image copyright text (richtext) */\n copyright?: string;\n}\n\nconst getAspectRatio = (width?: number, height?: number) => {\n if (!width || !height) return undefined;\n if (isNaN(width) || isNaN(height)) return undefined;\n\n return width / height;\n};\n\nconst isValid = (ratio?: { w?: number; h?: number }) => {\n return ratio && ratio?.w && ratio?.h ? true : false;\n};\n\nconst aspectFallback = (ratio?: { w?: number; h?: number }) => css`\n @supports not (aspect-ratio: auto) {\n height: ${isValid(ratio) && 0};\n padding-top: ${isValid(ratio) &&\n `calc(100% / ${getAspectRatio(ratio?.w, ratio?.h)})`};\n }\n`;\n\nconst AspectContainer = styled.div<{\n ratios?: ImageAspectRatios;\n coverSpace?: boolean;\n allowEdgeRadius?: boolean;\n}>`\n display: inline-block;\n position: relative;\n border-radius: ${({ theme, allowEdgeRadius }) =>\n allowEdgeRadius && global(theme).sections.edgeRadius};\n overflow: hidden;\n\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.small?.w, ratios?.small?.h)};\n\n width: ${({ ratios, coverSpace }) =>\n !coverSpace && ratios?.small?.w ? `${ratios?.small?.w}px` : ''};\n\n max-width: 100%;\n\n object-position: center;\n\n img {\n width: 100%;\n }\n\n ${({ coverSpace }) =>\n coverSpace &&\n css`\n width: 100%;\n\n img {\n object-fit: cover;\n }\n `}\n\n // fallback if browsers do not support aspect-ratio\n ${({ ratios, coverSpace }) => coverSpace && aspectFallback(ratios?.small)}\n\n @media ${mq.medium} {\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.medium?.w, ratios?.medium?.h)};\n\n // fallback if browsers do not support aspect-ratio. (Only works with width = 100%)\n ${({ ratios, coverSpace }) =>\n coverSpace && aspectFallback(ratios?.medium)}\n }\n\n @media ${mq.semilarge} {\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.semilarge?.w, ratios?.semilarge?.h)};\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ${({ ratios, coverSpace }) =>\n coverSpace && aspectFallback(ratios?.semilarge)}\n }\n\n @media ${mq.large} {\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.large?.w, ratios?.large?.h)};\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ${({ ratios, coverSpace }) =>\n coverSpace && aspectFallback(ratios?.large)}\n }\n\n @media ${mq.xlarge} {\n aspect-ratio: ${({ ratios }) =>\n getAspectRatio(ratios?.xlarge?.w, ratios?.xlarge?.h)};\n\n // fallback if browsers do not support aspect-ratio (Only works with width = 100%)\n ${({ ratios, coverSpace }) =>\n coverSpace && aspectFallback(ratios?.xlarge)}\n }\n\n ${({ ratios, coverSpace }) =>\n ratios &&\n css`\n img {\n height: 100%;\n width: 100%;\n object-fit: ${coverSpace ? 'cover' : 'contain'};\n\n @supports not (aspect-ratio: auto) {\n position: ${coverSpace && 'absolute'};\n top: 0;\n left: 0;\n right: 0;\n }\n }\n `}\n`;\n\nconst Img = styled.img<{ isInverted?: boolean; showPlaceholder?: boolean }>`\n display: block;\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n\n &[data-img-loaded='false'] {\n background: ${({ theme, isInverted, showPlaceholder }) =>\n showPlaceholder\n ? isInverted\n ? global(theme).sections.imagePlaceholderBg.inverted\n : global(theme).sections.imagePlaceholderBg.default\n : undefined};\n }\n`;\n\nconst Copyright = styled(Copy)`\n display: inline-block;\n position: absolute;\n max-height: 100%;\n bottom: 0;\n right: 0;\n\n padding: ${spacings.nudge * 2}px ${spacings.nudge}px;\n\n pointer-events: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n -ms-writing-mode: tb-rl;\n writing-mode: vertical-rl;\n text-orientation: sideways-right;\n transform: rotate(180deg);\n`;\n\nconst Image: React.FC<\n {\n className?: string;\n\n /** Click handler */\n onClick?: () => void;\n\n /** Show inverted image placeholder background */\n isInverted?: boolean;\n\n /** Allow edge radius defined by theme settings */\n allowEdgeRadius?: boolean;\n } & ImageProps\n> = ({\n className,\n small,\n medium,\n semilarge,\n large,\n xlarge,\n alt,\n ratios,\n coverSpace,\n onClick,\n isInverted,\n showPlaceholder = true,\n allowEdgeRadius,\n copyright,\n}) => {\n const { colors } = useLibTheme();\n const imgRef = useRef<HTMLImageElement>(null);\n const [isLoaded, setIsLoaded] = useState<boolean>(false);\n\n useEffect(() => {\n if (!imgRef.current) return;\n const ref = imgRef.current;\n\n const handleLoad = () => {\n setIsLoaded(true);\n };\n\n const handleError = () => {\n setIsLoaded(false);\n };\n\n if (!ref.complete) {\n ref.addEventListener('load', handleLoad);\n ref.addEventListener('error', handleError);\n } else {\n ref.removeEventListener('load', handleLoad);\n ref.removeEventListener('error', handleError);\n handleLoad();\n }\n\n return () => {\n ref.removeEventListener('load', handleLoad);\n ref.removeEventListener('error', handleError);\n };\n }, []);\n\n return (\n <AspectContainer\n ratios={ratios}\n coverSpace={coverSpace}\n allowEdgeRadius={allowEdgeRadius}\n className={className}\n >\n <picture onClick={onClick}>\n {xlarge && <source srcSet={xlarge} media={mq.xlarge} />}\n {large && <source srcSet={large} media={mq.large} />}\n {semilarge && (\n <source srcSet={semilarge} media={mq.semilarge} />\n )}\n {medium && <source srcSet={medium} media={mq.medium} />}\n <Img\n ref={imgRef}\n data-img-loaded={isLoaded}\n showPlaceholder={showPlaceholder}\n isInverted={isInverted}\n srcSet={small}\n alt={alt || ''}\n loading=\"lazy\"\n />\n </picture>\n {copyright && (\n <Copyright\n size=\"small\"\n textColor={colors.text.inverted}\n innerHTML={`© ${copyright}`}\n renderAs=\"span\"\n />\n )}\n </AspectContainer>\n );\n};\n\nexport default Image;\n"],"names":["getAspectRatio","width","height","isNaN","isValid","ratio","w","h","aspectFallback","css","templateObject_1","__makeTemplateObject","concat","AspectContainer","styled","div","withConfig","displayName","componentId","templateObject_4","_a","theme","allowEdgeRadius","global","getGlobals","sections","edgeRadius","ratios","_b","small","_c","coverSpace","templateObject_2","mq","medium","semilarge","large","xlarge","templateObject_3","Img","img","templateObject_5","isInverted","color","text","inverted","default","showPlaceholder","imagePlaceholderBg","undefined","Copyright","Copy","templateObject_6","spacings","nudge","className","alt","onClick","copyright","colors","useLibTheme","imgRef","useRef","useState","isLoaded","setIsLoaded","useEffect","current","ref","handleLoad","handleError","complete","removeEventListener","addEventListener","React","createElement","srcSet","media","loading","size","textColor","innerHTML","renderAs"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var n=require("./Filter-89286db9.js"),e=require("./Copy-a0bc570d.js"),t=require("react"),i=require("styled-components"),a=require("./arrays-c272ed59.js"),l=require("./styles-13e5d9ac.js");function o(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var r,s,d,p,m,c,g,f=o(t),u=o(i),x=u.default.div.withConfig({displayName:"InfoList__View",componentId:"sc-1bggeo0-0"})(r||(r=n.__makeTemplateObject([""],[""]))),y=u.default.ul.withConfig({displayName:"InfoList__Container",componentId:"sc-1bggeo0-1"})(s||(s=n.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n margin: 0;\n padding: 0;\n margin-left: -","px;\n margin-top: -","px;\n list-style: none;\n"],["\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n margin: 0;\n padding: 0;\n margin-left: -","px;\n margin-top: -","px;\n list-style: none;\n"])),l.spacings.spacer,5*l.spacings.nudge),_=u.default.li.withConfig({displayName:"InfoList__Item",componentId:"sc-1bggeo0-2"})(d||(d=n.__makeTemplateObject(["\n flex: 1 1 100%;\n padding-left: ","px;\n padding-top: ","px;\n\n @media "," {\n flex: 1 1 300px;\n }\n"],["\n flex: 1 1 100%;\n padding-left: ","px;\n padding-top: ","px;\n\n @media "," {\n flex: 1 1 300px;\n }\n"])),l.spacings.spacer,5*l.spacings.nudge,l.mq.medium),w=u.default(e.Copy).withConfig({displayName:"InfoList__Title",componentId:"sc-1bggeo0-3"})(p||(p=n.__makeTemplateObject(["\n display: block;\n margin-bottom: ","px;\n"],["\n display: block;\n margin-bottom: ","px;\n"])),3*l.spacings.nudge),I=u.default.ul.withConfig({displayName:"InfoList__Infos",componentId:"sc-1bggeo0-4"})(m||(m=n.__makeTemplateObject(["\n list-style: none;\n margin: 0;\n padding: 0;\n"],["\n list-style: none;\n margin: 0;\n padding: 0;\n"]))),b=u.default.li.withConfig({displayName:"InfoList__Content",componentId:"sc-1bggeo0-5"})(c||(c=n.__makeTemplateObject(["\n display: -ms-grid;\n display: grid;\n margin: 0;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: -ms-grid;\n display: grid;\n margin: 0;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"])),2*l.spacings.nudge,2*l.spacings.nudge),h=u.default(e.Copy).withConfig({displayName:"InfoList__Icon",componentId:"sc-1bggeo0-6"})(g||(g=n.__makeTemplateObject(["\n height: 20px;\n width: 20px;\n\n & > * {\n height: 20px;\n width: 20px;\n }\n"],["\n height: 20px;\n width: 20px;\n\n & > * {\n height: 20px;\n width: 20px;\n }\n"])));exports.InfoList=function(n){var t=n.isInverted,i=n.items,l=n.className;return f.default.createElement(x,{className:l},f.default.createElement(y,null,null==i?void 0:i.map((function(n,i){var l,o=(null===(l=null==n?void 0:n.items)||void 0===l?void 0:l.filter((function(n){return n.text})))||[],r=a.isValidArray(o,!1);return f.default.createElement(_,{key:i},n.title&&f.default.createElement(w,{size:"small",type:"copy-b",renderAs:"span",isInverted:t},n.title),r&&f.default.createElement(I,null,o.map((function(n,i){return f.default.createElement(b,{key:i},f.default.createElement(h,{isInverted:t},n.icon&&n.icon(t)),n.text&&f.default.createElement(e.Copy,{size:"small",isInverted:t,innerHTML:n.text,allowLinkIcons:!1}))}))))}))))};
|
|
2
|
+
//# sourceMappingURL=InfoList-e416058c.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfoList-
|
|
1
|
+
{"version":3,"file":"InfoList-e416058c.js","sources":["../src/components/blocks/InfoList.tsx"],"sourcesContent":["import Copy from 'components/typography/Copy';\nimport React, { FC } from 'react';\nimport styled from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\n\nimport { mq, spacings } from 'utils/styles';\n\nconst View = styled.div``;\n\nconst Container = styled.ul`\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n margin: 0;\n padding: 0;\n margin-left: -${spacings.spacer}px;\n margin-top: -${spacings.nudge * 5}px;\n list-style: none;\n`;\n\nconst Item = styled.li`\n flex: 1 1 100%;\n padding-left: ${spacings.spacer}px;\n padding-top: ${spacings.nudge * 5}px;\n\n @media ${mq.medium} {\n flex: 1 1 300px;\n }\n`;\n\nconst Title = styled(Copy)`\n display: block;\n margin-bottom: ${spacings.nudge * 3}px;\n`;\n\nconst Infos = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n`;\n\nconst Content = styled.li`\n display: -ms-grid;\n display: grid;\n margin: 0;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Icon = styled(Copy)`\n height: 20px;\n width: 20px;\n\n & > * {\n height: 20px;\n width: 20px;\n }\n`;\n\nexport interface InfoGroup {\n title?: string;\n items: Info[];\n}\n\nexport interface Info {\n /** icon injection function */\n icon?: (isInverted?: boolean) => React.ReactNode;\n /** info text (richtText) */\n text?: string;\n}\n\nconst InfoList: FC<{\n /** Invert text and icon color for dark backgrounds */\n isInverted?: boolean;\n\n /** Array of info groups */\n items?: InfoGroup[];\n\n className?: string;\n}> = ({ isInverted, items, className }) => {\n return (\n <View className={className}>\n <Container>\n {items?.map((group, i) => {\n const groupItems =\n group?.items?.filter((item) => item.text) || [];\n const hasItems = isValidArray(groupItems, false);\n\n return (\n <Item key={i}>\n {group.title && (\n <Title\n size=\"small\"\n type=\"copy-b\"\n renderAs=\"span\"\n isInverted={isInverted}\n >\n {group.title}\n </Title>\n )}\n {hasItems && (\n <Infos>\n {groupItems.map((info, ii) => (\n <Content key={ii}>\n <Icon isInverted={isInverted}>\n {info.icon &&\n info.icon(isInverted)}\n </Icon>\n {info.text && (\n <Copy\n size=\"small\"\n isInverted={isInverted}\n innerHTML={info.text}\n allowLinkIcons={false}\n />\n )}\n </Content>\n ))}\n </Infos>\n )}\n </Item>\n );\n })}\n </Container>\n </View>\n );\n};\n\nexport default InfoList;\n"],"names":["View","styled","div","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","Container","ul","templateObject_2","spacings","spacer","nudge","Item","li","templateObject_3","mq","medium","Title","Copy","templateObject_4","Infos","templateObject_5","Content","Icon","templateObject_7","_a","isInverted","items","className","React","createElement","map","group","i","groupItems","filter","item","text","hasItems","isValidArray","key","title","size","type","renderAs","info","ii","icon","innerHTML","allowLinkIcons"],"mappings":"iTAOMA,EAAOC,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,iBAAAC,YAAA,gBAAGJ,CAAUK,IAAAA,EAAAC,uBAAA,CAAA,IAAA,CAAA,OAEjBC,EAAYP,EAAAA,QAAOQ,GAAVN,WAAA,CAAAC,YAAA,sBAAAC,YAAA,gBAAGJ,CAASS,IAAAA,EAAAH,EAAAA,qBAAA,CAAA,8HAAA,yBAAA,gCAAA,CAAA,8HAOQ,yBACE,kCADjBI,EAAQA,SAACC,OACO,EAAjBD,WAASE,OAItBC,EAAOb,EAAAA,QAAOc,GAAVZ,WAAA,CAAAC,YAAA,iBAAAC,YAAA,gBAAGJ,CAASe,IAAAA,EAAAT,EAAAA,qBAAA,CAAA,4CAAA,yBAAA,qBAAA,yCAAA,CAAA,4CAEa,yBACE,qBAEf,2CAHFI,EAAAA,SAASC,OACO,EAAjBD,WAASE,MAEfI,KAAGC,QAKVC,EAAQlB,EAAM,QAACmB,QAAVjB,WAAA,CAAAC,YAAA,kBAAAC,YAAA,gBAAGJ,CAAYoB,IAAAA,EAAAd,EAAAA,qBAAA,CAAA,6CAAA,SAAA,CAAA,6CAEa,WAAD,EAAjBI,EAAQA,SAACE,OAGxBS,EAAQrB,EAAAA,QAAOQ,GAAVN,WAAA,CAAAC,YAAA,kBAAAC,YAAA,gBAAGJ,CAASsB,IAAAA,EAAAhB,uBAAA,CAAA,8DAAA,CAAA,iEAMjBiB,EAAUvB,EAAAA,QAAOc,GAAVZ,WAAA,CAAAC,YAAA,oBAAAC,YAAA,gBAAGJ,6WAAS,sQAWe,uDAIC,kBAJF,EAAjBU,WAASE,MAIS,EAAjBF,EAAQA,SAACE,OAI1BY,EAAOxB,EAAM,QAACmB,QAAVjB,WAAA,CAAAC,YAAA,iBAAAC,YAAA,gBAAGJ,CAAYyB,IAAAA,EAAAnB,uBAAA,CAAA,8GAAA,CAAA,kIA8BpB,SAACoB,GAAE,IAAAC,eAAYC,EAAKF,EAAAE,MAAEC,EAASH,EAAAG,UAChC,OACIC,EAAC,QAAAC,cAAAhC,EAAK,CAAA8B,UAAWA,GACbC,EAAAA,QAAAC,cAACxB,EAAS,KACLqB,MAAAA,OAAK,EAALA,EAAOI,KAAI,SAACC,EAAOC,SACVC,GACY,QAAdT,EAAAO,MAAAA,OAAA,EAAAA,EAAOL,aAAO,IAAAF,OAAA,EAAAA,EAAAU,QAAO,SAACC,GAASA,OAAAA,EAAKC,UAAS,GAC3CC,EAAWC,EAAAA,aAAaL,GAAY,GAE1C,OACIL,EAAC,QAAAC,cAAAlB,EAAK,CAAA4B,IAAKP,GACND,EAAMS,OACHZ,UAAAC,cAACb,EAAK,CACFyB,KAAK,QACLC,KAAK,SACLC,SAAS,OACTlB,WAAYA,GAEXM,EAAMS,OAGdH,GACGT,EAAC,QAAAC,cAAAV,OACIc,EAAWH,KAAI,SAACc,EAAMC,GAAO,OAC1BjB,wBAACP,EAAO,CAACkB,IAAKM,GACVjB,EAAC,QAAAC,cAAAP,GAAKG,WAAYA,GACbmB,EAAKE,MACFF,EAAKE,KAAKrB,IAEjBmB,EAAKR,MACFR,wBAACX,EAAAA,KAAI,CACDwB,KAAK,QACLhB,WAAYA,EACZsB,UAAWH,EAAKR,KAChBY,gBAAgB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var n=require("./Filter-89286db9.js"),e=require("react"),t=require("styled-components"),i=require("./Link-8951180c.js"),o=require("./styles-13e5d9ac.js"),r=require("./Copy-a0bc570d.js");function a(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var l,c,d,s,u=a(e),g=a(t),p=g.default.div.withConfig({displayName:"LanguageSwitcher__View",componentId:"sc-16ygxbi-0"})(l||(l=n.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-left: ","px;\n }\n"])),o.spacings.nudge/2),f=g.default.div.withConfig({displayName:"LanguageSwitcher__Icon",componentId:"sc-16ygxbi-1"})(c||(c=n.__makeTemplateObject(["\n color: ",";\n\n & > * {\n margin-right: ","px;\n }\n"],["\n color: ",";\n\n & > * {\n margin-right: ","px;\n }\n"])),(function(n){var e=n.isInverted,t=n.theme;return e?o.getColors(t).text.inverted:o.getColors(t).text.default}),o.spacings.nudge),m=g.default.div.withConfig({displayName:"LanguageSwitcher__SelectView",componentId:"sc-16ygxbi-2"})(d||(d=n.__makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n margin: 0 -","px;\n\n & > * + * {\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 3px;\n left: 0;\n height: 1em;\n width: 2px;\n background-color: ",";\n\n transition: background-color 0.2s ease-in-out;\n }\n }\n"],["\n display: inline-flex;\n align-items: center;\n margin: 0 -","px;\n\n & > * + * {\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 3px;\n left: 0;\n height: 1em;\n width: 2px;\n background-color: ",";\n\n transition: background-color 0.2s ease-in-out;\n }\n }\n"])),o.spacings.nudge,(function(n){var e=n.isInverted,t=n.theme;return e?o.getColors(t).text.inverted:o.getColors(t).text.default})),v=g.default(i.Link).withConfig({displayName:"LanguageSwitcher__LanguageLink",componentId:"sc-16ygxbi-3"})(s||(s=n.__makeTemplateObject(["\n display: inline-block;\n position: relative;\n padding: 0 ","px;\n\n ","\n font-weight: ",";\n\n color: ",";\n text-decoration: none;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ",";\n text-decoration: underline;\n }\n }\n"],["\n display: inline-block;\n position: relative;\n padding: 0 ","px;\n\n ","\n font-weight: ",";\n\n color: ",";\n text-decoration: none;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ",";\n text-decoration: underline;\n }\n }\n"])),o.spacings.nudge,(function(n){var e=n.size;return r.copyStyle("copy",e||"medium")}),(function(n){return n.isActive&&"700"}),(function(n){var e=n.isInverted,t=n.theme;return e?o.getColors(t).text.inverted:o.getColors(t).text.default}),(function(n){var e=n.isInverted,t=n.theme;return e?o.getColors(t).text.inverted:o.getColors(t).text.default}));exports.LanguageSwitcher=function(e){var t=e.langs,i=e.isInverted,o=e.languageIcon,r=e.textSize,a=void 0===r?"medium":r;return u.default.createElement(p,null,o&&u.default.createElement(f,{isInverted:i},o(i)),u.default.createElement(m,{isInverted:i},null==t?void 0:t.map((function(e,t){return u.default.createElement(v,n.__assign({key:t},e.link,{isInverted:i,isActive:e.isActive,size:a}),e.label)}))))};
|
|
2
|
+
//# sourceMappingURL=LanguageSwitcher-aa96cc7d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LanguageSwitcher-
|
|
1
|
+
{"version":3,"file":"LanguageSwitcher-aa96cc7d.js","sources":["../src/components/blocks/LanguageSwitcher.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { spacings, getColors as color, FontOptions } from 'utils/styles';\nimport { copyStyle } from 'components/typography/Copy';\n\nconst View = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.nudge / 2}px;\n }\n`;\n\nconst Icon = styled.div<{ isInverted?: boolean }>`\n color: ${({ isInverted, theme }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n\n & > * {\n margin-right: ${spacings.nudge}px;\n }\n`;\n\nconst SelectView = styled.div<{ isInverted?: boolean }>`\n display: inline-flex;\n align-items: center;\n margin: 0 -${spacings.nudge}px;\n\n & > * + * {\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 3px;\n left: 0;\n height: 1em;\n width: 2px;\n background-color: ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n\n transition: background-color 0.2s ease-in-out;\n }\n }\n`;\n\nconst LanguageLink = styled(Link)<{\n isInverted?: boolean;\n isActive?: boolean;\n size?: keyof FontOptions;\n}>`\n display: inline-block;\n position: relative;\n padding: 0 ${spacings.nudge}px;\n\n ${({ size }) => copyStyle('copy', size || 'medium')}\n font-weight: ${({ isActive }) => isActive && '700'};\n\n color: ${({ isInverted, theme }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n text-decoration: none;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n text-decoration: underline;\n }\n }\n`;\n\nexport interface Language {\n isActive?: boolean;\n label: string;\n link: LinkProps;\n}\n\nconst LanguageSwitcher: FC<{\n langs?: Language[];\n isInverted?: boolean;\n languageIcon?: (isInverted?: boolean) => React.ReactNode;\n textSize?: keyof FontOptions;\n}> = ({ langs, isInverted, languageIcon, textSize = 'medium' }) => {\n return (\n <View>\n {languageIcon && (\n <Icon isInverted={isInverted}>{languageIcon(isInverted)}</Icon>\n )}\n <SelectView isInverted={isInverted}>\n {langs?.map((lang, i) => (\n <LanguageLink\n key={i}\n {...lang.link}\n isInverted={isInverted}\n isActive={lang.isActive}\n size={textSize}\n >\n {lang.label}\n </LanguageLink>\n ))}\n </SelectView>\n </View>\n );\n};\n\nexport default LanguageSwitcher;\n"],"names":["View","styled","div","withConfig","displayName","componentId","spacings","nudge","Icon","templateObject_2","__makeTemplateObject","_a","isInverted","theme","color","text","inverted","default","SelectView","LanguageLink","Link","templateObject_4","size","copyStyle","isActive","langs","languageIcon","_b","textSize","React","createElement","map","lang","i","__assign","key","link","label"],"mappings":"ySAOMA,EAAOC,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,yBAAAC,YAAA,gBAAGJ,qKAAU,qHAMkB,kBAAlBK,EAAQA,SAACC,MAAQ,GAIlCC,EAAOP,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,yBAAAC,YAAA,gBAAGJ,CAAUQ,IAAAA,EAAAC,EAAAA,qBAAA,CAAA,gBAAA,2CAAA,gBAAA,CAA0B,gBAE0B,2CAGrC,mBAJzB,SAACC,OAAEC,EAAUD,EAAAC,WAAEC,EAAKF,EAAAE,MACzB,OAAAD,EAAaE,EAAAA,UAAMD,GAAOE,KAAKC,SAAWF,EAAAA,UAAMD,GAAOE,KAAKE,UAG5CX,EAAAA,SAASC,OAI3BW,EAAajB,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,+BAAAC,YAAA,gBAAGJ,qcAAoC,yEAGxB,qQAcgB,yFAd9BK,EAAAA,SAASC,OAWM,SAACI,OAAEC,EAAUD,EAAAC,WAAEC,EAAKF,EAAAE,MACpC,OAAAD,EACME,EAAAA,UAAMD,GAAOE,KAAKC,SAClBF,EAAAA,UAAMD,GAAOE,KAAKE,WAOlCE,EAAelB,EAAM,QAACmB,QAAVjB,WAAA,CAAAC,YAAA,iCAAAC,YAAA,gBAAGJ,CAInBoB,IAAAA,EAAAX,EAAAA,qBAAA,CAAA,yEAAA,cAAA,sBAAA,mBAAA,2HAAA,kEAAA,CAAA,yEAG6B,cAEwB,sBACD,mBAGqB,2HAQ5B,oEAd9BJ,EAAQA,SAACC,OAEpB,SAACI,GAAE,IAAAW,EAAIX,EAAAW,KAAO,OAAAC,YAAU,OAAQD,GAAQ,aAC3B,SAACX,GAAiBa,OAAPb,EAAAa,UAAmB,SAEpC,SAACb,OAAEC,EAAUD,EAAAC,WAAEC,EAAKF,EAAAE,MACzB,OAAAD,EAAaE,EAAAA,UAAMD,GAAOE,KAAKC,SAAWF,EAAAA,UAAMD,GAAOE,KAAKE,WAK/C,SAACN,OAAEC,EAAUD,EAAAC,WAAEC,EAAKF,EAAAE,MACzB,OAAAD,EACME,EAAAA,UAAMD,GAAOE,KAAKC,SAClBF,EAAAA,UAAMD,GAAOE,KAAKE,oCAiBnC,SAACN,GAAE,IAAAc,EAAKd,EAAAc,MAAEb,EAAUD,EAAAC,WAAEc,EAAYf,EAAAe,aAAEC,EAAmBhB,EAAAiB,SAAnBA,OAAQ,IAAAD,EAAG,SAAQA,EACxD,OACIE,wBAAC7B,EAAI,KACA0B,GACGG,EAAC,QAAAC,cAAAtB,GAAKI,WAAYA,GAAac,EAAad,IAEhDiB,EAAAA,QAACC,cAAAZ,EAAW,CAAAN,WAAYA,GACnBa,MAAAA,OAAA,EAAAA,EAAOM,KAAI,SAACC,EAAMC,GAAM,OACrBJ,UAAAC,cAACX,EAAYe,WAAA,CACTC,IAAKF,GACDD,EAAKI,KACT,CAAAxB,WAAYA,EACZY,SAAUQ,EAAKR,SACfF,KAAMM,IAELI,EAAKK"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("./Filter-89286db9.js"),t=require("react"),r=require("styled-components"),n=require("./styles-13e5d9ac.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=o(t),u=function(e,t){if(!t)return e;var r=function(e,t,n){return Object.keys(e).forEach((function(o){e[o]&&"object"==typeof e[o]&&!Array.isArray(e[o])?e[o]=r(e[o],t,n):t===o&&(e[o]=n)})),e};return Object.keys(t).forEach((function(n){t[n]&&(e.fonts.types=r(e.fonts.types,n,t[n]))})),e},a=function(t,r){var n=e.__assign({},t);return r?(Object.keys(r).forEach((function(o){var s=r[o],u=t[o];u&&s&&"object"==typeof u&&"object"==typeof s?Array.isArray(s)?n[o]=e.__spreadArray([],s,!0):n[o]=a(u,s):s&&(n[o]=s)})),n):n},i=function(e,t){var r,o,s=u(n.baseTheme,null===(r=null==e?void 0:e.fonts)||void 0===r?void 0:r.base),i=e?a(s,e):s,f=i;return t&&(f=u(i,null===(o=null==t?void 0:t.fonts)||void 0===o?void 0:o.base),f=a(f,t)),f};exports.LibThemeProvider=function(e){var t=e.theme,n=e.children,o=r.useTheme();if(t){var u=i(o,t);return s.default.createElement(r.ThemeProvider,{theme:u},n)}return s.default.createElement(s.default.Fragment,null,n)},exports.assignTo=a,exports.modifyTheme=i,exports.useLibTheme=function(){var e=r.useTheme();return{colors:n.getColors(e),fonts:n.getFonts(e),globals:n.getGlobals(e),theme:n.getTheme(e)}},exports.withLibTheme=function(t){return function(n){var o=n.theme,u=e.__rest(n,["theme"]),a=r.useTheme(),f=i(a,o);return s.default.createElement(r.ThemeProvider,{theme:f},s.default.createElement(t,e.__assign({},u)))}};
|
|
2
|
+
//# sourceMappingURL=LibThemeProvider-69109901.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LibThemeProvider-
|
|
1
|
+
{"version":3,"file":"LibThemeProvider-69109901.js","sources":["../src/utils/LibThemeProvider.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport React, { FC } from 'react';\nimport { DefaultTheme, ThemeProvider, useTheme } from 'styled-components';\nimport {\n FontBase,\n baseTheme,\n getColors,\n getFonts,\n getGlobals,\n getTheme,\n} from 'utils/styles';\nimport { RecursivePartial } from './types';\n\nexport type ThemeMods = RecursivePartial<DefaultTheme>;\n\n/**\n * Assigning font base key values to theme. Searches for each font base object key inside target theme object and replacing the values\n * @param target Combined result object\n * @param source FontBase object with properties that should by overritten.\n */\nconst assignFontBase = (\n target: DefaultTheme,\n source?: RecursivePartial<FontBase>\n) => {\n if (!source) return target;\n\n // deep iterate through target and search matching key\n const assign = (target: any, key: string, value: string) => {\n Object.keys(target).forEach((tKey) => {\n // check if target value is an object and no array\n if (\n target[tKey] &&\n typeof target[tKey] === 'object' &&\n !Array.isArray(target[tKey])\n ) {\n target[tKey] = assign(target[tKey], key, value);\n } else if (key === tKey) {\n target[tKey] = value;\n }\n });\n return target;\n };\n\n // search each base key and replace values\n Object.keys(source).forEach((sKey) => {\n if (source[sKey])\n target.fonts.types = assign(target.fonts.types, sKey, source[sKey]);\n });\n return target;\n};\n\n/**\n * Combining Theme objects\n * @param target Result theme object\n * @param source Theme object that should be assigned to target\n */\nexport const assignTo = <T extends ThemeMods | DefaultTheme>(\n target: T,\n source?: ThemeMods\n) => {\n const output = { ...target };\n if (!source) return output as T;\n\n Object.keys(source).forEach((key) => {\n const sourceVal = source[key];\n const targetVal = target[key];\n\n if (\n targetVal &&\n sourceVal &&\n typeof targetVal === 'object' &&\n typeof sourceVal === 'object'\n ) {\n // console.log(key, sourceVal, targetVal);\n if (Array.isArray(sourceVal)) {\n output[key] = [...sourceVal];\n } else {\n output[key] = assignTo(targetVal, sourceVal);\n }\n } else if (sourceVal) {\n output[key] = sourceVal;\n }\n });\n return output as T;\n};\n\nexport const LibThemeProvider: FC<{\n theme?: ThemeMods;\n children?: React.ReactNode;\n}> = ({ theme, children }) => {\n const ctx = useTheme();\n\n if (theme) {\n const newTheme = modifyTheme(ctx, theme);\n\n return <ThemeProvider theme={newTheme}>{children}</ThemeProvider>;\n } else {\n return <React.Fragment>{children}</React.Fragment>;\n }\n};\n\ninterface WithLibThemeProps {\n theme?: ThemeMods;\n}\n\nexport const modifyTheme = (\n activeTheme?: DefaultTheme,\n modifications?: ThemeMods\n) => {\n // asigning base font to all settings on top of base theme. If base fonts are undefined return base theme\n const combinedBaseTheme = assignFontBase(\n baseTheme,\n activeTheme?.fonts?.base\n );\n\n // adding base theme to active theme context if possible\n const combinedTheme = activeTheme\n ? assignTo(combinedBaseTheme, activeTheme)\n : combinedBaseTheme;\n\n // adding additional base font styles and other settings to theme\n let newTheme = combinedTheme;\n if (modifications) {\n newTheme = assignFontBase(combinedTheme, modifications?.fonts?.base);\n newTheme = assignTo(newTheme, modifications);\n }\n\n return newTheme;\n};\n\nexport const useLibTheme = () => {\n const theme = useTheme();\n\n return {\n colors: getColors(theme),\n fonts: getFonts(theme),\n globals: getGlobals(theme),\n theme: getTheme(theme),\n };\n};\n\nexport const withLibTheme =\n <P extends Record<string, unknown>>(\n Component: React.ComponentType<P>\n ): React.FC<\n P & {\n /** Component specific theme properties that overrides global theme settings */\n theme?: ThemeMods;\n }\n > =>\n ({ theme, ...props }: WithLibThemeProps) => {\n const ctx = useTheme();\n const newTheme = modifyTheme(ctx, theme);\n\n return (\n <ThemeProvider theme={newTheme}>\n <Component {...(props as P)} />\n </ThemeProvider>\n );\n };\n"],"names":["assignFontBase","target","source","assign","key","value","Object","keys","forEach","tKey","Array","isArray","sKey","fonts","types","assignTo","output","__assign","sourceVal","targetVal","__spreadArray","modifyTheme","activeTheme","modifications","combinedBaseTheme","baseTheme","_a","base","combinedTheme","newTheme","_b","theme","children","ctx","useTheme","React","createElement","ThemeProvider","Fragment","colors","getColors","getFonts","globals","getGlobals","getTheme","Component","props","__rest"],"mappings":"0NAoBMA,EAAiB,SACnBC,EACAC,GAEA,IAAKA,EAAQ,OAAOD,EAGdE,IAAAA,EAAS,SAACF,EAAaG,EAAaC,GAatC,OAZAC,OAAOC,KAAKN,GAAQO,SAAQ,SAACC,GAGrBR,EAAOQ,IACiB,iBAAjBR,EAAOQ,KACbC,MAAMC,QAAQV,EAAOQ,IAEtBR,EAAOQ,GAAQN,EAAOF,EAAOQ,GAAOL,EAAKC,GAClCD,IAAQK,IACfR,EAAOQ,GAAQJ,MAGhBJ,GAQX,OAJAK,OAAOC,KAAKL,GAAQM,SAAQ,SAACI,GACrBV,EAAOU,KACPX,EAAOY,MAAMC,MAAQX,EAAOF,EAAOY,MAAMC,MAAOF,EAAMV,EAAOU,QAE9DX,GAQEc,EAAW,SACpBd,EACAC,GAEA,IAAMc,EAAMC,EAAAA,SAAA,GAAQhB,GACpB,OAAKC,GAELI,OAAOC,KAAKL,GAAQM,SAAQ,SAACJ,GACzB,IAAMc,EAAYhB,EAAOE,GACnBe,EAAYlB,EAAOG,GAGrBe,GACAD,GACqB,iBAAdC,GACc,iBAAdD,EAGHR,MAAMC,QAAQO,GACdF,EAAOZ,GAAWgB,EAAAA,cAAA,GAAAF,MAElBF,EAAOZ,GAAOW,EAASI,EAAWD,GAE/BA,IACPF,EAAOZ,GAAOc,MAGfF,GAtBaA,GA4CXK,EAAc,SACvBC,EACAC,WAGMC,EAAoBxB,EACtByB,EAAAA,UACoB,QAApBC,EAAAJ,MAAAA,SAAAA,EAAaT,aAAO,IAAAa,OAAA,EAAAA,EAAAC,MAIlBC,EAAgBN,EAChBP,EAASS,EAAmBF,GAC5BE,EAGFK,EAAWD,EAMf,OALIL,IACAM,EAAW7B,EAAe4B,EAAqC,UAAtBL,MAAAA,OAAa,EAAbA,EAAeV,aAAO,IAAAiB,OAAA,EAAAA,EAAAH,MAC/DE,EAAWd,EAASc,EAAUN,IAG3BM,4BAtCN,SAACH,OAAEK,EAAKL,EAAAK,MAAEC,EAAQN,EAAAM,SACbC,EAAMC,EAAAA,WAEZ,GAAIH,EAAO,CACP,IAAMF,EAAWR,EAAYY,EAAKF,GAElC,OAAOI,EAAA,QAAAC,cAACC,gBAAc,CAAAN,MAAOF,GAAWG,GAEjCG,OAAAA,EAAAA,sBAACA,EAAAA,QAAMG,SAAU,KAAAN,iEAiCL,WACjBD,IAAAA,EAAQG,EAAAA,WAEP,MAAA,CACHK,OAAQC,EAASA,UAACT,GAClBlB,MAAO4B,EAAQA,SAACV,GAChBW,QAASC,EAAUA,WAACZ,GACpBA,MAAOa,EAAQA,SAACb,0BAKpB,SACIc,GAOJ,OAAA,SAACnB,GAAE,IAAAK,EAAKL,EAAAK,MAAKe,EAAKC,EAAAA,OAAArB,EAAjB,WACSO,EAAMC,EAAAA,WACNL,EAAWR,EAAYY,EAAKF,GAElC,OACII,EAAC,QAAAC,cAAAC,gBAAc,CAAAN,MAAOF,GAClBM,EAAAA,QAAAC,cAACS,EAAe5B,EAAAA,SAAA,GAAA6B"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var n=require("./Filter-89286db9.js"),e=require("react"),t=require("styled-components"),o=require("./styles-13e5d9ac.js");function r(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var i,a,l=r(e),s=r(t).default.a.withConfig({displayName:"Link__View",componentId:"sc-63jgey-0"})(a||(a=n.__makeTemplateObject(["\n ",";\n"],["\n ",";\n"])),(function(e){return function(e){return t.css(i||(i=n.__makeTemplateObject(["\n color: ",";\n text-transform: ",";\n text-decoration: ",";\n\n transition: color 0.2s ease-in-out;\n\n outline: none;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ",";\n }\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &:focus {\n outline: 1px dashed\n ",";\n outline-offset: 1px;\n }\n"],["\n color: ",";\n text-transform: ",";\n text-decoration: ",";\n\n transition: color 0.2s ease-in-out;\n\n outline: none;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ",";\n }\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &:focus {\n outline: 1px dashed\n ",";\n outline-offset: 1px;\n }\n"])),(function(n){var t=n.theme;return e?o.getFonts(t).link.colorInverted:o.getFonts(t).link.color}),(function(n){var e=n.theme;return o.getFonts(e).link.textTransform}),(function(n){var e=n.theme;return o.getFonts(e).link.textDecoration}),(function(n){var t=n.theme;return e?o.getFonts(t).link.colorHoverInverted:o.getFonts(t).link.colorHover}),(function(n){var t=n.theme;return e?o.getFonts(t).link.colorInverted:o.getFonts(t).link.color}))}(e.isInverted)})),c=e.forwardRef((function(n,e){var t=n.isInverted,o=void 0!==t&&t,r=n.isExternal,i=void 0!==r&&r,a=n.onClick,c=n.href,u=n.ariaLabel,d=n.tabIndex,f=n.dataSheet,v=n.children,m=n.className;return l.default.createElement(s,{ref:e,href:c,target:i?"_blank":void 0,rel:i?"noopener noreferrer":void 0,isInverted:o,"aria-label":u,tabIndex:d,"data-sheet":f,onClick:a,className:m},v)}));c.displayName="Link",exports.Link=c;
|
|
2
|
+
//# sourceMappingURL=Link-8951180c.js.map
|