@blateral/b.kit 2.5.0 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ "use strict";var n=require("./ClockFilled-2483aa4a.js"),e=require("react"),t=require("styled-components"),i=require("./Tag-9238cf0c.js"),a=require("./Copy-ea6ab025.js"),l=require("./styles-3a495a2d.js"),o=require("./statusFormatter-0393122b.js"),d=require("./LibThemeProvider-4823de57.js"),r=require("./Image-c72f7a80.js"),c=require("./Link-5a6f1633.js"),m=require("./arrays-c272ed59.js");function p(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var s,g,u,f,x,y,h,k,v,_=p(e),b=p(t),w=b.default.div.withConfig({displayName:"EventBlock__View",componentId:"sc-1nnq189-0"})(s||(s=n.__makeTemplateObject(["\n text-decoration: none;\n color: inherit;\n\n background-color: ",";\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n display: flex;\n justify-content: flex-end;\n flex-direction: row-reverse;\n\n & > * + * {\n margin-top: 0;\n padding-right: ","px;\n }\n }\n"],["\n text-decoration: none;\n color: inherit;\n\n background-color: ",";\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n display: flex;\n justify-content: flex-end;\n flex-direction: row-reverse;\n\n & > * + * {\n margin-top: 0;\n padding-right: ","px;\n }\n }\n"])),(function(n){var e=n.theme;return n.hasBg?l.getColors(e).elementBg.light:l.getColors(e).elementBg.medium}),l.spacings.nudge,l.mq.large,l.spacings.spacer),q=b.default.div.withConfig({displayName:"EventBlock__ImageFlex",componentId:"sc-1nnq189-1"})(g||(g=n.__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 & > *:not(:nth-child(2)) {\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 & > *:not(:nth-child(2)) {\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"])),l.spacings.nudge,l.mq.medium,l.mq.large),E=b.default(r.Image).withConfig({displayName:"EventBlock__CardImage",componentId:"sc-1nnq189-2"})(u||(u=n.__makeTemplateObject(["\n height: 100%;\n\n img {\n width: calc(100% + 1px);\n }\n\n @media "," {\n max-width: 50%;\n }\n\n @media "," {\n max-width: 100%;\n }\n"],["\n height: 100%;\n\n img {\n width: calc(100% + 1px);\n }\n\n @media "," {\n max-width: 50%;\n }\n\n @media "," {\n max-width: 100%;\n }\n"])),l.mq.medium,l.mq.large),T=b.default.div.withConfig({displayName:"EventBlock__MainContent",componentId:"sc-1nnq189-3"})(f||(f=n.__makeTemplateObject(["\n flex: 0 1 70%;\n padding: ","px;\n padding-bottom: ","px;\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n max-width: 830px;\n padding: ","px;\n }\n"],["\n flex: 0 1 70%;\n padding: ","px;\n padding-bottom: ","px;\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n max-width: 830px;\n padding: ","px;\n }\n"])),2*l.spacings.nudge,3*l.spacings.nudge,3*l.spacings.nudge,l.mq.large,3*l.spacings.nudge),j=b.default.div.withConfig({displayName:"EventBlock__TagContainer",componentId:"sc-1nnq189-4"})(x||(x=n.__makeTemplateObject(["\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n"],["\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n"])),l.spacings.nudge,l.spacings.nudge),C=b.default.div.withConfig({displayName:"EventBlock__TextWrapper",componentId:"sc-1nnq189-5"})(y||(y=n.__makeTemplateObject(["\n & > * + * {\n margin-top: ","px;\n }\n"],["\n & > * + * {\n margin-top: ","px;\n }\n"])),l.spacings.nudge),I=b.default.div.withConfig({displayName:"EventBlock__TagWrapper",componentId:"sc-1nnq189-6"})(h||(h=n.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n"],["\n padding-top: ","px;\n padding-left: ","px;\n"])),l.spacings.nudge,l.spacings.nudge),B=b.default(c.Link).withConfig({displayName:"EventBlock__TitleLink",componentId:"sc-1nnq189-7"})(k||(k=n.__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"])),a.copyStyle("copy-b","big"),(function(n){var e=n.theme;return n.isInverted?l.getFonts(e)["copy-b"].big.colorInverted:l.getFonts(e)["copy-b"].big.color})),F=b.default(a.Copy).withConfig({displayName:"EventBlock__Text",componentId:"sc-1nnq189-8"})(v||(v=n.__makeTemplateObject(["\n display: -webkit-box;\n -webkit-line-clamp: 4;\n -webkit-box-orient: vertical;\n overflow: hidden;\n"],["\n display: -webkit-box;\n -webkit-line-clamp: 4;\n -webkit-box-orient: vertical;\n overflow: hidden;\n"])));exports.EventBlock=function(t){var l=t.customTag,r=t.onTagClick,c=t.title,p=t.images,s=t.date,g=t.text,u=t.link,f=t.tags,x=t.isInverted,y=t.action,h=t.hasBg,k=d.useLibTheme().globals,v="";s&&(v=new o.StatusFormatter(s.getTime(),"",k.sections.eventDateFormat(s),k.sections.eventTimeFormat(s),k.sections.eventLocaleKey).getFormattedDate());var b=function(n){return r?function(e){null==e||e.preventDefault(),r(n)}:void 0},N=e.useMemo((function(){return null==f?void 0:f.filter((function(n){return n.name}))}),[f]),O=e.useMemo((function(){return null==p?void 0:p.slice(0,2)}),[p]);return _.default.createElement(w,{hasBg:h},m.isValidArray(O,!1)&&_.default.createElement(q,null,O.map((function(e,t){return e.small?_.default.createElement(E,n.__assign({},e,{key:t,coverSpace:!0,allowEdgeRadius:!0,isInverted:x,ratios:{small:{w:4,h:3}}})):null}))),_.default.createElement(T,null,m.isValidArray(N,!1)&&_.default.createElement(j,null,N.map((function(n,e){return n&&_.default.createElement(I,{key:"tag_"+e},l?l({key:"tag_"+e,name:n.name||"",isActive:!1,link:n.link||{},clickHandler:b(n)}):_.default.createElement(i.Tag,{name:n.name,link:n.link,onClick:b(n)}))}))),c&&_.default.createElement(B,n.__assign({},u),c),_.default.createElement(C,null,s&&_.default.createElement(a.Copy,{size:"medium",type:"copy-b"},v),g&&_.default.createElement(F,{size:"small",innerHTML:g})),y&&_.default.createElement("div",null," ",y({isInverted:!1})," ")))};
2
+ //# sourceMappingURL=EventBlock-41619e7e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventBlock-41619e7e.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 ImageFlex = styled.div`\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 30%;\n\n & > *:not(:first-child) {\n display: none;\n }\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 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(() => images?.slice(0, 2), [images]);\n\n return (\n <View hasBg={hasBg}>\n {isValidArray(cardImages, false) && (\n <ImageFlex>\n {cardImages.map((img, i) => {\n if (!img.small) return null;\n return (\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 })}\n </ImageFlex>\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","withConfig","displayName","componentId","_a","theme","hasBg","getColors","elementBg","light","medium","spacings","nudge","mq","large","spacer","ImageFlex","templateObject_2","__makeTemplateObject","CardImage","Image","templateObject_3","MainContent","templateObject_4","TagContainer","templateObject_5","TextWrapper","templateObject_6","TagWrapper","templateObject_7","TitleLink","Link","templateObject_8","copyStyle","isInverted","font","getFonts","big","colorInverted","color","Text","Copy","templateObject_9","customTag","onTagClick","title","images","date","text","link","tags","action","globals","useLibTheme","publishedAt","StatusFormatter","getTime","sections","eventDateFormat","eventTimeFormat","eventLocaleKey","getFormattedDate","handleTagClick","tag","ev","preventDefault","undefined","filteredTags","useMemo","filter","name","cardImages","slice","React","createElement","isValidArray","map","img","i","small","key","coverSpace","allowEdgeRadius","ratios","w","h","isActive","clickHandler","Tag","onClick","size","type","innerHTML"],"mappings":"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"}
package/cjs/blocks.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./TableBlock-007f8e34.js"),r=require("./Actions-c7b16449.js"),s=require("./Bdot-5f8e0450.js"),o=require("./VideoBlock-a7d6ff7d.js"),t=require("./Image-c72f7a80.js"),i=require("./LanguageSwitcher-8fdd22ba.js"),a=require("./EventBlock-d191a8ae.js"),c=require("./Tag-9238cf0c.js"),u=require("./POICard-e46f9041.js"),d=require("./InfoList-71d3388a.js"),l=require("./SocialList-1d5f75a8.js");require("./ClockFilled-2483aa4a.js"),require("react"),require("styled-components"),require("./Copy-ea6ab025.js"),require("./clamp-bd21d587.js"),require("./LibThemeProvider-4823de57.js"),require("./styles-3a495a2d.js"),require("react-dom/server"),require("./Link-5a6f1633.js"),require("./statusFormatter-0393122b.js"),require("./arrays-c272ed59.js"),exports.TableBlock=e.TableBlock,exports.Title=e.Title,exports.Actions=r.Actions,exports.Bdot=s.Bdot,exports.IntroBlock=o.IntroBlock,exports.VideoBlock=o.VideoBlock,exports.Image=t.Image,exports.LanguageSwitcher=i.LanguageSwitcher,exports.EventBlock=a.EventBlock,exports.Tag=c.Tag,exports.POICard=u.POICard,exports.POIFacts=u.POIFacts,exports.InfoList=d.InfoList,exports.SocialList=l.SocialList;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./TableBlock-007f8e34.js"),r=require("./Actions-c7b16449.js"),s=require("./Bdot-5f8e0450.js"),o=require("./VideoBlock-a7d6ff7d.js"),t=require("./Image-c72f7a80.js"),i=require("./LanguageSwitcher-8fdd22ba.js"),a=require("./EventBlock-41619e7e.js"),c=require("./Tag-9238cf0c.js"),u=require("./POICard-e46f9041.js"),l=require("./InfoList-71d3388a.js"),d=require("./SocialList-1d5f75a8.js");require("./ClockFilled-2483aa4a.js"),require("react"),require("styled-components"),require("./Copy-ea6ab025.js"),require("./clamp-bd21d587.js"),require("./LibThemeProvider-4823de57.js"),require("./styles-3a495a2d.js"),require("react-dom/server"),require("./Link-5a6f1633.js"),require("./statusFormatter-0393122b.js"),require("./arrays-c272ed59.js"),exports.TableBlock=e.TableBlock,exports.Title=e.Title,exports.Actions=r.Actions,exports.Bdot=s.Bdot,exports.IntroBlock=o.IntroBlock,exports.VideoBlock=o.VideoBlock,exports.Image=t.Image,exports.LanguageSwitcher=i.LanguageSwitcher,exports.EventBlock=a.EventBlock,exports.Tag=c.Tag,exports.POICard=u.POICard,exports.POIFacts=u.POIFacts,exports.InfoList=l.InfoList,exports.SocialList=d.SocialList;
2
2
  //# sourceMappingURL=blocks.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./ClockFilled-2483aa4a.js"),n=require("react"),t=require("styled-components"),a=require("./Section-e8e8cf81.js"),i=require("./Wrapper-ff6854d7.js"),r=require("./EventBlock-d191a8ae.js"),o=require("./styles-3a495a2d.js"),l=require("./LibThemeProvider-4823de57.js"),d=require("./statusFormatter-0393122b.js"),s=require("./concat-f387d848.js"),m=require("./Filter-d6d90b8b.js"),p=require("./Tag-9238cf0c.js"),c=require("./Pointer-fde7b548.js"),u=require("./Copy-ea6ab025.js"),g=require("./arrays-c272ed59.js"),f=require("./urlParams-7525f638.js"),v=require("./useMounted-0bba9869.js"),x=require("./useObserverSupport-5ab320dd.js"),h=require("./useScrollTo-fdd665da.js"),b=require("./useUpdateEffect-4d233e2c.js"),y=require("./Image-c72f7a80.js"),_=require("./Grid-6f4f99bc.js"),w=require("./InfoList-71d3388a.js");function E(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("./Link-5a6f1633.js"),require("react-dom/server"),require("./clamp-bd21d587.js");var k,T,I,C,j,q,B,O,F,L,M,S,N,A,D,z,P,U,V,R=E(n),W=E(t),G=W.default.div.withConfig({displayName:"EventOverview__TagContainer",componentId:"sc-u2afqs-0"})(k||(k=e.__makeTemplateObject(["\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:not(:only-child) {\n margin-bottom: ","px;\n }\n"],["\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:not(:only-child) {\n margin-bottom: ","px;\n }\n"])),o.spacings.nudge,o.spacings.nudge,6*o.spacings.nudge),H=W.default.div.withConfig({displayName:"EventOverview__TagWrapper",componentId:"sc-u2afqs-1"})(T||(T=e.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n"],["\n padding-top: ","px;\n padding-left: ","px;\n"])),o.spacings.nudge,o.spacings.nudge),K=W.default.ul.withConfig({displayName:"EventOverview__Events",componentId:"sc-u2afqs-2"})(I||(I=e.__makeTemplateObject(["\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n } */\n\n & > * + * {\n padding-top: ","px;\n }\n"],["\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n } */\n\n & > * + * {\n padding-top: ","px;\n }\n"])),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),3*o.spacings.nudge),J=W.default(u.Copy).withConfig({displayName:"EventOverview__FilterIcon",componentId:"sc-u2afqs-3"})(C||(C=e.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: ","px ","px 0 0;\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: ","px ","px 0 0;\n\n & > * + * {\n margin-left: ","px;\n }\n"])),o.spacings.nudge/2,o.spacings.nudge,o.spacings.nudge),Q=W.default.li.withConfig({displayName:"EventOverview__EventItem",componentId:"sc-u2afqs-4"})(j||(j=e.__makeTemplateObject(["\n /* padding: ","px 0; */\n"],["\n /* padding: ","px 0; */\n"])),3*o.spacings.nudge),X=W.default.div.withConfig({displayName:"EventOverview__ListFooter",componentId:"sc-u2afqs-5"})(q||(q=e.__makeTemplateObject(["\n margin-top: ","px;\n text-align: center;\n\n @media "," {\n text-align: left;\n }\n"],["\n margin-top: ","px;\n text-align: center;\n\n @media "," {\n text-align: left;\n }\n"])),6*o.spacings.nudge,o.mq.medium),Y=W.default.span.withConfig({displayName:"EventOverview__ShowMore",componentId:"sc-u2afqs-6"})(B||(B=e.__makeTemplateObject(["\n display: ",";\n"],["\n display: ",";\n"])),(function(e){var n=e.itemCount;return n&&n>2?"block":"none"})),Z=l.withLibTheme((function(t){var o=t.tags,y=t.events,_=t.bgMode,w=t.anchorId,E=t.initial,k=t.showMoreText,T=t.onTagClick,I=t.customTag,C="inverted"===_,j="full"===_,q=l.useLibTheme(),B=q.colors,O=q.globals,F=O.sections.eventFilterName,L=R.default.useState((null==E?void 0:E.activeTags)||[]),M=L[0],S=L[1],N=R.default.useState(1)[0],A=R.default.useState((null==E?void 0:E.visibleRows)||3),D=A[0],z=A[1],P=R.default.useRef(null),U=x.useObserverSupport(),V=v.useMounted(),W=(null==y?void 0:y.length)||0,Z=h.useScrollTo(800),$=n.useCallback((function(){var e=[],n=f.getUrlParams()[F];if(n){var t=null==n?void 0:n.split(",");g.isValidArray(t,!1)&&e.push.apply(e,t)}return e}),[F]);n.useEffect((function(){if(!E){var e=$();g.isValidArray(e,!1)&&S(e)}}),[$,E]),n.useEffect((function(){var e;E&&!V&&(f.setUrlParam("rows",(null==E?void 0:E.visibleRows)||3),g.isValidArray(null==E?void 0:E.activeTags,!1)?f.setUrlParam(F,null===(e=null==E?void 0:E.activeTags)||void 0===e?void 0:e.join(",")):f.deleteUrlParam(F))}),[F,E,V]),b.useUpdateEffect((function(){f.setUrlParam("rows",D)}),[D]),b.useUpdateEffect((function(){!T&&g.isValidArray(M)&&(M.length>0?f.setUrlParam(F,M.join(",")):f.deleteUrlParam(F))}),[M]);var ee=function(n,t){void 0===t&&(t=!0),S((function(a){var i=e.__spreadArray([],a,!0),r=n.name?a.indexOf(n.name):-1;return-1===r&&n.name?e.__spreadArray(e.__spreadArray([],i,!0),[n.name],!1):t?(i.splice(r,1),i):a})),z(3)},ne=n.useMemo((function(){var n=g.isValidArray(y)?e.__spreadArray([],y,!0):[];return n=null==n?void 0:n.filter((function(e){if(!g.isValidArray(M,!1))return!0;if(!e.tags)return!1;for(var n=!1,t=0;t<e.tags.length;t++)if(-1!==M.indexOf(e.tags[t].name||"")){n=!0;break}return n}))}),[y,M]),te=n.useMemo((function(){return(null==ne?void 0:ne.filter((function(e,n){return n<D*N})))||[]}),[ne,N,D]);n.useEffect((function(){if(U){var e,n=P.current;if(n){(e=new IntersectionObserver((function(e){var n=e[0];(null==n?void 0:n.isIntersecting)&&D<Math.ceil(ne.length/N)&&z((function(e){return e+1}))}),{rootMargin:"0px 0px 100px 0px",threshold:0})).observe(n)}return function(){e&&e.disconnect()}}}),[N,W,D,U,ne.length]);var ae=n.useMemo((function(){return null==o?void 0:o.filter((function(e){return e}))}),[o]);return R.default.createElement(a.Section,{addSeperation:!0,anchorId:w,bgColor:C?B.sectionBg.dark:j?B.sectionBg.medium:"transparent",bgMode:a.mapToBgMode(_,!0)},R.default.createElement(i.Wrapper,{addWhitespace:!0},g.isValidArray(ae,!1)&&R.default.createElement(G,null,R.default.createElement(J,{size:"small",type:"copy",isInverted:C},R.default.createElement(m.Filter,null),R.default.createElement("span",null,"Filter")),ae.map((function(e,n){return R.default.createElement(H,{key:n},I?I({key:n,name:e,isInverted:C,isActive:-1!==M.indexOf(e),clickHandler:function(n){null==n||n.preventDefault(),T?T({name:e}):ee({name:e})}}):R.default.createElement(p.Tag,{isInverted:C,onClick:function(n){null==n||n.preventDefault(),T?T({name:e},!1):ee({name:e})},isActive:-1!==M.indexOf(e)},e))}))),R.default.createElement(K,{hasBg:j},te.map((function(n,t){var a,i="";n.date&&(i=new d.StatusFormatter(n.date.getTime(),"",O.sections.eventDateFormat(n.date),O.sections.eventTimeFormat(n.date),O.sections.eventLocaleKey).getFormattedTimespan(O.sections.eventTimespanFormat(n.date,n.duration),n.duration));var o=s.concat([i,n.address]," | ");return R.default.createElement(Q,{key:"".concat(t,"_event_").concat(n.title)},R.default.createElement(r.EventBlock,e.__assign({hasBg:"full"===_},n,{text:o,tags:null===(a=n.tags)||void 0===a?void 0:a.map((function(e){return{name:e.name}})),isInverted:C,onTagClick:function(e){Z(0),T?T({name:e.name},!0):ee({name:e.name},!1)},customTag:I})))}))),R.default.createElement("div",{ref:P}),!U&&R.default.createElement(X,null,y&&y.length>0&&R.default.createElement(u.Copy,{type:"copy",size:"medium",isInverted:C},R.default.createElement(Y,{itemCount:y.length,onClick:function(e){e.preventDefault(),D<Math.ceil(ne.length/N)&&z((function(e){return e+1}))}},D<ne.length/N&&R.default.createElement(c.Pointer.View,{as:"button",isInverted:C},R.default.createElement(c.Pointer.Label,null,k||"mehr anzeigen")))))))})),$=W.default.ul.withConfig({displayName:"EventList__List",componentId:"sc-1ssgszz-0"})(O||(O=e.__makeTemplateObject(["\n list-style: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n } */\n\n & > * + * {\n padding-top: ","px;\n }\n"],["\n list-style: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n } */\n\n & > * + * {\n padding-top: ","px;\n }\n"])),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),3*o.spacings.nudge),ee=W.default.li.withConfig({displayName:"EventList__ListItem",componentId:"sc-1ssgszz-1"})(F||(F=e.__makeTemplateObject(["\n /* padding: ","px 0; */\n"],["\n /* padding: ","px 0; */\n"])),3*o.spacings.nudge),ne=l.withLibTheme((function(n){var t=n.anchorId,o=n.events,m=n.bgMode,p=n.customTag,c=l.useLibTheme(),u=c.colors,f=c.globals,v=c.theme,x="inverted"===m,h="full"===m;return R.default.createElement(a.Section,{addSeperation:!0,anchorId:t,bgColor:x?u.sectionBg.dark:m?u.sectionBg.medium:u.sectionBg.light,bgMode:a.mapToBgMode(m,!0)},R.default.createElement(i.Wrapper,{addWhitespace:!0},R.default.createElement($,{hasBg:h},null==o?void 0:o.map((function(n,t){var a,i="";n.date&&(i=new d.StatusFormatter(n.date.getTime(),"",f.sections.eventDateFormat(n.date),f.sections.eventTimeFormat(n.date),f.sections.eventLocaleKey).getFormattedTimespan(f.sections.eventTimespanFormat(n.date,n.duration),n.duration));var o=s.concat([i,n.address]," | ");return R.default.createElement(ee,{key:t},R.default.createElement(r.EventBlock,e.__assign({hasBg:"full"===m},n,{tags:null===(a=n.tags)||void 0===a?void 0:a.map((function(n){var t,a,i=void 0;return n.name&&(null===(t=n.link)||void 0===t?void 0:t.href)&&(i=function(e,n,t){if(void 0===t&&(t=[]),!e||!n)return"";if(!g.isValidArray(t,!1))return e;var a=n.globals.sections.eventFilterName;if(!a)return e;try{var i=new URL(e),r=new URLSearchParams(i.search);return r.set(a,encodeURIComponent(t.join(","))),"".concat(e,"?").concat(r.toString())}catch(n){return"".concat(e,"?").concat(a,"=").concat(encodeURIComponent(t.join(",")))}}(n.link.href,v,[n.name])),{name:n.name,link:(null===(a=n.link)||void 0===a?void 0:a.href)?e.__assign(e.__assign({},n.link),{href:i}):void 0}})),isInverted:x,text:o,customTag:p})))})))))})),te=W.default.div.withConfig({displayName:"EventDetail__ImageContainer",componentId:"sc-1ko6neq-0"})(L||(L=e.__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"])),o.spacings.spacer),ae=W.default(y.Image).withConfig({displayName:"EventDetail__StyledImage",componentId:"sc-1ko6neq-1"})(M||(M=e.__makeTemplateObject(["\n &:not(:first-child) {\n display: none;\n }\n\n @media "," {\n max-width: 50%;\n\n &:not(:first-child) {\n display: inline-block;\n }\n\n & + & {\n margin-left: ","px;\n }\n }\n"],["\n &:not(:first-child) {\n display: none;\n }\n\n @media "," {\n max-width: 50%;\n\n &:not(:first-child) {\n display: inline-block;\n }\n\n & + & {\n margin-left: ","px;\n }\n }\n"])),o.mq.medium,o.spacings.nudge),ie=W.default.div.withConfig({displayName:"EventDetail__ImageBackground",componentId:"sc-1ko6neq-2"})(S||(S=e.__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"]))),re=W.default(y.Image).withConfig({displayName:"EventDetail__StyledTextImage",componentId:"sc-1ko6neq-3"})(N||(N=e.__makeTemplateObject(["\n margin-top: ","px;\n\n @media "," {\n display: none;\n }\n"],["\n margin-top: ","px;\n\n @media "," {\n display: none;\n }\n"])),3*o.spacings.nudge,o.mq.medium),oe=W.default.div.withConfig({displayName:"EventDetail__TagContainer",componentId:"sc-1ko6neq-4"})(A||(A=e.__makeTemplateObject(["\n max-width: 880px;\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n"],["\n max-width: 880px;\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n"])),o.spacings.nudge,o.spacings.nudge),le=W.default.div.withConfig({displayName:"EventDetail__TagWrapper",componentId:"sc-1ko6neq-5"})(D||(D=e.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n"],["\n padding-top: ","px;\n padding-left: ","px;\n"])),o.spacings.nudge,o.spacings.nudge),de=W.default(u.Heading).withConfig({displayName:"EventDetail__EventTitle",componentId:"sc-1ko6neq-6"})(z||(z=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n"])),3*o.spacings.nudge,o.mq.semilarge),se=W.default(u.Copy).withConfig({displayName:"EventDetail__EventDateTime",componentId:"sc-1ko6neq-7"})(P||(P=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"])),3*o.spacings.nudge),me=W.default(u.Copy).withConfig({displayName:"EventDetail__EventAddress",componentId:"sc-1ko6neq-8"})(U||(U=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n "," + & {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n "," + & {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n"])),3*o.spacings.nudge,se,o.spacings.nudge,o.mq.semilarge),pe=W.default(u.Copy).withConfig({displayName:"EventDetail__EventText",componentId:"sc-1ko6neq-9"})(V||(V=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"])),3*o.spacings.nudge),ce=l.withLibTheme((function(t){var r,s=t.anchorId,m=t.event,c=t.infos,u=t.bgMode,f=t.customTag,v=l.useLibTheme(),x=v.colors,h=v.globals,b="inverted"===u,y="full"===u,E=n.useMemo((function(){return g.isValidArray(null==c?void 0:c.filter((function(e){return g.isValidArray(e.items,!1)})),!1)}),[c]),k="",T="";if(null==m?void 0:m.date){var I=new d.StatusFormatter(m.date.getTime(),"",h.sections.eventDateFormat(m.date),h.sections.eventTimeFormat(m.date),h.sections.eventLocaleKey);k=I.getFormattedDate(),T=I.getFormattedTimespan(h.sections.eventTimespanFormat(m.date,m.duration),m.duration)}var C=n.useMemo((function(){var e;return null===(e=null==m?void 0:m.images)||void 0===e?void 0:e.slice(0,2)}),[null==m?void 0:m.images]),j=null==C?void 0:C[1];return R.default.createElement(a.Section,{addSeperation:!0,anchorId:s,bgColor:b?x.sectionBg.dark:y?x.sectionBg.medium:x.sectionBg.light,bgMode:a.mapToBgMode(u,!0)},R.default.createElement(i.Wrapper,{addWhitespace:!0},g.isValidArray(C,!1)&&R.default.createElement(te,null,C.map((function(n,t){return n.small?R.default.createElement(ae,e.__assign({key:t},n,{coverSpace:!0,allowEdgeRadius:!0,isInverted:b,ratios:{small:{w:4,h:3}}})):null})),C.length<2&&R.default.createElement(ie,{style:{backgroundImage:"url(".concat(null===(r=null==m?void 0:m.images)||void 0===r?void 0:r[0].small,")")}})),R.default.createElement(_.Grid.Row,{gutter:5*o.spacings.nudge,semilarge:{gutter:o.spacings.spacer}},R.default.createElement(_.Grid.Col,{semilarge:{span:E?5.7/8:1}},(null==m?void 0:m.tags)&&R.default.createElement(oe,null,m.tags.map((function(e,n){return R.default.createElement(le,{key:"tag_"+n},f?f({key:"headtag-".concat(n),name:e.name||"",isInverted:b,isActive:!1,link:e.link}):R.default.createElement(p.Tag,{link:e.link,isInverted:b},e.name))}))),(null==m?void 0:m.title)&&R.default.createElement(de,{size:"heading-2",isInverted:b},m.title),k&&R.default.createElement(se,{size:"big",type:"copy-b",isInverted:b},k||"",k&&T?" | ":"",T),(null==m?void 0:m.address)&&R.default.createElement(me,{size:"big",type:"copy",innerHTML:m.address,isInverted:b}),(null==m?void 0:m.abstract)&&R.default.createElement(pe,{size:"medium",type:"copy-b",isInverted:b},m.abstract),j&&R.default.createElement(re,e.__assign({},j,{coverSpace:!0,allowEdgeRadius:!0,isInverted:b,ratios:{small:{w:4,h:3}}})),(null==m?void 0:m.text)&&R.default.createElement(pe,{size:"medium",isInverted:b,innerHTML:m.text})),E&&R.default.createElement(_.Grid.Col,{semilarge:{span:2.3/8}},R.default.createElement(w.InfoList,{isInverted:b,items:c})))))}));exports.EventDetail=ce,exports.EventList=ne,exports.EventOverview=Z;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./ClockFilled-2483aa4a.js"),n=require("react"),t=require("styled-components"),a=require("./Section-e8e8cf81.js"),i=require("./Wrapper-ff6854d7.js"),r=require("./EventBlock-41619e7e.js"),o=require("./styles-3a495a2d.js"),l=require("./LibThemeProvider-4823de57.js"),d=require("./statusFormatter-0393122b.js"),s=require("./concat-f387d848.js"),c=require("./Filter-d6d90b8b.js"),m=require("./Tag-9238cf0c.js"),p=require("./Pointer-fde7b548.js"),u=require("./Copy-ea6ab025.js"),g=require("./arrays-c272ed59.js"),f=require("./urlParams-7525f638.js"),v=require("./useMounted-0bba9869.js"),x=require("./useObserverSupport-5ab320dd.js"),h=require("./useScrollTo-fdd665da.js"),b=require("./useUpdateEffect-4d233e2c.js"),y=require("./Image-c72f7a80.js"),w=require("./Grid-6f4f99bc.js"),_=require("./InfoList-71d3388a.js");function k(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("./Link-5a6f1633.js"),require("react-dom/server"),require("./clamp-bd21d587.js");var E,T,I,C,j,q,B,O,F,L,M,S,A,N,D,z,P,U,V,R=k(n),W=k(t),G=W.default.div.withConfig({displayName:"EventOverview__TagContainer",componentId:"sc-u2afqs-0"})(E||(E=e.__makeTemplateObject(["\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:not(:only-child) {\n margin-bottom: ","px;\n }\n"],["\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:not(:only-child) {\n margin-bottom: ","px;\n }\n"])),o.spacings.nudge,o.spacings.nudge,6*o.spacings.nudge),H=W.default.div.withConfig({displayName:"EventOverview__TagWrapper",componentId:"sc-u2afqs-1"})(T||(T=e.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n"],["\n padding-top: ","px;\n padding-left: ","px;\n"])),o.spacings.nudge,o.spacings.nudge),K=W.default.ul.withConfig({displayName:"EventOverview__Events",componentId:"sc-u2afqs-2"})(I||(I=e.__makeTemplateObject(["\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n } */\n\n & > * + * {\n padding-top: ","px;\n }\n"],["\n list-style-type: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n } */\n\n & > * + * {\n padding-top: ","px;\n }\n"])),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),3*o.spacings.nudge),J=W.default(u.Copy).withConfig({displayName:"EventOverview__FilterIcon",componentId:"sc-u2afqs-3"})(C||(C=e.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: ","px ","px 0 0;\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: ","px ","px 0 0;\n\n & > * + * {\n margin-left: ","px;\n }\n"])),o.spacings.nudge/2,o.spacings.nudge,o.spacings.nudge),Q=W.default.li.withConfig({displayName:"EventOverview__EventItem",componentId:"sc-u2afqs-4"})(j||(j=e.__makeTemplateObject(["\n /* padding: ","px 0; */\n"],["\n /* padding: ","px 0; */\n"])),3*o.spacings.nudge),X=W.default.div.withConfig({displayName:"EventOverview__ListFooter",componentId:"sc-u2afqs-5"})(q||(q=e.__makeTemplateObject(["\n margin-top: ","px;\n text-align: center;\n\n @media "," {\n text-align: left;\n }\n"],["\n margin-top: ","px;\n text-align: center;\n\n @media "," {\n text-align: left;\n }\n"])),6*o.spacings.nudge,o.mq.medium),Y=W.default.span.withConfig({displayName:"EventOverview__ShowMore",componentId:"sc-u2afqs-6"})(B||(B=e.__makeTemplateObject(["\n display: ",";\n"],["\n display: ",";\n"])),(function(e){var n=e.itemCount;return n&&n>2?"block":"none"})),Z=l.withLibTheme((function(t){var o=t.tags,y=t.events,w=t.bgMode,_=t.anchorId,k=t.initial,E=t.showMoreText,T=t.onTagClick,I=t.customTag,C="inverted"===w,j="full"===w,q=l.useLibTheme(),B=q.colors,O=q.globals,F=O.sections.eventFilterName,L=R.default.useState((null==k?void 0:k.activeTags)||[]),M=L[0],S=L[1],A=R.default.useState(1)[0],N=R.default.useState((null==k?void 0:k.visibleRows)||3),D=N[0],z=N[1],P=R.default.useRef(null),U=x.useObserverSupport(),V=v.useMounted(),W=(null==y?void 0:y.length)||0,Z=h.useScrollTo(800),$=n.useCallback((function(){var e=[],n=f.getUrlParams()[F];if(n){var t=null==n?void 0:n.split(",");g.isValidArray(t,!1)&&e.push.apply(e,t)}return e}),[F]);n.useEffect((function(){if(!k){var e=$();g.isValidArray(e,!1)&&S(e)}}),[$,k]),n.useEffect((function(){var e;k&&!V&&(f.setUrlParam("rows",(null==k?void 0:k.visibleRows)||3),g.isValidArray(null==k?void 0:k.activeTags,!1)?f.setUrlParam(F,null===(e=null==k?void 0:k.activeTags)||void 0===e?void 0:e.join(",")):f.deleteUrlParam(F))}),[F,k,V]),b.useUpdateEffect((function(){f.setUrlParam("rows",D)}),[D]),b.useUpdateEffect((function(){!T&&g.isValidArray(M)&&(M.length>0?f.setUrlParam(F,M.join(",")):f.deleteUrlParam(F))}),[M]);var ee=function(n,t){void 0===t&&(t=!0),S((function(a){var i=e.__spreadArray([],a,!0),r=n.name?a.indexOf(n.name):-1;return-1===r&&n.name?e.__spreadArray(e.__spreadArray([],i,!0),[n.name],!1):t?(i.splice(r,1),i):a})),z(3)},ne=n.useMemo((function(){var n=g.isValidArray(y)?e.__spreadArray([],y,!0):[];return n=null==n?void 0:n.filter((function(e){if(!g.isValidArray(M,!1))return!0;if(!e.tags)return!1;for(var n=!1,t=0;t<e.tags.length;t++)if(-1!==M.indexOf(e.tags[t].name||"")){n=!0;break}return n}))}),[y,M]),te=n.useMemo((function(){return(null==ne?void 0:ne.filter((function(e,n){return n<D*A})))||[]}),[ne,A,D]);n.useEffect((function(){if(U){var e,n=P.current;if(n){(e=new IntersectionObserver((function(e){var n=e[0];(null==n?void 0:n.isIntersecting)&&D<Math.ceil(ne.length/A)&&z((function(e){return e+1}))}),{rootMargin:"0px 0px 100px 0px",threshold:0})).observe(n)}return function(){e&&e.disconnect()}}}),[A,W,D,U,ne.length]);var ae=n.useMemo((function(){return null==o?void 0:o.filter((function(e){return e}))}),[o]);return R.default.createElement(a.Section,{addSeperation:!0,anchorId:_,bgColor:C?B.sectionBg.dark:j?B.sectionBg.medium:"transparent",bgMode:a.mapToBgMode(w,!0)},R.default.createElement(i.Wrapper,{addWhitespace:!0},g.isValidArray(ae,!1)&&R.default.createElement(G,null,R.default.createElement(J,{size:"small",type:"copy",isInverted:C},R.default.createElement(c.Filter,null),R.default.createElement("span",null,"Filter")),ae.map((function(e,n){return R.default.createElement(H,{key:n},I?I({key:n,name:e,isInverted:C,isActive:-1!==M.indexOf(e),clickHandler:function(n){null==n||n.preventDefault(),T?T({name:e}):ee({name:e})}}):R.default.createElement(m.Tag,{isInverted:C,onClick:function(n){null==n||n.preventDefault(),T?T({name:e},!1):ee({name:e})},isActive:-1!==M.indexOf(e)},e))}))),R.default.createElement(K,{hasBg:j},te.map((function(n,t){var a,i="";n.date&&(i=new d.StatusFormatter(n.date.getTime(),"",O.sections.eventDateFormat(n.date),O.sections.eventTimeFormat(n.date),O.sections.eventLocaleKey).getFormattedTimespan(O.sections.eventTimespanFormat(n.date,n.duration),n.duration));var o=s.concat([i,n.address]," | ");return R.default.createElement(Q,{key:"".concat(t,"_event_").concat(n.title)},R.default.createElement(r.EventBlock,e.__assign({hasBg:"full"===w},n,{text:o,tags:null===(a=n.tags)||void 0===a?void 0:a.map((function(e){return{name:e.name}})),isInverted:C,onTagClick:function(e){Z(0),T?T({name:e.name},!0):ee({name:e.name},!1)},customTag:I})))}))),R.default.createElement("div",{ref:P}),!U&&R.default.createElement(X,null,y&&y.length>0&&R.default.createElement(u.Copy,{type:"copy",size:"medium",isInverted:C},R.default.createElement(Y,{itemCount:y.length,onClick:function(e){e.preventDefault(),D<Math.ceil(ne.length/A)&&z((function(e){return e+1}))}},D<ne.length/A&&R.default.createElement(p.Pointer.View,{as:"button",isInverted:C},R.default.createElement(p.Pointer.Label,null,E||"mehr anzeigen")))))))})),$=W.default.ul.withConfig({displayName:"EventList__List",componentId:"sc-1ssgszz-0"})(O||(O=e.__makeTemplateObject(["\n list-style: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n } */\n\n & > * + * {\n padding-top: ","px;\n }\n"],["\n list-style: none;\n margin: 0;\n padding: 0;\n\n /* & > * + * {\n border-top: 1px solid\n ",";\n }\n\n & > *:first-of-type {\n border-top: 1px solid\n ",";\n }\n\n & > *:last-of-type {\n border-bottom: 1px solid\n ",";\n } */\n\n & > * + * {\n padding-top: ","px;\n }\n"])),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),(function(e){var n=e.theme;return e.hasBg?o.getColors(n).elementBg.light:o.getColors(n).elementBg.medium}),3*o.spacings.nudge),ee=W.default.li.withConfig({displayName:"EventList__ListItem",componentId:"sc-1ssgszz-1"})(F||(F=e.__makeTemplateObject(["\n /* padding: ","px 0; */\n"],["\n /* padding: ","px 0; */\n"])),3*o.spacings.nudge),ne=l.withLibTheme((function(n){var t=n.anchorId,o=n.events,c=n.bgMode,m=n.customTag,p=l.useLibTheme(),u=p.colors,f=p.globals,v=p.theme,x="inverted"===c,h="full"===c;return R.default.createElement(a.Section,{addSeperation:!0,anchorId:t,bgColor:x?u.sectionBg.dark:c?u.sectionBg.medium:u.sectionBg.light,bgMode:a.mapToBgMode(c,!0)},R.default.createElement(i.Wrapper,{addWhitespace:!0},R.default.createElement($,{hasBg:h},null==o?void 0:o.map((function(n,t){var a,i="";n.date&&(i=new d.StatusFormatter(n.date.getTime(),"",f.sections.eventDateFormat(n.date),f.sections.eventTimeFormat(n.date),f.sections.eventLocaleKey).getFormattedTimespan(f.sections.eventTimespanFormat(n.date,n.duration),n.duration));var o=s.concat([i,n.address]," | ");return R.default.createElement(ee,{key:t},R.default.createElement(r.EventBlock,e.__assign({hasBg:"full"===c},n,{tags:null===(a=n.tags)||void 0===a?void 0:a.map((function(n){var t,a,i=void 0;return n.name&&(null===(t=n.link)||void 0===t?void 0:t.href)&&(i=function(e,n,t){if(void 0===t&&(t=[]),!e||!n)return"";if(!g.isValidArray(t,!1))return e;var a=n.globals.sections.eventFilterName;if(!a)return e;try{var i=new URL(e),r=new URLSearchParams(i.search);return r.set(a,encodeURIComponent(t.join(","))),"".concat(e,"?").concat(r.toString())}catch(n){return"".concat(e,"?").concat(a,"=").concat(encodeURIComponent(t.join(",")))}}(n.link.href,v,[n.name])),{name:n.name,link:(null===(a=n.link)||void 0===a?void 0:a.href)?e.__assign(e.__assign({},n.link),{href:i}):void 0}})),isInverted:x,text:o,customTag:m})))})))))})),te=W.default.div.withConfig({displayName:"EventDetail__ImageContainer",componentId:"sc-1ko6neq-0"})(L||(L=e.__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(e){switch(e.hAlign){case"center":return"center";case"right":return"flex-end";default:return"flex-start"}}),o.spacings.spacer),ae=W.default(y.Image).withConfig({displayName:"EventDetail__StyledImage",componentId:"sc-1ko6neq-1"})(M||(M=e.__makeTemplateObject(["\n &:not(:first-child) {\n display: none;\n }\n\n @media "," {\n max-width: 50%;\n\n &:not(:first-child) {\n display: inline-block;\n }\n\n & + & {\n margin-left: ","px;\n }\n }\n"],["\n &:not(:first-child) {\n display: none;\n }\n\n @media "," {\n max-width: 50%;\n\n &:not(:first-child) {\n display: inline-block;\n }\n\n & + & {\n margin-left: ","px;\n }\n }\n"])),o.mq.medium,o.spacings.nudge),ie=W.default.div.withConfig({displayName:"EventDetail__ImageBackground",componentId:"sc-1ko6neq-2"})(S||(S=e.__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(e){var n=e.theme;return e.isInverted?o.getGlobals(n).sections.imagePlaceholderBg.inverted:o.getGlobals(n).sections.imagePlaceholderBg.default})),re=W.default(y.Image).withConfig({displayName:"EventDetail__StyledTextImage",componentId:"sc-1ko6neq-3"})(A||(A=e.__makeTemplateObject(["\n margin-top: ","px;\n\n @media "," {\n display: none;\n }\n"],["\n margin-top: ","px;\n\n @media "," {\n display: none;\n }\n"])),3*o.spacings.nudge,o.mq.medium),oe=W.default.div.withConfig({displayName:"EventDetail__TagContainer",componentId:"sc-1ko6neq-4"})(N||(N=e.__makeTemplateObject(["\n max-width: 880px;\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n"],["\n max-width: 880px;\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n"])),o.spacings.nudge,o.spacings.nudge),le=W.default.div.withConfig({displayName:"EventDetail__TagWrapper",componentId:"sc-1ko6neq-5"})(D||(D=e.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n"],["\n padding-top: ","px;\n padding-left: ","px;\n"])),o.spacings.nudge,o.spacings.nudge),de=W.default(u.Heading).withConfig({displayName:"EventDetail__EventTitle",componentId:"sc-1ko6neq-6"})(z||(z=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n"])),3*o.spacings.nudge,o.mq.semilarge),se=W.default(u.Copy).withConfig({displayName:"EventDetail__EventDateTime",componentId:"sc-1ko6neq-7"})(P||(P=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"])),3*o.spacings.nudge),ce=W.default(u.Copy).withConfig({displayName:"EventDetail__EventAddress",componentId:"sc-1ko6neq-8"})(U||(U=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n "," + & {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n "," + & {\n margin-top: ","px;\n }\n\n @media "," {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n"])),3*o.spacings.nudge,se,o.spacings.nudge,o.mq.semilarge),me=W.default(u.Copy).withConfig({displayName:"EventDetail__EventText",componentId:"sc-1ko6neq-9"})(V||(V=e.__makeTemplateObject(["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"],["\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n"])),3*o.spacings.nudge),pe=l.withLibTheme((function(t){var r,s=t.anchorId,c=t.event,p=t.infos,u=t.useImageAsBg,f=t.bgMode,v=t.customTag,x=l.useLibTheme(),h=x.colors,b=x.globals,y="inverted"===f,k="full"===f,E=n.useMemo((function(){return g.isValidArray(null==p?void 0:p.filter((function(e){return g.isValidArray(e.items,!1)})),!1)}),[p]),T="",I="";if(null==c?void 0:c.date){var C=new d.StatusFormatter(c.date.getTime(),"",b.sections.eventDateFormat(c.date),b.sections.eventTimeFormat(c.date),b.sections.eventLocaleKey);T=C.getFormattedDate(),I=C.getFormattedTimespan(b.sections.eventTimespanFormat(c.date,c.duration),c.duration)}var j=n.useMemo((function(){var e;return null===(e=null==c?void 0:c.images)||void 0===e?void 0:e.slice(0,2)}),[null==c?void 0:c.images]),q=null==j?void 0:j[1];return R.default.createElement(a.Section,{addSeperation:!0,anchorId:s,bgColor:y?h.sectionBg.dark:k?h.sectionBg.medium:h.sectionBg.light,bgMode:a.mapToBgMode(f,!0)},R.default.createElement(i.Wrapper,{addWhitespace:!0},g.isValidArray(j,!1)&&R.default.createElement(te,{hAlign:u?"center":"left"},j.map((function(n,t){return n.small?R.default.createElement(ae,e.__assign({key:t},n,{coverSpace:!0,allowEdgeRadius:!0,isInverted:y,ratios:{small:{w:4,h:3}}})):null})),R.default.createElement(ie,{isInverted:y,style:{backgroundImage:u&&j.length<2?"url(".concat(null===(r=null==c?void 0:c.images)||void 0===r?void 0:r[0].small,")"):void 0}})),R.default.createElement(w.Grid.Row,{gutter:5*o.spacings.nudge,semilarge:{gutter:o.spacings.spacer}},R.default.createElement(w.Grid.Col,{semilarge:{span:E?5.7/8:1}},(null==c?void 0:c.tags)&&R.default.createElement(oe,null,c.tags.map((function(e,n){return R.default.createElement(le,{key:"tag_"+n},v?v({key:"headtag-".concat(n),name:e.name||"",isInverted:y,isActive:!1,link:e.link}):R.default.createElement(m.Tag,{link:e.link,isInverted:y},e.name))}))),(null==c?void 0:c.title)&&R.default.createElement(de,{size:"heading-2",isInverted:y},c.title),T&&R.default.createElement(se,{size:"big",type:"copy-b",isInverted:y},T||"",T&&I?" | ":"",I),(null==c?void 0:c.address)&&R.default.createElement(ce,{size:"big",type:"copy",innerHTML:c.address,isInverted:y}),(null==c?void 0:c.abstract)&&R.default.createElement(me,{size:"medium",type:"copy-b",isInverted:y},c.abstract),q&&R.default.createElement(re,e.__assign({},q,{coverSpace:!0,allowEdgeRadius:!0,isInverted:y,ratios:{small:{w:4,h:3}}})),(null==c?void 0:c.text)&&R.default.createElement(me,{size:"medium",isInverted:y,innerHTML:c.text})),E&&R.default.createElement(w.Grid.Col,{semilarge:{span:2.3/8}},R.default.createElement(_.InfoList,{isInverted:y,items:p})))))}));exports.EventDetail=pe,exports.EventList=ne,exports.EventOverview=Z;
2
2
  //# sourceMappingURL=sections.events.js.map
@@ -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","withConfig","displayName","componentId","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","EventOverview$1","withLibTheme","tags","events","bgMode","anchorId","initial","showMoreText","onTagClick","customTag","isInverted","_b","useLibTheme","colors","globals","filterName","sections","eventFilterName","_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","isValidArray","push","apply","useEffect","paramTags","setUrlParam","join","deleteUrlParam","useUpdateEffect","handleTagClick","tag","enableToggling","prev","prevCopy","__spreadArray","itemIndex","name","indexOf","splice","filteredEvents","useMemo","filtered","filter","item","hasTags","i","visibleEvents","_","observer","element","current","IntersectionObserver","entries","entry","isIntersecting","Math","ceil","rootMargin","threshold","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","StatusFormatter","getTime","eventDateFormat","eventTimeFormat","eventLocaleKey","getFormattedTimespan","eventTimespanFormat","duration","text","concat","address","title","EventBlock","__assign","ref","Pointer","View","as","Label","List","ListItem","EventList$1","event","tagHref","undefined","link","href","url","validUrl","URL","newParams","URLSearchParams","search","set","encodeURIComponent","toString","err","getEventFilterParams","ImageContainer","spacer","StyledImage","Image","ImageBackground","templateObject_3","StyledTextImage","templateObject_5","EventTitle","Heading","semilarge","EventDateTime","templateObject_8","EventAddress","templateObject_9","EventText","templateObject_10","EventDetail$1","infos","hasInfos","info","items","publishedAt","formatter","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","withConfig","displayName","componentId","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","EventOverview$1","withLibTheme","tags","events","bgMode","anchorId","initial","showMoreText","onTagClick","customTag","isInverted","_b","useLibTheme","colors","globals","filterName","sections","eventFilterName","_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","isValidArray","push","apply","useEffect","paramTags","setUrlParam","join","deleteUrlParam","useUpdateEffect","handleTagClick","tag","enableToggling","prev","prevCopy","__spreadArray","itemIndex","name","indexOf","splice","filteredEvents","useMemo","filtered","filter","item","hasTags","i","visibleEvents","_","observer","element","current","IntersectionObserver","entries","entry","isIntersecting","Math","ceil","rootMargin","threshold","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","StatusFormatter","getTime","eventDateFormat","eventTimeFormat","eventLocaleKey","getFormattedTimespan","eventTimespanFormat","duration","text","concat","address","title","EventBlock","__assign","ref","Pointer","View","as","Label","List","ListItem","EventList$1","event","tagHref","undefined","link","href","url","validUrl","URL","newParams","URLSearchParams","search","set","encodeURIComponent","toString","err","getEventFilterParams","ImageContainer","hAlign","spacer","StyledImage","Image","ImageBackground","templateObject_3","global","getGlobals","imagePlaceholderBg","inverted","default","StyledTextImage","templateObject_5","EventTitle","Heading","semilarge","EventDateTime","templateObject_8","EventAddress","templateObject_9","EventText","templateObject_10","EventDetail$1","infos","useImageAsBg","hasInfos","info","items","publishedAt","formatter","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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"}
@@ -21,7 +21,7 @@ var View = styled.div.withConfig({
21
21
  var ImageFlex = styled.div.withConfig({
22
22
  displayName: "EventBlock__ImageFlex",
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 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 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 & > *:not(:nth-child(2)) {\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);
25
25
  var CardImage = styled(Image).withConfig({
26
26
  displayName: "EventBlock__CardImage",
27
27
  componentId: "sc-1nnq189-2"
@@ -92,7 +92,7 @@ var EventBlock = function (_a) {
92
92
  }, [images]);
93
93
  return React__default.createElement(View, {
94
94
  hasBg: hasBg
95
- }, isValidArray(cardImages, false) && cardImages.length > 1 && React__default.createElement(ImageFlex, null, cardImages.map(function (img, i) {
95
+ }, isValidArray(cardImages, false) && React__default.createElement(ImageFlex, null, cardImages.map(function (img, i) {
96
96
  if (!img.small) return null;
97
97
  return React__default.createElement(CardImage, __assign({}, img, {
98
98
  key: i,
@@ -133,4 +133,4 @@ var EventBlock = function (_a) {
133
133
  var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9;
134
134
 
135
135
  export { EventBlock as E };
136
- //# sourceMappingURL=EventBlock-41d68d0a.js.map
136
+ //# sourceMappingURL=EventBlock-248464eb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventBlock-248464eb.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 ImageFlex = styled.div`\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 30%;\n\n & > *:not(:first-child) {\n display: none;\n }\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 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(() => images?.slice(0, 2), [images]);\n\n return (\n <View hasBg={hasBg}>\n {isValidArray(cardImages, false) && (\n <ImageFlex>\n {cardImages.map((img, i) => {\n if (!img.small) return null;\n return (\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 })}\n </ImageFlex>\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","ImageFlex","templateObject_2","__makeTemplateObject","CardImage","Image","templateObject_3","MainContent","templateObject_4","TagContainer","templateObject_5","TextWrapper","templateObject_6","TagWrapper","templateObject_7","TitleLink","Link","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","React","createElement","isValidArray","map","img","i","small","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-248464eb.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-248464eb.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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blateral/b.kit",
3
- "version": "2.5.0",
3
+ "version": "2.5.1",
4
4
  "description": "",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -1 +1 @@
1
- {"version":3,"file":"EventBlock.d.ts","sourceRoot":"","sources":["../../../src/components/blocks/EventBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAKtC,OAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAa,EAAE,SAAS,EAAE,2BAAmC;AAiI7D,MAAM,WAAW,UAAU;IACvB,iCAAiC;IACjC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAElB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,kBAAkB;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC;IAE1D,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yBAAyB;IACzB,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,yCAAyC;IACzC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAE9D,yCAAyC;IACzC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,EAAE,SAAS,CAAC;QAChB,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;KACnE,KAAK,KAAK,CAAC,SAAS,CAAC;IAEtB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,IAAI,CAAC;CACxC;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAuG1D,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"EventBlock.d.ts","sourceRoot":"","sources":["../../../src/components/blocks/EventBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAKtC,OAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAa,EAAE,SAAS,EAAE,2BAAmC;AAkI7D,MAAM,WAAW,UAAU;IACvB,iCAAiC;IACjC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAElB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,kBAAkB;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC;IAE1D,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yBAAyB;IACzB,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,yCAAyC;IACzC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAE9D,yCAAyC;IACzC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,EAAE,SAAS,CAAC;QAChB,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;KACnE,KAAK,KAAK,CAAC,SAAS,CAAC;IAEtB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,IAAI,CAAC;CACxC;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAuG1D,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -22,6 +22,8 @@ export declare const EventDetailComponent: React.FC<{
22
22
  }) | undefined;
23
23
  /** Additional event infos */
24
24
  infos?: EventInfoGroup[] | undefined;
25
+ /** Use image as blurred background for single images */
26
+ useImageAsBg?: boolean | undefined;
25
27
  /** Section background */
26
28
  bgMode?: "inverted" | "full" | undefined;
27
29
  /** Function to inject custom tag node */
@@ -43,6 +45,8 @@ declare const _default: React.FC<{
43
45
  }) | undefined;
44
46
  /** Additional event infos */
45
47
  infos?: EventInfoGroup[] | undefined;
48
+ /** Use image as blurred background for single images */
49
+ useImageAsBg?: boolean | undefined;
46
50
  /** Section background */
47
51
  bgMode?: "inverted" | "full" | undefined;
48
52
  /** Function to inject custom tag node */
@@ -1 +1 @@
1
- {"version":3,"file":"EventDetail.d.ts","sourceRoot":"","sources":["../../../../src/components/sections/events/EventDetail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAKvC,OAAO,EAAE,UAAU,EAAE,gCAAqC;AAK1D,OAAO,EAAE,SAAS,EAAE,8BAAmC;AAgIvD,oBAAY,gBAAgB,GAAG,IAAI,CAC/B,UAAU,EACV,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,MAAM,CACrD,CAAC;AAEF,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACtB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IACjD,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AA2LD,eAAO,MAAM,oBAAoB;IAxL7B,wDAAwD;;IAGxD,mCAAmC;;;;;IAGnC,6BAA6B;;IAG7B,yBAAyB;;IAGzB,yCAAyC;yBACrB;QAChB,GAAG,EAAE,MAAM,GAAG,CAAC;QACf,MAAM,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,SAAS,CAAC;KACpB,KAAK,MAAM,SAAS;EAqKsB,CAAC;;IAxL5C,wDAAwD;;IAGxD,mCAAmC;;;;;IAGnC,6BAA6B;;IAG7B,yBAAyB;;IAGzB,yCAAyC;;;;;;;;;;;AA6K7C,wBAAyC"}
1
+ {"version":3,"file":"EventDetail.d.ts","sourceRoot":"","sources":["../../../../src/components/sections/events/EventDetail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAKvC,OAAO,EAAE,UAAU,EAAE,gCAAqC;AAK1D,OAAO,EAAE,SAAS,EAAE,8BAAmC;AAgJvD,oBAAY,gBAAgB,GAAG,IAAI,CAC/B,UAAU,EACV,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,MAAM,CACrD,CAAC;AAEF,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACtB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IACjD,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAgMD,eAAO,MAAM,oBAAoB;IA7L7B,wDAAwD;;IAGxD,mCAAmC;;;;;IAGnC,6BAA6B;;IAG7B,wDAAwD;;IAGxD,yBAAyB;;IAGzB,yCAAyC;yBACrB;QAChB,GAAG,EAAE,MAAM,GAAG,CAAC;QACf,MAAM,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,SAAS,CAAC;KACpB,KAAK,MAAM,SAAS;EAuKsB,CAAC;;IA7L5C,wDAAwD;;IAGxD,mCAAmC;;;;;IAGnC,6BAA6B;;IAG7B,wDAAwD;;IAGxD,yBAAyB;;IAGzB,yCAAyC;;;;;;;;;;;AA+K7C,wBAAyC"}
@@ -1,2 +0,0 @@
1
- "use strict";var n=require("./ClockFilled-2483aa4a.js"),e=require("react"),t=require("styled-components"),i=require("./Tag-9238cf0c.js"),a=require("./Copy-ea6ab025.js"),l=require("./styles-3a495a2d.js"),o=require("./statusFormatter-0393122b.js"),r=require("./LibThemeProvider-4823de57.js"),d=require("./Image-c72f7a80.js"),c=require("./Link-5a6f1633.js"),m=require("./arrays-c272ed59.js");function p(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}var s,g,u,f,x,y,k,v,h,_=p(e),b=p(t),w=b.default.div.withConfig({displayName:"EventBlock__View",componentId:"sc-1nnq189-0"})(s||(s=n.__makeTemplateObject(["\n text-decoration: none;\n color: inherit;\n\n background-color: ",";\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n display: flex;\n justify-content: flex-end;\n flex-direction: row-reverse;\n\n & > * + * {\n margin-top: 0;\n padding-right: ","px;\n }\n }\n"],["\n text-decoration: none;\n color: inherit;\n\n background-color: ",";\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n display: flex;\n justify-content: flex-end;\n flex-direction: row-reverse;\n\n & > * + * {\n margin-top: 0;\n padding-right: ","px;\n }\n }\n"])),(function(n){var e=n.theme;return n.hasBg?l.getColors(e).elementBg.light:l.getColors(e).elementBg.medium}),l.spacings.nudge,l.mq.large,l.spacings.spacer),q=b.default.div.withConfig({displayName:"EventBlock__ImageFlex",componentId:"sc-1nnq189-1"})(g||(g=n.__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"])),l.spacings.nudge,l.mq.medium,l.mq.large),E=b.default(d.Image).withConfig({displayName:"EventBlock__CardImage",componentId:"sc-1nnq189-2"})(u||(u=n.__makeTemplateObject(["\n height: 100%;\n\n img {\n width: calc(100% + 1px);\n }\n\n @media "," {\n max-width: 50%;\n }\n\n @media "," {\n max-width: 100%;\n }\n"],["\n height: 100%;\n\n img {\n width: calc(100% + 1px);\n }\n\n @media "," {\n max-width: 50%;\n }\n\n @media "," {\n max-width: 100%;\n }\n"])),l.mq.medium,l.mq.large),T=b.default.div.withConfig({displayName:"EventBlock__MainContent",componentId:"sc-1nnq189-3"})(f||(f=n.__makeTemplateObject(["\n flex: 0 1 70%;\n padding: ","px;\n padding-bottom: ","px;\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n max-width: 830px;\n padding: ","px;\n }\n"],["\n flex: 0 1 70%;\n padding: ","px;\n padding-bottom: ","px;\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n max-width: 830px;\n padding: ","px;\n }\n"])),2*l.spacings.nudge,3*l.spacings.nudge,3*l.spacings.nudge,l.mq.large,3*l.spacings.nudge),j=b.default.div.withConfig({displayName:"EventBlock__TagContainer",componentId:"sc-1nnq189-4"})(x||(x=n.__makeTemplateObject(["\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n"],["\n margin-top: -","px;\n margin-left: -","px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n"])),l.spacings.nudge,l.spacings.nudge),C=b.default.div.withConfig({displayName:"EventBlock__TextWrapper",componentId:"sc-1nnq189-5"})(y||(y=n.__makeTemplateObject(["\n & > * + * {\n margin-top: ","px;\n }\n"],["\n & > * + * {\n margin-top: ","px;\n }\n"])),l.spacings.nudge),I=b.default.div.withConfig({displayName:"EventBlock__TagWrapper",componentId:"sc-1nnq189-6"})(k||(k=n.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n"],["\n padding-top: ","px;\n padding-left: ","px;\n"])),l.spacings.nudge,l.spacings.nudge),B=b.default(c.Link).withConfig({displayName:"EventBlock__TitleLink",componentId:"sc-1nnq189-7"})(v||(v=n.__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"])),a.copyStyle("copy-b","big"),(function(n){var e=n.theme;return n.isInverted?l.getFonts(e)["copy-b"].big.colorInverted:l.getFonts(e)["copy-b"].big.color})),F=b.default(a.Copy).withConfig({displayName:"EventBlock__Text",componentId:"sc-1nnq189-8"})(h||(h=n.__makeTemplateObject(["\n display: -webkit-box;\n -webkit-line-clamp: 4;\n -webkit-box-orient: vertical;\n overflow: hidden;\n"],["\n display: -webkit-box;\n -webkit-line-clamp: 4;\n -webkit-box-orient: vertical;\n overflow: hidden;\n"])));exports.EventBlock=function(t){var l=t.customTag,d=t.onTagClick,c=t.title,p=t.images,s=t.date,g=t.text,u=t.link,f=t.tags,x=t.isInverted,y=t.action,k=t.hasBg,v=r.useLibTheme().globals,h="";s&&(h=new o.StatusFormatter(s.getTime(),"",v.sections.eventDateFormat(s),v.sections.eventTimeFormat(s),v.sections.eventLocaleKey).getFormattedDate());var b=function(n){return d?function(e){null==e||e.preventDefault(),d(n)}:void 0},N=e.useMemo((function(){return null==f?void 0:f.filter((function(n){return n.name}))}),[f]),O=e.useMemo((function(){return null==p?void 0:p.slice(0,2)}),[p]);return _.default.createElement(w,{hasBg:k},m.isValidArray(O,!1)&&O.length>1&&_.default.createElement(q,null,O.map((function(e,t){return e.small?_.default.createElement(E,n.__assign({},e,{key:t,coverSpace:!0,allowEdgeRadius:!0,isInverted:x,ratios:{small:{w:4,h:3}}})):null}))),_.default.createElement(T,null,m.isValidArray(N,!1)&&_.default.createElement(j,null,N.map((function(n,e){return n&&_.default.createElement(I,{key:"tag_"+e},l?l({key:"tag_"+e,name:n.name||"",isActive:!1,link:n.link||{},clickHandler:b(n)}):_.default.createElement(i.Tag,{name:n.name,link:n.link,onClick:b(n)}))}))),c&&_.default.createElement(B,n.__assign({},u),c),_.default.createElement(C,null,s&&_.default.createElement(a.Copy,{size:"medium",type:"copy-b"},h),g&&_.default.createElement(F,{size:"small",innerHTML:g})),y&&_.default.createElement("div",null," ",y({isInverted:!1})," ")))};
2
- //# sourceMappingURL=EventBlock-d191a8ae.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EventBlock-d191a8ae.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 ImageFlex = styled.div`\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 display: inline-block;\n }\n }\n\n @media ${mq.large} {\n flex: 0 1 30%;\n\n & > *:not(:first-child) {\n display: none;\n }\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 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(() => images?.slice(0, 2), [images]);\n\n return (\n <View hasBg={hasBg}>\n {isValidArray(cardImages, false) && cardImages.length > 1 && (\n <ImageFlex>\n {cardImages.map((img, i) => {\n if (!img.small) return null;\n return (\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 })}\n </ImageFlex>\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","withConfig","displayName","componentId","_a","theme","hasBg","getColors","elementBg","light","medium","spacings","nudge","mq","large","spacer","ImageFlex","templateObject_2","__makeTemplateObject","CardImage","Image","templateObject_3","MainContent","templateObject_4","TagContainer","templateObject_5","TextWrapper","templateObject_6","TagWrapper","templateObject_7","TitleLink","Link","templateObject_8","copyStyle","isInverted","font","getFonts","big","colorInverted","color","Text","Copy","templateObject_9","customTag","onTagClick","title","images","date","text","link","tags","action","globals","useLibTheme","publishedAt","StatusFormatter","getTime","sections","eventDateFormat","eventTimeFormat","eventLocaleKey","getFormattedDate","handleTagClick","tag","ev","preventDefault","undefined","filteredTags","useMemo","filter","name","cardImages","slice","React","createElement","isValidArray","length","map","img","i","small","key","coverSpace","allowEdgeRadius","ratios","w","h","isActive","clickHandler","Tag","onClick","size","type","innerHTML"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EventBlock-41d68d0a.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 ImageFlex = styled.div`\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 display: inline-block;\n }\n }\n\n @media ${mq.large} {\n flex: 0 1 30%;\n\n & > *:not(:first-child) {\n display: none;\n }\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 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(() => images?.slice(0, 2), [images]);\n\n return (\n <View hasBg={hasBg}>\n {isValidArray(cardImages, false) && cardImages.length > 1 && (\n <ImageFlex>\n {cardImages.map((img, i) => {\n if (!img.small) return null;\n return (\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 })}\n </ImageFlex>\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","ImageFlex","templateObject_2","__makeTemplateObject","CardImage","Image","templateObject_3","MainContent","templateObject_4","TagContainer","templateObject_5","TextWrapper","templateObject_6","TagWrapper","templateObject_7","TitleLink","Link","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","React","createElement","isValidArray","length","map","img","i","small","key","coverSpace","allowEdgeRadius","ratios","w","h","isActive","clickHandler","Tag","onClick","size","type","innerHTML"],"mappings":"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"}