@blateral/b.kit 2.5.0 → 2.5.2

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.
@@ -18,10 +18,10 @@ var View = styled.div.withConfig({
18
18
  hasBg = _a.hasBg;
19
19
  return hasBg ? getColors(theme).elementBg.light : getColors(theme).elementBg.medium;
20
20
  }, spacings.nudge, mq.large, spacings.spacer);
21
- var ImageFlex = styled.div.withConfig({
22
- displayName: "EventBlock__ImageFlex",
21
+ var ImageLink = styled(Link).withConfig({
22
+ displayName: "EventBlock__ImageLink",
23
23
  componentId: "sc-1nnq189-1"
24
- })(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n margin-left: auto;\n\n & > * + * {\n margin-left: ", "px;\n }\n\n & > *:not(:first-child) {\n display: none;\n }\n\n @media ", " {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n\n flex: 0 0 50%;\n\n & > *:not(:first-child) {\n display: inline-block;\n }\n }\n\n @media ", " {\n flex: 0 1 30%;\n\n & > *:not(:first-child) {\n display: none;\n }\n }\n"], ["\n margin-left: auto;\n\n & > * + * {\n margin-left: ", "px;\n }\n\n & > *:not(:first-child) {\n display: none;\n }\n\n @media ", " {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n\n flex: 0 0 50%;\n\n & > *:not(:first-child) {\n display: inline-block;\n }\n }\n\n @media ", " {\n flex: 0 1 30%;\n\n & > *:not(:first-child) {\n display: none;\n }\n }\n"])), spacings.nudge, mq.medium, mq.large);
24
+ })(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: block;\n margin-left: auto;\n\n & > * + * {\n margin-left: ", "px;\n }\n\n & > *:not(:first-child) {\n display: none;\n }\n\n @media ", " {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n\n flex: 0 0 50%;\n\n & > *:not(:first-child),\n & > *:not(:nth-child(2)) {\n display: inline-block;\n }\n }\n\n @media ", " {\n flex: 0 1 45%;\n max-width: 430px;\n\n & > *:not(:first-child) {\n display: none;\n }\n }\n\n @media ", " {\n flex: 0 1 30%;\n }\n"], ["\n display: block;\n margin-left: auto;\n\n & > * + * {\n margin-left: ", "px;\n }\n\n & > *:not(:first-child) {\n display: none;\n }\n\n @media ", " {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n\n flex: 0 0 50%;\n\n & > *:not(:first-child),\n & > *:not(:nth-child(2)) {\n display: inline-block;\n }\n }\n\n @media ", " {\n flex: 0 1 45%;\n max-width: 430px;\n\n & > *:not(:first-child) {\n display: none;\n }\n }\n\n @media ", " {\n flex: 0 1 30%;\n }\n"])), spacings.nudge, mq.medium, mq.large, mq.xlarge);
25
25
  var CardImage = styled(Image).withConfig({
26
26
  displayName: "EventBlock__CardImage",
27
27
  componentId: "sc-1nnq189-2"
@@ -45,7 +45,7 @@ var TagWrapper = styled.div.withConfig({
45
45
  var TitleLink = styled(Link).withConfig({
46
46
  displayName: "EventBlock__TitleLink",
47
47
  componentId: "sc-1nnq189-7"
48
- })(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n display: inline-block;\n ", "\n\n color: ", ";\n text-decoration: none;\n"], ["\n display: inline-block;\n ", "\n\n color: ", ";\n text-decoration: none;\n"])), copyStyle('copy-b', 'big'), function (_a) {
48
+ })(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n display: inline-block;\n ", "\n\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n\n color: ", ";\n text-decoration: none;\n"], ["\n display: inline-block;\n ", "\n\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n\n color: ", ";\n text-decoration: none;\n"])), copyStyle('copy-b', 'big'), function (_a) {
49
49
  var theme = _a.theme,
50
50
  isInverted = _a.isInverted;
51
51
  return isInverted ? getFonts(theme)['copy-b'].big.colorInverted : getFonts(theme)['copy-b'].big.color;
@@ -88,12 +88,15 @@ var EventBlock = function (_a) {
88
88
  });
89
89
  }, [tags]);
90
90
  var cardImages = useMemo(function () {
91
- return images === null || images === void 0 ? void 0 : images.slice(0, 2);
91
+ var _a;
92
+
93
+ return (_a = images === null || images === void 0 ? void 0 : images.slice(0, 2)) === null || _a === void 0 ? void 0 : _a.filter(function (img) {
94
+ return img.small;
95
+ });
92
96
  }, [images]);
93
97
  return React__default.createElement(View, {
94
98
  hasBg: hasBg
95
- }, isValidArray(cardImages, false) && cardImages.length > 1 && React__default.createElement(ImageFlex, null, cardImages.map(function (img, i) {
96
- if (!img.small) return null;
99
+ }, isValidArray(cardImages, false) && React__default.createElement(ImageLink, __assign({}, link), cardImages.map(function (img, i) {
97
100
  return React__default.createElement(CardImage, __assign({}, img, {
98
101
  key: i,
99
102
  coverSpace: true,
@@ -133,4 +136,4 @@ var EventBlock = function (_a) {
133
136
  var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9;
134
137
 
135
138
  export { EventBlock as E };
136
- //# sourceMappingURL=EventBlock-41d68d0a.js.map
139
+ //# sourceMappingURL=EventBlock-b9204a0d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventBlock-b9204a0d.js","sources":["../src/components/blocks/EventBlock.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport Tag, { TagProps } from './Tag';\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport { spacings, mq, getFonts as font, getColors } from 'utils/styles';\nimport StatusFormatter from 'utils/statusFormatter';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport Image, { ImageProps } from './Image';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { isValidArray } from 'utils/arrays';\n\nconst View = styled.div<{ hasBg?: boolean }>`\n text-decoration: none;\n color: inherit;\n\n background-color: ${({ theme, hasBg }) =>\n hasBg\n ? getColors(theme).elementBg.light\n : getColors(theme).elementBg.medium};\n\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n\n @media ${mq.large} {\n display: flex;\n justify-content: flex-end;\n flex-direction: row-reverse;\n\n & > * + * {\n margin-top: 0;\n padding-right: ${spacings.spacer}px;\n }\n }\n`;\n\nconst ImageLink = styled(Link)`\n display: block;\n margin-left: auto;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n\n & > *:not(:first-child) {\n display: none;\n }\n\n @media ${mq.medium} {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n\n flex: 0 0 50%;\n\n & > *:not(:first-child),\n & > *:not(:nth-child(2)) {\n display: inline-block;\n }\n }\n\n @media ${mq.large} {\n flex: 0 1 45%;\n max-width: 430px;\n\n & > *:not(:first-child) {\n display: none;\n }\n }\n\n @media ${mq.xlarge} {\n flex: 0 1 30%;\n }\n`;\n\nconst CardImage = styled(Image)`\n height: 100%;\n\n img {\n width: calc(100% + 1px);\n }\n\n @media ${mq.medium} {\n max-width: 50%;\n }\n\n @media ${mq.large} {\n max-width: 100%;\n }\n`;\n\nconst MainContent = styled.div`\n flex: 0 1 70%;\n padding: ${spacings.nudge * 2}px;\n padding-bottom: ${spacings.nudge * 3}px;\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.large} {\n max-width: 830px;\n padding: ${spacings.nudge * 3}px;\n }\n`;\n\nconst TagContainer = styled.div`\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n`;\n\nconst TextWrapper = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst TagWrapper = styled.div`\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst TitleLink = styled(Link)`\n display: inline-block;\n ${copyStyle('copy-b', 'big')}\n\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme)['copy-b'].big.colorInverted\n : font(theme)['copy-b'].big.color};\n text-decoration: none;\n`;\n\nconst Text = styled(Copy)`\n display: -webkit-box;\n -webkit-line-clamp: 4;\n -webkit-box-orient: vertical;\n overflow: hidden;\n`;\n\nexport interface EventProps {\n /** Array of tag item settings */\n tags?: TagProps[];\n\n /** Active tags that are highlighted in this event */\n activeTags?: string[];\n\n /** Event image */\n images?: Array<Omit<ImageProps, 'coverSpace' | 'ratios'>>;\n\n /** Event title */\n title?: string;\n\n /** Event publish date */\n date?: Date;\n\n /** Event duration in seconds */\n duration?: number;\n\n /** Event text (richtext) */\n text?: string;\n\n /** Invert color and background for darker themes */\n isInverted?: boolean;\n\n /** Event link settings */\n link?: LinkProps;\n\n /** Function to inject action elements */\n action?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link: LinkProps;\n clickHandler?: (ev?: React.SyntheticEvent<HTMLElement>) => void;\n }) => React.ReactNode;\n\n /** Callback function if tag in news iten has been clicked */\n onTagClick?: (tag: TagProps) => void;\n}\n\nconst EventBlock: React.FC<EventProps & { hasBg?: boolean }> = ({\n customTag,\n onTagClick,\n title,\n images,\n date,\n text,\n link,\n tags,\n isInverted,\n action,\n hasBg,\n}) => {\n const { globals } = useLibTheme();\n\n let publishedAt = '';\n if (date) {\n const formatter = new StatusFormatter(\n date.getTime(),\n '',\n globals.sections.eventDateFormat(date),\n globals.sections.eventTimeFormat(date),\n globals.sections.eventLocaleKey\n );\n publishedAt = formatter.getFormattedDate();\n }\n\n const handleTagClick = (tag: TagProps) =>\n onTagClick\n ? (ev?: React.SyntheticEvent<HTMLElement>) => {\n ev?.preventDefault();\n onTagClick(tag);\n }\n : undefined;\n\n const filteredTags = useMemo(() => {\n return tags?.filter((tag) => tag.name);\n }, [tags]);\n\n const cardImages = useMemo(\n () => images?.slice(0, 2)?.filter((img) => img.small),\n [images]\n );\n\n return (\n <View hasBg={hasBg}>\n {isValidArray(cardImages, false) && (\n <ImageLink {...link}>\n {cardImages.map((img, i) => (\n <CardImage\n {...img}\n key={i}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n ratios={{\n small: { w: 4, h: 3 },\n }}\n />\n ))}\n </ImageLink>\n )}\n <MainContent>\n {isValidArray(filteredTags, false) && (\n <TagContainer>\n {filteredTags.map(\n (tag, i) =>\n tag && (\n <TagWrapper key={'tag_' + i}>\n {customTag ? (\n customTag({\n key: 'tag_' + i,\n name: tag.name || '',\n isActive: false,\n link: tag.link || {},\n clickHandler:\n handleTagClick(tag),\n })\n ) : (\n <Tag\n name={tag.name}\n link={tag.link}\n onClick={handleTagClick(tag)}\n />\n )}\n </TagWrapper>\n )\n )}\n </TagContainer>\n )}\n {title && <TitleLink {...link}>{title}</TitleLink>}\n <TextWrapper>\n {date && (\n <Copy size=\"medium\" type=\"copy-b\">\n {publishedAt}\n </Copy>\n )}\n {text && <Text size=\"small\" innerHTML={text} />}\n </TextWrapper>\n {action && <div> {action({ isInverted: false })} </div>}\n </MainContent>\n </View>\n );\n};\n\nexport default EventBlock;\n"],"names":["View","styled","div","_a","theme","hasBg","getColors","elementBg","light","medium","spacings","nudge","mq","large","spacer","ImageLink","Link","templateObject_2","__makeTemplateObject","xlarge","CardImage","Image","templateObject_3","MainContent","templateObject_4","TagContainer","templateObject_5","TextWrapper","templateObject_6","TagWrapper","templateObject_7","TitleLink","templateObject_8","copyStyle","isInverted","font","big","colorInverted","color","Text","Copy","templateObject_9","EventBlock","customTag","onTagClick","title","images","date","text","link","tags","action","globals","useLibTheme","publishedAt","formatter","StatusFormatter","getTime","sections","eventDateFormat","eventTimeFormat","eventLocaleKey","getFormattedDate","handleTagClick","tag","ev","preventDefault","undefined","filteredTags","useMemo","filter","name","cardImages","slice","img","small","React","createElement","isValidArray","__assign","map","i","key","coverSpace","allowEdgeRadius","ratios","w","h","isActive","clickHandler","Tag","onClick","size","type","innerHTML"],"mappings":"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"}
package/esm/blocks.js CHANGED
@@ -4,7 +4,7 @@ export { B as Bdot } from './Bdot-4db38753.js';
4
4
  export { I as IntroBlock, V as VideoBlock } from './VideoBlock-5fe94711.js';
5
5
  export { I as Image } from './Image-dc2b33c1.js';
6
6
  export { L as LanguageSwitcher } from './LanguageSwitcher-3fa20077.js';
7
- export { E as EventBlock } from './EventBlock-41d68d0a.js';
7
+ export { E as EventBlock } from './EventBlock-b9204a0d.js';
8
8
  export { T as Tag } from './Tag-ac51e916.js';
9
9
  export { a as POICard, P as POIFacts } from './POICard-96ec71d8.js';
10
10
  export { I as InfoList } from './InfoList-5c4586ed.js';
@@ -3,8 +3,8 @@ import React__default, { useCallback, useEffect, useMemo } from 'react';
3
3
  import styled from 'styled-components';
4
4
  import { S as Section, m as mapToBgMode } from './Section-b76e6909.js';
5
5
  import { W as Wrapper } from './Wrapper-90dccc89.js';
6
- import { E as EventBlock } from './EventBlock-41d68d0a.js';
7
- import { s as spacings, g as getColors, m as mq } from './styles-da982973.js';
6
+ import { E as EventBlock } from './EventBlock-b9204a0d.js';
7
+ import { s as spacings, g as getColors, m as mq, c as getGlobals } from './styles-da982973.js';
8
8
  import { w as withLibTheme, u as useLibTheme } from './LibThemeProvider-52555ac9.js';
9
9
  import { S as StatusFormatter } from './statusFormatter-9be0fbff.js';
10
10
  import { c as concat } from './concat-ab3c66f2.js';
@@ -456,7 +456,21 @@ var templateObject_1$1, templateObject_2$1;
456
456
  var ImageContainer = styled.div.withConfig({
457
457
  displayName: "EventDetail__ImageContainer",
458
458
  componentId: "sc-1ko6neq-0"
459
- })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n\n overflow: hidden;\n\n margin-bottom: ", "px;\n"], ["\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n\n overflow: hidden;\n\n margin-bottom: ", "px;\n"])), spacings.spacer);
459
+ })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: ", ";\n\n overflow: hidden;\n\n margin-bottom: ", "px;\n"], ["\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: ", ";\n\n overflow: hidden;\n\n margin-bottom: ", "px;\n"])), function (_a) {
460
+ var hAlign = _a.hAlign;
461
+
462
+ switch (hAlign) {
463
+ case 'center':
464
+ return 'center';
465
+
466
+ case 'right':
467
+ return 'flex-end';
468
+
469
+ case 'left':
470
+ default:
471
+ return 'flex-start';
472
+ }
473
+ }, spacings.spacer);
460
474
  var StyledImage = styled(Image).withConfig({
461
475
  displayName: "EventDetail__StyledImage",
462
476
  componentId: "sc-1ko6neq-1"
@@ -464,7 +478,11 @@ var StyledImage = styled(Image).withConfig({
464
478
  var ImageBackground = styled.div.withConfig({
465
479
  displayName: "EventDetail__ImageBackground",
466
480
  componentId: "sc-1ko6neq-2"
467
- })(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n\n background-position: center;\n background-size: cover;\n background-repeat: no-repeat;\n\n filter: blur(10px);\n transform: scale(1.5);\n z-index: -1;\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n\n background-position: center;\n background-size: cover;\n background-repeat: no-repeat;\n\n filter: blur(10px);\n transform: scale(1.5);\n z-index: -1;\n"])));
481
+ })(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n\n background-position: center;\n background-size: cover;\n background-repeat: no-repeat;\n background-color: ", ";\n\n filter: blur(10px);\n transform: scale(1.5);\n z-index: -1;\n"], ["\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n\n background-position: center;\n background-size: cover;\n background-repeat: no-repeat;\n background-color: ", ";\n\n filter: blur(10px);\n transform: scale(1.5);\n z-index: -1;\n"])), function (_a) {
482
+ var theme = _a.theme,
483
+ isInverted = _a.isInverted;
484
+ return isInverted ? getGlobals(theme).sections.imagePlaceholderBg.inverted : getGlobals(theme).sections.imagePlaceholderBg.default;
485
+ });
468
486
  var StyledTextImage = styled(Image).withConfig({
469
487
  displayName: "EventDetail__StyledTextImage",
470
488
  componentId: "sc-1ko6neq-3"
@@ -500,6 +518,7 @@ var EventDetail = function (_a) {
500
518
  var anchorId = _a.anchorId,
501
519
  event = _a.event,
502
520
  infos = _a.infos,
521
+ useImageAsBg = _a.useImageAsBg,
503
522
  bgMode = _a.bgMode,
504
523
  customTag = _a.customTag;
505
524
 
@@ -536,7 +555,9 @@ var EventDetail = function (_a) {
536
555
  bgMode: mapToBgMode(bgMode, true)
537
556
  }, React__default.createElement(Wrapper, {
538
557
  addWhitespace: true
539
- }, isValidArray(images, false) && React__default.createElement(ImageContainer, null, images.map(function (img, i) {
558
+ }, isValidArray(images, false) && React__default.createElement(ImageContainer, {
559
+ hAlign: useImageAsBg ? 'center' : 'left'
560
+ }, images.map(function (img, i) {
540
561
  if (!img.small) return null;
541
562
  return React__default.createElement(StyledImage, __assign({
542
563
  key: i
@@ -551,9 +572,10 @@ var EventDetail = function (_a) {
551
572
  }
552
573
  }
553
574
  }));
554
- }), images.length < 2 && React__default.createElement(ImageBackground, {
575
+ }), React__default.createElement(ImageBackground, {
576
+ isInverted: isInverted,
555
577
  style: {
556
- backgroundImage: "url(".concat((_b = event === null || event === void 0 ? void 0 : event.images) === null || _b === void 0 ? void 0 : _b[0].small, ")")
578
+ backgroundImage: useImageAsBg && images.length < 2 ? "url(".concat((_b = event === null || event === void 0 ? void 0 : event.images) === null || _b === void 0 ? void 0 : _b[0].small, ")") : undefined
557
579
  }
558
580
  })), React__default.createElement(Grid.Row, {
559
581
  gutter: spacings.nudge * 5,
@@ -1 +1 @@
1
- {"version":3,"file":"sections.events.js","sources":["../src/components/sections/events/EventOverview.tsx","../src/components/sections/events/EventList.tsx","../src/components/sections/events/EventDetail.tsx"],"sourcesContent":["import Filter from 'components/base/icons/Filter';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport EventBlock, { EventProps } from 'components/blocks/EventBlock';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport Pointer from 'components/buttons/Pointer';\nimport Copy from 'components/typography/Copy';\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { concat } from 'utils/concat';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport StatusFormatter from 'utils/statusFormatter';\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport { deleteUrlParam, getUrlParams, setUrlParam } from 'utils/urlParams';\nimport useMounted from 'utils/useMounted';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport { useScrollTo } from 'utils/useScrollTo';\nimport useUpdateEffect from 'utils/useUpdateEffect';\n\nconst TagContainer = styled.div`\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:not(:only-child) {\n margin-bottom: ${spacings.nudge * 6}px;\n }\n`;\n\nconst TagWrapper = styled.div`\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst Events = styled.ul<{ hasBg?: boolean }>`\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg ? color(theme).elementBg.light : color(theme).elementBg.medium};\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg ? color(theme).elementBg.light : color(theme).elementBg.medium};\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ${({ theme, hasBg }) =>\n hasBg ? color(theme).elementBg.light : color(theme).elementBg.medium};\n } */\n\n & > * + * {\n padding-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst FilterIcon = styled(Copy)`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: ${spacings.nudge / 2}px ${spacings.nudge}px 0 0;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst EventItem = styled.li`\n /* padding: ${spacings.nudge * 3}px 0; */\n`;\n\nconst ListFooter = styled.div`\n margin-top: ${spacings.nudge * 6}px;\n text-align: center;\n\n @media ${mq.medium} {\n text-align: left;\n }\n`;\n\nconst ShowMore = styled.span<{ itemCount?: number }>`\n display: ${({ itemCount }) =>\n itemCount && itemCount > 2 ? 'block' : 'none'};\n`;\n\nexport const getEventFilterParams = (\n url: string,\n theme: DefaultTheme,\n tags: string[] = []\n) => {\n if (!url || !theme) return '';\n if (!isValidArray(tags, false)) return url;\n\n const filterName = theme.globals.sections.eventFilterName;\n if (!filterName) return url;\n\n try {\n const validUrl = new URL(url);\n const newParams = new URLSearchParams(validUrl.search);\n newParams.set(filterName, encodeURIComponent(tags.join(',')));\n\n return `${url}?${newParams.toString()}`;\n } catch (err) {\n return `${url}?${filterName}=${encodeURIComponent(tags.join(','))}`;\n }\n};\n\nexport type EventItem = Omit<\n EventProps,\n 'customTag' | 'isInverted' | 'onTagClick' | 'text'\n> & { address?: string };\n\nconst EventOverview: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of event item settings */\n events?: EventItem[];\n\n /** Tags for events filtering */\n tags?: string[];\n\n /** Initial data. If not defined the component tries to collect this from URL params */\n initial?: {\n activeTags?: string[];\n visibleRows?: number;\n };\n\n /** Text for load more toggle. Only visible if browser doesn't support IntersectionObserver. */\n showMoreText?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /**\n * Callback function to handle tag click outside of component\n * If no callback is defined filtering is controlled on client\n * */\n onTagClick?: (tag: TagProps, insideList?: boolean) => void;\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n clickHandler?: (ev?: React.SyntheticEvent<HTMLElement>) => void;\n }) => React.ReactNode;\n}> = ({\n tags,\n events,\n bgMode,\n anchorId,\n initial,\n showMoreText,\n onTagClick,\n customTag,\n}) => {\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.eventFilterName;\n\n const [selectedTags, setSelectedTags] = React.useState<string[]>(\n initial?.activeTags || []\n );\n const [itemsPerRow] = React.useState(1);\n const [visibleRows, setVisibleRows] = React.useState(\n initial?.visibleRows || 3\n );\n\n const targetRef = React.useRef<HTMLDivElement>(null);\n const observerSupported = useObserverSupport();\n const isMounted = useMounted();\n\n const eventCount = events?.length || 0;\n const setNewPos = useScrollTo(800);\n\n const getFilters = useCallback(() => {\n const tags: string[] = [];\n\n const filters = getUrlParams()[filterName];\n if (filters) {\n const tagsFilter = filters?.split(',');\n if (isValidArray(tagsFilter, false)) {\n tags.push(...tagsFilter);\n }\n }\n return tags;\n }, [filterName]);\n\n useEffect(() => {\n // if initial data is defined exit hook\n if (initial) return;\n\n // if no initial data provied try to find needed params in URL\n const paramTags = getFilters();\n\n if (isValidArray(paramTags, false)) {\n setSelectedTags(paramTags);\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [getFilters, initial]);\n\n useEffect(() => {\n if (!initial || isMounted) return;\n\n // set inital data into URL\n setUrlParam('rows', initial?.visibleRows || 3);\n\n if (isValidArray(initial?.activeTags, false)) {\n setUrlParam(filterName, initial?.activeTags?.join(','));\n } else {\n deleteUrlParam(filterName);\n }\n }, [filterName, initial, isMounted]);\n\n useUpdateEffect(() => {\n setUrlParam('rows', visibleRows);\n }, [visibleRows]);\n\n useUpdateEffect(() => {\n if (onTagClick || !isValidArray(selectedTags)) return;\n\n // set filters to URL params\n if (selectedTags.length > 0) {\n setUrlParam(filterName, selectedTags.join(','));\n } else {\n deleteUrlParam(filterName);\n }\n }, [selectedTags]);\n\n const handleTagClick = (tag: TagProps, enableToggling = true) => {\n setSelectedTags((prev) => {\n const prevCopy = [...prev];\n const itemIndex = tag.name ? prev.indexOf(tag.name) : -1;\n\n if (itemIndex === -1 && tag.name) {\n return [...prevCopy, tag.name];\n }\n if (enableToggling) {\n prevCopy.splice(itemIndex, 1);\n return prevCopy;\n }\n return prev;\n });\n setVisibleRows(3);\n };\n\n const filteredEvents = useMemo(() => {\n const tagFilterFn = (item: EventItem) => {\n if (!isValidArray(selectedTags, false)) return true;\n if (!item.tags) return false;\n\n let hasTags = false;\n for (let i = 0; i < item.tags.length; i++) {\n if (selectedTags.indexOf(item.tags[i].name || '') !== -1) {\n hasTags = true;\n break;\n }\n }\n return hasTags;\n };\n\n let filtered = isValidArray(events) ? [...events] : [];\n\n // adding filter\n filtered = filtered?.filter(tagFilterFn);\n\n return filtered;\n }, [events, selectedTags]);\n\n const visibleEvents = useMemo(() => {\n return (\n filteredEvents?.filter((_, i) => i < visibleRows * itemsPerRow) ||\n []\n );\n }, [filteredEvents, itemsPerRow, visibleRows]);\n\n useEffect(() => {\n // cancel if intersection observers are not supported\n if (!observerSupported) return;\n\n const element = targetRef.current;\n let observer: IntersectionObserver;\n\n if (element) {\n const options = {\n rootMargin: '0px 0px 100px 0px',\n threshold: 0,\n };\n\n observer = new IntersectionObserver((entries) => {\n const entry = entries[0];\n if (entry?.isIntersecting) {\n // on bottom of the wrapper load more events\n if (\n visibleRows <\n Math.ceil(filteredEvents.length / itemsPerRow)\n ) {\n setVisibleRows((prev) => prev + 1);\n }\n }\n }, options);\n observer.observe(element);\n }\n\n return () => {\n if (observer) observer.disconnect();\n };\n }, [\n itemsPerRow,\n eventCount,\n visibleRows,\n observerSupported,\n filteredEvents.length,\n ]);\n\n const filteredTags = useMemo(() => {\n return tags?.filter((tag) => tag);\n }, [tags]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : 'transparent'\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {isValidArray(filteredTags, false) && (\n <TagContainer>\n <FilterIcon\n size=\"small\"\n type=\"copy\"\n isInverted={isInverted}\n >\n <Filter />\n <span>Filter</span>\n </FilterIcon>\n {filteredTags.map((tag, i) => (\n <TagWrapper key={i}>\n {customTag ? (\n customTag({\n key: i,\n name: tag,\n isInverted: isInverted,\n isActive:\n selectedTags.indexOf(tag) !== -1,\n clickHandler: (ev) => {\n ev?.preventDefault();\n if (!onTagClick) {\n handleTagClick({ name: tag });\n } else onTagClick({ name: tag });\n },\n })\n ) : (\n <Tag\n isInverted={isInverted}\n onClick={(ev) => {\n ev?.preventDefault();\n if (!onTagClick) {\n handleTagClick({ name: tag });\n } else\n onTagClick(\n { name: tag },\n false\n );\n }}\n isActive={\n selectedTags.indexOf(tag) !== -1\n }\n >\n {tag}\n </Tag>\n )}\n </TagWrapper>\n ))}\n </TagContainer>\n )}\n <Events hasBg={hasBg}>\n {visibleEvents.map((item, i) => {\n let timespan = '';\n\n if (item.date) {\n const formatter = new StatusFormatter(\n item.date.getTime(),\n '',\n globals.sections.eventDateFormat(item.date),\n globals.sections.eventTimeFormat(item.date),\n globals.sections.eventLocaleKey\n );\n\n timespan = formatter.getFormattedTimespan(\n globals.sections.eventTimespanFormat(\n item.date,\n item.duration\n ),\n item.duration\n );\n }\n\n const text = concat([timespan, item.address], ' | ');\n\n return (\n <EventItem key={`${i}_event_${item.title}`}>\n <EventBlock\n hasBg={bgMode === 'full'}\n {...item}\n text={text}\n tags={item.tags?.map((tag) => ({\n name: tag.name,\n }))}\n isInverted={isInverted}\n onTagClick={(tag) => {\n // scroll back to top\n setNewPos(0);\n if (!onTagClick) {\n // if no callback is defined handle filtering on client side inside the component\n handleTagClick(\n { name: tag.name },\n false\n );\n } else {\n onTagClick(\n { name: tag.name },\n true\n );\n }\n }}\n customTag={customTag}\n />\n </EventItem>\n );\n })}\n </Events>\n <div ref={targetRef} />\n {!observerSupported && (\n <ListFooter>\n {events && events.length > 0 && (\n <Copy\n type=\"copy\"\n size=\"medium\"\n isInverted={isInverted}\n >\n <ShowMore\n itemCount={events.length}\n onClick={(ev) => {\n ev.preventDefault();\n if (\n visibleRows <\n Math.ceil(\n filteredEvents.length /\n itemsPerRow\n )\n ) {\n setVisibleRows((prev) => prev + 1);\n }\n }}\n >\n {visibleRows <\n filteredEvents.length / itemsPerRow && (\n <Pointer.View\n as=\"button\"\n isInverted={isInverted}\n >\n <Pointer.Label>\n {showMoreText ||\n 'mehr anzeigen'}\n </Pointer.Label>\n </Pointer.View>\n )}\n </ShowMore>\n </Copy>\n )}\n </ListFooter>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const EventOverviewComponent = EventOverview;\nexport default withLibTheme(EventOverview);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport EventBlock, { EventProps } from 'components/blocks/EventBlock';\nimport { getColors as color, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { LinkProps } from 'components/typography/Link';\nimport StatusFormatter from 'utils/statusFormatter';\nimport { concat } from 'utils/concat';\nimport { getEventFilterParams } from './EventOverview';\n\nconst List = styled.ul<{ hasBg?: boolean }>`\n list-style: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg ? color(theme).elementBg.light : color(theme).elementBg.medium};\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg ? color(theme).elementBg.light : color(theme).elementBg.medium};\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ${({ theme, hasBg }) =>\n hasBg ? color(theme).elementBg.light : color(theme).elementBg.medium};\n } */\n\n & > * + * {\n padding-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst ListItem = styled.li`\n /* padding: ${spacings.nudge * 3}px 0; */\n`;\n\nexport type EventItem = Omit<\n EventProps,\n 'customTag' | 'isInverted' | 'onTagClick' | 'text'\n> & { address?: string };\n\nconst EventList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of event item settings */\n events?: EventItem[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n }) => React.ReactNode;\n}> = ({ anchorId, events, bgMode, customTag }) => {\n const { colors, globals, theme } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <List hasBg={hasBg}>\n {events?.map((event, i) => {\n let timespan = '';\n\n if (event.date) {\n const formatter = new StatusFormatter(\n event.date.getTime(),\n '',\n globals.sections.eventDateFormat(event.date),\n globals.sections.eventTimeFormat(event.date),\n globals.sections.eventLocaleKey\n );\n\n timespan = formatter.getFormattedTimespan(\n globals.sections.eventTimespanFormat(\n event.date,\n event.duration\n ),\n event.duration\n );\n }\n\n const text = concat([timespan, event.address], ' | ');\n\n return (\n <ListItem key={i}>\n <EventBlock\n hasBg={bgMode === 'full'}\n {...event}\n tags={event.tags?.map((tag) => {\n let tagHref: string | undefined =\n undefined;\n\n if (tag.name && tag.link?.href) {\n tagHref = getEventFilterParams(\n tag.link.href,\n theme,\n [tag.name]\n );\n }\n\n return {\n name: tag.name,\n link: tag.link?.href\n ? {\n ...tag.link,\n href: tagHref,\n }\n : undefined,\n };\n })}\n isInverted={isInverted}\n text={text}\n customTag={customTag}\n />\n </ListItem>\n );\n })}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const EventListComponent = EventList;\nexport default withLibTheme(EventList);\n","import React, { useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { EventProps } from 'components/blocks/EventBlock';\nimport Image from 'components/blocks/Image';\nimport Tag from 'components/blocks/Tag';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport { LinkProps } from 'components/typography/Link';\nimport { mq, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\nimport StatusFormatter from 'utils/statusFormatter';\nimport InfoList from 'components/blocks/InfoList';\nimport { isValidArray } from 'utils/arrays';\n\nconst ImageContainer = styled.div`\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n\n overflow: hidden;\n\n margin-bottom: ${spacings.spacer}px;\n`;\n\nconst StyledImage = styled(Image)`\n &:not(:first-child) {\n display: none;\n }\n\n @media ${mq.medium} {\n max-width: 50%;\n\n &:not(:first-child) {\n display: inline-block;\n }\n\n & + & {\n margin-left: ${spacings.nudge}px;\n }\n }\n`;\n\nconst ImageBackground = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n\n background-position: center;\n background-size: cover;\n background-repeat: no-repeat;\n\n filter: blur(10px);\n transform: scale(1.5);\n z-index: -1;\n`;\n\nconst StyledTextImage = styled(Image)`\n margin-top: ${spacings.nudge * 3}px;\n\n @media ${mq.medium} {\n display: none;\n }\n`;\n\nconst TagContainer = styled.div`\n max-width: 880px;\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n`;\n\nconst TagWrapper = styled.div`\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst EventTitle = styled(Heading)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.semilarge} {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n`;\n\nconst EventDateTime = styled(Copy)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst EventAddress = styled(Copy)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n ${EventDateTime} + & {\n margin-top: ${spacings.nudge}px;\n }\n\n @media ${mq.semilarge} {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`;\n\nconst EventText = styled(Copy)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nexport type DetailEventProps = Omit<\n EventProps,\n 'customTag' | 'isInverted' | 'onTagClick' | 'link'\n>;\n\nexport interface EventInfoGroup {\n title?: string;\n items: EventInfo[];\n}\n\nexport interface EventInfo {\n /** icon injection function */\n icon?: (isInverted?: boolean) => React.ReactNode;\n /** Event info text (richtText) */\n text?: string;\n}\n\nconst EventDetail: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of event item settings */\n event?: DetailEventProps & { address?: string; abstract?: string };\n\n /** Additional event infos */\n infos?: EventInfoGroup[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n }) => React.ReactNode;\n}> = ({ anchorId, event, infos, bgMode, customTag }) => {\n const { colors, globals } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const hasInfos = useMemo(() => {\n return isValidArray(\n infos?.filter((info) => isValidArray(info.items, false)),\n false\n );\n }, [infos]);\n\n let publishedAt = '';\n let timespan = '';\n\n if (event?.date) {\n const formatter = new StatusFormatter(\n event.date.getTime(),\n '',\n globals.sections.eventDateFormat(event.date),\n globals.sections.eventTimeFormat(event.date),\n globals.sections.eventLocaleKey\n );\n publishedAt = formatter.getFormattedDate();\n\n timespan = formatter.getFormattedTimespan(\n globals.sections.eventTimespanFormat(event.date, event.duration),\n event.duration\n );\n }\n\n const images = useMemo(() => event?.images?.slice(0, 2), [event?.images]);\n const secondaryImage = images?.[1];\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {isValidArray(images, false) && (\n <ImageContainer>\n {images.map((img, i) => {\n if (!img.small) return null;\n return (\n <StyledImage\n key={i}\n {...img}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n ratios={{ small: { w: 4, h: 3 } }}\n />\n );\n })}\n {images.length < 2 && (\n <ImageBackground\n style={{\n backgroundImage: `url(${event?.images?.[0].small})`,\n }}\n />\n )}\n </ImageContainer>\n )}\n <Grid.Row\n gutter={spacings.nudge * 5}\n semilarge={{ gutter: spacings.spacer }}\n >\n <Grid.Col semilarge={{ span: hasInfos ? 5.7 / 8 : 1 }}>\n {event?.tags && (\n <TagContainer>\n {event.tags.map((tag, i) => (\n <TagWrapper key={'tag_' + i}>\n {customTag ? (\n customTag({\n key: `headtag-${i}`,\n name: tag.name || '',\n isInverted: isInverted,\n isActive: false,\n link: tag.link,\n })\n ) : (\n <Tag\n link={tag.link}\n isInverted={isInverted}\n >\n {tag.name}\n </Tag>\n )}\n </TagWrapper>\n ))}\n </TagContainer>\n )}\n {event?.title && (\n <EventTitle\n size=\"heading-2\"\n isInverted={isInverted}\n >\n {event.title}\n </EventTitle>\n )}\n {publishedAt && (\n <EventDateTime\n size=\"big\"\n type=\"copy-b\"\n isInverted={isInverted}\n >\n {publishedAt || ''}\n {publishedAt && timespan ? ' | ' : ''}\n {timespan}\n </EventDateTime>\n )}\n {event?.address && (\n <EventAddress\n size=\"big\"\n type=\"copy\"\n innerHTML={event.address}\n isInverted={isInverted}\n />\n )}\n {event?.abstract && (\n <EventText\n size=\"medium\"\n type=\"copy-b\"\n isInverted={isInverted}\n >\n {event.abstract}\n </EventText>\n )}\n {secondaryImage && (\n <StyledTextImage\n {...secondaryImage}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n ratios={{ small: { w: 4, h: 3 } }}\n />\n )}\n {event?.text && (\n <EventText\n size=\"medium\"\n isInverted={isInverted}\n innerHTML={event.text}\n />\n )}\n </Grid.Col>\n {hasInfos && (\n <Grid.Col semilarge={{ span: 2.3 / 8 }}>\n <InfoList isInverted={isInverted} items={infos} />\n </Grid.Col>\n )}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const EventDetailComponent = EventDetail;\nexport default withLibTheme(EventDetail);\n"],"names":["TagContainer","styled","div","templateObject_1","__makeTemplateObject","spacings","nudge","TagWrapper","templateObject_2","Events","ul","_a","theme","hasBg","color","elementBg","light","medium","FilterIcon","Copy","templateObject_4","EventItem","li","ListFooter","templateObject_6","mq","ShowMore","span","templateObject_7","itemCount","getEventFilterParams","url","tags","isValidArray","filterName","globals","sections","eventFilterName","validUrl","URL","newParams","URLSearchParams","search","set","encodeURIComponent","join","concat","toString","err","EventOverview","events","bgMode","anchorId","initial","showMoreText","onTagClick","customTag","isInverted","_b","useLibTheme","colors","_c","React","useState","activeTags","selectedTags","setSelectedTags","itemsPerRow","_d","visibleRows","setVisibleRows","targetRef","useRef","observerSupported","useObserverSupport","isMounted","useMounted","eventCount","length","setNewPos","useScrollTo","getFilters","useCallback","filters","getUrlParams","tagsFilter","split","push","apply","useEffect","paramTags","setUrlParam","deleteUrlParam","useUpdateEffect","handleTagClick","tag","enableToggling","prev","prevCopy","__spreadArray","itemIndex","name","indexOf","splice","filteredEvents","useMemo","tagFilterFn","item","hasTags","i","filtered","filter","visibleEvents","_","element","current","observer","options","rootMargin","threshold","IntersectionObserver","entries","entry","isIntersecting","Math","ceil","observe","disconnect","filteredTags","createElement","Section","addSeperation","bgColor","sectionBg","dark","mapToBgMode","Wrapper","addWhitespace","size","type","Filter","map","key","isActive","clickHandler","ev","preventDefault","Tag","onClick","timespan","date","formatter","StatusFormatter","getTime","eventDateFormat","eventTimeFormat","eventLocaleKey","getFormattedTimespan","eventTimespanFormat","duration","text","address","title","EventBlock","__assign","ref","Pointer","View","as","Label","withLibTheme","List","ListItem","EventList","event","tagHref","undefined","link","href","ImageContainer","spacer","StyledImage","Image","ImageBackground","templateObject_3","StyledTextImage","templateObject_5","EventTitle","Heading","semilarge","EventDateTime","templateObject_8","EventAddress","templateObject_9","EventText","templateObject_10","EventDetail","infos","hasInfos","info","items","publishedAt","getFormattedDate","images","slice","secondaryImage","img","small","coverSpace","allowEdgeRadius","ratios","w","h","style","backgroundImage","Grid","Row","gutter","Col","innerHTML","abstract","InfoList"],"mappings":"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"}
1
+ {"version":3,"file":"sections.events.js","sources":["../src/components/sections/events/EventOverview.tsx","../src/components/sections/events/EventList.tsx","../src/components/sections/events/EventDetail.tsx"],"sourcesContent":["import Filter from 'components/base/icons/Filter';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport EventBlock, { EventProps } from 'components/blocks/EventBlock';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport Pointer from 'components/buttons/Pointer';\nimport Copy from 'components/typography/Copy';\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { concat } from 'utils/concat';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport StatusFormatter from 'utils/statusFormatter';\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport { deleteUrlParam, getUrlParams, setUrlParam } from 'utils/urlParams';\nimport useMounted from 'utils/useMounted';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport { useScrollTo } from 'utils/useScrollTo';\nimport useUpdateEffect from 'utils/useUpdateEffect';\n\nconst TagContainer = styled.div`\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:not(:only-child) {\n margin-bottom: ${spacings.nudge * 6}px;\n }\n`;\n\nconst TagWrapper = styled.div`\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst Events = styled.ul<{ hasBg?: boolean }>`\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg ? color(theme).elementBg.light : color(theme).elementBg.medium};\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg ? color(theme).elementBg.light : color(theme).elementBg.medium};\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ${({ theme, hasBg }) =>\n hasBg ? color(theme).elementBg.light : color(theme).elementBg.medium};\n } */\n\n & > * + * {\n padding-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst FilterIcon = styled(Copy)`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: ${spacings.nudge / 2}px ${spacings.nudge}px 0 0;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst EventItem = styled.li`\n /* padding: ${spacings.nudge * 3}px 0; */\n`;\n\nconst ListFooter = styled.div`\n margin-top: ${spacings.nudge * 6}px;\n text-align: center;\n\n @media ${mq.medium} {\n text-align: left;\n }\n`;\n\nconst ShowMore = styled.span<{ itemCount?: number }>`\n display: ${({ itemCount }) =>\n itemCount && itemCount > 2 ? 'block' : 'none'};\n`;\n\nexport const getEventFilterParams = (\n url: string,\n theme: DefaultTheme,\n tags: string[] = []\n) => {\n if (!url || !theme) return '';\n if (!isValidArray(tags, false)) return url;\n\n const filterName = theme.globals.sections.eventFilterName;\n if (!filterName) return url;\n\n try {\n const validUrl = new URL(url);\n const newParams = new URLSearchParams(validUrl.search);\n newParams.set(filterName, encodeURIComponent(tags.join(',')));\n\n return `${url}?${newParams.toString()}`;\n } catch (err) {\n return `${url}?${filterName}=${encodeURIComponent(tags.join(','))}`;\n }\n};\n\nexport type EventItem = Omit<\n EventProps,\n 'customTag' | 'isInverted' | 'onTagClick' | 'text'\n> & { address?: string };\n\nconst EventOverview: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of event item settings */\n events?: EventItem[];\n\n /** Tags for events filtering */\n tags?: string[];\n\n /** Initial data. If not defined the component tries to collect this from URL params */\n initial?: {\n activeTags?: string[];\n visibleRows?: number;\n };\n\n /** Text for load more toggle. Only visible if browser doesn't support IntersectionObserver. */\n showMoreText?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /**\n * Callback function to handle tag click outside of component\n * If no callback is defined filtering is controlled on client\n * */\n onTagClick?: (tag: TagProps, insideList?: boolean) => void;\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n clickHandler?: (ev?: React.SyntheticEvent<HTMLElement>) => void;\n }) => React.ReactNode;\n}> = ({\n tags,\n events,\n bgMode,\n anchorId,\n initial,\n showMoreText,\n onTagClick,\n customTag,\n}) => {\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.eventFilterName;\n\n const [selectedTags, setSelectedTags] = React.useState<string[]>(\n initial?.activeTags || []\n );\n const [itemsPerRow] = React.useState(1);\n const [visibleRows, setVisibleRows] = React.useState(\n initial?.visibleRows || 3\n );\n\n const targetRef = React.useRef<HTMLDivElement>(null);\n const observerSupported = useObserverSupport();\n const isMounted = useMounted();\n\n const eventCount = events?.length || 0;\n const setNewPos = useScrollTo(800);\n\n const getFilters = useCallback(() => {\n const tags: string[] = [];\n\n const filters = getUrlParams()[filterName];\n if (filters) {\n const tagsFilter = filters?.split(',');\n if (isValidArray(tagsFilter, false)) {\n tags.push(...tagsFilter);\n }\n }\n return tags;\n }, [filterName]);\n\n useEffect(() => {\n // if initial data is defined exit hook\n if (initial) return;\n\n // if no initial data provied try to find needed params in URL\n const paramTags = getFilters();\n\n if (isValidArray(paramTags, false)) {\n setSelectedTags(paramTags);\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [getFilters, initial]);\n\n useEffect(() => {\n if (!initial || isMounted) return;\n\n // set inital data into URL\n setUrlParam('rows', initial?.visibleRows || 3);\n\n if (isValidArray(initial?.activeTags, false)) {\n setUrlParam(filterName, initial?.activeTags?.join(','));\n } else {\n deleteUrlParam(filterName);\n }\n }, [filterName, initial, isMounted]);\n\n useUpdateEffect(() => {\n setUrlParam('rows', visibleRows);\n }, [visibleRows]);\n\n useUpdateEffect(() => {\n if (onTagClick || !isValidArray(selectedTags)) return;\n\n // set filters to URL params\n if (selectedTags.length > 0) {\n setUrlParam(filterName, selectedTags.join(','));\n } else {\n deleteUrlParam(filterName);\n }\n }, [selectedTags]);\n\n const handleTagClick = (tag: TagProps, enableToggling = true) => {\n setSelectedTags((prev) => {\n const prevCopy = [...prev];\n const itemIndex = tag.name ? prev.indexOf(tag.name) : -1;\n\n if (itemIndex === -1 && tag.name) {\n return [...prevCopy, tag.name];\n }\n if (enableToggling) {\n prevCopy.splice(itemIndex, 1);\n return prevCopy;\n }\n return prev;\n });\n setVisibleRows(3);\n };\n\n const filteredEvents = useMemo(() => {\n const tagFilterFn = (item: EventItem) => {\n if (!isValidArray(selectedTags, false)) return true;\n if (!item.tags) return false;\n\n let hasTags = false;\n for (let i = 0; i < item.tags.length; i++) {\n if (selectedTags.indexOf(item.tags[i].name || '') !== -1) {\n hasTags = true;\n break;\n }\n }\n return hasTags;\n };\n\n let filtered = isValidArray(events) ? [...events] : [];\n\n // adding filter\n filtered = filtered?.filter(tagFilterFn);\n\n return filtered;\n }, [events, selectedTags]);\n\n const visibleEvents = useMemo(() => {\n return (\n filteredEvents?.filter((_, i) => i < visibleRows * itemsPerRow) ||\n []\n );\n }, [filteredEvents, itemsPerRow, visibleRows]);\n\n useEffect(() => {\n // cancel if intersection observers are not supported\n if (!observerSupported) return;\n\n const element = targetRef.current;\n let observer: IntersectionObserver;\n\n if (element) {\n const options = {\n rootMargin: '0px 0px 100px 0px',\n threshold: 0,\n };\n\n observer = new IntersectionObserver((entries) => {\n const entry = entries[0];\n if (entry?.isIntersecting) {\n // on bottom of the wrapper load more events\n if (\n visibleRows <\n Math.ceil(filteredEvents.length / itemsPerRow)\n ) {\n setVisibleRows((prev) => prev + 1);\n }\n }\n }, options);\n observer.observe(element);\n }\n\n return () => {\n if (observer) observer.disconnect();\n };\n }, [\n itemsPerRow,\n eventCount,\n visibleRows,\n observerSupported,\n filteredEvents.length,\n ]);\n\n const filteredTags = useMemo(() => {\n return tags?.filter((tag) => tag);\n }, [tags]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : 'transparent'\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {isValidArray(filteredTags, false) && (\n <TagContainer>\n <FilterIcon\n size=\"small\"\n type=\"copy\"\n isInverted={isInverted}\n >\n <Filter />\n <span>Filter</span>\n </FilterIcon>\n {filteredTags.map((tag, i) => (\n <TagWrapper key={i}>\n {customTag ? (\n customTag({\n key: i,\n name: tag,\n isInverted: isInverted,\n isActive:\n selectedTags.indexOf(tag) !== -1,\n clickHandler: (ev) => {\n ev?.preventDefault();\n if (!onTagClick) {\n handleTagClick({ name: tag });\n } else onTagClick({ name: tag });\n },\n })\n ) : (\n <Tag\n isInverted={isInverted}\n onClick={(ev) => {\n ev?.preventDefault();\n if (!onTagClick) {\n handleTagClick({ name: tag });\n } else\n onTagClick(\n { name: tag },\n false\n );\n }}\n isActive={\n selectedTags.indexOf(tag) !== -1\n }\n >\n {tag}\n </Tag>\n )}\n </TagWrapper>\n ))}\n </TagContainer>\n )}\n <Events hasBg={hasBg}>\n {visibleEvents.map((item, i) => {\n let timespan = '';\n\n if (item.date) {\n const formatter = new StatusFormatter(\n item.date.getTime(),\n '',\n globals.sections.eventDateFormat(item.date),\n globals.sections.eventTimeFormat(item.date),\n globals.sections.eventLocaleKey\n );\n\n timespan = formatter.getFormattedTimespan(\n globals.sections.eventTimespanFormat(\n item.date,\n item.duration\n ),\n item.duration\n );\n }\n\n const text = concat([timespan, item.address], ' | ');\n\n return (\n <EventItem key={`${i}_event_${item.title}`}>\n <EventBlock\n hasBg={bgMode === 'full'}\n {...item}\n text={text}\n tags={item.tags?.map((tag) => ({\n name: tag.name,\n }))}\n isInverted={isInverted}\n onTagClick={(tag) => {\n // scroll back to top\n setNewPos(0);\n if (!onTagClick) {\n // if no callback is defined handle filtering on client side inside the component\n handleTagClick(\n { name: tag.name },\n false\n );\n } else {\n onTagClick(\n { name: tag.name },\n true\n );\n }\n }}\n customTag={customTag}\n />\n </EventItem>\n );\n })}\n </Events>\n <div ref={targetRef} />\n {!observerSupported && (\n <ListFooter>\n {events && events.length > 0 && (\n <Copy\n type=\"copy\"\n size=\"medium\"\n isInverted={isInverted}\n >\n <ShowMore\n itemCount={events.length}\n onClick={(ev) => {\n ev.preventDefault();\n if (\n visibleRows <\n Math.ceil(\n filteredEvents.length /\n itemsPerRow\n )\n ) {\n setVisibleRows((prev) => prev + 1);\n }\n }}\n >\n {visibleRows <\n filteredEvents.length / itemsPerRow && (\n <Pointer.View\n as=\"button\"\n isInverted={isInverted}\n >\n <Pointer.Label>\n {showMoreText ||\n 'mehr anzeigen'}\n </Pointer.Label>\n </Pointer.View>\n )}\n </ShowMore>\n </Copy>\n )}\n </ListFooter>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const EventOverviewComponent = EventOverview;\nexport default withLibTheme(EventOverview);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport EventBlock, { EventProps } from 'components/blocks/EventBlock';\nimport { getColors as color, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { LinkProps } from 'components/typography/Link';\nimport StatusFormatter from 'utils/statusFormatter';\nimport { concat } from 'utils/concat';\nimport { getEventFilterParams } from './EventOverview';\n\nconst List = styled.ul<{ hasBg?: boolean }>`\n list-style: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg ? color(theme).elementBg.light : color(theme).elementBg.medium};\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg ? color(theme).elementBg.light : color(theme).elementBg.medium};\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ${({ theme, hasBg }) =>\n hasBg ? color(theme).elementBg.light : color(theme).elementBg.medium};\n } */\n\n & > * + * {\n padding-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst ListItem = styled.li`\n /* padding: ${spacings.nudge * 3}px 0; */\n`;\n\nexport type EventItem = Omit<\n EventProps,\n 'customTag' | 'isInverted' | 'onTagClick' | 'text'\n> & { address?: string };\n\nconst EventList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of event item settings */\n events?: EventItem[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n }) => React.ReactNode;\n}> = ({ anchorId, events, bgMode, customTag }) => {\n const { colors, globals, theme } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <List hasBg={hasBg}>\n {events?.map((event, i) => {\n let timespan = '';\n\n if (event.date) {\n const formatter = new StatusFormatter(\n event.date.getTime(),\n '',\n globals.sections.eventDateFormat(event.date),\n globals.sections.eventTimeFormat(event.date),\n globals.sections.eventLocaleKey\n );\n\n timespan = formatter.getFormattedTimespan(\n globals.sections.eventTimespanFormat(\n event.date,\n event.duration\n ),\n event.duration\n );\n }\n\n const text = concat([timespan, event.address], ' | ');\n\n return (\n <ListItem key={i}>\n <EventBlock\n hasBg={bgMode === 'full'}\n {...event}\n tags={event.tags?.map((tag) => {\n let tagHref: string | undefined =\n undefined;\n\n if (tag.name && tag.link?.href) {\n tagHref = getEventFilterParams(\n tag.link.href,\n theme,\n [tag.name]\n );\n }\n\n return {\n name: tag.name,\n link: tag.link?.href\n ? {\n ...tag.link,\n href: tagHref,\n }\n : undefined,\n };\n })}\n isInverted={isInverted}\n text={text}\n customTag={customTag}\n />\n </ListItem>\n );\n })}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const EventListComponent = EventList;\nexport default withLibTheme(EventList);\n","import React, { useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { EventProps } from 'components/blocks/EventBlock';\nimport Image from 'components/blocks/Image';\nimport Tag from 'components/blocks/Tag';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport { LinkProps } from 'components/typography/Link';\nimport { mq, spacings, getGlobals as global } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\nimport StatusFormatter from 'utils/statusFormatter';\nimport InfoList from 'components/blocks/InfoList';\nimport { isValidArray } from 'utils/arrays';\n\nconst ImageContainer = styled.div<{ hAlign?: 'left' | 'center' | 'right' }>`\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: ${({ hAlign }) => {\n switch (hAlign) {\n case 'center':\n return 'center';\n\n case 'right':\n return 'flex-end';\n\n case 'left':\n default:\n return 'flex-start';\n }\n }};\n\n overflow: hidden;\n\n margin-bottom: ${spacings.spacer}px;\n`;\n\nconst StyledImage = styled(Image)`\n &:not(:first-child) {\n display: none;\n }\n\n @media ${mq.medium} {\n max-width: 50%;\n\n &:not(:first-child) {\n display: inline-block;\n }\n\n & + & {\n margin-left: ${spacings.nudge}px;\n }\n }\n`;\n\nconst ImageBackground = styled.div<{ isInverted?: boolean }>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n\n background-position: center;\n background-size: cover;\n background-repeat: no-repeat;\n background-color: ${({ theme, isInverted }) =>\n isInverted\n ? global(theme).sections.imagePlaceholderBg.inverted\n : global(theme).sections.imagePlaceholderBg.default};\n\n filter: blur(10px);\n transform: scale(1.5);\n z-index: -1;\n`;\n\nconst StyledTextImage = styled(Image)`\n margin-top: ${spacings.nudge * 3}px;\n\n @media ${mq.medium} {\n display: none;\n }\n`;\n\nconst TagContainer = styled.div`\n max-width: 880px;\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n`;\n\nconst TagWrapper = styled.div`\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst EventTitle = styled(Heading)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.semilarge} {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n`;\n\nconst EventDateTime = styled(Copy)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst EventAddress = styled(Copy)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n ${EventDateTime} + & {\n margin-top: ${spacings.nudge}px;\n }\n\n @media ${mq.semilarge} {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`;\n\nconst EventText = styled(Copy)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nexport type DetailEventProps = Omit<\n EventProps,\n 'customTag' | 'isInverted' | 'onTagClick' | 'link'\n>;\n\nexport interface EventInfoGroup {\n title?: string;\n items: EventInfo[];\n}\n\nexport interface EventInfo {\n /** icon injection function */\n icon?: (isInverted?: boolean) => React.ReactNode;\n /** Event info text (richtText) */\n text?: string;\n}\n\nconst EventDetail: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of event item settings */\n event?: DetailEventProps & { address?: string; abstract?: string };\n\n /** Additional event infos */\n infos?: EventInfoGroup[];\n\n /** Use image as blurred background for single images */\n useImageAsBg?: boolean;\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n }) => React.ReactNode;\n}> = ({ anchorId, event, infos, useImageAsBg, bgMode, customTag }) => {\n const { colors, globals } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const hasInfos = useMemo(() => {\n return isValidArray(\n infos?.filter((info) => isValidArray(info.items, false)),\n false\n );\n }, [infos]);\n\n let publishedAt = '';\n let timespan = '';\n\n if (event?.date) {\n const formatter = new StatusFormatter(\n event.date.getTime(),\n '',\n globals.sections.eventDateFormat(event.date),\n globals.sections.eventTimeFormat(event.date),\n globals.sections.eventLocaleKey\n );\n publishedAt = formatter.getFormattedDate();\n\n timespan = formatter.getFormattedTimespan(\n globals.sections.eventTimespanFormat(event.date, event.duration),\n event.duration\n );\n }\n\n const images = useMemo(() => event?.images?.slice(0, 2), [event?.images]);\n const secondaryImage = images?.[1];\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {isValidArray(images, false) && (\n <ImageContainer hAlign={useImageAsBg ? 'center' : 'left'}>\n {images.map((img, i) => {\n if (!img.small) return null;\n return (\n <StyledImage\n key={i}\n {...img}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n ratios={{ small: { w: 4, h: 3 } }}\n />\n );\n })}\n <ImageBackground\n isInverted={isInverted}\n style={{\n backgroundImage:\n useImageAsBg && images.length < 2\n ? `url(${event?.images?.[0].small})`\n : undefined,\n }}\n />\n </ImageContainer>\n )}\n <Grid.Row\n gutter={spacings.nudge * 5}\n semilarge={{ gutter: spacings.spacer }}\n >\n <Grid.Col semilarge={{ span: hasInfos ? 5.7 / 8 : 1 }}>\n {event?.tags && (\n <TagContainer>\n {event.tags.map((tag, i) => (\n <TagWrapper key={'tag_' + i}>\n {customTag ? (\n customTag({\n key: `headtag-${i}`,\n name: tag.name || '',\n isInverted: isInverted,\n isActive: false,\n link: tag.link,\n })\n ) : (\n <Tag\n link={tag.link}\n isInverted={isInverted}\n >\n {tag.name}\n </Tag>\n )}\n </TagWrapper>\n ))}\n </TagContainer>\n )}\n {event?.title && (\n <EventTitle\n size=\"heading-2\"\n isInverted={isInverted}\n >\n {event.title}\n </EventTitle>\n )}\n {publishedAt && (\n <EventDateTime\n size=\"big\"\n type=\"copy-b\"\n isInverted={isInverted}\n >\n {publishedAt || ''}\n {publishedAt && timespan ? ' | ' : ''}\n {timespan}\n </EventDateTime>\n )}\n {event?.address && (\n <EventAddress\n size=\"big\"\n type=\"copy\"\n innerHTML={event.address}\n isInverted={isInverted}\n />\n )}\n {event?.abstract && (\n <EventText\n size=\"medium\"\n type=\"copy-b\"\n isInverted={isInverted}\n >\n {event.abstract}\n </EventText>\n )}\n {secondaryImage && (\n <StyledTextImage\n {...secondaryImage}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n ratios={{ small: { w: 4, h: 3 } }}\n />\n )}\n {event?.text && (\n <EventText\n size=\"medium\"\n isInverted={isInverted}\n innerHTML={event.text}\n />\n )}\n </Grid.Col>\n {hasInfos && (\n <Grid.Col semilarge={{ span: 2.3 / 8 }}>\n <InfoList isInverted={isInverted} items={infos} />\n </Grid.Col>\n )}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const EventDetailComponent = EventDetail;\nexport default withLibTheme(EventDetail);\n"],"names":["TagContainer","styled","div","templateObject_1","__makeTemplateObject","spacings","nudge","TagWrapper","templateObject_2","Events","ul","_a","theme","hasBg","color","elementBg","light","medium","FilterIcon","Copy","templateObject_4","EventItem","li","ListFooter","templateObject_6","mq","ShowMore","span","templateObject_7","itemCount","getEventFilterParams","url","tags","isValidArray","filterName","globals","sections","eventFilterName","validUrl","URL","newParams","URLSearchParams","search","set","encodeURIComponent","join","concat","toString","err","EventOverview","events","bgMode","anchorId","initial","showMoreText","onTagClick","customTag","isInverted","_b","useLibTheme","colors","_c","React","useState","activeTags","selectedTags","setSelectedTags","itemsPerRow","_d","visibleRows","setVisibleRows","targetRef","useRef","observerSupported","useObserverSupport","isMounted","useMounted","eventCount","length","setNewPos","useScrollTo","getFilters","useCallback","filters","getUrlParams","tagsFilter","split","push","apply","useEffect","paramTags","setUrlParam","deleteUrlParam","useUpdateEffect","handleTagClick","tag","enableToggling","prev","prevCopy","__spreadArray","itemIndex","name","indexOf","splice","filteredEvents","useMemo","tagFilterFn","item","hasTags","i","filtered","filter","visibleEvents","_","element","current","observer","options","rootMargin","threshold","IntersectionObserver","entries","entry","isIntersecting","Math","ceil","observe","disconnect","filteredTags","createElement","Section","addSeperation","bgColor","sectionBg","dark","mapToBgMode","Wrapper","addWhitespace","size","type","Filter","map","key","isActive","clickHandler","ev","preventDefault","Tag","onClick","timespan","date","formatter","StatusFormatter","getTime","eventDateFormat","eventTimeFormat","eventLocaleKey","getFormattedTimespan","eventTimespanFormat","duration","text","address","title","EventBlock","__assign","ref","Pointer","View","as","Label","withLibTheme","List","ListItem","EventList","event","tagHref","undefined","link","href","ImageContainer","hAlign","spacer","StyledImage","Image","ImageBackground","templateObject_3","global","imagePlaceholderBg","inverted","default","StyledTextImage","templateObject_5","EventTitle","Heading","semilarge","EventDateTime","templateObject_8","EventAddress","templateObject_9","EventText","templateObject_10","EventDetail","infos","useImageAsBg","hasInfos","info","items","publishedAt","getFormattedDate","images","slice","secondaryImage","img","small","coverSpace","allowEdgeRadius","ratios","w","h","style","backgroundImage","Grid","Row","gutter","Col","innerHTML","abstract","InfoList"],"mappings":"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"}
@@ -186,7 +186,7 @@ var NewsCard = forwardRef(function (_a, ref) {
186
186
  return React__default.createElement(View, {
187
187
  ref: ref,
188
188
  className: className
189
- }, image ? React__default.createElement(ImageLink, __assign({}, link, {
189
+ }, (image === null || image === void 0 ? void 0 : image.small) ? React__default.createElement(ImageLink, __assign({}, link, {
190
190
  ariaLabel: title
191
191
  }), React__default.createElement(StyledImage$1, __assign({}, image, {
192
192
  coverSpace: true,