@blateral/b.kit 2.7.2 → 2.7.4

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.
@@ -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"),l=require("./Copy-ea6ab025.js"),r=require("./styles-3a495a2d.js"),o=require("./LibThemeProvider-4823de57.js"),d=require("./Image-c72f7a80.js"),s=require("./Tag-9238cf0c.js"),c=require("./statusFormatter-0393122b.js"),m=require("./Link-5a6f1633.js"),p=require("./arrays-c272ed59.js"),u=require("./useMediaQuery-3d1054e5.js"),f=require("./useEqualSheetHeight-501f4c5f.js"),g=require("./Grid-6f4f99bc.js"),h=require("./useObserverSupport-5ab320dd.js"),x=require("./useScrollTo-fdd665da.js"),w=require("./Pointer-fde7b548.js"),v=require("./urlParams-7525f638.js"),b=require("./Filter-d6d90b8b.js"),_=require("./useUpdateEffect-4d233e2c.js"),y=require("./useMounted-0bba9869.js"),k=require("./TableBlock-f2c59d9b.js"),T=require("./VideoCard-a51690c9.js");function I(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("./concat-f387d848.js"),require("./clamp-bd21d587.js"),require("react-dom/server"),require("./useCookieConsent-aa9f1104.js"),require("./ButtonGhost-628bbd60.js"),require("./hexRgbConverter-91b28aea.js");var C,N,E,j,B,O,M,S,q,L,A,W,z,F,P,R,U=I(n),V=I(t),H=V.default.div.withConfig({displayName:"NewsAuthorCard__Seperator",componentId:"sc-17dx8qw-0"})(C||(C=e.__makeTemplateObject(["\n border-bottom: solid 1px\n ",";\n\n margin-top: ","px;\n margin-bottom: ","px;\n"],["\n border-bottom: solid 1px\n ",";\n\n margin-top: ","px;\n margin-bottom: ","px;\n"])),(function(e){var n=e.isInverted,t=e.theme;return n?r.getColors(t).elementBg.light:r.getColors(t).elementBg.dark}),(function(e){return!e.isTop&&r.spacings.spacer}),(function(e){return e.isTop&&r.spacings.spacer})),D=V.default.div.withConfig({displayName:"NewsAuthorCard__AuthorContainer",componentId:"sc-17dx8qw-1"})(N||(N=e.__makeTemplateObject(["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n flex-direction: row;\n justify-content: flex-start;\n text-align: left;\n\n & > * + * {\n margin-top: 0;\n margin-left: ","px;\n }\n }\n"],["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n flex-direction: row;\n justify-content: flex-start;\n text-align: left;\n\n & > * + * {\n margin-top: 0;\n margin-left: ","px;\n }\n }\n"])),r.spacings.spacer,r.mq.medium,r.spacings.spacer),G=V.default.img.withConfig({displayName:"NewsAuthorCard__Avatar",componentId:"sc-17dx8qw-2"})(E||(E=e.__makeTemplateObject(["\n border-radius: 50%; ;\n"],["\n border-radius: 50%; ;\n"]))),Q=V.default.div.withConfig({displayName:"NewsAuthorCard__Author",componentId:"sc-17dx8qw-3"})(j||(j=e.__makeTemplateObject([""],[""]))),K=V.default(l.Copy).withConfig({displayName:"NewsAuthorCard__StyledCopy",componentId:"sc-17dx8qw-4"})(B||(B=e.__makeTemplateObject(["\n text-transform: uppercase;\n margin-bottom: ","px;\n"],["\n text-transform: uppercase;\n margin-bottom: ","px;\n"])),3*r.spacings.nudge),J=o.withLibTheme((function(e){var n=e.label,t=e.author,r=e.avatar,d=e.bgMode,s=o.useLibTheme().colors,c="inverted"===d,m="full"===d;return U.default.createElement(a.Section,{addSeperation:!0,bgColor:c?s.sectionBg.dark:m?s.sectionBg.medium:s.sectionBg.light,bgMode:a.mapToBgMode(d,!0)},U.default.createElement(i.Wrapper,{clampWidth:"small",addWhitespace:!0},t&&U.default.createElement(U.default.Fragment,null,U.default.createElement(H,{isTop:!0,isInverted:c}),U.default.createElement(D,null,r&&U.default.createElement(G,{src:r.src,alt:r.alt}),U.default.createElement(Q,null,t&&U.default.createElement(K,{isInverted:c,type:"copy-b"},n||"Written By"),U.default.createElement(l.Heading,{isInverted:c,size:"heading-2"},t)))),U.default.createElement(H,{isInverted:c})))})),X=V.default.div.withConfig({displayName:"NewsCard__View",componentId:"sc-ahox9b-0"})(O||(O=e.__makeTemplateObject(["\n position: relative;\n text-decoration: none;\n margin: 0;\n padding: 0;\n"],["\n position: relative;\n text-decoration: none;\n margin: 0;\n padding: 0;\n"]))),Y=V.default(m.Link).withConfig({displayName:"NewsCard__ImageLink",componentId:"sc-ahox9b-1"})(M||(M=e.__makeTemplateObject(["\n display: block;\n width: 100%;\n"],["\n display: block;\n width: 100%;\n"]))),Z=V.default(d.Image).withConfig({displayName:"NewsCard__StyledImage",componentId:"sc-ahox9b-2"})(S||(S=e.__makeTemplateObject(["\n overflow: hidden;\n border-radius: ",";\n"],["\n overflow: hidden;\n border-radius: ",";\n"])),(function(e){var n=e.theme;return r.getGlobals(n).sections.edgeRadius})),$=V.default.div.withConfig({displayName:"NewsCard__BorderPlaceholder",componentId:"sc-ahox9b-3"})(q||(q=e.__makeTemplateObject(["\n border-top: 1px solid\n ",";\n"],["\n border-top: 1px solid\n ",";\n"])),(function(e){var n=e.theme;return e.hasBg?r.getColors(n).elementBg.light:r.getColors(n).elementBg.medium})),ee=V.default(m.Link).withConfig({displayName:"NewsCard__TitleLink",componentId:"sc-ahox9b-4"})(L||(L=e.__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"])),l.copyStyle("copy-b","big"),(function(e){var n=e.theme;return e.isInverted?r.getFonts(n)["copy-b"].big.colorInverted:r.getFonts(n)["copy-b"].big.color})),ne=V.default.div.withConfig({displayName:"NewsCard__Head",componentId:"sc-ahox9b-5"})(A||(A=e.__makeTemplateObject(["\n display: flex;\n\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n &:not(:last-child) {\n margin-bottom: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n &:not(:last-child) {\n margin-bottom: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"])),3*r.spacings.nudge,3*r.spacings.nudge,3*r.spacings.nudge),te=V.default.div.withConfig({displayName:"NewsCard__Tags",componentId:"sc-ahox9b-6"})(W||(W=e.__makeTemplateObject(["\n display: flex;\n overflow: scroll;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n overflow: scroll;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"])),r.spacings.nudge),ae=V.default(l.Copy).withConfig({displayName:"NewsCard__PublishDate",componentId:"sc-ahox9b-7"})(z||(z=e.__makeTemplateObject(["\n &:only-child {\n margin-left: auto;\n }\n"],["\n &:only-child {\n margin-left: auto;\n }\n"]))),ie=V.default.div.withConfig({displayName:"NewsCard__Main",componentId:"sc-ahox9b-8"})(F||(F=e.__makeTemplateObject(["\n max-width: 95%;\n\n & > * + * {\n margin-top: ","px;\n }\n"],["\n max-width: 95%;\n\n & > * + * {\n margin-top: ","px;\n }\n"])),3*r.spacings.nudge),le=V.default(l.Copy).withConfig({displayName:"NewsCard__Text",componentId:"sc-ahox9b-9"})(P||(P=e.__makeTemplateObject(["\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 6; /* number of lines to show */\n line-clamp: 6;\n -webkit-box-orient: vertical;\n\n & > * {\n margin: 0 !important;\n }\n\n & > p:not(:first-of-type) {\n display: none;\n }\n\n & > ul,\n & > ol,\n & > table {\n display: none;\n }\n"],["\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 6; /* number of lines to show */\n line-clamp: 6;\n -webkit-box-orient: vertical;\n\n & > * {\n margin: 0 !important;\n }\n\n & > p:not(:first-of-type) {\n display: none;\n }\n\n & > ul,\n & > ol,\n & > table {\n display: none;\n }\n"]))),re=V.default.div.withConfig({displayName:"NewsCard__Action",componentId:"sc-ahox9b-10"})(R||(R=e.__makeTemplateObject(["\n margin-top: ","px;\n"],["\n margin-top: ","px;\n"])),3*r.spacings.nudge),oe=n.forwardRef((function(t,a){var i=t.tags,l=t.onTagClick,r=t.publishDate,d=t.title,m=t.text,u=t.image,f=t.link,g=t.isInverted,h=t.action,x=t.customTag,w=t.className,v=t.hasBg,b=o.useLibTheme().globals,_="";r&&(_=new c.StatusFormatter(r.getTime(),"",b.sections.newsDateFormat(r),b.sections.newsTimeFormat(r),b.sections.newsLocaleKey).getFormattedDate());var y=function(e){return l?function(n){null==n||n.preventDefault(),l(e)}:void 0},k=n.useMemo((function(){return null==i?void 0:i.filter((function(e){return e.name}))}),[i]);return U.default.createElement(X,{ref:a,className:w},(null==u?void 0:u.small)?U.default.createElement(Y,e.__assign({},f,{ariaLabel:d}),U.default.createElement(Z,e.__assign({},u,{coverSpace:!0,isInverted:g}))):U.default.createElement($,{hasBg:v}),U.default.createElement(ne,{"data-sheet":"head"},p.isValidArray(k,!1)&&U.default.createElement(te,null,k.map((function(e,n){return x?x({key:n,name:e.name||"",isInverted:g,isActive:!1,link:e.link,clickHandler:y(e)}):U.default.createElement(s.Tag,{key:n,isInverted:g,name:e.name,link:e.link,onClick:y(e)})}))),_&&U.default.createElement(ae,{size:"small",renderAs:"div",isInverted:g},_)),U.default.createElement(ie,null,d&&U.default.createElement(ee,e.__assign({},f,{ariaLabel:d,isInverted:g,dataSheet:"title"}),d),m&&U.default.createElement(le,{isInverted:g,type:"copy",innerHTML:m,"data-sheet":"text",size:"medium"})),h&&U.default.createElement(re,null,h(g)))}));oe.displayName="NewsCard";var de,se,ce,me,pe,ue,fe,ge,he,xe,we,ve,be,_e,ye,ke,Te,Ie,Ce,Ne,Ee=V.default.div.withConfig({displayName:"NewsOverview__TagContainer",componentId:"sc-5r2c7-0"})(de||(de=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"])),r.spacings.nudge,r.spacings.nudge,6*r.spacings.nudge),je=V.default.div.withConfig({displayName:"NewsOverview__TagWrapper",componentId:"sc-5r2c7-1"})(se||(se=e.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n"],["\n padding-top: ","px;\n padding-left: ","px;\n"])),r.spacings.nudge,r.spacings.nudge),Be=V.default.ul.withConfig({displayName:"NewsOverview__News",componentId:"sc-5r2c7-2"})(ce||(ce=e.__makeTemplateObject(["\n list-style: none;\n margin: 0;\n margin-top: -","px;\n margin-left: -","px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n"],["\n list-style: none;\n margin: 0;\n margin-top: -","px;\n margin-left: -","px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n"])),6*r.spacings.nudge,r.spacings.spacer),Oe=V.default.li.withConfig({displayName:"NewsOverview__NewsItem",componentId:"sc-5r2c7-3"})(me||(me=e.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n flex: 1 0 100%;\n\n @media "," {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media "," {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\n"],["\n padding-top: ","px;\n padding-left: ","px;\n flex: 1 0 100%;\n\n @media "," {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media "," {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\n"])),6*r.spacings.nudge,r.spacings.spacer,r.mq.medium,r.mq.large),Me=V.default.div.withConfig({displayName:"NewsOverview__ListFooter",componentId:"sc-5r2c7-4"})(pe||(pe=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*r.spacings.nudge,r.mq.medium),Se=V.default.span.withConfig({displayName:"NewsOverview__ShowMore",componentId:"sc-5r2c7-5"})(ue||(ue=e.__makeTemplateObject(["\n display: ",";\n"],["\n display: ",";\n"])),(function(e){var n=e.itemCount;return n&&n>2?"block":"none"})),qe=V.default(l.Copy).withConfig({displayName:"NewsOverview__FilterIcon",componentId:"sc-5r2c7-6"})(fe||(fe=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"])),r.spacings.nudge/2,r.spacings.nudge,r.spacings.nudge),Le=function(e,n,t){if(void 0===t&&(t=[]),!e)return"";if(!p.isValidArray(t,!1))return e;var a=n.globals.sections.newsFilterName;if(!a)return e;try{var i=new URL(e),l=new URLSearchParams(i.search);return l.set(a,encodeURIComponent(t.join(","))),"".concat(e,"?").concat(l.toString())}catch(n){return"".concat(e,"?").concat(a,"=").concat(encodeURIComponent(t.join(",")))}},Ae=o.withLibTheme((function(t){var r=t.anchorId,d=t.news,c=t.tags,m=t.initial,g=t.showMoreText,k=t.bgMode,T=t.onTagClick,I=t.customTag,C=o.useLibTheme(),N=C.colors,E=C.globals.sections.newsFilterName,j="inverted"===k,B="full"===k,O=n.useState((null==m?void 0:m.activeTags)||[]),M=O[0],S=O[1],q=u.useMediaQuery(["small","semilarge","large"]),L=n.useState(3),A=L[0],W=L[1],z=n.useState((null==m?void 0:m.visibleRows)||3),F=z[0],P=z[1],R=y.useMounted(),V=n.useRef(null),H=h.useObserverSupport(),D=(null==d?void 0:d.length)||0,G=x.useScrollTo(800),Q=f.useEqualSheetHeight({listLength:Math.min(F*A,D),identifiers:['[data-sheet="head"]','[data-sheet="title"]','[data-sheet="text"]'],responsive:{small:1,medium:1,semilarge:2,large:3,xlarge:3}}),K=Q.sheetRefs,J=Q.triggerCalculation,X=n.useCallback((function(){var e=[],n=v.getUrlParams()[E];if(n){var t=null==n?void 0:n.split(",");p.isValidArray(t,!1)&&e.push.apply(e,t)}return e}),[E]);n.useEffect((function(){if(!m){var e=X(),n=parseInt(v.getUrlParams().rows);P(n||3),p.isValidArray(e,!1)&&S(e),J()}}),[X,m]),n.useEffect((function(){var e;m&&!R&&(v.setUrlParam("rows",(null==m?void 0:m.visibleRows)||3),p.isValidArray(null==m?void 0:m.activeTags,!1)?v.setUrlParam(E,null===(e=null==m?void 0:m.activeTags)||void 0===e?void 0:e.join(",")):v.deleteUrlParam(E))}),[E,m,R]),_.useUpdateEffect((function(){v.setUrlParam("rows",F)}),[F]),_.useUpdateEffect((function(){!T&&p.isValidArray(M)&&(M.length>0?v.setUrlParam(E,M.join(",")):v.deleteUrlParam(E))}),[M]),n.useEffect((function(){switch(q){case"large":W(3);break;case"semilarge":W(2);break;case"small":W(1),F<3&&P(3);break;default:W(1)}}),[q,F]);var Y=function(n,t){void 0===t&&(t=!0),S((function(a){var i=e.__spreadArray([],a,!0),l=n.name?a.indexOf(n.name):-1;return-1===l&&n.name?e.__spreadArray(e.__spreadArray([],i,!0),[n.name],!1):t?(i.splice(l,1),i):a})),J(),P(3)},Z=n.useMemo((function(){var n=p.isValidArray(d)?e.__spreadArray([],d,!0):[];return n=null==n?void 0:n.filter((function(e){if(!p.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}))}),[d,M]),$=n.useMemo((function(){return(null==Z?void 0:Z.filter((function(e,n){return n<F*A})))||[]}),[Z,A,F]);n.useEffect((function(){if(H){var e,n=V.current;if(n){(e=new IntersectionObserver((function(e){var n=e[0];(null==n?void 0:n.isIntersecting)&&F<Math.ceil(Z.length/A)&&P((function(e){return e+1}))}),{rootMargin:"0px 0px 100px 0px",threshold:0})).observe(n)}return function(){e&&e.disconnect()}}}),[A,D,F,H,Z.length]);var ee=n.useMemo((function(){return null==c?void 0:c.filter((function(e){return e}))}),[c]);return U.default.createElement(a.Section,{addSeperation:!0,anchorId:r,bgColor:j?N.sectionBg.dark:B?N.sectionBg.medium:N.sectionBg.light,bgMode:a.mapToBgMode(k,!0)},U.default.createElement(i.Wrapper,{addWhitespace:!0},p.isValidArray(ee,!1)&&U.default.createElement(Ee,null,U.default.createElement(qe,{size:"small",type:"copy",isInverted:j},U.default.createElement(b.Filter,null),U.default.createElement("span",null,"Filter")),ee.map((function(e,n){return U.default.createElement(je,{key:n},I?I({key:n,name:e,isInverted:j,isActive:-1!==M.indexOf(e),clickHandler:function(n){null==n||n.preventDefault(),T?T({name:e}):Y({name:e})}}):U.default.createElement(s.Tag,{isInverted:j,onClick:function(n){null==n||n.preventDefault(),T?T({name:e},!1):Y({name:e})},isActive:-1!==M.indexOf(e)},e))}))),U.default.createElement(Be,null,$.map((function(n,t){var a;return U.default.createElement(Oe,{key:"".concat(t,"_news_").concat(n.title)},U.default.createElement(oe,e.__assign({hasBg:B||j,ref:K[t]},n,{tags:null===(a=n.tags)||void 0===a?void 0:a.map((function(e){return{name:e.name}})),isInverted:j,onTagClick:function(e){G(0),T?T({name:e.name},!0):Y({name:e.name},!1)},customTag:I})))}))),U.default.createElement("div",{ref:V}),!H&&U.default.createElement(Me,null,d&&d.length>0&&U.default.createElement(l.Copy,{type:"copy",size:"medium",isInverted:j},U.default.createElement(Se,{itemCount:d.length,onClick:function(e){e.preventDefault(),F<Math.ceil(Z.length/A)&&P((function(e){return e+1}))}},F<Z.length/A&&U.default.createElement(w.Pointer.View,{as:"button",isInverted:j},U.default.createElement(w.Pointer.Label,null,g||"mehr anzeigen")))))))})),We=o.withLibTheme((function(t){var l=t.anchorId,r=t.news,d=t.bgMode,s=t.customTag,c=o.useLibTheme(),m=c.colors,p=c.theme,h=(null==r?void 0:r.length)||0,x="inverted"===d,w="full"===d,v=u.useMediaQuery(["small","semilarge"]),b=n.useState(2),_=b[0],y=b[1],k=n.useState(1),T=k[0],I=k[1],C=f.useEqualSheetHeight({listLength:Math.min(T*_,h),identifiers:['[data-sheet="head"]','[data-sheet="title"]','[data-sheet="text"]'],responsive:{small:1,medium:1,semilarge:2,large:2,xlarge:2}}).sheetRefs;return n.useEffect((function(){switch(v){case"semilarge":y(2);break;case"small":y(1),T<3&&I(3);break;default:y(1)}}),[v,T]),U.default.createElement(a.Section,{addSeperation:!0,anchorId:l,bgColor:x?m.sectionBg.dark:w?m.sectionBg.medium:m.sectionBg.light,bgMode:a.mapToBgMode(d,!0)},U.default.createElement(i.Wrapper,{addWhitespace:!0,clampWidth:"small"},U.default.createElement(g.Grid.Row,null,null==r?void 0:r.filter((function(e,n){return n<T*_})).map((function(n,t){var a;return U.default.createElement(g.Grid.Col,{medium:{span:.5},key:"".concat(t,"_news_").concat(n.title)},U.default.createElement(oe,e.__assign({key:t,ref:C[t]},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=Le(n.link.href,p,[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,customTag:s})))})))))})),ze=V.default(d.Image).withConfig({displayName:"NewsImages__StyledImage",componentId:"sc-1l72vc0-0"})(ge||(ge=e.__makeTemplateObject(["\n width: 100%;\n border-radius: ",";\n overflow: hidden;\n\n picture > img {\n width: 100%;\n height: 100%;\n }\n"],["\n width: 100%;\n border-radius: ",";\n overflow: hidden;\n\n picture > img {\n width: 100%;\n height: 100%;\n }\n"])),(function(e){var n=e.theme;return r.getGlobals(n).sections.edgeRadius})),Fe=o.withLibTheme((function(n){var t,l=n.anchorId,r=n.images,d=n.bgMode,s=o.useLibTheme().colors,c="inverted"===d,m="full"===d;return U.default.createElement(a.Section,{addSeperation:!0,anchorId:l,bgColor:c?s.sectionBg.dark:m?s.sectionBg.medium:s.sectionBg.light,bgMode:a.mapToBgMode(d,!0)},U.default.createElement(i.Wrapper,{clampWidth:"small",addWhitespace:!0},U.default.createElement(g.Grid.Row,null,null===(t=null==r?void 0:r.filter((function(e){return e.small})))||void 0===t?void 0:t.map((function(n,t){return U.default.createElement(g.Grid.Col,{key:t,semilarge:{span:n.isFull?1:.5}},U.default.createElement(ze,e.__assign({},n,{coverSpace:!0,isInverted:c})))})))))})),Pe=V.default.div.withConfig({displayName:"NewsIntro__Content",componentId:"sc-zz6rn6-0"})(he||(he=e.__makeTemplateObject(["\n & > * + * {\n margin-top: ","px;\n }\n"],["\n & > * + * {\n margin-top: ","px;\n }\n"])),3*r.spacings.nudge),Re=V.default(l.Copy).withConfig({displayName:"NewsIntro__IntroHead",componentId:"sc-zz6rn6-1"})(xe||(xe=e.__makeTemplateObject(["\n display: flex;\n\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-between;\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-top: 0;\n margin-left: ","px;\n }\n }\n"],["\n display: flex;\n\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-between;\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-top: 0;\n margin-left: ","px;\n }\n }\n"])),2*r.spacings.nudge,r.mq.medium,2*r.spacings.nudge),Ue=V.default.div.withConfig({displayName:"NewsIntro__Tags",componentId:"sc-zz6rn6-2"})(we||(we=e.__makeTemplateObject(["\n flex: 1 1 80%;\n\n display: flex;\n flex-wrap: wrap;\n margin-top: -","px;\n margin-left: -","px;\n"],["\n flex: 1 1 80%;\n\n display: flex;\n flex-wrap: wrap;\n margin-top: -","px;\n margin-left: -","px;\n"])),r.spacings.nudge,r.spacings.nudge),Ve=V.default.span.withConfig({displayName:"NewsIntro__TagWrapper",componentId:"sc-zz6rn6-3"})(ve||(ve=e.__makeTemplateObject(["\n display: inline-block;\n padding-top: ","px;\n padding-left: ","px;\n"],["\n display: inline-block;\n padding-top: ","px;\n padding-left: ","px;\n"])),r.spacings.nudge,r.spacings.nudge),He=V.default.div.withConfig({displayName:"NewsIntro__MetaBlock",componentId:"sc-zz6rn6-4"})(be||(be=e.__makeTemplateObject(["\n flex: 1 0 auto;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-end;\n align-items: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n flex: 1 0 auto;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-end;\n align-items: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n & > * + * {\n margin-left: ","px;\n }\n"])),3*r.spacings.nudge),De=V.default(k.Title).withConfig({displayName:"NewsIntro__StyledTitle",componentId:"sc-zz6rn6-5"})(_e||(_e=e.__makeTemplateObject(["\n max-width: ",";\n"],["\n max-width: ",";\n"])),(function(e){return e.clampTitle&&13/28*r.spacings.wrapperSmall+"px"})),Ge=V.default(l.Copy).withConfig({displayName:"NewsIntro__ContentBlock",componentId:"sc-zz6rn6-6"})(ye||(ye=e.__makeTemplateObject(["\n display: block;\n margin: ",";\n max-width: ",";\n\n :not(:first-child) {\n padding-top: ","px;\n }\n"],["\n display: block;\n margin: ",";\n max-width: ",";\n\n :not(:first-child) {\n padding-top: ","px;\n }\n"])),(function(e){return e.isCentered&&"0 auto"}),(function(e){return e.clampText&&19/28*r.spacings.wrapper+"px"}),r.spacings.spacer),Qe=o.withLibTheme((function(n){var t=n.anchorId,l=n.tags,r=n.meta,m=n.title,p=n.text,u=n.image,f=n.bgMode,g=n.customTag,h=o.useLibTheme(),x=h.globals,w=h.colors,v=h.theme,b="inverted"===f,_="full"===f,y="";(null==r?void 0:r.date)&&(y=new c.StatusFormatter(r.date.getTime(),"",x.sections.newsDateFormat(r.date),x.sections.newsTimeFormat(r.date),x.sections.newsLocaleKey).getFormattedDate());return U.default.createElement(a.Section,{addSeperation:!0,anchorId:t,bgColor:b?w.sectionBg.dark:_?w.sectionBg.medium:w.sectionBg.light,bgMode:a.mapToBgMode(f,!0)},U.default.createElement(i.Wrapper,{clampWidth:"small",addWhitespace:!0},U.default.createElement(Pe,null,U.default.createElement(Re,{isInverted:b},U.default.createElement(Ue,null,null==l?void 0:l.map((function(n,t){var a,i=void 0;return n.name&&(null===(a=n.link)||void 0===a?void 0:a.href)&&(i=e.__assign(e.__assign({},n.link),{href:Le(n.link.href,v,[n.name])})),U.default.createElement(Ve,{key:"headtag-".concat(t)},g?g({key:"headtag-".concat(t),name:n.name||"",isInverted:b,isActive:!1,link:i}):U.default.createElement(s.Tag,{link:i,isInverted:b},n.name))}))),(y||(null==r?void 0:r.author))&&U.default.createElement(He,null,(null==r?void 0:r.author)&&U.default.createElement("div",null,null==r?void 0:r.author),y&&U.default.createElement("div",null,y))),U.default.createElement("div",null,U.default.createElement(De,{colorMode:b?"inverted":"default",title:m}),p&&U.default.createElement(Ge,{isInverted:b,type:"copy-b",innerHTML:p})),(null==u?void 0:u.small)&&U.default.createElement(d.Image,e.__assign({},u,{coverSpace:!0,allowEdgeRadius:!0,isInverted:b})))))})),Ke=V.default.ul.withConfig({displayName:"NewsList__News",componentId:"sc-sew5jz-0"})(ke||(ke=e.__makeTemplateObject(["\n list-style: none;\n margin: 0;\n margin-top: -","px;\n margin-left: -","px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n"],["\n list-style: none;\n margin: 0;\n margin-top: -","px;\n margin-left: -","px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n"])),6*r.spacings.nudge,r.spacings.spacer),Je=V.default.li.withConfig({displayName:"NewsList__NewsItem",componentId:"sc-sew5jz-1"})(Te||(Te=e.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n flex: 1 0 100%;\n max-width: 100%;\n\n @media "," {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media "," {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\n"],["\n padding-top: ","px;\n padding-left: ","px;\n flex: 1 0 100%;\n max-width: 100%;\n\n @media "," {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media "," {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\n"])),6*r.spacings.nudge,r.spacings.spacer,r.mq.medium,r.mq.large),Xe=o.withLibTheme((function(t){var l=t.anchorId,r=t.mode,d=void 0===r?"short":r,s=t.news,c=t.bgMode,m=t.customTag,p=o.useLibTheme(),u=p.colors,g=p.theme,h=n.useMemo((function(){return s?"expanded"===d?s.slice(0,6):s.slice(0,3):[]}),[s,d]),x="inverted"===c,w="full"===c,v=f.useEqualSheetHeight({listLength:h.length,identifiers:['[data-sheet="head"]','[data-sheet="title"]','[data-sheet="text"]'],responsive:{small:1,medium:2,semilarge:2,large:3,xlarge:3}}).sheetRefs;return U.default.createElement(a.Section,{addSeperation:!0,anchorId:l,bgColor:x?u.sectionBg.dark:w?u.sectionBg.medium:u.sectionBg.light,bgMode:a.mapToBgMode(c,!0)},U.default.createElement(i.Wrapper,{addWhitespace:!0},U.default.createElement(Ke,null,null==h?void 0:h.map((function(n,t){var a;return U.default.createElement(Je,{key:t},U.default.createElement(oe,e.__assign({key:t,ref:v[t]},n,{isInverted:x,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=Le(n.link.href,g,[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}})),customTag:m})))})))))})),Ye=V.default(a.Section).withConfig({displayName:"NewsTable__NewsTableSection",componentId:"sc-ph099f-0"})(Ie||(Ie=e.__makeTemplateObject(["\n overflow: unset;\n"],["\n overflow: unset;\n"]))),Ze=V.default(i.Wrapper).withConfig({displayName:"NewsTable__TableWrapper",componentId:"sc-ph099f-1"})(Ce||(Ce=e.__makeTemplateObject(["\n & > * + * {\n margin-top: ","px;\n }\n"],["\n & > * + * {\n margin-top: ","px;\n }\n"])),r.spacings.spacer),$e=o.withLibTheme((function(n){var t=n.anchorId,i=n.bgMode,l=n.tableItems,r=o.useLibTheme().colors,d="inverted"===i,s="full"===i||d;return U.default.createElement(Ye,{addSeperation:!0,anchorId:t,bgColor:d?r.sectionBg.dark:s?r.sectionBg.medium:r.sectionBg.light,bgMode:a.mapToBgMode(i,!0)},U.default.createElement(Ze,{clampWidth:"small"},l.map((function(n,t){return U.default.createElement(k.TableBlock,e.__assign({},n,{key:t,hasBack:s,isInverted:d}))}))))})),en=V.default(l.Copy).withConfig({displayName:"NewsText__ContentBlock",componentId:"sc-2vavtq-0"})(Ne||(Ne=e.__makeTemplateObject(["\n display: block;\n margin: ",";\n max-width: ",";\n\n :not(:first-child) {\n padding-top: ","px;\n }\n"],["\n display: block;\n margin: ",";\n max-width: ",";\n\n :not(:first-child) {\n padding-top: ","px;\n }\n"])),(function(e){return e.isCentered&&"0 auto"}),(function(e){return e.clampText&&19/28*r.spacings.wrapperSmall+"px"}),5*r.spacings.nudge),nn=o.withLibTheme((function(e){var n=e.anchorId,t=e.text,l=e.bgMode,r=o.useLibTheme().colors,d="inverted"===l,s="full"===l;return U.default.createElement(a.Section,{addSeperation:!0,anchorId:n,bgColor:d?r.sectionBg.dark:s?r.sectionBg.medium:r.sectionBg.light,bgMode:a.mapToBgMode(l,!0)},U.default.createElement(i.Wrapper,{clampWidth:"small",addWhitespace:!0},t&&U.default.createElement(en,{isInverted:d,type:"copy",innerHTML:t})))})),tn=o.withLibTheme((function(e){var n=e.anchorId,t=e.bgImage,l=e.embedId,r=e.playIcon,d=e.consentText,s=e.consentAction,c=e.bgMode,m=o.useLibTheme().colors,p="inverted"===c,u="full"===c;return U.default.createElement(a.Section,{addSeperation:!0,anchorId:n,bgColor:p?m.sectionBg.dark:u?m.sectionBg.medium:m.sectionBg.light,bgMode:a.mapToBgMode(c,!0)},U.default.createElement(i.Wrapper,{addWhitespace:!0,clampWidth:"small"},l&&t&&U.default.createElement(T.VideoCard,{bgImage:t,embedId:l,playIcon:r,consentText:d,consentAction:s})))}));exports.NewsAuthorCard=J,exports.NewsFooter=We,exports.NewsImages=Fe,exports.NewsIntro=Qe,exports.NewsList=Xe,exports.NewsOverview=Ae,exports.NewsTable=$e,exports.NewsText=nn,exports.NewsVideo=tn;
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"),l=require("./Copy-ea6ab025.js"),r=require("./styles-3a495a2d.js"),o=require("./LibThemeProvider-4823de57.js"),d=require("./Image-c72f7a80.js"),s=require("./Tag-9238cf0c.js"),c=require("./statusFormatter-0393122b.js"),m=require("./Link-5a6f1633.js"),p=require("./arrays-c272ed59.js"),u=require("./useMediaQuery-3d1054e5.js"),f=require("./useEqualSheetHeight-501f4c5f.js"),g=require("./Grid-6f4f99bc.js"),h=require("./useObserverSupport-5ab320dd.js"),x=require("./useScrollTo-fdd665da.js"),w=require("./Pointer-fde7b548.js"),v=require("./urlParams-7525f638.js"),b=require("./Filter-d6d90b8b.js"),_=require("./useUpdateEffect-4d233e2c.js"),y=require("./useMounted-0bba9869.js"),k=require("./TableBlock-f2c59d9b.js"),T=require("./VideoCard-f6c436ca.js");function I(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("./concat-f387d848.js"),require("./clamp-bd21d587.js"),require("react-dom/server"),require("./useCookieConsent-aa9f1104.js"),require("./ButtonGhost-628bbd60.js"),require("./hexRgbConverter-91b28aea.js");var C,N,E,j,B,O,M,S,q,L,A,W,z,F,P,R,U=I(n),V=I(t),H=V.default.div.withConfig({displayName:"NewsAuthorCard__Seperator",componentId:"sc-17dx8qw-0"})(C||(C=e.__makeTemplateObject(["\n border-bottom: solid 1px\n ",";\n\n margin-top: ","px;\n margin-bottom: ","px;\n"],["\n border-bottom: solid 1px\n ",";\n\n margin-top: ","px;\n margin-bottom: ","px;\n"])),(function(e){var n=e.isInverted,t=e.theme;return n?r.getColors(t).elementBg.light:r.getColors(t).elementBg.dark}),(function(e){return!e.isTop&&r.spacings.spacer}),(function(e){return e.isTop&&r.spacings.spacer})),D=V.default.div.withConfig({displayName:"NewsAuthorCard__AuthorContainer",componentId:"sc-17dx8qw-1"})(N||(N=e.__makeTemplateObject(["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n flex-direction: row;\n justify-content: flex-start;\n text-align: left;\n\n & > * + * {\n margin-top: 0;\n margin-left: ","px;\n }\n }\n"],["\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n flex-direction: row;\n justify-content: flex-start;\n text-align: left;\n\n & > * + * {\n margin-top: 0;\n margin-left: ","px;\n }\n }\n"])),r.spacings.spacer,r.mq.medium,r.spacings.spacer),G=V.default.img.withConfig({displayName:"NewsAuthorCard__Avatar",componentId:"sc-17dx8qw-2"})(E||(E=e.__makeTemplateObject(["\n border-radius: 50%; ;\n"],["\n border-radius: 50%; ;\n"]))),Q=V.default.div.withConfig({displayName:"NewsAuthorCard__Author",componentId:"sc-17dx8qw-3"})(j||(j=e.__makeTemplateObject([""],[""]))),K=V.default(l.Copy).withConfig({displayName:"NewsAuthorCard__StyledCopy",componentId:"sc-17dx8qw-4"})(B||(B=e.__makeTemplateObject(["\n text-transform: uppercase;\n margin-bottom: ","px;\n"],["\n text-transform: uppercase;\n margin-bottom: ","px;\n"])),3*r.spacings.nudge),J=o.withLibTheme((function(e){var n=e.label,t=e.author,r=e.avatar,d=e.bgMode,s=o.useLibTheme().colors,c="inverted"===d,m="full"===d;return U.default.createElement(a.Section,{addSeperation:!0,bgColor:c?s.sectionBg.dark:m?s.sectionBg.medium:s.sectionBg.light,bgMode:a.mapToBgMode(d,!0)},U.default.createElement(i.Wrapper,{clampWidth:"small",addWhitespace:!0},t&&U.default.createElement(U.default.Fragment,null,U.default.createElement(H,{isTop:!0,isInverted:c}),U.default.createElement(D,null,r&&U.default.createElement(G,{src:r.src,alt:r.alt}),U.default.createElement(Q,null,t&&U.default.createElement(K,{isInverted:c,type:"copy-b"},n||"Written By"),U.default.createElement(l.Heading,{isInverted:c,size:"heading-2"},t)))),U.default.createElement(H,{isInverted:c})))})),X=V.default.div.withConfig({displayName:"NewsCard__View",componentId:"sc-ahox9b-0"})(O||(O=e.__makeTemplateObject(["\n position: relative;\n text-decoration: none;\n margin: 0;\n padding: 0;\n"],["\n position: relative;\n text-decoration: none;\n margin: 0;\n padding: 0;\n"]))),Y=V.default(m.Link).withConfig({displayName:"NewsCard__ImageLink",componentId:"sc-ahox9b-1"})(M||(M=e.__makeTemplateObject(["\n display: block;\n width: 100%;\n"],["\n display: block;\n width: 100%;\n"]))),Z=V.default(d.Image).withConfig({displayName:"NewsCard__StyledImage",componentId:"sc-ahox9b-2"})(S||(S=e.__makeTemplateObject(["\n overflow: hidden;\n border-radius: ",";\n"],["\n overflow: hidden;\n border-radius: ",";\n"])),(function(e){var n=e.theme;return r.getGlobals(n).sections.edgeRadius})),$=V.default.div.withConfig({displayName:"NewsCard__BorderPlaceholder",componentId:"sc-ahox9b-3"})(q||(q=e.__makeTemplateObject(["\n border-top: 1px solid\n ",";\n"],["\n border-top: 1px solid\n ",";\n"])),(function(e){var n=e.theme;return e.hasBg?r.getColors(n).elementBg.light:r.getColors(n).elementBg.medium})),ee=V.default(m.Link).withConfig({displayName:"NewsCard__TitleLink",componentId:"sc-ahox9b-4"})(L||(L=e.__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"])),l.copyStyle("copy-b","big"),(function(e){var n=e.theme;return e.isInverted?r.getFonts(n)["copy-b"].big.colorInverted:r.getFonts(n)["copy-b"].big.color})),ne=V.default.div.withConfig({displayName:"NewsCard__Head",componentId:"sc-ahox9b-5"})(A||(A=e.__makeTemplateObject(["\n display: flex;\n\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n &:not(:last-child) {\n margin-bottom: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &:not(:first-child) {\n margin-top: ","px;\n }\n\n &:not(:last-child) {\n margin-bottom: ","px;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"])),3*r.spacings.nudge,3*r.spacings.nudge,3*r.spacings.nudge),te=V.default.div.withConfig({displayName:"NewsCard__Tags",componentId:"sc-ahox9b-6"})(W||(W=e.__makeTemplateObject(["\n display: flex;\n overflow: scroll;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n display: flex;\n overflow: scroll;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n }\n\n & > * + * {\n margin-left: ","px;\n }\n"])),r.spacings.nudge),ae=V.default(l.Copy).withConfig({displayName:"NewsCard__PublishDate",componentId:"sc-ahox9b-7"})(z||(z=e.__makeTemplateObject(["\n &:only-child {\n margin-left: auto;\n }\n"],["\n &:only-child {\n margin-left: auto;\n }\n"]))),ie=V.default.div.withConfig({displayName:"NewsCard__Main",componentId:"sc-ahox9b-8"})(F||(F=e.__makeTemplateObject(["\n max-width: 95%;\n\n & > * + * {\n margin-top: ","px;\n }\n"],["\n max-width: 95%;\n\n & > * + * {\n margin-top: ","px;\n }\n"])),3*r.spacings.nudge),le=V.default(l.Copy).withConfig({displayName:"NewsCard__Text",componentId:"sc-ahox9b-9"})(P||(P=e.__makeTemplateObject(["\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 6; /* number of lines to show */\n line-clamp: 6;\n -webkit-box-orient: vertical;\n\n & > * {\n margin: 0 !important;\n }\n\n & > p:not(:first-of-type) {\n display: none;\n }\n\n & > ul,\n & > ol,\n & > table {\n display: none;\n }\n"],["\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 6; /* number of lines to show */\n line-clamp: 6;\n -webkit-box-orient: vertical;\n\n & > * {\n margin: 0 !important;\n }\n\n & > p:not(:first-of-type) {\n display: none;\n }\n\n & > ul,\n & > ol,\n & > table {\n display: none;\n }\n"]))),re=V.default.div.withConfig({displayName:"NewsCard__Action",componentId:"sc-ahox9b-10"})(R||(R=e.__makeTemplateObject(["\n margin-top: ","px;\n"],["\n margin-top: ","px;\n"])),3*r.spacings.nudge),oe=n.forwardRef((function(t,a){var i=t.tags,l=t.onTagClick,r=t.publishDate,d=t.title,m=t.text,u=t.image,f=t.link,g=t.isInverted,h=t.action,x=t.customTag,w=t.className,v=t.hasBg,b=o.useLibTheme().globals,_="";r&&(_=new c.StatusFormatter(r.getTime(),"",b.sections.newsDateFormat(r),b.sections.newsTimeFormat(r),b.sections.newsLocaleKey).getFormattedDate());var y=function(e){return l?function(n){null==n||n.preventDefault(),l(e)}:void 0},k=n.useMemo((function(){return null==i?void 0:i.filter((function(e){return e.name}))}),[i]);return U.default.createElement(X,{ref:a,className:w},(null==u?void 0:u.small)?U.default.createElement(Y,e.__assign({},f,{ariaLabel:d}),U.default.createElement(Z,e.__assign({},u,{coverSpace:!0,isInverted:g}))):U.default.createElement($,{hasBg:v}),U.default.createElement(ne,{"data-sheet":"head"},p.isValidArray(k,!1)&&U.default.createElement(te,null,k.map((function(e,n){return x?x({key:n,name:e.name||"",isInverted:g,isActive:!1,link:e.link,clickHandler:y(e)}):U.default.createElement(s.Tag,{key:n,isInverted:g,name:e.name,link:e.link,onClick:y(e)})}))),_&&U.default.createElement(ae,{size:"small",renderAs:"div",isInverted:g},_)),U.default.createElement(ie,null,d&&U.default.createElement(ee,e.__assign({},f,{ariaLabel:d,isInverted:g,dataSheet:"title"}),d),m&&U.default.createElement(le,{isInverted:g,type:"copy",innerHTML:m,"data-sheet":"text",size:"medium"})),h&&U.default.createElement(re,null,h(g)))}));oe.displayName="NewsCard";var de,se,ce,me,pe,ue,fe,ge,he,xe,we,ve,be,_e,ye,ke,Te,Ie,Ce,Ne,Ee=V.default.div.withConfig({displayName:"NewsOverview__TagContainer",componentId:"sc-5r2c7-0"})(de||(de=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"])),r.spacings.nudge,r.spacings.nudge,6*r.spacings.nudge),je=V.default.div.withConfig({displayName:"NewsOverview__TagWrapper",componentId:"sc-5r2c7-1"})(se||(se=e.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n"],["\n padding-top: ","px;\n padding-left: ","px;\n"])),r.spacings.nudge,r.spacings.nudge),Be=V.default.ul.withConfig({displayName:"NewsOverview__News",componentId:"sc-5r2c7-2"})(ce||(ce=e.__makeTemplateObject(["\n list-style: none;\n margin: 0;\n margin-top: -","px;\n margin-left: -","px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n"],["\n list-style: none;\n margin: 0;\n margin-top: -","px;\n margin-left: -","px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n"])),6*r.spacings.nudge,r.spacings.spacer),Oe=V.default.li.withConfig({displayName:"NewsOverview__NewsItem",componentId:"sc-5r2c7-3"})(me||(me=e.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n flex: 1 0 100%;\n\n @media "," {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media "," {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\n"],["\n padding-top: ","px;\n padding-left: ","px;\n flex: 1 0 100%;\n\n @media "," {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media "," {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\n"])),6*r.spacings.nudge,r.spacings.spacer,r.mq.medium,r.mq.large),Me=V.default.div.withConfig({displayName:"NewsOverview__ListFooter",componentId:"sc-5r2c7-4"})(pe||(pe=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*r.spacings.nudge,r.mq.medium),Se=V.default.span.withConfig({displayName:"NewsOverview__ShowMore",componentId:"sc-5r2c7-5"})(ue||(ue=e.__makeTemplateObject(["\n display: ",";\n"],["\n display: ",";\n"])),(function(e){var n=e.itemCount;return n&&n>2?"block":"none"})),qe=V.default(l.Copy).withConfig({displayName:"NewsOverview__FilterIcon",componentId:"sc-5r2c7-6"})(fe||(fe=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"])),r.spacings.nudge/2,r.spacings.nudge,r.spacings.nudge),Le=function(e,n,t){if(void 0===t&&(t=[]),!e)return"";if(!p.isValidArray(t,!1))return e;var a=n.globals.sections.newsFilterName;if(!a)return e;try{var i=new URL(e),l=new URLSearchParams(i.search);return l.set(a,encodeURIComponent(t.join(","))),"".concat(e,"?").concat(l.toString())}catch(n){return"".concat(e,"?").concat(a,"=").concat(encodeURIComponent(t.join(",")))}},Ae=o.withLibTheme((function(t){var r=t.anchorId,d=t.news,c=t.tags,m=t.initial,g=t.showMoreText,k=t.bgMode,T=t.onTagClick,I=t.customTag,C=o.useLibTheme(),N=C.colors,E=C.globals.sections.newsFilterName,j="inverted"===k,B="full"===k,O=n.useState((null==m?void 0:m.activeTags)||[]),M=O[0],S=O[1],q=u.useMediaQuery(["small","semilarge","large"]),L=n.useState(3),A=L[0],W=L[1],z=n.useState((null==m?void 0:m.visibleRows)||3),F=z[0],P=z[1],R=y.useMounted(),V=n.useRef(null),H=h.useObserverSupport(),D=(null==d?void 0:d.length)||0,G=x.useScrollTo(800),Q=f.useEqualSheetHeight({listLength:Math.min(F*A,D),identifiers:['[data-sheet="head"]','[data-sheet="title"]','[data-sheet="text"]'],responsive:{small:1,medium:1,semilarge:2,large:3,xlarge:3}}),K=Q.sheetRefs,J=Q.triggerCalculation,X=n.useCallback((function(){var e=[],n=v.getUrlParams()[E];if(n){var t=null==n?void 0:n.split(",");p.isValidArray(t,!1)&&e.push.apply(e,t)}return e}),[E]);n.useEffect((function(){if(!m){var e=X(),n=parseInt(v.getUrlParams().rows);P(n||3),p.isValidArray(e,!1)&&S(e),J()}}),[X,m]),n.useEffect((function(){var e;m&&!R&&(v.setUrlParam("rows",(null==m?void 0:m.visibleRows)||3),p.isValidArray(null==m?void 0:m.activeTags,!1)?v.setUrlParam(E,null===(e=null==m?void 0:m.activeTags)||void 0===e?void 0:e.join(",")):v.deleteUrlParam(E))}),[E,m,R]),_.useUpdateEffect((function(){v.setUrlParam("rows",F)}),[F]),_.useUpdateEffect((function(){!T&&p.isValidArray(M)&&(M.length>0?v.setUrlParam(E,M.join(",")):v.deleteUrlParam(E))}),[M]),n.useEffect((function(){switch(q){case"large":W(3);break;case"semilarge":W(2);break;case"small":W(1),F<3&&P(3);break;default:W(1)}}),[q,F]);var Y=function(n,t){void 0===t&&(t=!0),S((function(a){var i=e.__spreadArray([],a,!0),l=n.name?a.indexOf(n.name):-1;return-1===l&&n.name?e.__spreadArray(e.__spreadArray([],i,!0),[n.name],!1):t?(i.splice(l,1),i):a})),J(),P(3)},Z=n.useMemo((function(){var n=p.isValidArray(d)?e.__spreadArray([],d,!0):[];return n=null==n?void 0:n.filter((function(e){if(!p.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}))}),[d,M]),$=n.useMemo((function(){return(null==Z?void 0:Z.filter((function(e,n){return n<F*A})))||[]}),[Z,A,F]);n.useEffect((function(){if(H){var e,n=V.current;if(n){(e=new IntersectionObserver((function(e){var n=e[0];(null==n?void 0:n.isIntersecting)&&F<Math.ceil(Z.length/A)&&P((function(e){return e+1}))}),{rootMargin:"0px 0px 100px 0px",threshold:0})).observe(n)}return function(){e&&e.disconnect()}}}),[A,D,F,H,Z.length]);var ee=n.useMemo((function(){return null==c?void 0:c.filter((function(e){return e}))}),[c]);return U.default.createElement(a.Section,{addSeperation:!0,anchorId:r,bgColor:j?N.sectionBg.dark:B?N.sectionBg.medium:N.sectionBg.light,bgMode:a.mapToBgMode(k,!0)},U.default.createElement(i.Wrapper,{addWhitespace:!0},p.isValidArray(ee,!1)&&U.default.createElement(Ee,null,U.default.createElement(qe,{size:"small",type:"copy",isInverted:j},U.default.createElement(b.Filter,null),U.default.createElement("span",null,"Filter")),ee.map((function(e,n){return U.default.createElement(je,{key:n},I?I({key:n,name:e,isInverted:j,isActive:-1!==M.indexOf(e),clickHandler:function(n){null==n||n.preventDefault(),T?T({name:e}):Y({name:e})}}):U.default.createElement(s.Tag,{isInverted:j,onClick:function(n){null==n||n.preventDefault(),T?T({name:e},!1):Y({name:e})},isActive:-1!==M.indexOf(e)},e))}))),U.default.createElement(Be,null,$.map((function(n,t){var a;return U.default.createElement(Oe,{key:"".concat(t,"_news_").concat(n.title)},U.default.createElement(oe,e.__assign({hasBg:B||j,ref:K[t]},n,{tags:null===(a=n.tags)||void 0===a?void 0:a.map((function(e){return{name:e.name}})),isInverted:j,onTagClick:function(e){G(0),T?T({name:e.name},!0):Y({name:e.name},!1)},customTag:I})))}))),U.default.createElement("div",{ref:V}),!H&&U.default.createElement(Me,null,d&&d.length>0&&U.default.createElement(l.Copy,{type:"copy",size:"medium",isInverted:j},U.default.createElement(Se,{itemCount:d.length,onClick:function(e){e.preventDefault(),F<Math.ceil(Z.length/A)&&P((function(e){return e+1}))}},F<Z.length/A&&U.default.createElement(w.Pointer.View,{as:"button",isInverted:j},U.default.createElement(w.Pointer.Label,null,g||"mehr anzeigen")))))))})),We=o.withLibTheme((function(t){var l=t.anchorId,r=t.news,d=t.bgMode,s=t.customTag,c=o.useLibTheme(),m=c.colors,p=c.theme,h=(null==r?void 0:r.length)||0,x="inverted"===d,w="full"===d,v=u.useMediaQuery(["small","semilarge"]),b=n.useState(2),_=b[0],y=b[1],k=n.useState(1),T=k[0],I=k[1],C=f.useEqualSheetHeight({listLength:Math.min(T*_,h),identifiers:['[data-sheet="head"]','[data-sheet="title"]','[data-sheet="text"]'],responsive:{small:1,medium:1,semilarge:2,large:2,xlarge:2}}).sheetRefs;return n.useEffect((function(){switch(v){case"semilarge":y(2);break;case"small":y(1),T<3&&I(3);break;default:y(1)}}),[v,T]),U.default.createElement(a.Section,{addSeperation:!0,anchorId:l,bgColor:x?m.sectionBg.dark:w?m.sectionBg.medium:m.sectionBg.light,bgMode:a.mapToBgMode(d,!0)},U.default.createElement(i.Wrapper,{addWhitespace:!0,clampWidth:"small"},U.default.createElement(g.Grid.Row,null,null==r?void 0:r.filter((function(e,n){return n<T*_})).map((function(n,t){var a;return U.default.createElement(g.Grid.Col,{medium:{span:.5},key:"".concat(t,"_news_").concat(n.title)},U.default.createElement(oe,e.__assign({key:t,ref:C[t]},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=Le(n.link.href,p,[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,customTag:s})))})))))})),ze=V.default(d.Image).withConfig({displayName:"NewsImages__StyledImage",componentId:"sc-1l72vc0-0"})(ge||(ge=e.__makeTemplateObject(["\n width: 100%;\n border-radius: ",";\n overflow: hidden;\n\n picture > img {\n width: 100%;\n height: 100%;\n }\n"],["\n width: 100%;\n border-radius: ",";\n overflow: hidden;\n\n picture > img {\n width: 100%;\n height: 100%;\n }\n"])),(function(e){var n=e.theme;return r.getGlobals(n).sections.edgeRadius})),Fe=o.withLibTheme((function(n){var t,l=n.anchorId,r=n.images,d=n.bgMode,s=o.useLibTheme().colors,c="inverted"===d,m="full"===d;return U.default.createElement(a.Section,{addSeperation:!0,anchorId:l,bgColor:c?s.sectionBg.dark:m?s.sectionBg.medium:s.sectionBg.light,bgMode:a.mapToBgMode(d,!0)},U.default.createElement(i.Wrapper,{clampWidth:"small",addWhitespace:!0},U.default.createElement(g.Grid.Row,null,null===(t=null==r?void 0:r.filter((function(e){return e.small})))||void 0===t?void 0:t.map((function(n,t){return U.default.createElement(g.Grid.Col,{key:t,semilarge:{span:n.isFull?1:.5}},U.default.createElement(ze,e.__assign({},n,{coverSpace:!0,isInverted:c})))})))))})),Pe=V.default.div.withConfig({displayName:"NewsIntro__Content",componentId:"sc-zz6rn6-0"})(he||(he=e.__makeTemplateObject(["\n & > * + * {\n margin-top: ","px;\n }\n"],["\n & > * + * {\n margin-top: ","px;\n }\n"])),3*r.spacings.nudge),Re=V.default(l.Copy).withConfig({displayName:"NewsIntro__IntroHead",componentId:"sc-zz6rn6-1"})(xe||(xe=e.__makeTemplateObject(["\n display: flex;\n\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-between;\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-top: 0;\n margin-left: ","px;\n }\n }\n"],["\n display: flex;\n\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-between;\n\n & > * + * {\n margin-top: ","px;\n }\n\n @media "," {\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-top: 0;\n margin-left: ","px;\n }\n }\n"])),2*r.spacings.nudge,r.mq.medium,2*r.spacings.nudge),Ue=V.default.div.withConfig({displayName:"NewsIntro__Tags",componentId:"sc-zz6rn6-2"})(we||(we=e.__makeTemplateObject(["\n flex: 1 1 80%;\n\n display: flex;\n flex-wrap: wrap;\n margin-top: -","px;\n margin-left: -","px;\n"],["\n flex: 1 1 80%;\n\n display: flex;\n flex-wrap: wrap;\n margin-top: -","px;\n margin-left: -","px;\n"])),r.spacings.nudge,r.spacings.nudge),Ve=V.default.span.withConfig({displayName:"NewsIntro__TagWrapper",componentId:"sc-zz6rn6-3"})(ve||(ve=e.__makeTemplateObject(["\n display: inline-block;\n padding-top: ","px;\n padding-left: ","px;\n"],["\n display: inline-block;\n padding-top: ","px;\n padding-left: ","px;\n"])),r.spacings.nudge,r.spacings.nudge),He=V.default.div.withConfig({displayName:"NewsIntro__MetaBlock",componentId:"sc-zz6rn6-4"})(be||(be=e.__makeTemplateObject(["\n flex: 1 0 auto;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-end;\n align-items: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n & > * + * {\n margin-left: ","px;\n }\n"],["\n flex: 1 0 auto;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-end;\n align-items: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n & > * + * {\n margin-left: ","px;\n }\n"])),3*r.spacings.nudge),De=V.default(k.Title).withConfig({displayName:"NewsIntro__StyledTitle",componentId:"sc-zz6rn6-5"})(_e||(_e=e.__makeTemplateObject(["\n max-width: ",";\n"],["\n max-width: ",";\n"])),(function(e){return e.clampTitle&&13/28*r.spacings.wrapperSmall+"px"})),Ge=V.default(l.Copy).withConfig({displayName:"NewsIntro__ContentBlock",componentId:"sc-zz6rn6-6"})(ye||(ye=e.__makeTemplateObject(["\n display: block;\n margin: ",";\n max-width: ",";\n\n :not(:first-child) {\n padding-top: ","px;\n }\n"],["\n display: block;\n margin: ",";\n max-width: ",";\n\n :not(:first-child) {\n padding-top: ","px;\n }\n"])),(function(e){return e.isCentered&&"0 auto"}),(function(e){return e.clampText&&19/28*r.spacings.wrapper+"px"}),r.spacings.spacer),Qe=o.withLibTheme((function(n){var t=n.anchorId,l=n.tags,r=n.meta,m=n.title,p=n.text,u=n.image,f=n.bgMode,g=n.customTag,h=o.useLibTheme(),x=h.globals,w=h.colors,v=h.theme,b="inverted"===f,_="full"===f,y="";(null==r?void 0:r.date)&&(y=new c.StatusFormatter(r.date.getTime(),"",x.sections.newsDateFormat(r.date),x.sections.newsTimeFormat(r.date),x.sections.newsLocaleKey).getFormattedDate());return U.default.createElement(a.Section,{addSeperation:!0,anchorId:t,bgColor:b?w.sectionBg.dark:_?w.sectionBg.medium:w.sectionBg.light,bgMode:a.mapToBgMode(f,!0)},U.default.createElement(i.Wrapper,{clampWidth:"small",addWhitespace:!0},U.default.createElement(Pe,null,U.default.createElement(Re,{isInverted:b},U.default.createElement(Ue,null,null==l?void 0:l.map((function(n,t){var a,i=void 0;return n.name&&(null===(a=n.link)||void 0===a?void 0:a.href)&&(i=e.__assign(e.__assign({},n.link),{href:Le(n.link.href,v,[n.name])})),U.default.createElement(Ve,{key:"headtag-".concat(t)},g?g({key:"headtag-".concat(t),name:n.name||"",isInverted:b,isActive:!1,link:i}):U.default.createElement(s.Tag,{link:i,isInverted:b},n.name))}))),(y||(null==r?void 0:r.author))&&U.default.createElement(He,null,(null==r?void 0:r.author)&&U.default.createElement("div",null,null==r?void 0:r.author),y&&U.default.createElement("div",null,y))),U.default.createElement("div",null,U.default.createElement(De,{colorMode:b?"inverted":"default",title:m}),p&&U.default.createElement(Ge,{isInverted:b,type:"copy-b",innerHTML:p})),(null==u?void 0:u.small)&&U.default.createElement(d.Image,e.__assign({},u,{coverSpace:!0,allowEdgeRadius:!0,isInverted:b})))))})),Ke=V.default.ul.withConfig({displayName:"NewsList__News",componentId:"sc-sew5jz-0"})(ke||(ke=e.__makeTemplateObject(["\n list-style: none;\n margin: 0;\n margin-top: -","px;\n margin-left: -","px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n"],["\n list-style: none;\n margin: 0;\n margin-top: -","px;\n margin-left: -","px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n"])),6*r.spacings.nudge,r.spacings.spacer),Je=V.default.li.withConfig({displayName:"NewsList__NewsItem",componentId:"sc-sew5jz-1"})(Te||(Te=e.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n flex: 1 0 100%;\n max-width: 100%;\n\n @media "," {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media "," {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\n"],["\n padding-top: ","px;\n padding-left: ","px;\n flex: 1 0 100%;\n max-width: 100%;\n\n @media "," {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media "," {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\n"])),6*r.spacings.nudge,r.spacings.spacer,r.mq.medium,r.mq.large),Xe=o.withLibTheme((function(t){var l=t.anchorId,r=t.mode,d=void 0===r?"short":r,s=t.news,c=t.bgMode,m=t.customTag,p=o.useLibTheme(),u=p.colors,g=p.theme,h=n.useMemo((function(){return s?"expanded"===d?s.slice(0,6):s.slice(0,3):[]}),[s,d]),x="inverted"===c,w="full"===c,v=f.useEqualSheetHeight({listLength:h.length,identifiers:['[data-sheet="head"]','[data-sheet="title"]','[data-sheet="text"]'],responsive:{small:1,medium:2,semilarge:2,large:3,xlarge:3}}).sheetRefs;return U.default.createElement(a.Section,{addSeperation:!0,anchorId:l,bgColor:x?u.sectionBg.dark:w?u.sectionBg.medium:u.sectionBg.light,bgMode:a.mapToBgMode(c,!0)},U.default.createElement(i.Wrapper,{addWhitespace:!0},U.default.createElement(Ke,null,null==h?void 0:h.map((function(n,t){var a;return U.default.createElement(Je,{key:t},U.default.createElement(oe,e.__assign({key:t,ref:v[t]},n,{isInverted:x,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=Le(n.link.href,g,[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}})),customTag:m})))})))))})),Ye=V.default(a.Section).withConfig({displayName:"NewsTable__NewsTableSection",componentId:"sc-ph099f-0"})(Ie||(Ie=e.__makeTemplateObject(["\n overflow: unset;\n"],["\n overflow: unset;\n"]))),Ze=V.default(i.Wrapper).withConfig({displayName:"NewsTable__TableWrapper",componentId:"sc-ph099f-1"})(Ce||(Ce=e.__makeTemplateObject(["\n & > * + * {\n margin-top: ","px;\n }\n"],["\n & > * + * {\n margin-top: ","px;\n }\n"])),r.spacings.spacer),$e=o.withLibTheme((function(n){var t=n.anchorId,i=n.bgMode,l=n.tableItems,r=o.useLibTheme().colors,d="inverted"===i,s="full"===i||d;return U.default.createElement(Ye,{addSeperation:!0,anchorId:t,bgColor:d?r.sectionBg.dark:s?r.sectionBg.medium:r.sectionBg.light,bgMode:a.mapToBgMode(i,!0)},U.default.createElement(Ze,{clampWidth:"small"},l.map((function(n,t){return U.default.createElement(k.TableBlock,e.__assign({},n,{key:t,hasBack:s,isInverted:d}))}))))})),en=V.default(l.Copy).withConfig({displayName:"NewsText__ContentBlock",componentId:"sc-2vavtq-0"})(Ne||(Ne=e.__makeTemplateObject(["\n display: block;\n margin: ",";\n max-width: ",";\n\n :not(:first-child) {\n padding-top: ","px;\n }\n"],["\n display: block;\n margin: ",";\n max-width: ",";\n\n :not(:first-child) {\n padding-top: ","px;\n }\n"])),(function(e){return e.isCentered&&"0 auto"}),(function(e){return e.clampText&&19/28*r.spacings.wrapperSmall+"px"}),5*r.spacings.nudge),nn=o.withLibTheme((function(e){var n=e.anchorId,t=e.text,l=e.bgMode,r=o.useLibTheme().colors,d="inverted"===l,s="full"===l;return U.default.createElement(a.Section,{addSeperation:!0,anchorId:n,bgColor:d?r.sectionBg.dark:s?r.sectionBg.medium:r.sectionBg.light,bgMode:a.mapToBgMode(l,!0)},U.default.createElement(i.Wrapper,{clampWidth:"small",addWhitespace:!0},t&&U.default.createElement(en,{isInverted:d,type:"copy",innerHTML:t})))})),tn=o.withLibTheme((function(e){var n=e.anchorId,t=e.bgImage,l=e.embedId,r=e.playIcon,d=e.consentText,s=e.consentAction,c=e.onPlayClick,m=e.bgMode,p=o.useLibTheme().colors,u="inverted"===m,f="full"===m;return U.default.createElement(a.Section,{addSeperation:!0,anchorId:n,bgColor:u?p.sectionBg.dark:f?p.sectionBg.medium:p.sectionBg.light,bgMode:a.mapToBgMode(m,!0)},U.default.createElement(i.Wrapper,{addWhitespace:!0,clampWidth:"small"},l&&t&&U.default.createElement(T.VideoCard,{bgImage:t,embedId:l,playIcon:r,consentText:d,consentAction:s,onPlayClick:c})))}));exports.NewsAuthorCard=J,exports.NewsFooter=We,exports.NewsImages=Fe,exports.NewsIntro=Qe,exports.NewsList=Xe,exports.NewsOverview=Ae,exports.NewsTable=$e,exports.NewsText=nn,exports.NewsVideo=tn;
2
2
  //# sourceMappingURL=sections.news.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sections.news.js","sources":["../src/components/sections/news/NewsAuthorCard.tsx","../src/components/blocks/NewsCard.tsx","../src/components/sections/news/NewsOverview.tsx","../src/components/sections/news/NewsFooter.tsx","../src/components/sections/news/NewsImages.tsx","../src/components/sections/news/NewsIntro.tsx","../src/components/sections/news/NewsList.tsx","../src/components/sections/news/NewsTable.tsx","../src/components/sections/news/NewsText.tsx","../src/components/sections/news/NewsVideo.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst Seperator = styled.div<{ isInverted?: boolean; isTop?: boolean }>`\n border-bottom: solid 1px\n ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n\n margin-top: ${({ isTop }) => !isTop && spacings.spacer}px;\n margin-bottom: ${({ isTop }) => isTop && spacings.spacer}px;\n`;\n\nconst AuthorContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n flex-direction: row;\n justify-content: flex-start;\n text-align: left;\n\n & > * + * {\n margin-top: 0;\n margin-left: ${spacings.spacer}px;\n }\n }\n`;\n\nconst Avatar = styled.img`\n border-radius: 50%; ;\n`;\n\nconst Author = styled.div``;\n\nconst StyledCopy = styled(Copy)`\n text-transform: uppercase;\n margin-bottom: ${spacings.nudge * 3}px;\n`;\n\nconst NewsAuthorCard: React.FC<{\n /** Text above author name */\n label?: string;\n\n /** Article's author name */\n author?: string;\n\n /** Author avatar image */\n avatar?: { src: string; alt?: string };\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ label, author, avatar, bgMode }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\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 clampWidth=\"small\" addWhitespace>\n {author && (\n <React.Fragment>\n <Seperator isTop isInverted={isInverted} />\n <AuthorContainer>\n {avatar && (\n <Avatar src={avatar.src} alt={avatar.alt} />\n )}\n <Author>\n {author && (\n <StyledCopy\n isInverted={isInverted}\n type=\"copy-b\"\n >\n {label || 'Written By'}\n </StyledCopy>\n )}\n <Heading\n isInverted={isInverted}\n size=\"heading-2\"\n >\n {author}\n </Heading>\n </Author>\n </AuthorContainer>\n </React.Fragment>\n )}\n <Seperator isInverted={isInverted} />\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsAuthorCardComponent = NewsAuthorCard;\nexport default withLibTheme(NewsAuthorCard);\n","import React, { forwardRef, useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport {\n spacings,\n getGlobals as global,\n getFonts as font,\n getColors,\n} from 'utils/styles';\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport StatusFormatter from 'utils/statusFormatter';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport { isValidArray } from 'utils/arrays';\n\nconst View = styled.div`\n position: relative;\n text-decoration: none;\n margin: 0;\n padding: 0;\n`;\n\nconst ImageLink = styled(Link)`\n display: block;\n width: 100%;\n`;\n\nconst StyledImage = styled(Image)`\n overflow: hidden;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n`;\n\nconst BorderPlaceholder = styled.div<{ hasBg?: boolean }>`\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg\n ? getColors(theme).elementBg.light\n : getColors(theme).elementBg.medium};\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 Head = styled.div`\n display: flex;\n\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n &:not(:last-child) {\n margin-bottom: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Tags = styled.div`\n display: flex;\n overflow: scroll;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst PublishDate = styled(Copy)`\n &:only-child {\n margin-left: auto;\n }\n`;\n\nconst Main = styled.div`\n max-width: 95%;\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Text = styled(Copy)`\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 6; /* number of lines to show */\n line-clamp: 6;\n -webkit-box-orient: vertical;\n\n & > * {\n margin: 0 !important;\n }\n\n & > p:not(:first-of-type) {\n display: none;\n }\n\n & > ul,\n & > ol,\n & > table {\n display: none;\n }\n`;\n\nconst Action = styled.div`\n margin-top: ${spacings.nudge * 3}px;\n`;\n\nexport interface NewsCardProps {\n /** Invert text and background for use on dark sections */\n isInverted?: boolean;\n\n /** News tag name */\n tags?: TagProps[];\n\n /** News publish date */\n publishDate?: Date;\n\n /** News title */\n title?: string;\n\n /** News text */\n text?: string;\n\n /** News image settings */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /** News link settings */\n link?: LinkProps;\n\n /** Callback function if tag in news iten has been clicked */\n onTagClick?: (tag: TagProps) => void;\n\n /** Function to inject primary action */\n action?: (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<HTMLAnchorElement>) => void;\n }) => React.ReactNode;\n\n hasBg?: boolean;\n}\n\nconst NewsCard = forwardRef<\n HTMLDivElement,\n NewsCardProps & {\n className?: string;\n }\n>(\n (\n {\n tags,\n onTagClick,\n publishDate,\n title,\n text,\n image,\n link,\n isInverted,\n action,\n customTag,\n className,\n hasBg,\n },\n ref\n ) => {\n const { globals } = useLibTheme();\n\n let publishedAt = '';\n if (publishDate) {\n const formatter = new StatusFormatter(\n publishDate.getTime(),\n '',\n globals.sections.newsDateFormat(publishDate),\n globals.sections.newsTimeFormat(publishDate),\n globals.sections.newsLocaleKey\n );\n publishedAt = formatter.getFormattedDate();\n }\n\n const handleTagClick = (tag: TagProps) =>\n onTagClick\n ? (ev?: React.SyntheticEvent<HTMLAnchorElement>) => {\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 return (\n <View ref={ref} className={className}>\n {image?.small ? (\n <ImageLink {...link} ariaLabel={title}>\n <StyledImage\n {...image}\n coverSpace\n isInverted={isInverted}\n />\n </ImageLink>\n ) : (\n <BorderPlaceholder hasBg={hasBg} />\n )}\n <Head data-sheet=\"head\">\n {isValidArray(filteredTags, false) && (\n <Tags>\n {filteredTags.map((tag, i) => {\n if (customTag) {\n return customTag({\n key: i,\n name: tag.name || '',\n isInverted: isInverted,\n isActive: false,\n link: tag.link,\n clickHandler: handleTagClick(tag),\n });\n } else {\n return (\n <Tag\n key={i}\n isInverted={isInverted}\n name={tag.name}\n link={tag.link}\n onClick={handleTagClick(tag)}\n />\n );\n }\n })}\n </Tags>\n )}\n {publishedAt && (\n <PublishDate\n size=\"small\"\n renderAs=\"div\"\n isInverted={isInverted}\n >\n {publishedAt}\n </PublishDate>\n )}\n </Head>\n <Main>\n {title && (\n <TitleLink\n {...link}\n ariaLabel={title}\n isInverted={isInverted}\n dataSheet=\"title\"\n >\n {title}\n </TitleLink>\n )}\n {text && (\n <Text\n isInverted={isInverted}\n type=\"copy\"\n innerHTML={text}\n data-sheet=\"text\"\n size=\"medium\"\n />\n )}\n </Main>\n {action && <Action>{action(isInverted)}</Action>}\n </View>\n );\n }\n);\n\nNewsCard.displayName = 'NewsCard';\n\nexport default NewsCard;\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\n\nimport NewsCard, { NewsCardProps } from 'components/blocks/NewsCard';\nimport { mq, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport { useMediaQuery } from 'utils/useMediaQuery';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport Copy from 'components/typography/Copy';\nimport { useScrollTo } from 'utils/useScrollTo';\nimport Pointer from 'components/buttons/Pointer';\nimport { isValidArray } from 'utils/arrays';\nimport { deleteUrlParam, getUrlParams, setUrlParam } from 'utils/urlParams';\nimport Filter from 'components/base/icons/Filter';\nimport useUpdateEffect from 'utils/useUpdateEffect';\nimport useMounted from 'utils/useMounted';\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 News = styled.ul`\n list-style: none;\n margin: 0;\n margin-top: -${spacings.nudge * 6}px;\n margin-left: -${spacings.spacer}px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n`;\n\nconst NewsItem = styled.li`\n padding-top: ${spacings.nudge * 6}px;\n padding-left: ${spacings.spacer}px;\n flex: 1 0 100%;\n\n @media ${mq.medium} {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media ${mq.large} {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\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\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\nexport const getNewsFilterParams = (\n url: string,\n theme: DefaultTheme,\n tags: string[] = []\n) => {\n if (!url) return '';\n if (!isValidArray(tags, false)) return url;\n\n const filterName = theme.globals.sections.newsFilterName;\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\ntype NewsOverviewMq = 'small' | 'semilarge' | 'large';\n\nexport type NewsItem = Omit<\n NewsCardProps,\n 'customTag' | 'isInverted' | 'onTagClick'\n>;\n\nconst NewsOverview: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of news item settings */\n news?: NewsItem[];\n\n /** Tags for news 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 anchorId,\n news,\n tags,\n initial,\n showMoreText,\n bgMode,\n\n onTagClick,\n customTag,\n}) => {\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.newsFilterName;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const [selectedTags, setSelectedTags] = useState<string[]>(\n initial?.activeTags || []\n );\n\n const mqs: NewsOverviewMq[] = ['small', 'semilarge', 'large'];\n const currentMq = useMediaQuery(mqs) as NewsOverviewMq | undefined;\n const [itemsPerRow, setItemsPerRow] = useState(3);\n const [visibleRows, setVisibleRows] = useState(initial?.visibleRows || 3);\n const isMounted = useMounted();\n\n const targetRef = useRef<HTMLDivElement>(null);\n const observerSupported = useObserverSupport();\n\n const newsCount = news?.length || 0;\n\n const setNewPos = useScrollTo(800);\n const { sheetRefs: cardRefs, triggerCalculation } =\n useEqualSheetHeight<HTMLDivElement>({\n listLength: Math.min(visibleRows * itemsPerRow, newsCount),\n identifiers: [\n '[data-sheet=\"head\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n },\n });\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 const paramRows = parseInt(getUrlParams()['rows']);\n\n setVisibleRows(paramRows || 3);\n\n if (isValidArray(paramTags, false)) {\n setSelectedTags(paramTags);\n }\n\n // trigger equal sheet height recalculation\n triggerCalculation();\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 useEffect(() => {\n switch (currentMq) {\n case 'large':\n setItemsPerRow(3);\n break;\n\n case 'semilarge':\n setItemsPerRow(2);\n break;\n\n case 'small':\n setItemsPerRow(1);\n if (visibleRows < 3) setVisibleRows(3);\n break;\n\n default:\n setItemsPerRow(1);\n }\n }, [currentMq, visibleRows]);\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 // trigger equal sheet height recalculation\n triggerCalculation();\n setVisibleRows(3);\n };\n\n const filteredNews = useMemo(() => {\n const tagFilterFn = (item: NewsItem) => {\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(news) ? [...news] : [];\n\n // adding filter\n filtered = filtered?.filter(tagFilterFn);\n\n return filtered;\n }, [news, selectedTags]);\n\n const visibleNews: NewsItem[] = useMemo(() => {\n return (\n filteredNews?.filter((_, i) => i < visibleRows * itemsPerRow) || []\n );\n }, [filteredNews, 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 news\n if (\n visibleRows <\n Math.ceil(filteredNews.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 newsCount,\n visibleRows,\n observerSupported,\n filteredNews.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 : colors.sectionBg.light\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 <News>\n {visibleNews.map((item, i) => (\n <NewsItem key={`${i}_news_${item.title}`}>\n <NewsCard\n hasBg={hasBg || isInverted}\n ref={cardRefs[i]}\n {...item}\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({ name: tag.name }, true);\n }\n }}\n customTag={customTag}\n />\n </NewsItem>\n ))}\n </News>\n <div ref={targetRef} />\n {!observerSupported && (\n <ListFooter>\n {news && news.length > 0 && (\n <Copy\n type=\"copy\"\n size=\"medium\"\n isInverted={isInverted}\n >\n <ShowMore\n itemCount={news.length}\n onClick={(ev) => {\n ev.preventDefault();\n if (\n visibleRows <\n Math.ceil(\n filteredNews.length /\n itemsPerRow\n )\n ) {\n setVisibleRows((prev) => prev + 1);\n }\n }}\n >\n {visibleRows <\n filteredNews.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 NewsOverviewComponent = NewsOverview;\nexport default withLibTheme(NewsOverview);\n","import React from 'react';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport NewsCard, { NewsCardProps } from 'components/blocks/NewsCard';\nimport { useEffect, useState } from 'react';\nimport { useMediaQuery } from 'utils/useMediaQuery';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\nimport { LinkProps } from 'components/typography/Link';\nimport { getNewsFilterParams } from './NewsOverview';\n\ntype NewsFooterMq = 'small' | 'semilarge';\n\nexport type NewsItem = Omit<\n NewsCardProps,\n 'isInverted' | 'onTagClick' | 'customTag'\n>;\n\nconst NewsFooter: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of news item settings */\n news: NewsItem[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\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, news, bgMode, customTag }) => {\n const { colors, theme } = useLibTheme();\n const newsCount = news?.length || 0;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const mqs: NewsFooterMq[] = ['small', 'semilarge'];\n const currentMq = useMediaQuery(mqs) as NewsFooterMq | undefined;\n const [itemsPerRow, setItemsPerRow] = useState(2);\n const [visibleRows, setVisibleRows] = useState(1);\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: Math.min(visibleRows * itemsPerRow, newsCount),\n identifiers: [\n '[data-sheet=\"head\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 2,\n xlarge: 2,\n },\n });\n\n useEffect(() => {\n switch (currentMq) {\n case 'semilarge':\n setItemsPerRow(2);\n break;\n\n case 'small':\n setItemsPerRow(1);\n if (visibleRows < 3) setVisibleRows(3);\n break;\n\n default:\n setItemsPerRow(1);\n }\n }, [currentMq, visibleRows]);\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 clampWidth=\"small\">\n <Grid.Row>\n {news\n ?.filter((_, i) => i < visibleRows * itemsPerRow)\n .map((item, i) => (\n <Grid.Col\n medium={{ span: 6 / 12 }}\n key={`${i}_news_${item.title}`}\n >\n <NewsCard\n key={i}\n ref={cardRefs[i]}\n {...item}\n tags={item.tags?.map((tag) => {\n let tagHref: string | undefined =\n undefined;\n\n if (tag.name && tag.link?.href) {\n tagHref = getNewsFilterParams(\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 customTag={customTag}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsFooterComponent = NewsFooter;\nexport default withLibTheme(NewsFooter);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport { getGlobals as global } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Grid from 'components/base/Grid';\n\nconst StyledImage = styled(Image)`\n width: 100%;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n picture > img {\n width: 100%;\n height: 100%;\n }\n`;\n\ntype ImageType = Omit<ImageProps, 'coverSpace'> & { isFull?: boolean };\n\nconst NewsImages: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** List of gallery images */\n images?: ImageType[];\n\n /** Image style */\n isFull?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, images, bgMode }) => {\n const { colors } = useLibTheme();\n\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 : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n <Grid.Row>\n {images\n ?.filter((img) => img.small)\n ?.map((img, i) => (\n <Grid.Col\n key={i}\n semilarge={{\n span: img.isFull ? 12 / 12 : 6 / 12,\n }}\n >\n <StyledImage\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n {/* {images && (imageStyle === 'half' || images.length >= 2) ? (\n <Grid.Row>\n {images.map((img, i) => {\n return (\n <Grid.Col medium={{ span: 6 / 12 }} key={i}>\n <div>\n <StyledImage\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n </div>\n </Grid.Col>\n );\n })}\n </Grid.Row>\n ) : (\n images && (\n <div>\n {images.map((img, i) => {\n return (\n <StyledImage\n key={i}\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n );\n })}\n </div>\n )\n )} */}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsImagesComponent = NewsImages;\nexport default withLibTheme(NewsImages);\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 Image, { ImageProps } from 'components/blocks/Image';\nimport Title from 'components/blocks/Title';\nimport Copy from 'components/typography/Copy';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport { mq, spacings } from 'utils/styles';\nimport StatusFormatter from 'utils/statusFormatter';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { LinkProps } from 'components/typography/Link';\nimport { getNewsFilterParams } from './NewsOverview';\n\nconst Content = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst IntroHead = styled(Copy)`\n display: flex;\n\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-between;\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n @media ${mq.medium} {\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-top: 0;\n margin-left: ${spacings.nudge * 2}px;\n }\n }\n`;\n\nconst Tags = styled.div`\n flex: 1 1 80%;\n\n display: flex;\n flex-wrap: wrap;\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n`;\n\nconst TagWrapper = styled.span`\n display: inline-block;\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst MetaBlock = styled.div`\n flex: 1 0 auto;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-end;\n align-items: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n & > * + * {\n margin-left: ${spacings.nudge * 3}px;\n }\n`;\n\nconst StyledTitle = styled(Title)<{ clampTitle?: boolean }>`\n max-width: ${({ clampTitle }) =>\n clampTitle && (13 / 28) * spacings.wrapperSmall + 'px'};\n`;\n\nconst ContentBlock = styled(Copy)<{\n clampText?: boolean;\n isCentered?: boolean;\n}>`\n display: block;\n margin: ${({ isCentered }) => isCentered && '0 auto'};\n max-width: ${({ clampText }) =>\n clampText && (19 / 28) * spacings.wrapper + 'px'};\n\n :not(:first-child) {\n padding-top: ${spacings.spacer}px;\n }\n`;\n\nconst NewsIntro: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of news tags */\n tags?: TagProps[];\n\n /** News article's meta informations */\n meta?: { date?: Date; author?: string };\n\n /** Title of news article */\n title?: string;\n\n /** Main image of news article */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /** Text of news article (richtext) */\n text?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\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, tags, meta, title, text, image, bgMode, customTag }) => {\n const { globals, colors, theme } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n let publishedAt = '';\n if (meta?.date) {\n const formatter = new StatusFormatter(\n meta.date.getTime(),\n '',\n globals.sections.newsDateFormat(meta.date),\n globals.sections.newsTimeFormat(meta.date),\n globals.sections.newsLocaleKey\n );\n publishedAt = formatter.getFormattedDate();\n }\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n <Content>\n <IntroHead isInverted={isInverted}>\n <Tags>\n {tags?.map((tag, i) => {\n let tagLink: LinkProps | undefined = undefined;\n\n if (tag.name && tag.link?.href) {\n tagLink = {\n ...tag.link,\n href: getNewsFilterParams(\n tag.link.href,\n theme,\n [tag.name]\n ),\n };\n }\n\n return (\n <TagWrapper key={`headtag-${i}`}>\n {customTag ? (\n customTag({\n key: `headtag-${i}`,\n name: tag.name || '',\n isInverted: isInverted,\n isActive: false,\n link: tagLink,\n })\n ) : (\n <Tag\n link={tagLink}\n isInverted={isInverted}\n >\n {tag.name}\n </Tag>\n )}\n </TagWrapper>\n );\n })}\n </Tags>\n {(publishedAt || meta?.author) && (\n <MetaBlock>\n {meta?.author && <div>{meta?.author}</div>}\n {publishedAt && <div>{publishedAt}</div>}\n </MetaBlock>\n )}\n </IntroHead>\n <div>\n <StyledTitle\n colorMode={isInverted ? 'inverted' : 'default'}\n title={title}\n />\n {text && (\n <ContentBlock\n isInverted={isInverted}\n type=\"copy-b\"\n innerHTML={text}\n />\n )}\n </div>\n {image?.small && (\n <Image\n {...image}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n />\n )}\n </Content>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsIntroComponent = NewsIntro;\nexport default withLibTheme(NewsIntro);\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';\n\nimport NewsCard, { NewsCardProps } from 'components/blocks/NewsCard';\nimport { mq, spacings } from 'utils/styles';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { LinkProps } from 'components/typography/Link';\nimport { getNewsFilterParams } from './NewsOverview';\n\nconst News = styled.ul`\n list-style: none;\n margin: 0;\n margin-top: -${spacings.nudge * 6}px;\n margin-left: -${spacings.spacer}px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n`;\n\nconst NewsItem = styled.li`\n padding-top: ${spacings.nudge * 6}px;\n padding-left: ${spacings.spacer}px;\n flex: 1 0 100%;\n max-width: 100%;\n\n @media ${mq.medium} {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media ${mq.large} {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\n`;\n\nexport type NewsItem = Omit<\n NewsCardProps,\n 'isInverted' | 'onTagClick' | 'customTag'\n>;\n\nconst NewsList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Show a short version of three or a expanded version of six news items */\n mode?: 'short' | 'expanded';\n\n /** Array of news card settings */\n news?: NewsItem[];\n\n /** Sections background */\n bgMode?: 'full' | 'inverted';\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, mode = 'short', news, bgMode, customTag }) => {\n const { colors, theme } = useLibTheme();\n\n const items = useMemo<NewsCardProps[]>(() => {\n if (!news) return [];\n if (mode === 'expanded') return news.slice(0, 6);\n else return news.slice(0, 3);\n }, [news, mode]);\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: items.length,\n identifiers: [\n '[data-sheet=\"head\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 2,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <News>\n {items?.map((item, i) => (\n <NewsItem key={i}>\n <NewsCard\n key={i}\n ref={cardRefs[i]}\n {...item}\n isInverted={isInverted}\n tags={item.tags?.map((tag) => {\n let tagHref: string | undefined = undefined;\n\n if (tag.name && tag.link?.href) {\n tagHref = getNewsFilterParams(\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 customTag={customTag}\n />\n </NewsItem>\n ))}\n </News>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsListComponent = NewsList;\nexport default withLibTheme(NewsList);\n","import React from 'react';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport TableBlock, { TableProps } from 'components/blocks/TableBlock';\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\n\nconst NewsTableSection = styled(Section)`\n overflow: unset;\n`;\n\nconst TableWrapper = styled(Wrapper)`\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst NewsTable: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Table rows and columns */\n tableItems: TableProps[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, bgMode, tableItems }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full' || isInverted;\n\n return (\n <NewsTableSection\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 <TableWrapper clampWidth=\"small\">\n {tableItems.map((item, i) => {\n return (\n <TableBlock\n {...item}\n key={i}\n hasBack={hasBg}\n isInverted={isInverted}\n />\n );\n })}\n </TableWrapper>\n </NewsTableSection>\n );\n};\n\nexport const NewsTableComponent = NewsTable;\nexport default withLibTheme(NewsTable);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Copy from 'components/typography/Copy';\nimport Wrapper from 'components/base/Wrapper';\nimport { spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst ContentBlock = styled(Copy)<{\n clampText?: boolean;\n isCentered?: boolean;\n}>`\n display: block;\n margin: ${({ isCentered }) => isCentered && '0 auto'};\n max-width: ${({ clampText }) =>\n clampText && (19 / 28) * spacings.wrapperSmall + 'px'};\n\n :not(:first-child) {\n padding-top: ${spacings.nudge * 5}px;\n }\n`;\n\nconst NewsText: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Main text (RichText) */\n text: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, text, bgMode }) => {\n const { colors } = 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 : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n {text && (\n <ContentBlock\n isInverted={isInverted}\n type=\"copy\"\n innerHTML={text}\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsTextComponent = NewsText;\nexport default withLibTheme(NewsText);\n","import React from 'react';\n\nimport { ImageProps } from 'components/blocks/Image';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Wrapper from 'components/base/Wrapper';\nimport VideoCard from 'components/blocks/VideoCard';\n\nconst NewsVideo: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Placeholder image */\n bgImage?: ImageProps;\n\n /** Embed video ID. E.g. from Youtube */\n embedId?: string;\n\n /** Custom play icon */\n playIcon?: React.ReactNode;\n\n /** Text for cookie consent overlay */\n consentText?: string;\n\n /** Function to inject custom action on cookie consent overlay */\n consentAction?: (props: {\n handleClick?: () => void;\n consentProps: Record<string, string>;\n }) => React.ReactNode;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({\n anchorId,\n bgImage,\n embedId,\n playIcon,\n consentText,\n consentAction,\n bgMode,\n}) => {\n const { colors } = useLibTheme();\n\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 : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace clampWidth=\"small\">\n {embedId && bgImage && (\n <VideoCard\n bgImage={bgImage}\n embedId={embedId}\n playIcon={playIcon}\n consentText={consentText}\n consentAction={consentAction}\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsVideoComponent = NewsVideo;\nexport default withLibTheme(NewsVideo);\n"],"names":["Seperator","styled","div","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","_a","isInverted","theme","color","elementBg","light","dark","isTop","spacings","spacer","AuthorContainer","templateObject_2","mq","medium","Avatar","img","templateObject_3","Author","templateObject_4","StyledCopy","Copy","templateObject_5","nudge","NewsAuthorCard$1","withLibTheme","label","author","avatar","bgMode","colors","useLibTheme","hasBg","React","Section","addSeperation","bgColor","sectionBg","mapToBgMode","createElement","Wrapper","clampWidth","addWhitespace","Fragment","src","alt","type","Heading","size","View","ImageLink","Link","StyledImage","Image","global","sections","edgeRadius","BorderPlaceholder","getColors","TitleLink","copyStyle","font","getFonts","big","colorInverted","Head","templateObject_6","Tags","templateObject_7","PublishDate","templateObject_8","Main","Text","templateObject_10","Action","NewsCard","forwardRef","ref","tags","onTagClick","publishDate","title","text","image","link","action","customTag","className","globals","publishedAt","StatusFormatter","getTime","newsDateFormat","newsTimeFormat","newsLocaleKey","getFormattedDate","handleTagClick","tag","ev","preventDefault","undefined","filteredTags","useMemo","filter","name","small","__assign","ariaLabel","coverSpace","isValidArray","map","i","key","isActive","clickHandler","Tag","onClick","renderAs","dataSheet","innerHTML","TagContainer","TagWrapper","News","ul","NewsItem","li","large","ListFooter","ShowMore","span","itemCount","FilterIcon","getNewsFilterParams","url","filterName","newsFilterName","validUrl","URL","newParams","URLSearchParams","search","set","encodeURIComponent","join","concat","toString","err","NewsOverview$1","anchorId","news","initial","showMoreText","_b","_c","useState","activeTags","selectedTags","setSelectedTags","currentMq","useMediaQuery","_d","itemsPerRow","setItemsPerRow","_e","visibleRows","setVisibleRows","isMounted","useMounted","targetRef","useRef","observerSupported","useObserverSupport","newsCount","length","setNewPos","useScrollTo","_f","useEqualSheetHeight","listLength","Math","min","identifiers","responsive","semilarge","xlarge","cardRefs","sheetRefs","triggerCalculation","getFilters","useCallback","filters","getUrlParams","tagsFilter","split","push","apply","useEffect","paramTags","paramRows","parseInt","setUrlParam","deleteUrlParam","useUpdateEffect","enableToggling","prev","prevCopy","__spreadArray","itemIndex","indexOf","splice","filteredNews","filtered","item","hasTags","visibleNews","_","observer","element","current","IntersectionObserver","entries","entry","isIntersecting","ceil","rootMargin","threshold","observe","disconnect","Filter","Pointer","as","Label","Grid","Row","Col","tagHref","href","NewsImages$1","images","isFull","Content","IntroHead","MetaBlock","StyledTitle","Title","clampTitle","wrapperSmall","ContentBlock","isCentered","clampText","wrapper","NewsIntro$1","meta","date","tagLink","colorMode","allowEdgeRadius","NewsList$1","mode","items","slice","NewsTableSection","TableWrapper","NewsTable$1","tableItems","TableBlock","hasBack","NewsText$1","bgImage","embedId","playIcon","consentText","consentAction","VideoCard"],"mappings":"kyCAUMA,EAAYC,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,4BAAAC,YAAA,gBAAGJ,CAAqDK,IAAAA,EAAAC,EAAAA,qBAAA,CAAA,2CAAA,wBAAA,2BAAA,SAAA,CAAA,2CAK1B,wBAEa,2BACE,YANlD,SAACC,OAAEC,EAAUD,EAAAC,WAAEC,EAAKF,EAAAE,MAClB,OAAAD,EACME,EAAAA,UAAMD,GAAOE,UAAUC,MACvBF,EAAAA,UAAMD,GAAOE,UAAUE,QAEvB,SAACN,GAAc,OAAPA,EAAAO,OAAiBC,EAAQA,SAACC,UAC/B,SAACT,GAAc,OAAPA,EAAAO,OAAgBC,EAAQA,SAACC,UAGhDC,EAAkBjB,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,kCAAAC,YAAA,gBAAGJ,CAAUkB,IAAAA,EAAAZ,uBAAA,CAAA,8KAAA,4BAAA,kLAAA,2BAAA,CAAA,8KAQG,4BAGf,kLAOoB,6BAVpBS,EAAQA,SAACC,OAGlBG,EAAAA,GAAGC,OAOWL,WAASC,QAK9BK,EAASrB,EAAAA,QAAOsB,IAAVpB,WAAA,CAAAC,YAAA,yBAAAC,YAAA,gBAAGJ,CAAUuB,IAAAA,EAAAjB,uBAAA,CAAA,iCAAA,CAAA,oCAInBkB,EAASxB,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,yBAAAC,YAAA,gBAAGJ,CAAUyB,IAAAA,EAAAnB,uBAAA,CAAA,IAAA,CAAA,OAEnBoB,EAAa1B,EAAM,QAAC2B,QAAVzB,WAAA,CAAAC,YAAA,6BAAAC,YAAA,gBAAGJ,CAAY4B,IAAAA,EAAAtB,EAAAA,qBAAA,CAAA,wDAAA,SAAA,CAAA,wDAEQ,WAAD,EAAjBS,EAAQA,SAACc,OAkE9BC,EAAeC,EAAYA,cAnDtB,SAACxB,OAAEyB,EAAKzB,EAAAyB,MAAEC,EAAM1B,EAAA0B,OAAEC,EAAM3B,EAAA2B,OAAEC,EAAM5B,EAAA4B,OACzBC,EAAWC,uBACb7B,EAAwB,aAAX2B,EACbG,EAAmB,SAAXH,EAEd,OACII,wBAACC,UAAO,CACJC,eACA,EAAAC,QACIlC,EACM4B,EAAOO,UAAU9B,KACjByB,EACAF,EAAOO,UAAUvB,OACjBgB,EAAOO,UAAU/B,MAE3BuB,OAAQS,EAAAA,YAAYT,GAAQ,IAE5BI,EAAA,QAAAM,cAACC,UAAQ,CAAAC,WAAW,QAAQC,eAAa,GACpCf,GACGM,UAACM,cAAAN,EAAK,QAACU,SAAQ,KACXV,EAAAA,QAAAM,cAAC9C,EAAU,CAAAe,SAAMN,WAAYA,IAC7B+B,EAAAA,QAAAM,cAAC5B,EAAe,KACXiB,GACGK,EAAAA,QAAAM,cAACxB,EAAM,CAAC6B,IAAKhB,EAAOgB,IAAKC,IAAKjB,EAAOiB,MAEzCZ,EAAAA,QAAAM,cAACrB,EAAM,KACFS,GACGM,EAAAA,QAAAM,cAACnB,EAAU,CACPlB,WAAYA,EACZ4C,KAAK,UAEJpB,GAAS,cAGlBO,EAAAA,QAAAM,cAACQ,EAAAA,QAAO,CACJ7C,WAAYA,EACZ8C,KAAK,aAEJrB,MAMrBM,EAAAA,QAACM,cAAA9C,GAAUS,WAAYA,SC9FjC+C,EAAOvD,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,iBAAAC,YAAA,eAAGJ,CAAUK,IAAAA,EAAAC,uBAAA,CAAA,4FAAA,CAAA,+FAOjBkD,EAAYxD,EAAM,QAACyD,QAAVvD,WAAA,CAAAC,YAAA,sBAAAC,YAAA,eAAGJ,CAAYkB,IAAAA,EAAAZ,uBAAA,CAAA,6CAAA,CAAA,gDAKxBoD,EAAc1D,EAAM,QAAC2D,SAAVzD,WAAA,CAAAC,YAAA,wBAAAC,YAAA,eAAGJ,CAAauB,IAAAA,EAAAjB,EAAAA,qBAAA,CAAA,+CAAA,OAAA,CAAA,+CAEoC,UAAhD,SAACC,GAAE,IAAAE,EAAKF,EAAAE,MAAO,OAAAmD,aAAOnD,GAAOoD,SAASC,cAGrDC,EAAoB/D,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,8BAAAC,YAAA,eAAGJ,CAA+ByB,IAAAA,EAAAnB,EAAAA,qBAAA,CAAA,wCAAA,OAAA,CAAA,wCAKN,UAHzC,SAACC,OAAEE,EAAKF,EAAAE,MACN,OADaF,EAAA+B,MAEP0B,EAAAA,UAAUvD,GAAOE,UAAUC,MAC3BoD,EAAAA,UAAUvD,GAAOE,UAAUS,UAGvC6C,GAAYjE,EAAM,QAACyD,QAAVvD,WAAA,CAAAC,YAAA,sBAAAC,YAAA,eAAGJ,CAAY4B,IAAAA,EAAAtB,EAAAA,qBAAA,CAAA,qCAAA,kBAAA,mCAAA,CAAA,qCAEE,kBAKa,qCALvC4D,EAAAA,UAAU,SAAU,QAEb,SAAC3D,OAAEE,EAAKF,EAAAE,MACbD,OADyBD,EAAAC,WAEnB2D,EAAIC,SAAC3D,GAAO,UAAU4D,IAAIC,cAC1BH,EAAAA,SAAK1D,GAAO,UAAU4D,IAAI3D,SAIlC6D,GAAOvE,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,iBAAAC,YAAA,eAAGJ,CAAUwE,IAAAA,EAAAlE,EAAAA,qBAAA,CAAA,qKAAA,kEAAA,uDAAA,gBAAA,CAAA,qKAQiB,kEAIG,uDAIF,kBARF,EAAjBS,WAASc,MAIW,EAAjBd,EAAAA,SAASc,MAIM,EAAjBd,EAAAA,SAASc,OAI1B4C,GAAOzE,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,iBAAAC,YAAA,eAAGJ,CAAU0E,IAAAA,EAAApE,EAAAA,qBAAA,CAAA,wNAAA,gBAAA,CAAA,wNAYc,kBAAdS,EAAQA,SAACc,OAI1B8C,GAAc3E,EAAM,QAAC2B,QAAVzB,WAAA,CAAAC,YAAA,wBAAAC,YAAA,eAAGJ,CAAY4E,IAAAA,EAAAtE,uBAAA,CAAA,6DAAA,CAAA,gEAM1BuE,GAAO7E,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,iBAAAC,YAAA,eAAGJ,iHAAU,iEAIiB,kBAAD,EAAjBe,EAAQA,SAACc,OAIzBiD,GAAO9E,EAAM,QAAC2B,QAAVzB,WAAA,CAAAC,YAAA,iBAAAC,YAAA,eAAGJ,CAAY+E,IAAAA,EAAAzE,uBAAA,CAAA,0YAAA,CAAA,6YAuBnB0E,GAAShF,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,mBAAAC,YAAA,gBAAGJ,8DAAU,qBACW,WAAD,EAAjBe,EAAQA,SAACc,OA4CrBoD,GAAWC,EAAUA,YAMvB,SACI3E,EAcA4E,GAbI,IAAAC,EAAI7E,EAAA6E,KACJC,EAAU9E,EAAA8E,WACVC,EAAW/E,EAAA+E,YACXC,EAAKhF,EAAAgF,MACLC,EAAIjF,EAAAiF,KACJC,EAAKlF,EAAAkF,MACLC,EAAInF,EAAAmF,KACJlF,EAAUD,EAAAC,WACVmF,EAAMpF,EAAAoF,OACNC,cACAC,EAAStF,EAAAsF,UACTvD,EAAK/B,EAAA+B,MAIDwD,EAAYzD,wBAEhB0D,EAAc,GACdT,IAQAS,EAPkB,IAAIC,EAAAA,gBAClBV,EAAYW,UACZ,GACAH,EAAQjC,SAASqC,eAAeZ,GAChCQ,EAAQjC,SAASsC,eAAeb,GAChCQ,EAAQjC,SAASuC,eAEGC,oBAG5B,IAAMC,EAAiB,SAACC,GACpB,OAAAlB,EACM,SAACmB,GACGA,MAAAA,GAAAA,EAAIC,iBACJpB,EAAWkB,SAEfG,GAEJC,EAAeC,EAAAA,SAAQ,WACzB,OAAOxB,MAAAA,SAAAA,EAAMyB,QAAO,SAACN,GAAQA,OAAAA,EAAIO,UAClC,CAAC1B,IAEJ,OACI7C,EAAC,QAAAM,cAAAU,EAAK,CAAA4B,IAAKA,EAAKU,UAAWA,IACtBJ,MAAAA,SAAAA,EAAOsB,OACJxE,wBAACiB,EAASwD,EAAAA,SAAA,GAAKtB,EAAM,CAAAuB,UAAW1B,IAC5BhD,EAAC,QAAAM,cAAAa,gBACO+B,EAAK,CACTyB,YACA,EAAA1G,WAAYA,MAIpB+B,UAACM,cAAAkB,GAAkBzB,MAAOA,IAE9BC,EAAAA,QAACM,cAAA0B,IAAgB,aAAA,QACZ4C,EAAYA,aAACR,GAAc,IACxBpE,EAAA,QAAAM,cAAC4B,GAAI,KACAkC,EAAaS,KAAI,SAACb,EAAKc,GACpB,OAAIzB,EACOA,EAAU,CACb0B,IAAKD,EACLP,KAAMP,EAAIO,MAAQ,GAClBtG,WAAYA,EACZ+G,UAAU,EACV7B,KAAMa,EAAIb,KACV8B,aAAclB,EAAeC,KAI7BhE,EAAA,QAAAM,cAAC4E,MAAG,CACAH,IAAKD,EACL7G,WAAYA,EACZsG,KAAMP,EAAIO,KACVpB,KAAMa,EAAIb,KACVgC,QAASpB,EAAeC,SAO/CR,GACGxD,UAACM,cAAA8B,IACGrB,KAAK,QACLqE,SAAS,MACTnH,WAAYA,GAEXuF,IAIbxD,EAAA,QAAAM,cAACgC,GAAI,KACAU,GACGhD,EAAAA,QAACM,cAAAoB,iBACOyB,EAAI,CACRuB,UAAW1B,EACX/E,WAAYA,EACZoH,UAAU,UAETrC,GAGRC,GACGjD,EAAAA,QAAAM,cAACiC,GAAI,CACDtE,WAAYA,EACZ4C,KAAK,OACLyE,UAAWrC,EAAI,aACJ,OACXlC,KAAK,YAIhBqC,GAAUpD,EAAAA,QAACM,cAAAmC,GAAQ,KAAAW,EAAOnF,QAM3CyE,GAAS9E,YAAc,WC7QvB,gEAAM2H,GAAe9H,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,6BAAAC,YAAA,cAAGJ,CAAUK,KAAAA,GAAAC,EAAAA,qBAAA,CAAA,sBAAA,0BAAA,iIAAA,gBAAA,CAAA,sBACE,0BACC,iIAOS,kBARxBS,EAAAA,SAASc,MACRd,WAASc,MAOa,EAAjBd,EAAQA,SAACc,OAI5BkG,GAAa/H,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,2BAAAC,YAAA,cAAGJ,CAAUkB,KAAAA,GAAAZ,EAAAA,qBAAA,CAAA,sBAAA,0BAAA,SAAA,CAAA,sBACI,0BACC,WADfS,EAAQA,SAACc,MACRd,EAAAA,SAASc,OAGvBmG,GAAOhI,EAAAA,QAAOiI,GAAV/H,WAAA,CAAAC,YAAA,qBAAAC,YAAA,cAAGJ,CAASuB,KAAAA,GAAAjB,EAAAA,qBAAA,CAAA,6DAAA,0BAAA,kKAAA,CAAA,6DAGe,0BACF,oKADC,EAAjBS,EAAQA,SAACc,MACRd,EAAAA,SAASC,QAWvBkH,GAAWlI,EAAAA,QAAOmI,GAAVjI,WAAA,CAAAC,YAAA,yBAAAC,YAAA,cAAGJ,CAASyB,KAAAA,GAAAnB,EAAAA,qBAAA,CAAA,sBAAA,0BAAA,0CAAA,4EAAA,sEAAA,CAAA,sBACW,0BACF,0CAGb,4EAKD,wEATe,EAAjBS,EAAQA,SAACc,MACRd,WAASC,OAGhBG,EAAAA,GAAGC,OAKHD,EAAEA,GAACiH,OAMVC,GAAarI,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,2BAAAC,YAAA,cAAGJ,CAAU4B,KAAAA,GAAAtB,EAAAA,qBAAA,CAAA,qBAAA,8CAAA,0CAAA,CAAA,qBACO,8CAGd,4CAHa,EAAjBS,EAAQA,SAACc,MAGdV,EAAAA,GAAGC,QAKVkH,GAAWtI,EAAAA,QAAOuI,KAAVrI,WAAA,CAAAC,YAAA,yBAAAC,YAAA,cAAGJ,CAAmCwE,KAAAA,GAAAlE,EAAAA,qBAAA,CAAA,kBAAA,OAAA,CAAA,kBAEC,UADtC,SAACC,GAAE,IAAAiI,EAASjI,EAAAiI,UACnBA,OAAAA,GAAaA,EAAY,EAAI,QAAU,UAGzCC,GAAazI,EAAM,QAAC2B,QAAVzB,WAAA,CAAAC,YAAA,2BAAAC,YAAA,cAAGJ,CAAY0E,KAAAA,GAAApE,EAAAA,qBAAA,CAAA,4FAAA,MAAA,oDAAA,gBAAA,CAAA,4FAKE,MAAoB,oDAGhB,kBAHtBS,EAAAA,SAASc,MAAQ,EAAOd,EAAAA,SAASc,MAGzBd,WAASc,OAInB6G,GAAsB,SAC/BC,EACAlI,EACA2E,GAEA,QAFA,IAAAA,IAAAA,EAAmB,KAEduD,EAAK,MAAO,GACb,IAACxB,EAAAA,aAAa/B,GAAM,GAAQ,OAAOuD,EAEjCC,IAAAA,EAAanI,EAAMqF,QAAQjC,SAASgF,eAC1C,IAAKD,EAAY,OAAOD,EAEpB,IACA,IAAMG,EAAW,IAAIC,IAAIJ,GACnBK,EAAY,IAAIC,gBAAgBH,EAASI,QAG/C,OAFAF,EAAUG,IAAIP,EAAYQ,mBAAmBhE,EAAKiE,KAAK,OAEhD,GAAAC,OAAGX,EAAO,KAAAW,OAAAN,EAAUO,YAC7B,MAAOC,GACE,MAAA,GAAGF,OAAAX,EAAO,KAAAW,OAAAV,cAAcQ,mBAAmBhE,EAAKiE,KAAK,SAyZpEI,GAAe1H,EAAYA,cA1WtB,SAACxB,OACFmJ,EAAQnJ,EAAAmJ,SACRC,EAAIpJ,EAAAoJ,KACJvE,EAAI7E,EAAA6E,KACJwE,EAAOrJ,EAAAqJ,QACPC,EAAYtJ,EAAAsJ,aACZ1H,EAAM5B,EAAA4B,OAENkD,EAAU9E,EAAA8E,WACVO,EAASrF,EAAAqF,UAEHkE,EAAsBzH,EAAAA,cAApBD,EAAM0H,EAAA1H,OACRwG,EADiBkB,EAAAhE,QACIjC,SAASgF,eAE9BrI,EAAwB,aAAX2B,EACbG,EAAmB,SAAXH,EAER4H,EAAkCC,EAAAA,UACpCJ,MAAAA,SAAAA,EAASK,aAAc,IADpBC,OAAcC,OAKfC,EAAYC,gBADY,CAAC,QAAS,YAAa,UAE/CC,EAAgCN,EAAQA,SAAC,GAAxCO,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAC5BG,EAAgCT,EAAAA,UAASJ,MAAAA,SAAAA,EAASc,cAAe,GAAhEA,OAAaC,OACdC,EAAYC,EAAAA,aAEZC,EAAYC,SAAuB,MACnCC,EAAoBC,EAAAA,qBAEpBC,GAAYvB,MAAAA,OAAA,EAAAA,EAAMwB,SAAU,EAE5BC,EAAYC,cAAY,KACxBC,EACFC,EAAAA,oBAAoC,CAChCC,WAAYC,KAAKC,IAAIhB,EAAcH,EAAaW,GAChDS,YAAa,CACT,sBACA,uBACA,uBAEJC,WAAY,CACR7E,MAAO,EACP3F,OAAQ,EACRyK,UAAW,EACXzD,MAAO,EACP0D,OAAQ,KAbDC,EAAQT,EAAAU,UAAEC,uBAiBvBC,EAAaC,EAAAA,aAAY,WACrB/G,IAAAA,EAAiB,GAEjBgH,EAAUC,EAAAA,eAAezD,GAC/B,GAAIwD,EAAS,CACT,IAAME,EAAaF,MAAAA,OAAO,EAAPA,EAASG,MAAM,KAC9BpF,EAAYA,aAACmF,GAAY,IACzBlH,EAAKoH,KAAIC,MAATrH,EAAakH,GAGrB,OAAOlH,IACR,CAACwD,IAEJ8D,EAAAA,WAAU,WAEF9C,IAAAA,EAAAA,CAGE+C,IAAAA,EAAYT,IACZU,EAAYC,SAASR,EAAYA,eAAA,MAEvC1B,EAAeiC,GAAa,GAExBzF,EAAYA,aAACwF,GAAW,IACxBxC,EAAgBwC,GAIpBV,OAGD,CAACC,EAAYtC,IAEhB8C,EAAAA,WAAU,iBACD9C,IAAWgB,IAGhBkC,EAAAA,YAAY,QAAQlD,MAAAA,OAAA,EAAAA,EAASc,cAAe,GAExCvD,eAAayC,MAAAA,OAAO,EAAPA,EAASK,YAAY,GAClC6C,cAAYlE,EAAiC,QAArBrI,EAAAqJ,MAAAA,OAAO,EAAPA,EAASK,kBAAY,IAAA1J,OAAA,EAAAA,EAAA8I,KAAK,MAElD0D,EAAcA,eAACnE,MAEpB,CAACA,EAAYgB,EAASgB,IAEzBoC,EAAAA,iBAAgB,WACZF,cAAY,OAAQpC,KACrB,CAACA,IAEJsC,EAAAA,iBAAgB,YACR3H,GAAe8B,eAAa+C,KAG5BA,EAAaiB,OAAS,EACtB2B,EAAAA,YAAYlE,EAAYsB,EAAab,KAAK,MAE1C0D,EAAcA,eAACnE,MAEpB,CAACsB,IAEJwC,EAAAA,WAAU,WACN,OAAQtC,GACJ,IAAK,QACDI,EAAe,GACf,MAEJ,IAAK,YACDA,EAAe,GACf,MAEJ,IAAK,QACDA,EAAe,GACXE,EAAc,GAAGC,EAAe,GACpC,MAEJ,QACIH,EAAe,MAExB,CAACJ,EAAWM,IAEf,IAAMpE,EAAiB,SAACC,EAAe0G,QAAA,IAAAA,IAAAA,GAAqB,GACxD9C,GAAgB,SAAC+C,GACPC,IAAAA,EAAQC,EAAAA,cAAA,GAAOF,GAAI,GACnBG,EAAY9G,EAAIO,KAAOoG,EAAKI,QAAQ/G,EAAIO,OAAS,EAEnDuG,OAAe,IAAfA,GAAoB9G,EAAIO,KACxBsG,gBAAAA,EAAAA,cAAA,GAAWD,GAAQ,GAAA,CAAE5G,EAAIO,OAAM,GAE/BmG,GACAE,EAASI,OAAOF,EAAW,GACpBF,GAEJD,KAGXjB,IACAtB,EAAe,IAGb6C,EAAe5G,EAAAA,SAAQ,WACzB,IAcI6G,EAAWtG,eAAawC,GAAOyD,EAAAA,cAAA,GAAKzD,GAAI,GAAI,GAKhD,OAFA8D,EAAWA,MAAAA,OAAQ,EAARA,EAAU5G,QAjBD,SAAC6G,GACb,IAACvG,EAAAA,aAAa+C,GAAc,GAAQ,OAAO,EAC/C,IAAKwD,EAAKtI,KAAM,OAAO,EAGvB,IADIuI,IAAAA,GAAU,EACLtG,EAAI,EAAGA,EAAIqG,EAAKtI,KAAK+F,OAAQ9D,IAClC,IAAuD,IAAnD6C,EAAaoD,QAAQI,EAAKtI,KAAKiC,GAAGP,MAAQ,IAAY,CACtD6G,GAAU,EACV,MAGR,OAAOA,OASZ,CAAChE,EAAMO,IAEJ0D,EAA0BhH,EAAAA,SAAQ,WAEhC,OAAA4G,MAAAA,OAAA,EAAAA,EAAc3G,QAAO,SAACgH,EAAGxG,GAAM,OAAAA,EAAIqD,EAAcH,OAAgB,KAEtE,CAACiD,EAAcjD,EAAaG,IAE/BgC,EAAAA,WAAU,WAEF,GAAC1B,EAAD,CAEJ,IACI8C,EADEC,EAAUjD,EAAUkD,QAG1B,GAAID,EAAS,EAMTD,EAAW,IAAIG,sBAAqB,SAACC,GACjC,IAAMC,EAAQD,EAAQ,IAClBC,MAAAA,SAAAA,EAAOC,iBAGH1D,EACAe,KAAK4C,KAAKb,EAAarC,OAASZ,IAEhCI,GAAe,SAACuC,GAASA,OAAAA,EAAO,OAb5B,CACZoB,WAAY,oBACZC,UAAW,KAeNC,QAAQT,GAGrB,OAAO,WACCD,GAAUA,EAASW,iBAE5B,CACClE,EACAW,EACAR,EACAM,EACAwC,EAAarC,SAGjB,IAAMxE,GAAeC,EAAAA,SAAQ,WACzB,OAAOxB,MAAAA,OAAA,EAAAA,EAAMyB,QAAO,SAACN,GAAQ,OAAAA,OAC9B,CAACnB,IAEJ,OACI7C,EAAA,QAAAM,cAACL,UAAO,CACJC,eAAa,EACbiH,SAAUA,EACVhH,QACIlC,EACM4B,EAAOO,UAAU9B,KACjByB,EACAF,EAAOO,UAAUvB,OACjBgB,EAAOO,UAAU/B,MAE3BuB,OAAQS,EAAAA,YAAYT,GAAQ,IAE5BI,EAAC,QAAAM,cAAAC,WAAQE,eAAa,GACjBmE,eAAaR,IAAc,IACxBpE,wBAACuF,GAAY,KACTvF,UAAAM,cAAC4F,GAAU,CACPnF,KAAK,QACLF,KAAK,OACL5C,WAAYA,GAEZ+B,EAAAA,QAAAM,cAAC6L,EAAAA,OAAS,MACVnM,EAAA,QAAAM,cAAA,OAAA,KAAA,WAEH8D,GAAaS,KAAI,SAACb,EAAKc,GAAM,OAC1B9E,EAAA,QAAAM,cAACkF,GAAW,CAAAT,IAAKD,GACZzB,EACGA,EAAU,CACN0B,IAAKD,EACLP,KAAMP,EACN/F,WAAYA,EACZ+G,UACmC,IAA/B2C,EAAaoD,QAAQ/G,GACzBiB,aAAc,SAAChB,GACXA,MAAAA,GAAAA,EAAIC,iBACCpB,EAEEA,EAAW,CAAEyB,KAAMP,IADtBD,EAAe,CAAEQ,KAAMP,OAKnChE,EAAAA,QAACM,cAAA4E,MACG,CAAAjH,WAAYA,EACZkH,QAAS,SAAClB,GACNA,MAAAA,GAAAA,EAAIC,iBACCpB,EAGDA,EACI,CAAEyB,KAAMP,IACR,GAJJD,EAAe,CAAEQ,KAAMP,KAO/BgB,UACmC,IAA/B2C,EAAaoD,QAAQ/G,IAGxBA,QAOzBhE,UAACM,cAAAmF,QACI4F,EAAYxG,KAAI,SAACsG,EAAMrG,SAAM,OAC1B9E,EAAA,QAAAM,cAACqF,GAAQ,CAACZ,IAAK,GAAGgC,OAAAjC,EAAU,UAAAiC,OAAAoE,EAAKnI,QAC7BhD,UAAAM,cAACoC,GAAQ+B,WAAA,CACL1E,MAAOA,GAAS9B,EAChB2E,IAAK4G,EAAS1E,IACVqG,EAAI,CACRtI,KAAiB,QAAX7E,EAAAmN,EAAKtI,YAAM,IAAA7E,OAAA,EAAAA,EAAA6G,KAAI,SAACb,GAAS,MAAA,CAC3BO,KAAMP,EAAIO,SAEdtG,WAAYA,EACZ6E,WAAY,SAACkB,GAET6E,EAAU,GACL/F,EAODA,EAAW,CAAEyB,KAAMP,EAAIO,OAAQ,GAL/BR,EACI,CAAEQ,KAAMP,EAAIO,OACZ,IAMZlB,UAAWA,UAK3BrD,EAAAA,QAAKM,cAAA,MAAA,CAAAsC,IAAK2F,KACRE,GACEzI,EAAA,QAAAM,cAACwF,GAAU,KACNsB,GAAQA,EAAKwB,OAAS,GACnB5I,EAAAA,QAAAM,cAAClB,EAAAA,KAAI,CACDyB,KAAK,OACLE,KAAK,SACL9C,WAAYA,GAEZ+B,EAAC,QAAAM,cAAAyF,GACG,CAAAE,UAAWmB,EAAKwB,OAChBzD,QAAS,SAAClB,GACNA,EAAGC,iBAECiE,EACAe,KAAK4C,KACDb,EAAarC,OACTZ,IAGRI,GAAe,SAACuC,GAASA,OAAAA,EAAO,OAIvCxC,EACG8C,EAAarC,OAASZ,GACtBhI,EAAAA,QAACM,cAAA8L,EAAOA,QAACpL,MACLqL,GAAG,SACHpO,WAAYA,GAEZ+B,UAAAM,cAAC8L,EAAOA,QAACE,MAAK,KACThF,GACG,0BCtXrC9H,GAAAA,EAAAA,cAxGV,SAACxB,OAAEmJ,EAAQnJ,EAAAmJ,SAAEC,EAAIpJ,EAAAoJ,KAAExH,EAAM5B,EAAA4B,OAAEyD,EAASrF,EAAAqF,UAC/BkE,EAAoBzH,EAAAA,cAAlBD,EAAM0H,EAAA1H,OAAE3B,EAAKqJ,EAAArJ,MACfyK,GAAYvB,MAAAA,OAAA,EAAAA,EAAMwB,SAAU,EAE5B3K,EAAwB,aAAX2B,EACbG,EAAmB,SAAXH,EAGRiI,EAAYC,gBADU,CAAC,QAAS,cAEhCN,EAAgCC,EAAQA,SAAC,GAAxCO,EAAWR,EAAA,GAAES,EAAcT,EAAA,GAC5BO,EAAgCN,EAAQA,SAAC,GAAxCU,EAAWJ,EAAA,GAAEK,EAAcL,EAAA,GAEfyB,EAAaR,EAAAA,oBAAoC,CAChEC,WAAYC,KAAKC,IAAIhB,EAAcH,EAAaW,GAChDS,YAAa,CACT,sBACA,uBACA,uBAEJC,WAAY,CACR7E,MAAO,EACP3F,OAAQ,EACRyK,UAAW,EACXzD,MAAO,EACP0D,OAAQ,eAoBhB,OAhBAY,EAAAA,WAAU,WACN,OAAQtC,GACJ,IAAK,YACDI,EAAe,GACf,MAEJ,IAAK,QACDA,EAAe,GACXE,EAAc,GAAGC,EAAe,GACpC,MAEJ,QACIH,EAAe,MAExB,CAACJ,EAAWM,IAGXnI,EAAA,QAAAM,cAACL,UAAO,CACJC,eAAa,EACbiH,SAAUA,EACVhH,QACIlC,EACM4B,EAAOO,UAAU9B,KACjByB,EACAF,EAAOO,UAAUvB,OACjBgB,EAAOO,UAAU/B,MAE3BuB,OAAQS,EAAAA,YAAYT,GAAQ,IAE5BI,EAAA,QAAAM,cAACC,UAAQ,CAAAE,eAAc,EAAAD,WAAW,SAC9BR,EAAAA,QAAAM,cAACiM,EAAAA,KAAKC,IAAG,KACJpF,MAAAA,OAAI,EAAJA,EACK9C,QAAO,SAACgH,EAAGxG,GAAM,OAAAA,EAAIqD,EAAcH,KACpCnD,KAAI,SAACsG,EAAMrG,SAAM,OACd9E,UAACM,cAAAiM,EAAIA,KAACE,KACF5N,OAAQ,CAAEmH,KAAM,IAChBjB,IAAK,GAAAgC,OAAGjC,EAAU,UAAAiC,OAAAoE,EAAKnI,QAEvBhD,UAACM,cAAAoC,GACG+B,WAAA,CAAAM,IAAKD,EACLlC,IAAK4G,EAAS1E,IACVqG,EAAI,CACRtI,KAAiB,QAAX7E,EAAAmN,EAAKtI,YAAM,IAAA7E,OAAA,EAAAA,EAAA6G,KAAI,SAACb,WACd0I,OACAvI,EAUG,OARHH,EAAIO,OAAgB,QAARvG,EAAAgG,EAAIb,YAAI,IAAAnF,OAAA,EAAAA,EAAE2O,QACtBD,EAAUvG,GACNnC,EAAIb,KAAKwJ,KACTzO,EACA,CAAC8F,EAAIO,QAIN,CACHA,KAAMP,EAAIO,KACVpB,cAAMoE,EAAAvD,EAAIb,2BAAMwJ,MACXlI,EAAAA,SAAAA,EAAAA,SAAA,GACQT,EAAIb,MAAI,CACXwJ,KAAMD,SAEVvI,MAGdlG,WAAYA,EACZoF,UAAWA,eCxHzClC,GAAc1D,EAAM,QAAC2D,SAAVzD,WAAA,CAAAC,YAAA,0BAAAC,YAAA,gBAAGJ,CAAaK,KAAAA,GAAAC,EAAAA,qBAAA,CAAA,0CAAA,yGAAA,CAAA,0CAEoC,4GAAhD,SAACC,GAAE,IAAAE,EAAKF,EAAAE,MAAO,OAAAmD,aAAOnD,GAAOoD,SAASC,cAmG3DqL,GAAepN,EAAYA,cA5EtB,SAACxB,SAAEmJ,aAAU0F,EAAM7O,EAAA6O,OAAEjN,EAAM5B,EAAA4B,OACpBC,EAAWC,uBAEb7B,EAAwB,aAAX2B,EACbG,EAAmB,SAAXH,EAEd,OACII,EAAA,QAAAM,cAACL,UAAO,CACJC,eAAa,EACbiH,SAAUA,EACVhH,QACIlC,EACM4B,EAAOO,UAAU9B,KACjByB,EACAF,EAAOO,UAAUvB,OACjBgB,EAAOO,UAAU/B,MAE3BuB,OAAQS,EAAAA,YAAYT,GAAQ,IAE5BI,EAAA,QAAAM,cAACC,UAAQ,CAAAC,WAAW,QAAQC,eAAa,GACrCT,EAAAA,QAAAM,cAACiM,EAAIA,KAACC,SAE8B,QAD/BjF,EAAAsF,MAAAA,OAAM,EAANA,EACKvI,QAAO,SAACvF,GAAQA,OAAAA,EAAIyF,gBAAM,IAAA+C,OAAA,EAAAA,EAC1B1C,KAAI,SAAC9F,EAAK+F,GAAM,OACd9E,wBAACuM,EAAIA,KAACE,IACF,CAAA1H,IAAKD,EACLwE,UAAW,CACPtD,KAAMjH,EAAI+N,OAAS,EAAU,KAGjC9M,EAAAA,QAAAM,cAACa,GACOsD,EAAAA,SAAA,GAAA1F,GACJ4F,YAAU,EACV1G,WAAYA,eCrD1C8O,GAAUtP,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,qBAAAC,YAAA,eAAGJ,4FAAU,0CAEc,kBAAD,EAAjBe,EAAQA,SAACc,OAIzB0N,GAAYvP,EAAM,QAAC2B,QAAVzB,WAAA,CAAAC,YAAA,uBAAAC,YAAA,eAAGJ,CAAYkB,KAAAA,GAAAZ,EAAAA,qBAAA,CAAA,kKAAA,4BAAA,+IAAA,2BAAA,CAAA,kKAQU,4BAGlB,+IAMuB,6BATN,EAAjBS,EAAQA,SAACc,MAGlBV,EAAEA,GAACC,OAM4B,EAAjBL,EAAAA,SAASc,OAK9B4C,GAAOzE,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,kBAAAC,YAAA,eAAGJ,CAAUuB,KAAAA,GAAAjB,EAAAA,qBAAA,CAAA,sFAAA,0BAAA,SAAA,CAAA,sFAKU,0BACC,WADfS,EAAQA,SAACc,MACRd,EAAAA,SAASc,OAGvBkG,GAAa/H,EAAAA,QAAOuI,KAAVrI,WAAA,CAAAC,YAAA,wBAAAC,YAAA,eAAGJ,CAAWyB,KAAAA,GAAAnB,EAAAA,qBAAA,CAAA,kDAAA,0BAAA,SAAA,CAAA,kDAEG,0BACC,WADfS,EAAQA,SAACc,MACRd,EAAAA,SAASc,OAGvB2N,GAAYxP,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,uBAAAC,YAAA,eAAGJ,iUAAU,+QAYa,kBAAD,EAAjBe,EAAQA,SAACc,OAI1B4N,GAAczP,EAAM,QAAC0P,SAAVxP,WAAA,CAAAC,YAAA,yBAAAC,YAAA,eAAGJ,CAAuCwE,KAAAA,GAAAlE,EAAAA,qBAAA,CAAA,oBAAA,OAAA,CAAA,oBAEG,UAD7C,SAACC,GACVoP,OADsBpP,EAAAoP,YACP,GAAK,GAAM5O,EAAAA,SAAS6O,aAAe,QAGpDC,GAAe7P,EAAM,QAAC2B,QAAVzB,WAAA,CAAAC,YAAA,0BAAAC,YAAA,eAAGJ,CAGnB0E,KAAAA,GAAApE,EAAAA,qBAAA,CAAA,sCAAA,qBAAA,uDAAA,gBAAA,CAAA,sCAEsD,qBAEA,uDAGlB,mBALxB,SAACC,GAAmBuP,OAAPvP,EAAAuP,YAAqB,YAC/B,SAACvP,GACVwP,OADqBxP,EAAAwP,WACP,GAAK,GAAMhP,EAAAA,SAASiP,QAAU,OAG7BjP,EAAAA,SAASC,QA2IhCiP,GAAelO,EAAYA,cAzGtB,SAACxB,OAAEmJ,EAAQnJ,EAAAmJ,SAAEtE,EAAI7E,EAAA6E,KAAE8K,EAAI3P,EAAA2P,KAAE3K,EAAKhF,EAAAgF,MAAEC,EAAIjF,EAAAiF,KAAEC,EAAKlF,EAAAkF,MAAEtD,EAAM5B,EAAA4B,OAAEyD,EAASrF,EAAAqF,UACzDkE,EAA6BzH,EAAAA,cAA3ByD,EAAOgE,EAAAhE,QAAE1D,EAAM0H,EAAA1H,OAAE3B,EAAKqJ,EAAArJ,MACxBD,EAAwB,aAAX2B,EACbG,EAAmB,SAAXH,EAEV4D,EAAc,IACdmK,MAAAA,SAAAA,EAAMC,QAQNpK,EAPkB,IAAIC,EAAJA,gBACdkK,EAAKC,KAAKlK,UACV,GACAH,EAAQjC,SAASqC,eAAegK,EAAKC,MACrCrK,EAAQjC,SAASsC,eAAe+J,EAAKC,MACrCrK,EAAQjC,SAASuC,eAEGC,oBAG5B,OACI9D,EAAA,QAAAM,cAACL,UAAO,CACJC,eAAa,EACbiH,SAAUA,EACVhH,QACIlC,EACM4B,EAAOO,UAAU9B,KACjByB,EACAF,EAAOO,UAAUvB,OACjBgB,EAAOO,UAAU/B,MAE3BuB,OAAQS,EAAAA,YAAYT,GAAQ,IAE5BI,EAAA,QAAAM,cAACC,UAAQ,CAAAC,WAAW,QAAQC,eAAa,GACrCT,EAAAA,QAAAM,cAACyM,GAAO,KACJ/M,EAAA,QAAAM,cAAC0M,GAAS,CAAC/O,WAAYA,GACnB+B,EAAAA,QAAAM,cAAC4B,GAAI,KACAW,MAAAA,OAAI,EAAJA,EAAMgC,KAAI,SAACb,EAAKc,SACT+I,OAAiC1J,EAarC,OAXIH,EAAIO,OAAgB,QAARvG,EAAAgG,EAAIb,YAAI,IAAAnF,OAAA,EAAAA,EAAE2O,QACtBkB,EAAOpJ,EAAAA,SAAAA,EAAAA,SAAA,GACAT,EAAIb,MAAI,CACXwJ,KAAMxG,GACFnC,EAAIb,KAAKwJ,KACTzO,EACA,CAAC8F,EAAIO,UAMbvE,EAAC,QAAAM,cAAAkF,GAAW,CAAAT,IAAK,WAAWgC,OAAAjC,IACvBzB,EACGA,EAAU,CACN0B,IAAK,WAAWgC,OAAAjC,GAChBP,KAAMP,EAAIO,MAAQ,GAClBtG,WAAYA,EACZ+G,UAAU,EACV7B,KAAM0K,IAGV7N,EAAAA,QAACM,cAAA4E,MACG,CAAA/B,KAAM0K,EACN5P,WAAYA,GAEX+F,EAAIO,YAO3Bf,IAAemK,MAAAA,OAAA,EAAAA,EAAMjO,UACnBM,EAAAA,sBAACiN,GAAS,MACLU,MAAAA,OAAA,EAAAA,EAAMjO,SAAUM,EAAM,QAAAM,cAAA,MAAA,KAAAqN,MAAAA,OAAI,EAAJA,EAAMjO,QAC5B8D,GAAexD,EAAAA,QAAMM,cAAA,MAAA,KAAAkD,KAIlCxD,EAAAA,QAAAM,cAAA,MAAA,KACIN,UAAAM,cAAC4M,GACG,CAAAY,UAAW7P,EAAa,WAAa,UACrC+E,MAAOA,IAEVC,GACGjD,UAAAM,cAACgN,GACG,CAAArP,WAAYA,EACZ4C,KAAK,SACLyE,UAAWrC,MAItBC,MAAAA,OAAA,EAAAA,EAAOsB,QACJxE,EAAAA,QAACM,cAAAc,EAADA,MACQqD,EAAAA,SAAA,GAAAvB,EACJ,CAAAyB,YACA,EAAAoJ,iBACA,EAAA9P,WAAYA,WC7MlCwH,GAAOhI,EAAAA,QAAOiI,GAAV/H,WAAA,CAAAC,YAAA,iBAAAC,YAAA,eAAGJ,CAASK,KAAAA,GAAAC,EAAAA,qBAAA,CAAA,6DAAA,0BAAA,kKAAA,CAAA,6DAGe,0BACF,oKADC,EAAjBS,EAAQA,SAACc,MACRd,EAAAA,SAASC,QAWvBkH,GAAWlI,EAAAA,QAAOmI,GAAVjI,WAAA,CAAAC,YAAA,qBAAAC,YAAA,eAAGJ,CAASkB,KAAAA,GAAAZ,EAAAA,qBAAA,CAAA,sBAAA,0BAAA,gEAAA,4EAAA,sEAAA,CAAA,sBACW,0BACF,gEAIb,4EAKD,wEAVe,EAAjBS,EAAQA,SAACc,MACRd,WAASC,OAIhBG,EAAAA,GAAGC,OAKHD,EAAEA,GAACiH,OAkHhBmI,GAAexO,EAAYA,cAlFtB,SAACxB,GAAE,IAAAmJ,aAAUI,EAAAvJ,EAAAiQ,KAAAA,aAAO,QAAO1G,EAAEH,SAAMxH,EAAM5B,EAAA4B,OAAEyD,EAASrF,EAAAqF,UAC/CmE,EAAoB1H,EAAAA,cAAlBD,EAAM2H,EAAA3H,OAAE3B,EAAKsJ,EAAAtJ,MAEfgQ,EAAQ7J,EAAAA,SAAyB,WACnC,OAAK+C,EACQ,aAAT6G,EAA4B7G,EAAK+G,MAAM,EAAG,GAClC/G,EAAK+G,MAAM,EAAG,GAFR,KAGnB,CAAC/G,EAAM6G,IAEJhQ,EAAwB,aAAX2B,EACbG,EAAmB,SAAXH,EAEK4J,EAAaR,EAAAA,oBAAoC,CAChEC,WAAYiF,EAAMtF,OAClBQ,YAAa,CACT,sBACA,uBACA,uBAEJC,WAAY,CACR7E,MAAO,EACP3F,OAAQ,EACRyK,UAAW,EACXzD,MAAO,EACP0D,OAAQ,eAIhB,OACIvJ,EAAA,QAAAM,cAACL,UAAO,CACJC,eAAa,EACbiH,SAAUA,EACVhH,QACIlC,EACM4B,EAAOO,UAAU9B,KACjByB,EACAF,EAAOO,UAAUvB,OACjBgB,EAAOO,UAAU/B,MAE3BuB,OAAQS,EAAAA,YAAYT,GAAQ,IAE5BI,EAAC,QAAAM,cAAAC,WAAQE,eAAa,GAClBT,EAAAA,QAAAM,cAACmF,GAAI,KACAyI,MAAAA,OAAK,EAALA,EAAOrJ,KAAI,SAACsG,EAAMrG,SAAM,OACrB9E,EAAC,QAAAM,cAAAqF,GAAS,CAAAZ,IAAKD,GACX9E,UAAAM,cAACoC,GAAQ+B,WAAA,CACLM,IAAKD,EACLlC,IAAK4G,EAAS1E,IACVqG,EACJ,CAAAlN,WAAYA,EACZ4E,KAAe,QAAT7E,EAAAmN,EAAKtI,YAAI,IAAA7E,OAAA,EAAAA,EAAE6G,KAAI,SAACb,WACd0I,OAA8BvI,EAU3B,OARHH,EAAIO,OAAgB,QAARvG,EAAAgG,EAAIb,YAAI,IAAAnF,OAAA,EAAAA,EAAE2O,QACtBD,EAAUvG,GACNnC,EAAIb,KAAKwJ,KACTzO,EACA,CAAC8F,EAAIO,QAIN,CACHA,KAAMP,EAAIO,KACVpB,cAAMoE,EAAAvD,EAAIb,2BAAMwJ,MACXlI,EAAAA,SAAAA,EAAAA,SAAA,GACQT,EAAIb,MAAI,CACXwJ,KAAMD,SAEVvI,MAGdd,UAAWA,eCrIrC+K,GAAmB3Q,EAAM,QAACwC,WAAVtC,WAAA,CAAAC,YAAA,8BAAAC,YAAA,eAAGJ,CAAeK,KAAAA,GAAAC,uBAAA,CAAA,4BAAA,CAAA,+BAIlCsQ,GAAe5Q,EAAM,QAAC8C,WAAV5C,WAAA,CAAAC,YAAA,0BAAAC,YAAA,eAAGJ,CAAekB,KAAAA,GAAAZ,EAAAA,qBAAA,CAAA,0CAAA,gBAAA,CAAA,0CAEC,kBAAfS,EAAQA,SAACC,QAgD/B6P,GAAe9O,EAAYA,cAnCtB,SAACxB,GAAE,IAAAmJ,aAAUvH,EAAM5B,EAAA4B,OAAE2O,EAAUvQ,EAAAuQ,WACxB1O,EAAWC,uBACb7B,EAAwB,aAAX2B,EACbG,EAAmB,SAAXH,GAAqB3B,EAEnC,OACI+B,EAAA,QAAAM,cAAC8N,GAAgB,CACblO,eAAa,EACbiH,SAAUA,EACVhH,QACIlC,EACM4B,EAAOO,UAAU9B,KACjByB,EACAF,EAAOO,UAAUvB,OACjBgB,EAAOO,UAAU/B,MAE3BuB,OAAQS,EAAAA,YAAYT,GAAQ,IAE5BI,EAAA,QAAAM,cAAC+N,GAAY,CAAC7N,WAAW,SACpB+N,EAAW1J,KAAI,SAACsG,EAAMrG,GAEf9E,OAAAA,EAAAA,QAACM,cAAAkO,EAAAA,yBACOrD,EAAI,CACRpG,IAAKD,EACL2J,QAAS1O,EACT9B,WAAYA,aC5ClCqP,GAAe7P,EAAM,QAAC2B,QAAVzB,WAAA,CAAAC,YAAA,yBAAAC,YAAA,eAAGJ,CAGnBK,KAAAA,GAAAC,EAAAA,qBAAA,CAAA,sCAAA,qBAAA,uDAAA,gBAAA,CAAA,sCAEsD,qBAEK,uDAGpB,mBAL3B,SAACC,GAAmBuP,OAAPvP,EAAAuP,YAAqB,YAC/B,SAACvP,GACVwP,OADqBxP,EAAAwP,WACP,GAAK,GAAMhP,EAAAA,SAAS6O,aAAe,OAGjB,EAAjB7O,EAAQA,SAACc,OA6ChCoP,GAAelP,EAAYA,cAhCtB,SAACxB,GAAE,IAAAmJ,aAAUlE,EAAIjF,EAAAiF,KAAErD,EAAM5B,EAAA4B,OAClBC,EAAWC,uBACb7B,EAAwB,aAAX2B,EACbG,EAAmB,SAAXH,EAEd,OACII,EAAA,QAAAM,cAACL,UAAO,CACJC,eAAa,EACbiH,SAAUA,EACVhH,QACIlC,EACM4B,EAAOO,UAAU9B,KACjByB,EACAF,EAAOO,UAAUvB,OACjBgB,EAAOO,UAAU/B,MAE3BuB,OAAQS,EAAAA,YAAYT,GAAQ,IAE5BI,EAAA,QAAAM,cAACC,UAAO,CAACC,WAAW,QAAQC,eAAa,GACpCwC,GACGjD,EAAAA,QAAAM,cAACgN,GACG,CAAArP,WAAYA,EACZ4C,KAAK,OACLyE,UAAWrC,SCoBpBzD,GAAAA,EAAAA,cA3CV,SAACxB,GACF,IAAAmJ,aACAwH,YACAC,YACAC,EAAQ7Q,EAAA6Q,SACRC,EAAW9Q,EAAA8Q,YACXC,EAAa/Q,EAAA+Q,cACbnP,EAAM5B,EAAA4B,OAEEC,EAAWC,uBAEb7B,EAAwB,aAAX2B,EACbG,EAAmB,SAAXH,EAEd,OACII,EAAA,QAAAM,cAACL,UAAO,CACJC,eAAa,EACbiH,SAAUA,EACVhH,QACIlC,EACM4B,EAAOO,UAAU9B,KACjByB,EACAF,EAAOO,UAAUvB,OACjBgB,EAAOO,UAAU/B,MAE3BuB,OAAQS,EAAAA,YAAYT,GAAQ,IAE5BI,EAAA,QAAAM,cAACC,UAAQ,CAAAE,iBAAcD,WAAW,SAC7BoO,GAAWD,GACR3O,UAAAM,cAAC0O,EAAAA,UACG,CAAAL,QAASA,EACTC,QAASA,EACTC,SAAUA,EACVC,YAAaA,EACbC,cAAeA"}
1
+ {"version":3,"file":"sections.news.js","sources":["../src/components/sections/news/NewsAuthorCard.tsx","../src/components/blocks/NewsCard.tsx","../src/components/sections/news/NewsOverview.tsx","../src/components/sections/news/NewsFooter.tsx","../src/components/sections/news/NewsImages.tsx","../src/components/sections/news/NewsIntro.tsx","../src/components/sections/news/NewsList.tsx","../src/components/sections/news/NewsTable.tsx","../src/components/sections/news/NewsText.tsx","../src/components/sections/news/NewsVideo.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst Seperator = styled.div<{ isInverted?: boolean; isTop?: boolean }>`\n border-bottom: solid 1px\n ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n\n margin-top: ${({ isTop }) => !isTop && spacings.spacer}px;\n margin-bottom: ${({ isTop }) => isTop && spacings.spacer}px;\n`;\n\nconst AuthorContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n flex-direction: row;\n justify-content: flex-start;\n text-align: left;\n\n & > * + * {\n margin-top: 0;\n margin-left: ${spacings.spacer}px;\n }\n }\n`;\n\nconst Avatar = styled.img`\n border-radius: 50%; ;\n`;\n\nconst Author = styled.div``;\n\nconst StyledCopy = styled(Copy)`\n text-transform: uppercase;\n margin-bottom: ${spacings.nudge * 3}px;\n`;\n\nconst NewsAuthorCard: React.FC<{\n /** Text above author name */\n label?: string;\n\n /** Article's author name */\n author?: string;\n\n /** Author avatar image */\n avatar?: { src: string; alt?: string };\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ label, author, avatar, bgMode }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\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 clampWidth=\"small\" addWhitespace>\n {author && (\n <React.Fragment>\n <Seperator isTop isInverted={isInverted} />\n <AuthorContainer>\n {avatar && (\n <Avatar src={avatar.src} alt={avatar.alt} />\n )}\n <Author>\n {author && (\n <StyledCopy\n isInverted={isInverted}\n type=\"copy-b\"\n >\n {label || 'Written By'}\n </StyledCopy>\n )}\n <Heading\n isInverted={isInverted}\n size=\"heading-2\"\n >\n {author}\n </Heading>\n </Author>\n </AuthorContainer>\n </React.Fragment>\n )}\n <Seperator isInverted={isInverted} />\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsAuthorCardComponent = NewsAuthorCard;\nexport default withLibTheme(NewsAuthorCard);\n","import React, { forwardRef, useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport {\n spacings,\n getGlobals as global,\n getFonts as font,\n getColors,\n} from 'utils/styles';\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport StatusFormatter from 'utils/statusFormatter';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport { isValidArray } from 'utils/arrays';\n\nconst View = styled.div`\n position: relative;\n text-decoration: none;\n margin: 0;\n padding: 0;\n`;\n\nconst ImageLink = styled(Link)`\n display: block;\n width: 100%;\n`;\n\nconst StyledImage = styled(Image)`\n overflow: hidden;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n`;\n\nconst BorderPlaceholder = styled.div<{ hasBg?: boolean }>`\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg\n ? getColors(theme).elementBg.light\n : getColors(theme).elementBg.medium};\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 Head = styled.div`\n display: flex;\n\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n &:not(:last-child) {\n margin-bottom: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Tags = styled.div`\n display: flex;\n overflow: scroll;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst PublishDate = styled(Copy)`\n &:only-child {\n margin-left: auto;\n }\n`;\n\nconst Main = styled.div`\n max-width: 95%;\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Text = styled(Copy)`\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 6; /* number of lines to show */\n line-clamp: 6;\n -webkit-box-orient: vertical;\n\n & > * {\n margin: 0 !important;\n }\n\n & > p:not(:first-of-type) {\n display: none;\n }\n\n & > ul,\n & > ol,\n & > table {\n display: none;\n }\n`;\n\nconst Action = styled.div`\n margin-top: ${spacings.nudge * 3}px;\n`;\n\nexport interface NewsCardProps {\n /** Invert text and background for use on dark sections */\n isInverted?: boolean;\n\n /** News tag name */\n tags?: TagProps[];\n\n /** News publish date */\n publishDate?: Date;\n\n /** News title */\n title?: string;\n\n /** News text */\n text?: string;\n\n /** News image settings */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /** News link settings */\n link?: LinkProps;\n\n /** Callback function if tag in news iten has been clicked */\n onTagClick?: (tag: TagProps) => void;\n\n /** Function to inject primary action */\n action?: (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<HTMLAnchorElement>) => void;\n }) => React.ReactNode;\n\n hasBg?: boolean;\n}\n\nconst NewsCard = forwardRef<\n HTMLDivElement,\n NewsCardProps & {\n className?: string;\n }\n>(\n (\n {\n tags,\n onTagClick,\n publishDate,\n title,\n text,\n image,\n link,\n isInverted,\n action,\n customTag,\n className,\n hasBg,\n },\n ref\n ) => {\n const { globals } = useLibTheme();\n\n let publishedAt = '';\n if (publishDate) {\n const formatter = new StatusFormatter(\n publishDate.getTime(),\n '',\n globals.sections.newsDateFormat(publishDate),\n globals.sections.newsTimeFormat(publishDate),\n globals.sections.newsLocaleKey\n );\n publishedAt = formatter.getFormattedDate();\n }\n\n const handleTagClick = (tag: TagProps) =>\n onTagClick\n ? (ev?: React.SyntheticEvent<HTMLAnchorElement>) => {\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 return (\n <View ref={ref} className={className}>\n {image?.small ? (\n <ImageLink {...link} ariaLabel={title}>\n <StyledImage\n {...image}\n coverSpace\n isInverted={isInverted}\n />\n </ImageLink>\n ) : (\n <BorderPlaceholder hasBg={hasBg} />\n )}\n <Head data-sheet=\"head\">\n {isValidArray(filteredTags, false) && (\n <Tags>\n {filteredTags.map((tag, i) => {\n if (customTag) {\n return customTag({\n key: i,\n name: tag.name || '',\n isInverted: isInverted,\n isActive: false,\n link: tag.link,\n clickHandler: handleTagClick(tag),\n });\n } else {\n return (\n <Tag\n key={i}\n isInverted={isInverted}\n name={tag.name}\n link={tag.link}\n onClick={handleTagClick(tag)}\n />\n );\n }\n })}\n </Tags>\n )}\n {publishedAt && (\n <PublishDate\n size=\"small\"\n renderAs=\"div\"\n isInverted={isInverted}\n >\n {publishedAt}\n </PublishDate>\n )}\n </Head>\n <Main>\n {title && (\n <TitleLink\n {...link}\n ariaLabel={title}\n isInverted={isInverted}\n dataSheet=\"title\"\n >\n {title}\n </TitleLink>\n )}\n {text && (\n <Text\n isInverted={isInverted}\n type=\"copy\"\n innerHTML={text}\n data-sheet=\"text\"\n size=\"medium\"\n />\n )}\n </Main>\n {action && <Action>{action(isInverted)}</Action>}\n </View>\n );\n }\n);\n\nNewsCard.displayName = 'NewsCard';\n\nexport default NewsCard;\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\n\nimport NewsCard, { NewsCardProps } from 'components/blocks/NewsCard';\nimport { mq, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport { useMediaQuery } from 'utils/useMediaQuery';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport Copy from 'components/typography/Copy';\nimport { useScrollTo } from 'utils/useScrollTo';\nimport Pointer from 'components/buttons/Pointer';\nimport { isValidArray } from 'utils/arrays';\nimport { deleteUrlParam, getUrlParams, setUrlParam } from 'utils/urlParams';\nimport Filter from 'components/base/icons/Filter';\nimport useUpdateEffect from 'utils/useUpdateEffect';\nimport useMounted from 'utils/useMounted';\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 News = styled.ul`\n list-style: none;\n margin: 0;\n margin-top: -${spacings.nudge * 6}px;\n margin-left: -${spacings.spacer}px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n`;\n\nconst NewsItem = styled.li`\n padding-top: ${spacings.nudge * 6}px;\n padding-left: ${spacings.spacer}px;\n flex: 1 0 100%;\n\n @media ${mq.medium} {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media ${mq.large} {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\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\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\nexport const getNewsFilterParams = (\n url: string,\n theme: DefaultTheme,\n tags: string[] = []\n) => {\n if (!url) return '';\n if (!isValidArray(tags, false)) return url;\n\n const filterName = theme.globals.sections.newsFilterName;\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\ntype NewsOverviewMq = 'small' | 'semilarge' | 'large';\n\nexport type NewsItem = Omit<\n NewsCardProps,\n 'customTag' | 'isInverted' | 'onTagClick'\n>;\n\nconst NewsOverview: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of news item settings */\n news?: NewsItem[];\n\n /** Tags for news 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 anchorId,\n news,\n tags,\n initial,\n showMoreText,\n bgMode,\n\n onTagClick,\n customTag,\n}) => {\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.newsFilterName;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const [selectedTags, setSelectedTags] = useState<string[]>(\n initial?.activeTags || []\n );\n\n const mqs: NewsOverviewMq[] = ['small', 'semilarge', 'large'];\n const currentMq = useMediaQuery(mqs) as NewsOverviewMq | undefined;\n const [itemsPerRow, setItemsPerRow] = useState(3);\n const [visibleRows, setVisibleRows] = useState(initial?.visibleRows || 3);\n const isMounted = useMounted();\n\n const targetRef = useRef<HTMLDivElement>(null);\n const observerSupported = useObserverSupport();\n\n const newsCount = news?.length || 0;\n\n const setNewPos = useScrollTo(800);\n const { sheetRefs: cardRefs, triggerCalculation } =\n useEqualSheetHeight<HTMLDivElement>({\n listLength: Math.min(visibleRows * itemsPerRow, newsCount),\n identifiers: [\n '[data-sheet=\"head\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n },\n });\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 const paramRows = parseInt(getUrlParams()['rows']);\n\n setVisibleRows(paramRows || 3);\n\n if (isValidArray(paramTags, false)) {\n setSelectedTags(paramTags);\n }\n\n // trigger equal sheet height recalculation\n triggerCalculation();\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 useEffect(() => {\n switch (currentMq) {\n case 'large':\n setItemsPerRow(3);\n break;\n\n case 'semilarge':\n setItemsPerRow(2);\n break;\n\n case 'small':\n setItemsPerRow(1);\n if (visibleRows < 3) setVisibleRows(3);\n break;\n\n default:\n setItemsPerRow(1);\n }\n }, [currentMq, visibleRows]);\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 // trigger equal sheet height recalculation\n triggerCalculation();\n setVisibleRows(3);\n };\n\n const filteredNews = useMemo(() => {\n const tagFilterFn = (item: NewsItem) => {\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(news) ? [...news] : [];\n\n // adding filter\n filtered = filtered?.filter(tagFilterFn);\n\n return filtered;\n }, [news, selectedTags]);\n\n const visibleNews: NewsItem[] = useMemo(() => {\n return (\n filteredNews?.filter((_, i) => i < visibleRows * itemsPerRow) || []\n );\n }, [filteredNews, 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 news\n if (\n visibleRows <\n Math.ceil(filteredNews.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 newsCount,\n visibleRows,\n observerSupported,\n filteredNews.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 : colors.sectionBg.light\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 <News>\n {visibleNews.map((item, i) => (\n <NewsItem key={`${i}_news_${item.title}`}>\n <NewsCard\n hasBg={hasBg || isInverted}\n ref={cardRefs[i]}\n {...item}\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({ name: tag.name }, true);\n }\n }}\n customTag={customTag}\n />\n </NewsItem>\n ))}\n </News>\n <div ref={targetRef} />\n {!observerSupported && (\n <ListFooter>\n {news && news.length > 0 && (\n <Copy\n type=\"copy\"\n size=\"medium\"\n isInverted={isInverted}\n >\n <ShowMore\n itemCount={news.length}\n onClick={(ev) => {\n ev.preventDefault();\n if (\n visibleRows <\n Math.ceil(\n filteredNews.length /\n itemsPerRow\n )\n ) {\n setVisibleRows((prev) => prev + 1);\n }\n }}\n >\n {visibleRows <\n filteredNews.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 NewsOverviewComponent = NewsOverview;\nexport default withLibTheme(NewsOverview);\n","import React from 'react';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport NewsCard, { NewsCardProps } from 'components/blocks/NewsCard';\nimport { useEffect, useState } from 'react';\nimport { useMediaQuery } from 'utils/useMediaQuery';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\nimport { LinkProps } from 'components/typography/Link';\nimport { getNewsFilterParams } from './NewsOverview';\n\ntype NewsFooterMq = 'small' | 'semilarge';\n\nexport type NewsItem = Omit<\n NewsCardProps,\n 'isInverted' | 'onTagClick' | 'customTag'\n>;\n\nconst NewsFooter: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of news item settings */\n news: NewsItem[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\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, news, bgMode, customTag }) => {\n const { colors, theme } = useLibTheme();\n const newsCount = news?.length || 0;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const mqs: NewsFooterMq[] = ['small', 'semilarge'];\n const currentMq = useMediaQuery(mqs) as NewsFooterMq | undefined;\n const [itemsPerRow, setItemsPerRow] = useState(2);\n const [visibleRows, setVisibleRows] = useState(1);\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: Math.min(visibleRows * itemsPerRow, newsCount),\n identifiers: [\n '[data-sheet=\"head\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 2,\n xlarge: 2,\n },\n });\n\n useEffect(() => {\n switch (currentMq) {\n case 'semilarge':\n setItemsPerRow(2);\n break;\n\n case 'small':\n setItemsPerRow(1);\n if (visibleRows < 3) setVisibleRows(3);\n break;\n\n default:\n setItemsPerRow(1);\n }\n }, [currentMq, visibleRows]);\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 clampWidth=\"small\">\n <Grid.Row>\n {news\n ?.filter((_, i) => i < visibleRows * itemsPerRow)\n .map((item, i) => (\n <Grid.Col\n medium={{ span: 6 / 12 }}\n key={`${i}_news_${item.title}`}\n >\n <NewsCard\n key={i}\n ref={cardRefs[i]}\n {...item}\n tags={item.tags?.map((tag) => {\n let tagHref: string | undefined =\n undefined;\n\n if (tag.name && tag.link?.href) {\n tagHref = getNewsFilterParams(\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 customTag={customTag}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsFooterComponent = NewsFooter;\nexport default withLibTheme(NewsFooter);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport { getGlobals as global } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Grid from 'components/base/Grid';\n\nconst StyledImage = styled(Image)`\n width: 100%;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n picture > img {\n width: 100%;\n height: 100%;\n }\n`;\n\ntype ImageType = Omit<ImageProps, 'coverSpace'> & { isFull?: boolean };\n\nconst NewsImages: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** List of gallery images */\n images?: ImageType[];\n\n /** Image style */\n isFull?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, images, bgMode }) => {\n const { colors } = useLibTheme();\n\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 : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n <Grid.Row>\n {images\n ?.filter((img) => img.small)\n ?.map((img, i) => (\n <Grid.Col\n key={i}\n semilarge={{\n span: img.isFull ? 12 / 12 : 6 / 12,\n }}\n >\n <StyledImage\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n {/* {images && (imageStyle === 'half' || images.length >= 2) ? (\n <Grid.Row>\n {images.map((img, i) => {\n return (\n <Grid.Col medium={{ span: 6 / 12 }} key={i}>\n <div>\n <StyledImage\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n </div>\n </Grid.Col>\n );\n })}\n </Grid.Row>\n ) : (\n images && (\n <div>\n {images.map((img, i) => {\n return (\n <StyledImage\n key={i}\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n );\n })}\n </div>\n )\n )} */}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsImagesComponent = NewsImages;\nexport default withLibTheme(NewsImages);\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 Image, { ImageProps } from 'components/blocks/Image';\nimport Title from 'components/blocks/Title';\nimport Copy from 'components/typography/Copy';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport { mq, spacings } from 'utils/styles';\nimport StatusFormatter from 'utils/statusFormatter';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { LinkProps } from 'components/typography/Link';\nimport { getNewsFilterParams } from './NewsOverview';\n\nconst Content = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst IntroHead = styled(Copy)`\n display: flex;\n\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-between;\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n @media ${mq.medium} {\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-top: 0;\n margin-left: ${spacings.nudge * 2}px;\n }\n }\n`;\n\nconst Tags = styled.div`\n flex: 1 1 80%;\n\n display: flex;\n flex-wrap: wrap;\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n`;\n\nconst TagWrapper = styled.span`\n display: inline-block;\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst MetaBlock = styled.div`\n flex: 1 0 auto;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-end;\n align-items: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n & > * + * {\n margin-left: ${spacings.nudge * 3}px;\n }\n`;\n\nconst StyledTitle = styled(Title)<{ clampTitle?: boolean }>`\n max-width: ${({ clampTitle }) =>\n clampTitle && (13 / 28) * spacings.wrapperSmall + 'px'};\n`;\n\nconst ContentBlock = styled(Copy)<{\n clampText?: boolean;\n isCentered?: boolean;\n}>`\n display: block;\n margin: ${({ isCentered }) => isCentered && '0 auto'};\n max-width: ${({ clampText }) =>\n clampText && (19 / 28) * spacings.wrapper + 'px'};\n\n :not(:first-child) {\n padding-top: ${spacings.spacer}px;\n }\n`;\n\nconst NewsIntro: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of news tags */\n tags?: TagProps[];\n\n /** News article's meta informations */\n meta?: { date?: Date; author?: string };\n\n /** Title of news article */\n title?: string;\n\n /** Main image of news article */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /** Text of news article (richtext) */\n text?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\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, tags, meta, title, text, image, bgMode, customTag }) => {\n const { globals, colors, theme } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n let publishedAt = '';\n if (meta?.date) {\n const formatter = new StatusFormatter(\n meta.date.getTime(),\n '',\n globals.sections.newsDateFormat(meta.date),\n globals.sections.newsTimeFormat(meta.date),\n globals.sections.newsLocaleKey\n );\n publishedAt = formatter.getFormattedDate();\n }\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n <Content>\n <IntroHead isInverted={isInverted}>\n <Tags>\n {tags?.map((tag, i) => {\n let tagLink: LinkProps | undefined = undefined;\n\n if (tag.name && tag.link?.href) {\n tagLink = {\n ...tag.link,\n href: getNewsFilterParams(\n tag.link.href,\n theme,\n [tag.name]\n ),\n };\n }\n\n return (\n <TagWrapper key={`headtag-${i}`}>\n {customTag ? (\n customTag({\n key: `headtag-${i}`,\n name: tag.name || '',\n isInverted: isInverted,\n isActive: false,\n link: tagLink,\n })\n ) : (\n <Tag\n link={tagLink}\n isInverted={isInverted}\n >\n {tag.name}\n </Tag>\n )}\n </TagWrapper>\n );\n })}\n </Tags>\n {(publishedAt || meta?.author) && (\n <MetaBlock>\n {meta?.author && <div>{meta?.author}</div>}\n {publishedAt && <div>{publishedAt}</div>}\n </MetaBlock>\n )}\n </IntroHead>\n <div>\n <StyledTitle\n colorMode={isInverted ? 'inverted' : 'default'}\n title={title}\n />\n {text && (\n <ContentBlock\n isInverted={isInverted}\n type=\"copy-b\"\n innerHTML={text}\n />\n )}\n </div>\n {image?.small && (\n <Image\n {...image}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n />\n )}\n </Content>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsIntroComponent = NewsIntro;\nexport default withLibTheme(NewsIntro);\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';\n\nimport NewsCard, { NewsCardProps } from 'components/blocks/NewsCard';\nimport { mq, spacings } from 'utils/styles';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { LinkProps } from 'components/typography/Link';\nimport { getNewsFilterParams } from './NewsOverview';\n\nconst News = styled.ul`\n list-style: none;\n margin: 0;\n margin-top: -${spacings.nudge * 6}px;\n margin-left: -${spacings.spacer}px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n`;\n\nconst NewsItem = styled.li`\n padding-top: ${spacings.nudge * 6}px;\n padding-left: ${spacings.spacer}px;\n flex: 1 0 100%;\n max-width: 100%;\n\n @media ${mq.medium} {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media ${mq.large} {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\n`;\n\nexport type NewsItem = Omit<\n NewsCardProps,\n 'isInverted' | 'onTagClick' | 'customTag'\n>;\n\nconst NewsList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Show a short version of three or a expanded version of six news items */\n mode?: 'short' | 'expanded';\n\n /** Array of news card settings */\n news?: NewsItem[];\n\n /** Sections background */\n bgMode?: 'full' | 'inverted';\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, mode = 'short', news, bgMode, customTag }) => {\n const { colors, theme } = useLibTheme();\n\n const items = useMemo<NewsCardProps[]>(() => {\n if (!news) return [];\n if (mode === 'expanded') return news.slice(0, 6);\n else return news.slice(0, 3);\n }, [news, mode]);\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: items.length,\n identifiers: [\n '[data-sheet=\"head\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 2,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <News>\n {items?.map((item, i) => (\n <NewsItem key={i}>\n <NewsCard\n key={i}\n ref={cardRefs[i]}\n {...item}\n isInverted={isInverted}\n tags={item.tags?.map((tag) => {\n let tagHref: string | undefined = undefined;\n\n if (tag.name && tag.link?.href) {\n tagHref = getNewsFilterParams(\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 customTag={customTag}\n />\n </NewsItem>\n ))}\n </News>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsListComponent = NewsList;\nexport default withLibTheme(NewsList);\n","import React from 'react';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport TableBlock, { TableProps } from 'components/blocks/TableBlock';\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\n\nconst NewsTableSection = styled(Section)`\n overflow: unset;\n`;\n\nconst TableWrapper = styled(Wrapper)`\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst NewsTable: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Table rows and columns */\n tableItems: TableProps[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, bgMode, tableItems }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full' || isInverted;\n\n return (\n <NewsTableSection\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 <TableWrapper clampWidth=\"small\">\n {tableItems.map((item, i) => {\n return (\n <TableBlock\n {...item}\n key={i}\n hasBack={hasBg}\n isInverted={isInverted}\n />\n );\n })}\n </TableWrapper>\n </NewsTableSection>\n );\n};\n\nexport const NewsTableComponent = NewsTable;\nexport default withLibTheme(NewsTable);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Copy from 'components/typography/Copy';\nimport Wrapper from 'components/base/Wrapper';\nimport { spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst ContentBlock = styled(Copy)<{\n clampText?: boolean;\n isCentered?: boolean;\n}>`\n display: block;\n margin: ${({ isCentered }) => isCentered && '0 auto'};\n max-width: ${({ clampText }) =>\n clampText && (19 / 28) * spacings.wrapperSmall + 'px'};\n\n :not(:first-child) {\n padding-top: ${spacings.nudge * 5}px;\n }\n`;\n\nconst NewsText: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Main text (RichText) */\n text: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, text, bgMode }) => {\n const { colors } = 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 : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n {text && (\n <ContentBlock\n isInverted={isInverted}\n type=\"copy\"\n innerHTML={text}\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsTextComponent = NewsText;\nexport default withLibTheme(NewsText);\n","import React from 'react';\n\nimport { ImageProps } from 'components/blocks/Image';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Wrapper from 'components/base/Wrapper';\nimport VideoCard from 'components/blocks/VideoCard';\n\nconst NewsVideo: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Placeholder image */\n bgImage?: ImageProps;\n\n /** Embed video ID. E.g. from Youtube */\n embedId?: string;\n\n /** Custom play icon */\n playIcon?: React.ReactNode;\n\n /** Text for cookie consent overlay */\n consentText?: string;\n\n /** Function to inject custom action on cookie consent overlay */\n consentAction?: (props: {\n handleClick?: () => void;\n consentProps: Record<string, string>;\n }) => React.ReactNode;\n /**\n * Custom handler for play button click\n * @returns true if video should be played\n */\n onPlayClick?: () => Promise<boolean>;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({\n anchorId,\n bgImage,\n embedId,\n playIcon,\n consentText,\n consentAction,\n onPlayClick,\n bgMode,\n}) => {\n const { colors } = useLibTheme();\n\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 : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace clampWidth=\"small\">\n {embedId && bgImage && (\n <VideoCard\n bgImage={bgImage}\n embedId={embedId}\n playIcon={playIcon}\n consentText={consentText}\n consentAction={consentAction}\n onPlayClick={onPlayClick}\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsVideoComponent = NewsVideo;\nexport default withLibTheme(NewsVideo);\n"],"names":["Seperator","styled","div","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","_a","isInverted","theme","color","elementBg","light","dark","isTop","spacings","spacer","AuthorContainer","templateObject_2","mq","medium","Avatar","img","templateObject_3","Author","templateObject_4","StyledCopy","Copy","templateObject_5","nudge","NewsAuthorCard$1","withLibTheme","label","author","avatar","bgMode","colors","useLibTheme","hasBg","React","Section","addSeperation","bgColor","sectionBg","mapToBgMode","createElement","Wrapper","clampWidth","addWhitespace","Fragment","src","alt","type","Heading","size","View","ImageLink","Link","StyledImage","Image","global","sections","edgeRadius","BorderPlaceholder","getColors","TitleLink","copyStyle","font","getFonts","big","colorInverted","Head","templateObject_6","Tags","templateObject_7","PublishDate","templateObject_8","Main","Text","templateObject_10","Action","NewsCard","forwardRef","ref","tags","onTagClick","publishDate","title","text","image","link","action","customTag","className","globals","publishedAt","StatusFormatter","getTime","newsDateFormat","newsTimeFormat","newsLocaleKey","getFormattedDate","handleTagClick","tag","ev","preventDefault","undefined","filteredTags","useMemo","filter","name","small","__assign","ariaLabel","coverSpace","isValidArray","map","i","key","isActive","clickHandler","Tag","onClick","renderAs","dataSheet","innerHTML","TagContainer","TagWrapper","News","ul","NewsItem","li","large","ListFooter","ShowMore","span","itemCount","FilterIcon","getNewsFilterParams","url","filterName","newsFilterName","validUrl","URL","newParams","URLSearchParams","search","set","encodeURIComponent","join","concat","toString","err","NewsOverview$1","anchorId","news","initial","showMoreText","_b","_c","useState","activeTags","selectedTags","setSelectedTags","currentMq","useMediaQuery","_d","itemsPerRow","setItemsPerRow","_e","visibleRows","setVisibleRows","isMounted","useMounted","targetRef","useRef","observerSupported","useObserverSupport","newsCount","length","setNewPos","useScrollTo","_f","useEqualSheetHeight","listLength","Math","min","identifiers","responsive","semilarge","xlarge","cardRefs","sheetRefs","triggerCalculation","getFilters","useCallback","filters","getUrlParams","tagsFilter","split","push","apply","useEffect","paramTags","paramRows","parseInt","setUrlParam","deleteUrlParam","useUpdateEffect","enableToggling","prev","prevCopy","__spreadArray","itemIndex","indexOf","splice","filteredNews","filtered","item","hasTags","visibleNews","_","observer","element","current","IntersectionObserver","entries","entry","isIntersecting","ceil","rootMargin","threshold","observe","disconnect","Filter","Pointer","as","Label","Grid","Row","Col","tagHref","href","NewsImages$1","images","isFull","Content","IntroHead","MetaBlock","StyledTitle","Title","clampTitle","wrapperSmall","ContentBlock","isCentered","clampText","wrapper","NewsIntro$1","meta","date","tagLink","colorMode","allowEdgeRadius","NewsList$1","mode","items","slice","NewsTableSection","TableWrapper","NewsTable$1","tableItems","TableBlock","hasBack","NewsText$1","bgImage","embedId","playIcon","consentText","consentAction","onPlayClick","VideoCard"],"mappings":"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"}