@blateral/b.kit 2.3.0-beta.1.2 → 2.3.0-beta.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/Actions-6dd616e0.js +2 -0
- package/cjs/Actions-6dd616e0.js.map +1 -0
- package/cjs/Bdot-d898ba3b.js +2 -0
- package/cjs/Bdot-d898ba3b.js.map +1 -0
- package/cjs/Button-72747f63.js +2 -0
- package/cjs/Button-72747f63.js.map +1 -0
- package/cjs/ButtonGhost-046437c5.js +2 -0
- package/cjs/ButtonGhost-046437c5.js.map +1 -0
- package/cjs/Control-eead1a4c.js +2 -0
- package/cjs/Control-eead1a4c.js.map +1 -0
- package/cjs/FilterField-497e998f.js +2 -0
- package/cjs/{FilterField-569d60e5.js.map → FilterField-497e998f.js.map} +1 -1
- package/cjs/Image-d9681be0.js +2 -0
- package/cjs/Image-d9681be0.js.map +1 -0
- package/cjs/LanguageSwitcher-47e25e95.js +2 -0
- package/cjs/LanguageSwitcher-47e25e95.js.map +1 -0
- package/cjs/Navigation-3f5d6088.js +2 -0
- package/cjs/{Navigation-ebb27a9b.js.map → Navigation-3f5d6088.js.map} +1 -1
- package/cjs/POICard-9911980e.js +2 -0
- package/cjs/POICard-9911980e.js.map +1 -0
- package/cjs/Pointer-3588eadf.js +2 -0
- package/cjs/Pointer-3588eadf.js.map +1 -0
- package/cjs/SocialList-da77e994.js +2 -0
- package/cjs/SocialList-da77e994.js.map +1 -0
- package/cjs/TableBlock-080c9c2e.js +2 -0
- package/cjs/TableBlock-080c9c2e.js.map +1 -0
- package/cjs/VideoCard-1fa209fc.js +2 -0
- package/cjs/VideoCard-1fa209fc.js.map +1 -0
- package/cjs/blocks.js +1 -1
- package/cjs/buttons.js +1 -1
- package/cjs/cookies.js +1 -1
- package/cjs/cookies.js.map +1 -1
- package/cjs/fields.js +1 -1
- package/cjs/fields.js.map +1 -1
- package/cjs/footer.js +2 -0
- package/cjs/footer.js.map +1 -0
- package/cjs/hooks.js +1 -1
- package/cjs/hooks.js.map +1 -1
- package/cjs/navigation.js +1 -1
- package/cjs/navigation.js.map +1 -1
- package/cjs/sections.js +1 -1
- package/cjs/sections.js.map +1 -1
- package/cjs/sections_news.js +2 -0
- package/cjs/sections_news.js.map +1 -0
- package/cjs/statusFormatter-0393122b.js +2 -0
- package/cjs/statusFormatter-0393122b.js.map +1 -0
- package/cjs/{urlParams-51ce7168.js → urlParams-1d03b5a6.js} +2 -2
- package/cjs/urlParams-1d03b5a6.js.map +1 -0
- package/cjs/useIE-aef9decc.js +2 -0
- package/cjs/useIE-aef9decc.js.map +1 -0
- package/esm/Actions-73e13c48.js +57 -0
- package/esm/Actions-73e13c48.js.map +1 -0
- package/esm/Bdot-30b047cc.js +24 -0
- package/esm/Bdot-30b047cc.js.map +1 -0
- package/esm/Button-678be396.js +115 -0
- package/esm/Button-678be396.js.map +1 -0
- package/esm/ButtonGhost-6673a07e.js +112 -0
- package/esm/ButtonGhost-6673a07e.js.map +1 -0
- package/esm/{Callout-03ad4c6e.js → Callout-439308f6.js} +4 -4
- package/esm/{Callout-03ad4c6e.js.map → Callout-439308f6.js.map} +1 -1
- package/esm/{Checkbox-76c2576b.js → Checkbox-a365d733.js} +5 -5
- package/esm/{Checkbox-76c2576b.js.map → Checkbox-a365d733.js.map} +1 -1
- package/esm/{ClockFilled-cff5900e.js → ClockFilled-8784ddac.js} +2 -2
- package/esm/{ClockFilled-cff5900e.js.map → ClockFilled-8784ddac.js.map} +1 -1
- package/esm/Control-e61c9395.js +52 -0
- package/esm/Control-e61c9395.js.map +1 -0
- package/esm/{Copy-d2be4fb7.js → Copy-3444d005.js} +4 -4
- package/esm/{Copy-d2be4fb7.js.map → Copy-3444d005.js.map} +1 -1
- package/esm/{FilterField-b1a28df7.js → FilterField-f423b4d1.js} +8 -7
- package/esm/{FilterField-b1a28df7.js.map → FilterField-f423b4d1.js.map} +1 -1
- package/esm/Image-82417953.js +193 -0
- package/esm/Image-82417953.js.map +1 -0
- package/esm/LanguageSwitcher-a53094d3.js +70 -0
- package/esm/LanguageSwitcher-a53094d3.js.map +1 -0
- package/esm/{LibThemeProvider-17012395.js → LibThemeProvider-90a5375f.js} +3 -3
- package/esm/{LibThemeProvider-17012395.js.map → LibThemeProvider-90a5375f.js.map} +1 -1
- package/esm/{Link-42f0b80f.js → Link-ee8a48ed.js} +3 -3
- package/esm/{Link-42f0b80f.js.map → Link-ee8a48ed.js.map} +1 -1
- package/esm/{Navigation-fae92776.js → Navigation-ece0ff0d.js} +10 -9
- package/esm/{Navigation-fae92776.js.map → Navigation-ece0ff0d.js.map} +1 -1
- package/esm/{Bdot-a103eeef.js → POICard-d8832988.js} +56 -280
- package/esm/POICard-d8832988.js.map +1 -0
- package/esm/Pointer-da4d0977.js +111 -0
- package/esm/Pointer-da4d0977.js.map +1 -0
- package/esm/SocialList-7c00c70e.js +61 -0
- package/esm/SocialList-7c00c70e.js.map +1 -0
- package/esm/TableBlock-0bbde956.js +218 -0
- package/esm/TableBlock-0bbde956.js.map +1 -0
- package/esm/VideoCard-2557407b.js +187 -0
- package/esm/VideoCard-2557407b.js.map +1 -0
- package/esm/{Wrapper-38c912a6.js → Wrapper-f4a70e30.js} +3 -3
- package/esm/{Wrapper-38c912a6.js.map → Wrapper-f4a70e30.js.map} +1 -1
- package/esm/base.js +3 -3
- package/esm/blocks.js +15 -10
- package/esm/blocks.js.map +1 -1
- package/esm/buttons.js +6 -4
- package/esm/buttons.js.map +1 -1
- package/esm/cookies.js +9 -8
- package/esm/cookies.js.map +1 -1
- package/esm/fields.js +9 -8
- package/esm/fields.js.map +1 -1
- package/esm/footer.js +300 -0
- package/esm/footer.js.map +1 -0
- package/esm/hooks.js +10 -9
- package/esm/hooks.js.map +1 -1
- package/esm/icons.js +1 -1
- package/esm/index.js +3 -3
- package/esm/{navigation-e135836f.js → navigation-49280321.js} +2 -2
- package/esm/{navigation-e135836f.js.map → navigation-49280321.js.map} +1 -1
- package/esm/navigation.js +12 -10
- package/esm/navigation.js.map +1 -1
- package/esm/sections.js +493 -1933
- package/esm/sections.js.map +1 -1
- package/esm/sections_news.js +1018 -0
- package/esm/sections_news.js.map +1 -0
- package/esm/{Actions-59bdbbf7.js → statusFormatter-9be0fbff.js} +2 -57
- package/esm/statusFormatter-9be0fbff.js.map +1 -0
- package/esm/{styles-eca3acc8.js → styles-5f78e59d.js} +2 -2
- package/esm/{styles-eca3acc8.js.map → styles-5f78e59d.js.map} +1 -1
- package/esm/typography.js +6 -6
- package/esm/{urlParams-c16d7370.js → urlParams-882563ce.js} +4 -15
- package/esm/urlParams-882563ce.js.map +1 -0
- package/esm/{useCookieConsent-cd262961.js → useCookieConsent-db86e5cb.js} +2 -2
- package/esm/{useCookieConsent-cd262961.js.map → useCookieConsent-db86e5cb.js.map} +1 -1
- package/esm/{useGeolocation-c99d76bd.js → useGeolocation-c81e3efc.js} +2 -2
- package/esm/{useGeolocation-c99d76bd.js.map → useGeolocation-c81e3efc.js.map} +1 -1
- package/esm/useIE-a9c56989.js +15 -0
- package/esm/useIE-a9c56989.js.map +1 -0
- package/esm/{useMediaQuery-07eee3f4.js → useMediaQuery-43629cbb.js} +2 -2
- package/esm/{useMediaQuery-07eee3f4.js.map → useMediaQuery-43629cbb.js.map} +1 -1
- package/footer/package.json +7 -0
- package/package.json +2 -1
- package/sections/news/package.json +7 -0
- package/types/footer.d.ts +4 -0
- package/types/footer.d.ts.map +1 -0
- package/types/sections.d.ts +0 -13
- package/types/sections.d.ts.map +1 -1
- package/types/sections_news.d.ts +10 -0
- package/types/sections_news.d.ts.map +1 -0
- package/cjs/Actions-487104b2.js +0 -2
- package/cjs/Actions-487104b2.js.map +0 -1
- package/cjs/Bdot-760e0e3a.js +0 -2
- package/cjs/Bdot-760e0e3a.js.map +0 -1
- package/cjs/ButtonGhost-e9644acd.js +0 -2
- package/cjs/ButtonGhost-e9644acd.js.map +0 -1
- package/cjs/Control-23259241.js +0 -2
- package/cjs/Control-23259241.js.map +0 -1
- package/cjs/FilterField-569d60e5.js +0 -2
- package/cjs/Navigation-ebb27a9b.js +0 -2
- package/cjs/SocialList-79ddf9d6.js +0 -2
- package/cjs/SocialList-79ddf9d6.js.map +0 -1
- package/cjs/urlParams-51ce7168.js.map +0 -1
- package/esm/Actions-59bdbbf7.js.map +0 -1
- package/esm/Bdot-a103eeef.js.map +0 -1
- package/esm/ButtonGhost-422fd723.js +0 -220
- package/esm/ButtonGhost-422fd723.js.map +0 -1
- package/esm/Control-52ff8784.js +0 -157
- package/esm/Control-52ff8784.js.map +0 -1
- package/esm/SocialList-385cde53.js +0 -307
- package/esm/SocialList-385cde53.js.map +0 -1
- package/esm/urlParams-c16d7370.js.map +0 -1
|
@@ -0,0 +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("./Wrapper-3b9c9e89.js"),i=require("./Copy-e860efe7.js"),l=require("./styles-0f1a0aea.js"),r=require("./LibThemeProvider-fb99fd6d.js"),o=require("./Image-d9681be0.js"),d=require("./TableBlock-080c9c2e.js"),s=require("./statusFormatter-0393122b.js"),c=require("./Link-70143bb7.js"),m=require("./arrays-c272ed59.js"),p=require("./useMediaQuery-d4f81f88.js"),u=require("./urlParams-1d03b5a6.js"),f=require("./useObserverSupport-5ab320dd.js"),g=require("./Pointer-3588eadf.js"),h=require("./VideoCard-1fa209fc.js"),x=require("./useUpdateEffect-4d233e2c.js"),w=require("./useMounted-0bba9869.js");function v(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("./clamp-bd21d587.js"),require("./concat-f387d848.js"),require("react-dom/server"),require("./useCookieConsent-0bf94751.js"),require("./ButtonGhost-046437c5.js"),require("./hexRgbConverter-91b28aea.js");var b,_,y,k,I,T,C,E,N,j,B,M,O,S,L,q,A=v(n),W=v(t),z=W.default.div.withConfig({displayName:"NewsAuthorCard__Seperator",componentId:"sc-17dx8qw-0"})(b||(b=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?l.getColors(t).elementBg.light:l.getColors(t).elementBg.dark}),(function(e){return!e.isTop&&l.spacings.spacer}),(function(e){return e.isTop&&l.spacings.spacer})),F=W.default.div.withConfig({displayName:"NewsAuthorCard__AuthorContainer",componentId:"sc-17dx8qw-1"})(_||(_=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"])),l.spacings.spacer,l.mq.medium,l.spacings.spacer),P=W.default.img.withConfig({displayName:"NewsAuthorCard__Avatar",componentId:"sc-17dx8qw-2"})(y||(y=e.__makeTemplateObject(["\n border-radius: 50%; ;\n"],["\n border-radius: 50%; ;\n"]))),R=W.default.div.withConfig({displayName:"NewsAuthorCard__Author",componentId:"sc-17dx8qw-3"})(k||(k=e.__makeTemplateObject([""],[""]))),U=W.default(i.Copy).withConfig({displayName:"NewsAuthorCard__StyledCopy",componentId:"sc-17dx8qw-4"})(I||(I=e.__makeTemplateObject(["\n text-transform: uppercase;\n margin-bottom: ","px;\n"],["\n text-transform: uppercase;\n margin-bottom: ","px;\n"])),3*l.spacings.nudge),V=r.withLibTheme((function(e){var n=e.label,t=e.author,l=e.avatar,o=e.bgMode,d=r.useLibTheme().colors,s="inverted"===o,c="full"===o;return A.default.createElement(a.Section,{addSeperation:!0,bgColor:s?d.sectionBg.dark:c?d.sectionBg.medium:d.sectionBg.light,bgMode:a.mapToBgMode(o,!0)},A.default.createElement(a.Wrapper,{clampWidth:"small",addWhitespace:!0},t&&A.default.createElement(A.default.Fragment,null,A.default.createElement(z,{isTop:!0,isInverted:s}),A.default.createElement(F,null,l&&A.default.createElement(P,{src:l.src,alt:l.alt}),A.default.createElement(R,null,t&&A.default.createElement(U,{isInverted:s,type:"copy-b"},n||"Written By"),A.default.createElement(i.Heading,{isInverted:s,size:"heading-2"},t)))),A.default.createElement(z,{isInverted:s})))})),H=W.default.div.withConfig({displayName:"NewsCard__View",componentId:"sc-ahox9b-0"})(T||(T=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"]))),D=W.default(c.Link).withConfig({displayName:"NewsCard__ImageLink",componentId:"sc-ahox9b-1"})(C||(C=e.__makeTemplateObject(["\n display: block;\n width: 100%;\n"],["\n display: block;\n width: 100%;\n"]))),G=W.default(o.Image).withConfig({displayName:"NewsCard__StyledImage",componentId:"sc-ahox9b-2"})(E||(E=e.__makeTemplateObject(["\n overflow: hidden;\n border-radius: ",";\n"],["\n overflow: hidden;\n border-radius: ",";\n"])),(function(e){var n=e.theme;return l.getGlobals(n).sections.edgeRadius})),Q=W.default.div.withConfig({displayName:"NewsCard__BorderPlaceholder",componentId:"sc-ahox9b-3"})(N||(N=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?l.getColors(n).elementBg.light:l.getColors(n).elementBg.medium})),K=W.default(c.Link).withConfig({displayName:"NewsCard__TitleLink",componentId:"sc-ahox9b-4"})(j||(j=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"])),i.copyStyle("copy-b","big"),(function(e){var n=e.theme;return e.isInverted?l.getFonts(n)["copy-b"].big.colorInverted:l.getFonts(n)["copy-b"].big.color})),J=W.default.div.withConfig({displayName:"NewsCard__Head",componentId:"sc-ahox9b-5"})(B||(B=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*l.spacings.nudge,3*l.spacings.nudge,3*l.spacings.nudge),X=W.default.div.withConfig({displayName:"NewsCard__Tags",componentId:"sc-ahox9b-6"})(M||(M=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"])),l.spacings.nudge),Y=W.default(i.Copy).withConfig({displayName:"NewsCard__PublishDate",componentId:"sc-ahox9b-7"})(O||(O=e.__makeTemplateObject(["\n &:only-child {\n margin-left: auto;\n }\n"],["\n &:only-child {\n margin-left: auto;\n }\n"]))),Z=W.default.div.withConfig({displayName:"NewsCard__Main",componentId:"sc-ahox9b-8"})(S||(S=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*l.spacings.nudge),$=W.default(i.Copy).withConfig({displayName:"NewsCard__Text",componentId:"sc-ahox9b-9"})(L||(L=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"]))),ee=W.default.div.withConfig({displayName:"NewsCard__Action",componentId:"sc-ahox9b-10"})(q||(q=e.__makeTemplateObject(["\n margin-top: ","px;\n"],["\n margin-top: ","px;\n"])),3*l.spacings.nudge),ne=n.forwardRef((function(t,a){var i=t.tags,l=t.onTagClick,o=t.publishDate,c=t.title,p=t.text,u=t.image,f=t.link,g=t.isInverted,h=t.action,x=t.customTag,w=t.className,v=t.hasBg,b=r.useLibTheme().globals,_="";o&&(_=new s.StatusFormatter(o.getTime(),"",b.sections.newsDateFormat(o),b.sections.newsTimeFormat(o),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 A.default.createElement(H,{ref:a,className:w},u?A.default.createElement(D,e.__assign({},f,{ariaLabel:c}),A.default.createElement(G,e.__assign({},u,{coverSpace:!0,isInverted:g}))):A.default.createElement(Q,{hasBg:v}),A.default.createElement(J,{"data-sheet":"head"},m.isValidArray(k,!1)&&A.default.createElement(X,null,k.map((function(e,n){return x?x({key:n,name:e.name||"",isInverted:g,isActive:!1,link:e.link,clickHandler:y(e)}):A.default.createElement(d.Tag,{key:n,isInverted:g,name:e.name,link:e.link,onClick:y(e)})}))),_&&A.default.createElement(Y,{size:"small",renderAs:"div",isInverted:g},_)),A.default.createElement(Z,null,c&&A.default.createElement(K,e.__assign({},f,{ariaLabel:c,isInverted:g,dataSheet:"title"}),c),p&&A.default.createElement($,{isInverted:g,type:"copy",innerHTML:p,"data-sheet":"text",size:"medium"})),h&&A.default.createElement(ee,null,h(g)))}));ne.displayName="NewsCard";var te,ae,ie,le,re,oe,de,se,ce,me,pe,ue,fe,ge,he,xe,we,ve,be,_e=W.default.div.withConfig({displayName:"NewsOverview__TagContainer",componentId:"sc-5r2c7-0"})(te||(te=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"])),l.spacings.nudge,l.spacings.nudge,6*l.spacings.nudge),ye=W.default.div.withConfig({displayName:"NewsOverview__TagWrapper",componentId:"sc-5r2c7-1"})(ae||(ae=e.__makeTemplateObject(["\n padding-top: ","px;\n padding-left: ","px;\n"],["\n padding-top: ","px;\n padding-left: ","px;\n"])),l.spacings.nudge,l.spacings.nudge),ke=W.default.ul.withConfig({displayName:"NewsOverview__News",componentId:"sc-5r2c7-2"})(ie||(ie=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*l.spacings.nudge,l.spacings.spacer),Ie=W.default.li.withConfig({displayName:"NewsOverview__NewsItem",componentId:"sc-5r2c7-3"})(le||(le=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*l.spacings.nudge,l.spacings.spacer,l.mq.medium,l.mq.large),Te=W.default.div.withConfig({displayName:"NewsOverview__ListFooter",componentId:"sc-5r2c7-4"})(re||(re=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*l.spacings.nudge,l.mq.medium),Ce=W.default.span.withConfig({displayName:"NewsOverview__ShowMore",componentId:"sc-5r2c7-5"})(oe||(oe=e.__makeTemplateObject(["\n display: ",";\n"],["\n display: ",";\n"])),(function(e){var n=e.itemCount;return n&&n>2?"block":"none"})),Ee=W.default(i.Copy).withConfig({displayName:"NewsOverview__FilterIcon",componentId:"sc-5r2c7-6"})(de||(de=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"])),l.spacings.nudge/2,l.spacings.nudge,l.spacings.nudge),Ne=function(e,n,t){if(void 0===t&&(t=[]),!e)return"";if(!m.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(",")))}},je=r.withLibTheme((function(t){var l=t.anchorId,o=t.news,s=t.tags,c=t.initial,v=t.showMoreText,b=t.bgMode,_=t.onTagClick,y=t.customTag,k=r.useLibTheme(),I=k.colors,T=k.globals.sections.newsFilterName,C="inverted"===b,E="full"===b,N=n.useState((null==c?void 0:c.activeTags)||[]),j=N[0],B=N[1],M=p.useMediaQuery(["small","semilarge","large"]),O=n.useState(3),S=O[0],L=O[1],q=n.useState((null==c?void 0:c.visibleRows)||3),W=q[0],z=q[1],F=w.useMounted(),P=n.useRef(null),R=f.useObserverSupport(),U=(null==o?void 0:o.length)||0,V=u.useScrollTo(800),H=u.useEqualSheetHeight({listLength:Math.min(W*S,U),identifiers:['[data-sheet="head"]','[data-sheet="title"]','[data-sheet="text"]'],responsive:{small:1,medium:1,semilarge:2,large:3,xlarge:3}}),D=H.sheetRefs,G=H.triggerCalculation,Q=n.useCallback((function(){var e=[],n=u.getUrlParams()[T];if(n){var t=null==n?void 0:n.split(",");m.isValidArray(t,!1)&&e.push.apply(e,t)}return e}),[T]);n.useEffect((function(){if(!c){var e=Q(),n=parseInt(u.getUrlParams().rows);z(n||3),m.isValidArray(e,!1)&&B(e),G()}}),[Q,c]),n.useEffect((function(){var e;c&&!F&&(u.setUrlParam("rows",(null==c?void 0:c.visibleRows)||3),m.isValidArray(null==c?void 0:c.activeTags,!1)?u.setUrlParam(T,null===(e=null==c?void 0:c.activeTags)||void 0===e?void 0:e.join(",")):u.deleteUrlParam(T))}),[T,c,F]),x.useUpdateEffect((function(){u.setUrlParam("rows",W)}),[W]),x.useUpdateEffect((function(){!_&&m.isValidArray(j)&&(j.length>0?u.setUrlParam(T,j.join(",")):u.deleteUrlParam(T))}),[j]),n.useEffect((function(){switch(M){case"large":L(3);break;case"semilarge":L(2);break;case"small":L(1),W<3&&z(3);break;default:L(1)}}),[M,W]);var K=function(n,t){void 0===t&&(t=!0),B((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})),G(),z(3)},J=n.useMemo((function(){var n=m.isValidArray(o)?e.__spreadArray([],o,!0):[];return n=null==n?void 0:n.filter((function(e){if(!m.isValidArray(j,!1))return!0;if(!e.tags)return!1;for(var n=!1,t=0;t<e.tags.length;t++)if(-1!==j.indexOf(e.tags[t].name||"")){n=!0;break}return n}))}),[o,j]),X=n.useMemo((function(){return(null==J?void 0:J.filter((function(e,n){return n<W*S})))||[]}),[J,S,W]);n.useEffect((function(){if(R){var e,n=P.current;if(n){(e=new IntersectionObserver((function(e){var n=e[0];(null==n?void 0:n.isIntersecting)&&W<Math.ceil(J.length/S)&&z((function(e){return e+1}))}),{rootMargin:"0px 0px 100px 0px",threshold:0})).observe(n)}return function(){e&&e.disconnect()}}}),[S,U,W,R,J.length]);var Y=n.useMemo((function(){return null==s?void 0:s.filter((function(e){return e}))}),[s]);return A.default.createElement(a.Section,{addSeperation:!0,anchorId:l,bgColor:C?I.sectionBg.dark:E?I.sectionBg.medium:I.sectionBg.light,bgMode:a.mapToBgMode(b,!0)},A.default.createElement(a.Wrapper,{addWhitespace:!0},m.isValidArray(Y,!1)&&A.default.createElement(_e,null,A.default.createElement(Ee,{size:"small",type:"copy",isInverted:C},A.default.createElement(h.Filter,null),A.default.createElement("span",null,"Filter")),Y.map((function(e,n){return A.default.createElement(ye,{key:n},y?y({key:n,name:e,isInverted:C,isActive:-1!==j.indexOf(e),clickHandler:function(n){null==n||n.preventDefault(),_?_({name:e}):K({name:e})}}):A.default.createElement(d.Tag,{isInverted:C,onClick:function(n){null==n||n.preventDefault(),_?_({name:e},!1):K({name:e})},isActive:-1!==j.indexOf(e)},e))}))),A.default.createElement(ke,null,X.map((function(n,t){var a;return A.default.createElement(Ie,{key:"".concat(t,"_news_").concat(n.title)},A.default.createElement(ne,e.__assign({hasBg:E||C,ref:D[t]},n,{tags:null===(a=n.tags)||void 0===a?void 0:a.map((function(e){return{name:e.name}})),isInverted:C,onTagClick:function(e){V(0),_?_({name:e.name},!0):K({name:e.name},!1)},customTag:y})))}))),A.default.createElement("div",{ref:P}),!R&&A.default.createElement(Te,null,o&&o.length>0&&A.default.createElement(i.Copy,{type:"copy",size:"medium",isInverted:C},A.default.createElement(Ce,{itemCount:o.length,onClick:function(e){e.preventDefault(),W<Math.ceil(J.length/S)&&z((function(e){return e+1}))}},W<J.length/S&&A.default.createElement(g.Pointer.View,{as:"button",isInverted:C},A.default.createElement(g.Pointer.Label,null,v||"mehr anzeigen")))))))})),Be=r.withLibTheme((function(t){var i=t.anchorId,l=t.news,o=t.bgMode,d=t.customTag,s=r.useLibTheme(),c=s.colors,m=s.theme,f=(null==l?void 0:l.length)||0,g="inverted"===o,h="full"===o,x=p.useMediaQuery(["small","semilarge"]),w=n.useState(2),v=w[0],b=w[1],_=n.useState(1),y=_[0],k=_[1],I=u.useEqualSheetHeight({listLength:Math.min(y*v,f),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(x){case"semilarge":b(2);break;case"small":b(1),y<3&&k(3);break;default:b(1)}}),[x,y]),A.default.createElement(a.Section,{addSeperation:!0,anchorId:i,bgColor:g?c.sectionBg.dark:h?c.sectionBg.medium:c.sectionBg.light,bgMode:a.mapToBgMode(o,!0)},A.default.createElement(a.Wrapper,{addWhitespace:!0,clampWidth:"small"},A.default.createElement(a.Grid.Row,null,null==l?void 0:l.filter((function(e,n){return n<y*v})).map((function(n,t){var i;return A.default.createElement(a.Grid.Col,{medium:{span:.5},key:"".concat(t,"_news_").concat(n.title)},A.default.createElement(ne,e.__assign({key:t,ref:I[t]},n,{tags:null===(i=n.tags)||void 0===i?void 0:i.map((function(n){var t,a,i=void 0;return n.name&&(null===(t=n.link)||void 0===t?void 0:t.href)&&(i=Ne(n.link.href,m,[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:g,customTag:d})))})))))})),Me=W.default(o.Image).withConfig({displayName:"NewsImages__StyledImage",componentId:"sc-1l72vc0-0"})(se||(se=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 l.getGlobals(n).sections.edgeRadius})),Oe=r.withLibTheme((function(n){var t,i=n.anchorId,l=n.images,o=n.bgMode,d=r.useLibTheme().colors,s="inverted"===o,c="full"===o;return A.default.createElement(a.Section,{addSeperation:!0,anchorId:i,bgColor:s?d.sectionBg.dark:c?d.sectionBg.medium:d.sectionBg.light,bgMode:a.mapToBgMode(o,!0)},A.default.createElement(a.Wrapper,{clampWidth:"small",addWhitespace:!0},A.default.createElement(a.Grid.Row,null,null===(t=null==l?void 0:l.filter((function(e){return e.small})))||void 0===t?void 0:t.map((function(n,t){return A.default.createElement(a.Grid.Col,{key:t,semilarge:{span:n.isFull?1:.5}},A.default.createElement(Me,e.__assign({},n,{coverSpace:!0,isInverted:s})))})))))})),Se=W.default.div.withConfig({displayName:"NewsIntro__Content",componentId:"sc-zz6rn6-0"})(ce||(ce=e.__makeTemplateObject(["\n & > * + * {\n margin-top: ","px;\n }\n"],["\n & > * + * {\n margin-top: ","px;\n }\n"])),3*l.spacings.nudge),Le=W.default(i.Copy).withConfig({displayName:"NewsIntro__IntroHead",componentId:"sc-zz6rn6-1"})(me||(me=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*l.spacings.nudge,l.mq.medium,2*l.spacings.nudge),qe=W.default.div.withConfig({displayName:"NewsIntro__Tags",componentId:"sc-zz6rn6-2"})(pe||(pe=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"])),l.spacings.nudge,l.spacings.nudge),Ae=W.default.span.withConfig({displayName:"NewsIntro__TagWrapper",componentId:"sc-zz6rn6-3"})(ue||(ue=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"])),l.spacings.nudge,l.spacings.nudge),We=W.default.div.withConfig({displayName:"NewsIntro__MetaBlock",componentId:"sc-zz6rn6-4"})(fe||(fe=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*l.spacings.nudge),ze=W.default(d.Title).withConfig({displayName:"NewsIntro__StyledTitle",componentId:"sc-zz6rn6-5"})(ge||(ge=e.__makeTemplateObject(["\n max-width: ",";\n"],["\n max-width: ",";\n"])),(function(e){return e.clampTitle&&13/28*l.spacings.wrapperSmall+"px"})),Fe=W.default(i.Copy).withConfig({displayName:"NewsIntro__ContentBlock",componentId:"sc-zz6rn6-6"})(he||(he=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*l.spacings.wrapper+"px"}),l.spacings.spacer),Pe=r.withLibTheme((function(n){var t=n.anchorId,i=n.tags,l=n.meta,c=n.title,m=n.text,p=n.image,u=n.bgMode,f=n.customTag,g=r.useLibTheme(),h=g.globals,x=g.colors,w=g.theme,v="inverted"===u,b="full"===u,_="";(null==l?void 0:l.date)&&(_=new s.StatusFormatter(l.date.getTime(),"",h.sections.newsDateFormat(l.date),h.sections.newsTimeFormat(l.date),h.sections.newsLocaleKey).getFormattedDate());return A.default.createElement(a.Section,{addSeperation:!0,anchorId:t,bgColor:v?x.sectionBg.dark:b?x.sectionBg.medium:x.sectionBg.light,bgMode:a.mapToBgMode(u,!0)},A.default.createElement(a.Wrapper,{clampWidth:"small",addWhitespace:!0},A.default.createElement(Se,null,A.default.createElement(Le,{isInverted:v},A.default.createElement(qe,null,null==i?void 0:i.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:Ne(n.link.href,w,[n.name])})),A.default.createElement(Ae,{key:"headtag-".concat(t)},f?f({key:"headtag-".concat(t),name:n.name||"",isInverted:v,isActive:!1,link:i}):A.default.createElement(d.Tag,{link:i,isInverted:v},n.name))}))),(_||(null==l?void 0:l.author))&&A.default.createElement(We,null,(null==l?void 0:l.author)&&A.default.createElement("div",null,null==l?void 0:l.author),_&&A.default.createElement("div",null,_))),A.default.createElement("div",null,A.default.createElement(ze,{colorMode:v?"inverted":"default",title:c}),m&&A.default.createElement(Fe,{isInverted:v,type:"copy-b",innerHTML:m})),(null==p?void 0:p.small)&&A.default.createElement(o.Image,e.__assign({},p,{coverSpace:!0,allowEdgeRadius:!0,isInverted:v})))))})),Re=W.default.ul.withConfig({displayName:"NewsList__News",componentId:"sc-sew5jz-0"})(xe||(xe=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*l.spacings.nudge,l.spacings.spacer),Ue=W.default.li.withConfig({displayName:"NewsList__NewsItem",componentId:"sc-sew5jz-1"})(we||(we=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*l.spacings.nudge,l.spacings.spacer,l.mq.medium,l.mq.large),Ve=r.withLibTheme((function(t){var i=t.anchorId,l=t.mode,o=void 0===l?"short":l,d=t.news,s=t.bgMode,c=t.customTag,m=r.useLibTheme(),p=m.colors,f=m.theme,g=n.useMemo((function(){return d?"expanded"===o?d.slice(0,6):d.slice(0,3):[]}),[d,o]),h="inverted"===s,x="full"===s,w=u.useEqualSheetHeight({listLength:g.length,identifiers:['[data-sheet="head"]','[data-sheet="title"]','[data-sheet="text"]'],responsive:{small:1,medium:2,semilarge:2,large:3,xlarge:3}}).sheetRefs;return A.default.createElement(a.Section,{addSeperation:!0,anchorId:i,bgColor:h?p.sectionBg.dark:x?p.sectionBg.medium:p.sectionBg.light,bgMode:a.mapToBgMode(s,!0)},A.default.createElement(a.Wrapper,{addWhitespace:!0},A.default.createElement(Re,null,null==g?void 0:g.map((function(n,t){var a;return A.default.createElement(Ue,{key:t},A.default.createElement(ne,e.__assign({key:t,ref:w[t]},n,{isInverted:h,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=Ne(n.link.href,f,[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:c})))})))))})),He=W.default(a.Wrapper).withConfig({displayName:"NewsTable__TableWrapper",componentId:"sc-ph099f-0"})(ve||(ve=e.__makeTemplateObject(["\n & > * + * {\n margin-top: ","px;\n }\n"],["\n & > * + * {\n margin-top: ","px;\n }\n"])),l.spacings.spacer),De=r.withLibTheme((function(n){var t=n.anchorId,i=n.bgMode,l=n.tableItems,o=r.useLibTheme().colors,s="inverted"===i,c="full"===i||s;return A.default.createElement(a.Section,{addSeperation:!0,anchorId:t,bgColor:s?o.sectionBg.dark:c?o.sectionBg.medium:o.sectionBg.light,bgMode:a.mapToBgMode(i,!0)},A.default.createElement(He,{clampWidth:"small"},l.map((function(n,t){return A.default.createElement(d.TableBlock,e.__assign({},n,{key:t,hasBack:c,isInverted:s}))}))))})),Ge=W.default(i.Copy).withConfig({displayName:"NewsText__ContentBlock",componentId:"sc-2vavtq-0"})(be||(be=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*l.spacings.wrapperSmall+"px"}),5*l.spacings.nudge),Qe=r.withLibTheme((function(e){var n=e.anchorId,t=e.text,i=e.bgMode,l=r.useLibTheme().colors,o="inverted"===i,d="full"===i;return A.default.createElement(a.Section,{addSeperation:!0,anchorId:n,bgColor:o?l.sectionBg.dark:d?l.sectionBg.medium:l.sectionBg.light,bgMode:a.mapToBgMode(i,!0)},A.default.createElement(a.Wrapper,{clampWidth:"small",addWhitespace:!0},t&&A.default.createElement(Ge,{isInverted:o,type:"copy",innerHTML:t})))})),Ke=r.withLibTheme((function(e){var n=e.anchorId,t=e.bgImage,i=e.embedId,l=e.playIcon,o=e.consentText,d=e.consentAction,s=e.bgMode,c=r.useLibTheme().colors,m="inverted"===s,p="full"===s;return A.default.createElement(a.Section,{addSeperation:!0,anchorId:n,bgColor:m?c.sectionBg.dark:p?c.sectionBg.medium:c.sectionBg.light,bgMode:a.mapToBgMode(s,!0)},A.default.createElement(a.Wrapper,{addWhitespace:!0,clampWidth:"small"},i&&t&&A.default.createElement(h.VideoCard,{bgImage:t,embedId:i,playIcon:l,consentText:o,consentAction:d})))}));exports.NewsAuthorCard=V,exports.NewsFooter=Be,exports.NewsImages=Oe,exports.NewsIntro=Pe,exports.NewsList=Ve,exports.NewsOverview=je,exports.NewsTable=De,exports.NewsText=Qe,exports.NewsVideo=Ke;
|
|
2
|
+
//# sourceMappingURL=sections_news.js.map
|
|
@@ -0,0 +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 ? (\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 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 <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 <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 </Section>\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","__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","small","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","TableWrapper","NewsTable$1","tableItems","TableBlock","hasBack","NewsText$1","bgImage","embedId","playIcon","consentText","consentAction","VideoCard"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var t=function(){function t(t,r,o,i,u){var a=this;this.dateReplacements={dddd:function(){return e[a.localeKey].long[a.date.getDay()]},DDDD:function(){return e[a.localeKey].long[a.date.getDay()]},ddd:function(){return e[a.localeKey].short[a.date.getDay()]},DDD:function(){return e[a.localeKey].short[a.date.getDay()]},dd:function(){return a.getDay()},DD:function(){return a.getDay()},MMMM:function(){return n[a.localeKey].long[a.date.getMonth()]},mmmm:function(){return n[a.localeKey].long[a.date.getMonth()]},MMM:function(){return n[a.localeKey].short[a.date.getMonth()]},mmm:function(){return n[a.localeKey].short[a.date.getMonth()]},mm:function(){return a.getMonth()},MM:function(){return a.getMonth()},yyyy:function(){return a.getYear()},YYYY:function(){return a.getYear()},yy:function(){return a.getYear().substr(-2)},YY:function(){return a.getYear().substr(-2)}},this.timeReplacements={hh:function(){return a.getHours()},HH:function(){return a.getHours()},hs:function(){return a.getHours12h()},HS:function(){return a.getHours12h()},mm:function(){return a.getMinutes()},MM:function(){return a.getMinutes()},ss:function(){return a.getSeconds()},SS:function(){return a.getSeconds()},ap:function(){return a.date.getHours()>=12?"pm":"am"},AP:function(){return a.date.getHours()>=12?"PM":"AM"}},this.timestamp=t,this.input=r,this.dateFormat=o,this.timeFormat=i,this.localeKey=u||"de",this.date=new Date(this.timestamp)}return t.prototype.setDate=function(t){this.date=new Date(t)},t.prototype.setLocale=function(t){this.localeKey=t},t.prototype.getFormattedStatus=function(){var t={"<DATE>":this.getFormattedDate(),"<TIME>":this.getFormattedTime()};return this.input.replace(/<\w+>/g,(function(e){return t[e]||e}))},t.prototype.getFormattedDate=function(){for(var t=this,e=Object.keys(this.dateReplacements),n=this.dateFormat,r=0;r<e.length;r++)n=n.replace(new RegExp(e[r],"g"),(function(e){return t.dateReplacements[e].call(t)}));return n},t.prototype.getFormattedTime=function(){for(var t=this,e=Object.keys(this.timeReplacements),n=this.timeFormat,r=0;r<e.length;r++)n=n.replace(new RegExp(e[r],"g"),(function(e){return t.timeReplacements[e].call(t)}));return n},t.prototype.areOnSameDay=function(t,e){return t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()===e.getDate()},t.prototype.getFormattedTimespan=function(e,n,r){void 0===e&&(e=""),void 0===r&&(r=" - ");var o=this.getFormattedTime(),i="";if(void 0===n)return"";if(n>0){var u=new Date(this.date);u.setSeconds(this.date.getSeconds()+n);var a=new t(u.getTime(),this.input,this.dateFormat,this.timeFormat,this.localeKey);i=a.getFormattedTime()}var g={"<START>":o,"<END>":i,"<SEP>":r};return e.replace(/<\w+>/g,(function(t){return("<SEP>"!==t||o&&i)&&("<END>"!==t||i)?g[t]||t:""}))},t.prototype.getDoubleDigitString=function(t){return t<10?"0"+t.toString():t.toString()},t.prototype.getDay=function(){return this.getDoubleDigitString(this.date.getDate())},t.prototype.getMonth=function(){return this.getDoubleDigitString(this.date.getMonth()+1)},t.prototype.getYear=function(){return this.date.getFullYear().toString()},t.prototype.getHours=function(){return this.getDoubleDigitString(this.date.getHours())},t.prototype.getHours12h=function(){var t=this.date.getHours();return t=0===(t%=12)?12:t,this.getDoubleDigitString(t)},t.prototype.getMinutes=function(){return this.getDoubleDigitString(this.date.getMinutes())},t.prototype.getSeconds=function(){return this.getDoubleDigitString(this.date.getSeconds())},t}(),e={de:{long:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],short:["So","Mo","Di","Mi","Do","Fr","Sa"]},en:{long:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],short:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]}},n={de:{long:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],short:["Jan.","Febr.","März","Apr.","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez"]},en:{long:["January","February","March","April","May","June","July","August","September","October","November","December"],short:["Jan.","Feb.","Mar.","Apr.","May","June","July","Aug.","Sept.","Oct.","Nov.","Dec."]}};exports.StatusFormatter=t;
|
|
2
|
+
//# sourceMappingURL=statusFormatter-0393122b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statusFormatter-0393122b.js","sources":["../src/utils/statusFormatter.ts"],"sourcesContent":["interface DateReplacementHolder {\n [key: string]: () => string;\n}\n\nexport default class StatusFormatter {\n private timestamp: number;\n private input: string;\n private dateFormat: string;\n private timeFormat: string;\n\n private localeKey: string;\n private date: Date;\n\n constructor(\n timestamp: number,\n input: string,\n dateFormat: string,\n timeFormat: string,\n localeKey?: string\n ) {\n this.timestamp = timestamp;\n this.input = input;\n this.dateFormat = dateFormat;\n this.timeFormat = timeFormat;\n\n this.localeKey = localeKey ? localeKey : 'de';\n this.date = new Date(this.timestamp);\n }\n\n private dateReplacements: DateReplacementHolder = {\n dddd: () => {\n return weekDays[this.localeKey].long[this.date.getDay()];\n },\n DDDD: () => {\n return weekDays[this.localeKey].long[this.date.getDay()];\n },\n ddd: () => {\n return weekDays[this.localeKey].short[this.date.getDay()];\n },\n DDD: () => {\n return weekDays[this.localeKey].short[this.date.getDay()];\n },\n dd: () => {\n return this.getDay();\n },\n DD: () => {\n return this.getDay();\n },\n MMMM: () => {\n return monthNames[this.localeKey].long[this.date.getMonth()];\n },\n mmmm: () => {\n return monthNames[this.localeKey].long[this.date.getMonth()];\n },\n MMM: () => {\n return monthNames[this.localeKey].short[this.date.getMonth()];\n },\n mmm: () => {\n return monthNames[this.localeKey].short[this.date.getMonth()];\n },\n mm: () => {\n return this.getMonth();\n },\n MM: () => {\n return this.getMonth();\n },\n yyyy: () => {\n return this.getYear();\n },\n YYYY: () => {\n return this.getYear();\n },\n yy: () => {\n return this.getYear().substr(-2);\n },\n YY: () => {\n return this.getYear().substr(-2);\n },\n };\n\n private timeReplacements: DateReplacementHolder = {\n hh: () => {\n return this.getHours();\n },\n HH: () => {\n return this.getHours();\n },\n hs: () => {\n return this.getHours12h();\n },\n HS: () => {\n return this.getHours12h();\n },\n mm: () => {\n return this.getMinutes();\n },\n MM: () => {\n return this.getMinutes();\n },\n ss: () => {\n return this.getSeconds();\n },\n SS: () => {\n return this.getSeconds();\n },\n ap: () => {\n const hours = this.date.getHours();\n return hours >= 12 ? 'pm' : 'am';\n },\n AP: () => {\n const hours = this.date.getHours();\n return hours >= 12 ? 'PM' : 'AM';\n },\n };\n\n public setDate(timestamp: number) {\n this.date = new Date(timestamp);\n }\n\n public setLocale(localeKey: string) {\n this.localeKey = localeKey;\n }\n\n public getFormattedStatus() {\n const placeholders: {\n [key: string]: any;\n } = {\n '<DATE>': this.getFormattedDate(),\n '<TIME>': this.getFormattedTime(),\n };\n\n const formattedInput = this.input.replace(/<\\w+>/g, (foundString) => {\n return placeholders[foundString] || foundString;\n });\n return formattedInput;\n }\n\n public getFormattedDate() {\n // replace placeholders with values from dateReplacements object\n const dataKeys = Object.keys(this.dateReplacements);\n let formattedDate = this.dateFormat;\n for (let i = 0; i < dataKeys.length; i++) {\n formattedDate = formattedDate.replace(\n new RegExp(dataKeys[i], 'g'),\n (foundString) => {\n return this.dateReplacements[foundString].call(this);\n }\n );\n }\n return formattedDate;\n }\n\n public getFormattedTime() {\n // replace placeholders with values from timeReplacements object\n const dataKeys = Object.keys(this.timeReplacements);\n let formattedTime = this.timeFormat;\n for (let i = 0; i < dataKeys.length; i++) {\n formattedTime = formattedTime.replace(\n new RegExp(dataKeys[i], 'g'),\n (foundString) => {\n return this.timeReplacements[foundString].call(this);\n }\n );\n }\n return formattedTime;\n }\n\n public areOnSameDay(first: Date, second: Date) {\n return (\n first.getFullYear() === second.getFullYear() &&\n first.getMonth() === second.getMonth() &&\n first.getDate() === second.getDate()\n );\n }\n\n /**\n * Get formatted string of timespan from current date + duration in seconds\n * @param duration Duration in seconds. Added to current date\n * @returns\n */\n public getFormattedTimespan(\n format = '',\n duration?: number,\n seperator = ' - '\n ) {\n const startTime = this.getFormattedTime();\n let endTime = '';\n\n if (duration === undefined) return '';\n\n // create endDate\n if (duration > 0) {\n const endDate = new Date(this.date);\n endDate.setSeconds(this.date.getSeconds() + duration);\n\n const endTimeFormatter = new StatusFormatter(\n endDate.getTime(),\n this.input,\n this.dateFormat,\n this.timeFormat,\n this.localeKey\n );\n\n endTime = endTimeFormatter.getFormattedTime();\n }\n\n // concatenate timespan string\n const placeholders: {\n [key: string]: any;\n } = {\n '<START>': startTime,\n '<END>': endTime,\n '<SEP>': seperator,\n };\n\n const formattedTimespan = format.replace(/<\\w+>/g, (foundString) => {\n if (foundString === '<SEP>' && !(startTime && endTime)) return '';\n if (foundString === '<END>' && !endTime) return '';\n\n return placeholders[foundString] || foundString;\n });\n\n return formattedTimespan;\n }\n\n private getDoubleDigitString(value: number) {\n return value < 10 ? '0' + value.toString() : value.toString();\n }\n\n private getDay() {\n return this.getDoubleDigitString(this.date.getDate());\n }\n\n private getMonth() {\n return this.getDoubleDigitString(this.date.getMonth() + 1);\n }\n\n private getYear() {\n return this.date.getFullYear().toString();\n }\n\n private getHours() {\n return this.getDoubleDigitString(this.date.getHours());\n }\n\n private getHours12h() {\n let hours = this.date.getHours();\n hours = hours % 12;\n hours = hours === 0 ? 12 : hours;\n return this.getDoubleDigitString(hours);\n }\n\n private getMinutes() {\n return this.getDoubleDigitString(this.date.getMinutes());\n }\n\n private getSeconds() {\n return this.getDoubleDigitString(this.date.getSeconds());\n }\n}\n\ninterface WeekDays {\n [key: string]: {\n long: string[];\n short: string[];\n };\n}\n\ninterface MonthNames {\n [key: string]: {\n long: string[];\n short: string[];\n };\n}\n\nconst weekDays: WeekDays = {\n de: {\n long: [\n 'Sonntag',\n 'Montag',\n 'Dienstag',\n 'Mittwoch',\n 'Donnerstag',\n 'Freitag',\n 'Samstag',\n ],\n short: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],\n },\n en: {\n long: [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n ],\n short: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n },\n};\n\nconst monthNames: MonthNames = {\n de: {\n long: [\n 'Januar',\n 'Februar',\n 'März',\n 'April',\n 'Mai',\n 'Juni',\n 'Juli',\n 'August',\n 'September',\n 'Oktober',\n 'November',\n 'Dezember',\n ],\n short: [\n 'Jan.',\n 'Febr.',\n 'März',\n 'Apr.',\n 'Mai',\n 'Juni',\n 'Juli',\n 'Aug.',\n 'Sept.',\n 'Okt.',\n 'Nov.',\n 'Dez',\n ],\n },\n en: {\n long: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n short: [\n 'Jan.',\n 'Feb.',\n 'Mar.',\n 'Apr.',\n 'May',\n 'June',\n 'July',\n 'Aug.',\n 'Sept.',\n 'Oct.',\n 'Nov.',\n 'Dec.',\n ],\n },\n};\n"],"names":["StatusFormatter","timestamp","input","dateFormat","timeFormat","localeKey","_this","this","dateReplacements","dddd","weekDays","long","date","getDay","DDDD","ddd","short","DDD","dd","DD","MMMM","monthNames","getMonth","mmmm","MMM","mmm","mm","MM","yyyy","getYear","YYYY","yy","substr","YY","timeReplacements","hh","getHours","HH","hs","getHours12h","HS","getMinutes","ss","getSeconds","SS","ap","AP","Date","prototype","setDate","setLocale","getFormattedStatus","placeholders","getFormattedDate","getFormattedTime","replace","foundString","dataKeys","Object","keys","formattedDate","i","length","RegExp","call","formattedTime","areOnSameDay","first","second","getFullYear","getDate","getFormattedTimespan","format","duration","seperator","startTime","endTime","undefined","endDate","setSeconds","endTimeFormatter","getTime","getDoubleDigitString","value","toString","hours","de","en"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("./ClockFilled-2483aa4a.js"),n=require("react"),t=require("./useMediaQuery-d4f81f88.js"),r=require("./concat-f387d848.js"),i=function(){var e=n.useState(!1),t=e[0],r=e[1];return n.useEffect((function(){void 0===document.fonts?r(void 0):function(){var e,n;null===(n=null===(e=null===document||void 0===document?void 0:document.fonts)||void 0===e?void 0:e.ready)||void 0===n||n.then((function(){r(!0)}))}()}),[]),t},o=function(e,t){void 0===e&&(e=0);var r=n.useState(null),i=r[0],o=r[1],u=n.useRef(-1),c=n.useRef({clientWidth:0,clientHeight:0,innerHeight:0,innerWidth:0}),a=function(){"undefined"!=typeof window&&"undefined"!=typeof document&&(c.current={clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight,innerHeight:window.innerHeight,innerWidth:window.innerWidth})};return n.useEffect((function(){if("undefined"!=typeof window){var n=function(){a(),-1===u.current&&(u.current=window.setTimeout((function(){null==t||t(c.current),o(c.current),u.current=-1}),e))};return a(),null==t||t(c.current),o(c.current),window.addEventListener("resize",n),function(){window.removeEventListener("resize",n)}}}),[t,e]),i},u="undefined"!=typeof window&&"URLSearchParams"in window,c=function(){var e={};if(!u)return e;var n=Object.fromEntries(new URLSearchParams(window.location.search));for(var t in n){var r=n[t];"string"==typeof r&&(r=decodeURIComponent(r)),e[t]=r}return e},a=function(e){if(e){var n=e.toString(),t=n?r.concat([location.pathname,n+location.hash],"?"):location.pathname+location.hash;window.history.replaceState({},"",t)}};exports.deleteUrlParam=function(e){if(u){var n=new URLSearchParams(window.location.search);n.delete(e),a(n)}},exports.getUrlParams=c,exports.setUrlParam=function(e,n){if(u&&("string"==typeof n||"number"==typeof n)){var t=c();t[e]=n.toString();var r=new URLSearchParams(window.location.search);for(var i in t)r.set(i,encodeURIComponent(t[i]));a(r)}},exports.useEqualSheetHeight=function(r){var u=e.__assign({small:1,medium:1,semilarge:2,large:3,xlarge:3},r.responsive),c=t.useMediaQuery(["small","medium","semilarge","large","xlarge"]),a=c?u[c]:u.small,l=n.useState([]),s=l[0],f=l[1],d=i(),m=n.useCallback((function(e,n,t){e.reduce((function(e,n,t,r){return t%a==0&&e.push(r.slice(t,t+a)),e}),[]).forEach((function(e,r){var i=e.filter((function(e){return null!==e})).slice().sort((function(e,n){return e&&n?e>n?-1:1:0}))[0];if(e.length>1&&i)for(var o=0;o<e.length;o++){var u=t[o+r*a].current.querySelector(n);null==u||u.setAttribute("style","height: ".concat(i,"px"))}}))}),[a]),h=o(void 0!==r.resizeThrottleTimeout?r.resizeThrottleTimeout:400);n.useEffect((function(){var n,t=(n=s,function(){for(var t=new Map,i=0;i<r.identifiers.length;i++)t.set(r.identifiers[i],[]);n.filter((function(e){return e.current})).forEach((function(n){var i=n.current;r.identifiers.forEach((function(n){var r=i.querySelector(n),o=t.get(n),u=null;r&&(r.removeAttribute("style"),u=r.getBoundingClientRect().height),o&&t.set(n,e.__spreadArray(e.__spreadArray([],o,!0),[u],!1))}))})),t.forEach((function(e,t){m(e,t,n)}))});t()}),[r.identifiers,h,m,s,d]);var v=n.useCallback((function(){f((function(e){return Array(r.listLength).fill(null).map((function(t,r){return e[r]||n.createRef()}))}))}),[r.listLength]);return n.useEffect((function(){f((function(e){return Array(r.listLength).fill(null).map((function(t,r){return e[r]||n.createRef()}))}))}),[r.listLength]),{sheetRefs:s,triggerCalculation:v}},exports.useFontsLoaded=i,exports.
|
|
2
|
-
//# sourceMappingURL=urlParams-
|
|
1
|
+
"use strict";var e=require("./ClockFilled-2483aa4a.js"),n=require("react"),t=require("./useMediaQuery-d4f81f88.js"),r=require("./concat-f387d848.js"),i=function(){var e=n.useState(!1),t=e[0],r=e[1];return n.useEffect((function(){void 0===document.fonts?r(void 0):function(){var e,n;null===(n=null===(e=null===document||void 0===document?void 0:document.fonts)||void 0===e?void 0:e.ready)||void 0===n||n.then((function(){r(!0)}))}()}),[]),t},o=function(e,t){void 0===e&&(e=0);var r=n.useState(null),i=r[0],o=r[1],u=n.useRef(-1),c=n.useRef({clientWidth:0,clientHeight:0,innerHeight:0,innerWidth:0}),a=function(){"undefined"!=typeof window&&"undefined"!=typeof document&&(c.current={clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight,innerHeight:window.innerHeight,innerWidth:window.innerWidth})};return n.useEffect((function(){if("undefined"!=typeof window){var n=function(){a(),-1===u.current&&(u.current=window.setTimeout((function(){null==t||t(c.current),o(c.current),u.current=-1}),e))};return a(),null==t||t(c.current),o(c.current),window.addEventListener("resize",n),function(){window.removeEventListener("resize",n)}}}),[t,e]),i},u="undefined"!=typeof window&&"URLSearchParams"in window,c=function(){var e={};if(!u)return e;var n=Object.fromEntries(new URLSearchParams(window.location.search));for(var t in n){var r=n[t];"string"==typeof r&&(r=decodeURIComponent(r)),e[t]=r}return e},a=function(e){if(e){var n=e.toString(),t=n?r.concat([location.pathname,n+location.hash],"?"):location.pathname+location.hash;window.history.replaceState({},"",t)}};exports.deleteUrlParam=function(e){if(u){var n=new URLSearchParams(window.location.search);n.delete(e),a(n)}},exports.getUrlParams=c,exports.setUrlParam=function(e,n){if(u&&("string"==typeof n||"number"==typeof n)){var t=c();t[e]=n.toString();var r=new URLSearchParams(window.location.search);for(var i in t)r.set(i,encodeURIComponent(t[i]));a(r)}},exports.useEqualSheetHeight=function(r){var u=e.__assign({small:1,medium:1,semilarge:2,large:3,xlarge:3},r.responsive),c=t.useMediaQuery(["small","medium","semilarge","large","xlarge"]),a=c?u[c]:u.small,l=n.useState([]),s=l[0],f=l[1],d=i(),m=n.useCallback((function(e,n,t){e.reduce((function(e,n,t,r){return t%a==0&&e.push(r.slice(t,t+a)),e}),[]).forEach((function(e,r){var i=e.filter((function(e){return null!==e})).slice().sort((function(e,n){return e&&n?e>n?-1:1:0}))[0];if(e.length>1&&i)for(var o=0;o<e.length;o++){var u=t[o+r*a].current.querySelector(n);null==u||u.setAttribute("style","height: ".concat(i,"px"))}}))}),[a]),h=o(void 0!==r.resizeThrottleTimeout?r.resizeThrottleTimeout:400);n.useEffect((function(){var n,t=(n=s,function(){for(var t=new Map,i=0;i<r.identifiers.length;i++)t.set(r.identifiers[i],[]);n.filter((function(e){return e.current})).forEach((function(n){var i=n.current;r.identifiers.forEach((function(n){var r=i.querySelector(n),o=t.get(n),u=null;r&&(r.removeAttribute("style"),u=r.getBoundingClientRect().height),o&&t.set(n,e.__spreadArray(e.__spreadArray([],o,!0),[u],!1))}))})),t.forEach((function(e,t){m(e,t,n)}))});t()}),[r.identifiers,h,m,s,d]);var v=n.useCallback((function(){f((function(e){return Array(r.listLength).fill(null).map((function(t,r){return e[r]||n.createRef()}))}))}),[r.listLength]);return n.useEffect((function(){f((function(e){return Array(r.listLength).fill(null).map((function(t,r){return e[r]||n.createRef()}))}))}),[r.listLength]),{sheetRefs:s,triggerCalculation:v}},exports.useFontsLoaded=i,exports.useResizeThrottle=o,exports.useScrollTo=function(e){var t=n.useRef(-1),r=n.useRef(0),i=n.useState(void 0),o=i[0],u=i[1];return n.useEffect((function(){if(void 0!==o)if("scrollBehavior"in document.documentElement.style)window.scroll({top:o,left:0,behavior:"smooth"}),u(void 0);else{var n=function(i){-1===t.current&&(t.current=i||(new Date).getTime());var c,a=i-t.current,l=+(c=a/e,c*(2-c)).toFixed(2),s=0===o?r.current-r.current*l:r.current+o*l;window.scrollTo(0,s),o>0&&s>=r.current+o||o<0&&s<=r.current+o||0===o&&s<=0?(cancelAnimationFrame(t.current),t.current=-1,u(void 0)):window.requestAnimationFrame(n)};cancelAnimationFrame(t.current),t.current=-1,r.current=window.pageYOffset||document.documentElement.scrollTop,window.requestAnimationFrame(n)}}),[o,e]),u};
|
|
2
|
+
//# sourceMappingURL=urlParams-1d03b5a6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urlParams-1d03b5a6.js","sources":["../src/utils/useFontsLoaded.ts","../src/utils/useResizeThrottle.ts","../src/utils/urlParams.ts","../src/utils/useEqualSheetHeight.ts","../src/utils/useScrollTo.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport const useFontsLoaded = () => {\n const [allFontsLoaded, setFontLoaded] = useState<boolean | undefined>(\n false\n );\n\n useEffect(() => {\n const waitForFonts = () => {\n (document as any)?.fonts?.ready?.then(() => {\n setFontLoaded(true);\n });\n };\n\n if ((document as any).fonts === undefined) setFontLoaded(undefined);\n else waitForFonts();\n }, []);\n\n return allFontsLoaded;\n};\n","import { useEffect, useRef, useState } from 'react';\n\nexport interface ResizeState {\n clientWidth: number;\n clientHeight: number;\n innerHeight: number;\n innerWidth: number;\n}\n\nconst useResizeThrottle = (\n timeout = 0,\n callback?: (state: ResizeState) => void\n) => {\n const [throttledState, setThrottledState] =\n useState<ResizeState | null>(null);\n\n const timeoutRef = useRef<number>(-1);\n const lastState = useRef<ResizeState>({\n clientWidth: 0,\n clientHeight: 0,\n innerHeight: 0,\n innerWidth: 0,\n });\n\n const updateResizeState = () => {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return;\n }\n\n lastState.current = {\n clientWidth: document.documentElement.clientWidth,\n clientHeight: document.documentElement.clientHeight,\n innerHeight: window.innerHeight,\n innerWidth: window.innerWidth,\n };\n };\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n\n const handleResize = () => {\n updateResizeState();\n\n if (timeoutRef.current === -1) {\n timeoutRef.current = window.setTimeout(() => {\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n timeoutRef.current = -1;\n }, timeout);\n }\n };\n\n updateResizeState();\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [callback, timeout]);\n\n return throttledState;\n};\n\nexport default useResizeThrottle;\n","import { concat } from './concat';\n\nconst isSupported =\n typeof window !== 'undefined' && 'URLSearchParams' in window;\n\nexport const getUrlParams = () => {\n const obj: Record<string, string> = {};\n if (!isSupported) return obj;\n\n const paramsObj = Object.fromEntries(\n new URLSearchParams(window.location.search)\n );\n\n for (const param in paramsObj) {\n let value = paramsObj[param];\n if (typeof value === 'string') {\n value = decodeURIComponent(value);\n }\n obj[param] = value;\n }\n\n return obj;\n};\n\nexport const setUrlParam = (key: string, value: string | number) => {\n if (\n !isSupported ||\n (typeof value !== 'string' && typeof value !== 'number')\n ) {\n return;\n }\n\n const params = getUrlParams();\n params[key] = value.toString();\n\n const currentParams = new URLSearchParams(window.location.search);\n for (const param in params) {\n currentParams.set(param, encodeURIComponent(params[param]));\n }\n\n updateUrl(currentParams);\n};\n\nexport const deleteUrlParam = (key: string) => {\n if (!isSupported) return;\n const currentParams = new URLSearchParams(window.location.search);\n currentParams.delete(key);\n\n updateUrl(currentParams);\n};\n\nconst updateUrl = (params: URLSearchParams) => {\n if (!params) return;\n\n const queries = params.toString();\n const url = queries\n ? concat([location.pathname, queries + location.hash], '?')\n : location.pathname + location.hash;\n\n window.history.replaceState({}, '', url);\n};\n","import {\n useEffect,\n useState,\n MutableRefObject,\n createRef,\n useCallback,\n} from 'react';\nimport { useMediaQuery } from './useMediaQuery';\nimport { useFontsLoaded } from 'utils/useFontsLoaded';\nimport useResizeThrottle from './useResizeThrottle';\n\ninterface ItemsPerRow {\n small?: number;\n medium?: number;\n semilarge?: number;\n large?: number;\n xlarge?: number;\n}\n\ntype Mq = keyof ItemsPerRow;\n\n// ********************\n// useEqualSheetHeight\n// ********************\n\nexport const useEqualSheetHeight = <T extends HTMLElement>(props: {\n listLength: number;\n identifiers: string[];\n responsive?: ItemsPerRow;\n /** Throttle timeout for resize events. Default: 400ms */\n resizeThrottleTimeout?: number;\n}) => {\n const defaultResponsive = {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n ...props.responsive,\n };\n const mqs: Mq[] = ['small', 'medium', 'semilarge', 'large', 'xlarge'];\n const currentMq = useMediaQuery(mqs) as Mq | undefined;\n const itemsPerRow = currentMq\n ? defaultResponsive[currentMq]\n : defaultResponsive.small;\n\n const [sheetRefs, setSheetRefs] = useState<MutableRefObject<T>[]>([]);\n const fontsLoaded = useFontsLoaded();\n\n const setHeights = useCallback(\n (\n heights: (number | null)[],\n selector: string,\n refs: MutableRefObject<T>[]\n ) => {\n const makeRows = (\n result: Array<number | null>[],\n _: number,\n index: number,\n arr: Array<number | null>\n ) => {\n // make new row after 3 items\n if (index % itemsPerRow === 0) {\n result.push(\n arr.slice(index, index + itemsPerRow) as Array<number>\n );\n }\n return result;\n };\n\n // put item heights in 2-dimensional array to sort them in rows\n const heightsInRows = heights.reduce(makeRows, []);\n\n heightsInRows.forEach((rowHeights, y) => {\n const validHeights = rowHeights.filter(\n (height) => height !== null\n ) as number[];\n\n const highest = validHeights.slice().sort((vA, vB) => {\n if (vA && vB) {\n if (vA > vB) return -1;\n return 1;\n } else return 0;\n })[0];\n\n // set height of all items in row to the highest value\n if (rowHeights.length > 1 && highest) {\n for (let x = 0; x < rowHeights.length; x++) {\n const index = x + y * itemsPerRow;\n const el = refs[index].current.querySelector(selector);\n\n el?.setAttribute('style', `height: ${highest}px`);\n }\n }\n });\n },\n [itemsPerRow]\n );\n\n // Throttle viewport resize event for performance\n const resizeState = useResizeThrottle(\n props.resizeThrottleTimeout !== undefined\n ? props.resizeThrottleTimeout\n : 400\n );\n\n useEffect(() => {\n const resize = (refs: MutableRefObject<T>[]) => () => {\n const identifierSizes = new Map<string, Array<number | null>>();\n\n // create identifier map\n for (let i = 0; i < props.identifiers.length; i++) {\n identifierSizes.set(props.identifiers[i], []);\n }\n\n // set height values\n refs.filter((ref) => ref.current).forEach(({ current }) => {\n // get height for each element\n props.identifiers.forEach((id) => {\n const element = current.querySelector(id);\n const prevHeights = identifierSizes.get(id);\n let height: number | null = null;\n\n if (element) {\n element.removeAttribute('style');\n height = element.getBoundingClientRect().height;\n }\n\n if (prevHeights) {\n identifierSizes.set(id, [...prevHeights, height]);\n }\n });\n });\n\n // set heights for each identifier\n identifierSizes.forEach((value, key) => {\n setHeights(value, key, refs);\n });\n };\n\n const resizeHandler = resize(sheetRefs);\n resizeHandler();\n }, [props.identifiers, resizeState, setHeights, sheetRefs, fontsLoaded]);\n\n const triggerCalculation = useCallback(() => {\n setSheetRefs((prev) =>\n Array(props.listLength)\n .fill(null)\n .map((_, i) => prev[i] || createRef())\n );\n }, [props.listLength]);\n\n useEffect(() => {\n setSheetRefs((prev) =>\n Array(props.listLength)\n .fill(null)\n .map((_, i) => prev[i] || createRef())\n );\n }, [props.listLength]);\n\n return {\n sheetRefs,\n triggerCalculation,\n };\n};\n","import { useEffect, useRef, useState } from 'react';\n\nexport const useScrollTo = (fallbackScrollDuration: number) => {\n const startTime = useRef<number>(-1);\n const firstPos = useRef<number>(0);\n const [targetPos, setTargetPos] = useState<number | undefined>(undefined);\n\n const outQuad = (n: number) => {\n return n * (2 - n);\n };\n\n useEffect(() => {\n if (targetPos === undefined) return;\n if ('scrollBehavior' in document.documentElement.style) {\n window.scroll({\n top: targetPos,\n left: 0,\n behavior: 'smooth',\n });\n setTargetPos(undefined);\n } else {\n const animate = (timestamp: number) => {\n if (startTime.current === -1) {\n startTime.current = timestamp || new Date().getTime();\n }\n\n const elapsed = timestamp - startTime.current;\n const progress = elapsed / fallbackScrollDuration;\n const easeProgress = +outQuad(progress).toFixed(2);\n\n const newPos =\n targetPos === 0\n ? firstPos.current - firstPos.current * easeProgress\n : firstPos.current + targetPos * easeProgress;\n\n // scroll to new position\n window.scrollTo(0, newPos);\n\n if (\n (targetPos > 0 && newPos >= firstPos.current + targetPos) ||\n (targetPos < 0 && newPos <= firstPos.current + targetPos) ||\n (targetPos === 0 && newPos <= 0)\n ) {\n cancelAnimationFrame(startTime.current);\n startTime.current = -1;\n setTargetPos(undefined);\n } else {\n window.requestAnimationFrame(animate);\n }\n };\n\n cancelAnimationFrame(startTime.current);\n startTime.current = -1;\n firstPos.current =\n window.pageYOffset || document.documentElement.scrollTop;\n window.requestAnimationFrame(animate);\n }\n }, [targetPos, fallbackScrollDuration]);\n\n return setTargetPos;\n};\n"],"names":["useFontsLoaded","_a","useState","allFontsLoaded","setFontLoaded","useEffect","undefined","document","fonts","_b","ready","then","waitForFonts","useResizeThrottle","timeout","callback","throttledState","setThrottledState","timeoutRef","useRef","lastState","clientWidth","clientHeight","innerHeight","innerWidth","updateResizeState","window","current","documentElement","handleResize","setTimeout","addEventListener","removeEventListener","isSupported","getUrlParams","obj","paramsObj","Object","fromEntries","URLSearchParams","location","search","param","value","decodeURIComponent","updateUrl","params","queries","toString","url","concat","pathname","hash","history","replaceState","key","currentParams","delete","set","encodeURIComponent","props","defaultResponsive","__assign","small","medium","semilarge","large","xlarge","responsive","currentMq","useMediaQuery","itemsPerRow","sheetRefs","setSheetRefs","fontsLoaded","setHeights","useCallback","heights","selector","refs","reduce","result","_","index","arr","push","slice","forEach","rowHeights","y","validHeights","highest","filter","height","sort","vA","vB","length","x","el","querySelector","setAttribute","resizeState","resizeThrottleTimeout","resizeHandler","identifierSizes","Map","i","identifiers","ref","id","element","prevHeights","get","removeAttribute","getBoundingClientRect","triggerCalculation","prev","Array","listLength","fill","map","createRef","fallbackScrollDuration","startTime","firstPos","targetPos","setTargetPos","style","scroll","top","left","behavior","animate_1","timestamp","Date","getTime","n","elapsed","easeProgress","toFixed","newPos","scrollTo","cancelAnimationFrame","requestAnimationFrame","pageYOffset","scrollTop"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIE-aef9decc.js","sources":["../src/utils/useIE.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\n\nconst useIE = (initialValue?: boolean) => {\n const [isIE, setIE] = useState(initialValue || false);\n\n useEffect(() => {\n setIE((document.body.style as any).msTouchAction !== undefined);\n }, []);\n return isIE;\n};\n\nexport default useIE;\n"],"names":["initialValue","_a","useState","isIE","setIE","useEffect","undefined","document","body","style","msTouchAction"],"mappings":"kDAEc,SAACA,GACL,IAAAC,EAAgBC,EAAAA,SAASF,IAAgB,GAAxCG,EAAIF,EAAA,GAAEG,OAKb,OAHAC,EAAAA,WAAU,WACND,OAAqDE,IAA9CC,SAASC,KAAKC,MAAcC,iBACpC,IACIP"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { a as __makeTemplateObject } from './ClockFilled-8784ddac.js';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import styled from 'styled-components';
|
|
4
|
+
import { m as mq, s as spacings } from './styles-5f78e59d.js';
|
|
5
|
+
|
|
6
|
+
var View = styled.div.withConfig({
|
|
7
|
+
displayName: "Actions__View",
|
|
8
|
+
componentId: "sc-1j3kti1-0"
|
|
9
|
+
})(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: block;\n\n @media ", " {\n display: ", ";\n }\n"], ["\n display: block;\n\n @media ", " {\n display: ", ";\n }\n"])), mq.medium, function (_a) {
|
|
10
|
+
var isCovered = _a.isCovered;
|
|
11
|
+
return isCovered ? 'block' : 'inline-block';
|
|
12
|
+
});
|
|
13
|
+
var Content = styled.div.withConfig({
|
|
14
|
+
displayName: "Actions__Content",
|
|
15
|
+
componentId: "sc-1j3kti1-1"
|
|
16
|
+
})(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n flex-wrap: wrap;\n flex-direction: ", ";\n\n margin-top: -", "px;\n margin-left: -", "px;\n\n &&& > * {\n /* flex: 1 1 ", "; */\n margin-top: ", "px;\n margin-left: ", "px;\n\n /* min-width: ", "; */\n }\n\n @media ", " {\n display: ", ";\n flex-direction: ", ";\n align-items: stretch;\n width: auto;\n }\n"], ["\n display: flex;\n flex-wrap: wrap;\n flex-direction: ", ";\n\n margin-top: -", "px;\n margin-left: -", "px;\n\n &&& > * {\n /* flex: 1 1 ", "; */\n margin-top: ", "px;\n margin-left: ", "px;\n\n /* min-width: ", "; */\n }\n\n @media ", " {\n display: ", ";\n flex-direction: ", ";\n align-items: stretch;\n width: auto;\n }\n"])), function (_a) {
|
|
17
|
+
var isMirrored = _a.isMirrored;
|
|
18
|
+
return isMirrored ? 'column-reverse' : 'column';
|
|
19
|
+
}, spacings.nudge * 2, spacings.spacer, function (_a) {
|
|
20
|
+
var isCovered = _a.isCovered;
|
|
21
|
+
return isCovered ? '100%' : '0px';
|
|
22
|
+
}, spacings.nudge * 2, spacings.spacer, function (_a) {
|
|
23
|
+
var isCovered = _a.isCovered;
|
|
24
|
+
return isCovered && '0px';
|
|
25
|
+
}, mq.medium, function (_a) {
|
|
26
|
+
var isCovered = _a.isCovered;
|
|
27
|
+
return isCovered ? 'flex' : 'inline-flex';
|
|
28
|
+
}, function (_a) {
|
|
29
|
+
var isMirrored = _a.isMirrored;
|
|
30
|
+
return isMirrored ? 'row-reverse' : 'row';
|
|
31
|
+
});
|
|
32
|
+
var TertiaryWrapper = styled.div.withConfig({
|
|
33
|
+
displayName: "Actions__TertiaryWrapper",
|
|
34
|
+
componentId: "sc-1j3kti1-2"
|
|
35
|
+
})(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n align-self: flex-start;\n\n @media ", " {\n align-self: center;\n }\n"], ["\n align-self: flex-start;\n\n @media ", " {\n align-self: center;\n }\n"])), mq.medium);
|
|
36
|
+
|
|
37
|
+
var Actions = function (_a) {
|
|
38
|
+
var _b = _a.mode,
|
|
39
|
+
mode = _b === void 0 ? 'wrap' : _b,
|
|
40
|
+
_c = _a.isMirrored,
|
|
41
|
+
isMirrored = _c === void 0 ? false : _c,
|
|
42
|
+
primary = _a.primary,
|
|
43
|
+
secondary = _a.secondary,
|
|
44
|
+
tertiary = _a.tertiary,
|
|
45
|
+
className = _a.className;
|
|
46
|
+
return React__default.createElement(View, {
|
|
47
|
+
isCovered: mode === 'cover',
|
|
48
|
+
className: className
|
|
49
|
+
}, React__default.createElement(Content, {
|
|
50
|
+
isCovered: mode === 'cover',
|
|
51
|
+
isMirrored: isMirrored
|
|
52
|
+
}, primary && primary, secondary && secondary, tertiary && React__default.createElement(TertiaryWrapper, null, tertiary)));
|
|
53
|
+
};
|
|
54
|
+
var templateObject_1, templateObject_2, templateObject_3;
|
|
55
|
+
|
|
56
|
+
export { Actions as A };
|
|
57
|
+
//# sourceMappingURL=Actions-73e13c48.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Actions-73e13c48.js","sources":["../src/components/blocks/Actions.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport { mq, spacings } from 'utils/styles';\n\nconst View = styled.div<{ isCovered?: boolean }>`\n display: block;\n\n @media ${mq.medium} {\n display: ${({ isCovered }) => (isCovered ? 'block' : 'inline-block')};\n }\n`;\n\nconst Content = styled.div<{\n isMirrored?: boolean;\n isCovered?: boolean;\n}>`\n display: flex;\n flex-wrap: wrap;\n flex-direction: ${({ isMirrored }) =>\n isMirrored ? 'column-reverse' : 'column'};\n\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.spacer}px;\n\n &&& > * {\n /* flex: 1 1 ${({ isCovered }) => (isCovered ? '100%' : '0px')}; */\n margin-top: ${spacings.nudge * 2}px;\n margin-left: ${spacings.spacer}px;\n\n /* min-width: ${({ isCovered }) => isCovered && '0px'}; */\n }\n\n @media ${mq.medium} {\n display: ${({ isCovered }) => (isCovered ? 'flex' : 'inline-flex')};\n flex-direction: ${({ isMirrored }) =>\n isMirrored ? 'row-reverse' : 'row'};\n align-items: stretch;\n width: auto;\n }\n`;\n\nconst TertiaryWrapper = styled.div`\n align-self: flex-start;\n\n @media ${mq.medium} {\n align-self: center;\n }\n`;\n\nexport type ActionMode = 'wrap' | 'cover';\n\nconst Actions: FC<{\n /** Behaviour of content wrapping. If set to cover the action container always tries to fill full width */\n mode?: ActionMode;\n /** Switch order of primary and secondary action */\n isMirrored?: boolean;\n /** React node of primary action */\n primary?: React.ReactNode;\n /** React node of secondary action */\n secondary?: React.ReactNode;\n /** React node of tertiary action */\n tertiary?: React.ReactNode;\n className?: string;\n}> = ({\n mode = 'wrap',\n isMirrored = false,\n primary,\n secondary,\n tertiary,\n className,\n}) => {\n return (\n <View isCovered={mode === 'cover'} className={className}>\n <Content isCovered={mode === 'cover'} isMirrored={isMirrored}>\n {primary && primary}\n {secondary && secondary}\n {tertiary && <TertiaryWrapper>{tertiary}</TertiaryWrapper>}\n </Content>\n </View>\n );\n};\n\nexport default Actions;\n"],"names":["View","styled","div","mq","medium","_a","isCovered","Content","templateObject_2","__makeTemplateObject","isMirrored","spacings","nudge","spacer","TertiaryWrapper","templateObject_3","Actions","_b","mode","_c","primary","secondary","tertiary","className","React","createElement"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { a as __makeTemplateObject } from './ClockFilled-8784ddac.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import styled from 'styled-components';
|
|
4
|
+
import { L as Link } from './Link-ee8a48ed.js';
|
|
5
|
+
|
|
6
|
+
var bdotColor = '#1fc2f4';
|
|
7
|
+
var Dot = styled(Link).withConfig({
|
|
8
|
+
displayName: "Bdot__Dot",
|
|
9
|
+
componentId: "sc-itin1p-0"
|
|
10
|
+
})(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: 14px;\n height: 14px;\n\n display: inline-block;\n vertical-align: middle;\n border-radius: 50%;\n\n background: ", ";\n color: ", ";\n text-decoration: none;\n\n span {\n visibility: hidden;\n font-size: 0;\n color: transparent;\n }\n"], ["\n width: 14px;\n height: 14px;\n\n display: inline-block;\n vertical-align: middle;\n border-radius: 50%;\n\n background: ", ";\n color: ", ";\n text-decoration: none;\n\n span {\n visibility: hidden;\n font-size: 0;\n color: transparent;\n }\n"])), bdotColor, bdotColor);
|
|
11
|
+
|
|
12
|
+
var Bdot = function (_a) {
|
|
13
|
+
var className = _a.className;
|
|
14
|
+
return React.createElement(Dot, {
|
|
15
|
+
ariaLabel: "b.lateral - creative agency",
|
|
16
|
+
className: className,
|
|
17
|
+
href: "https://blateral.com",
|
|
18
|
+
isExternal: true
|
|
19
|
+
}, React.createElement("span", null, "b.lateral - creative agency"));
|
|
20
|
+
};
|
|
21
|
+
var templateObject_1;
|
|
22
|
+
|
|
23
|
+
export { Bdot as B };
|
|
24
|
+
//# sourceMappingURL=Bdot-30b047cc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Bdot-30b047cc.js","sources":["../src/components/blocks/Bdot.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport Link from 'components/typography/Link';\n\nconst bdotColor = '#1fc2f4';\n\nconst Dot = styled(Link)`\n width: 14px;\n height: 14px;\n\n display: inline-block;\n vertical-align: middle;\n border-radius: 50%;\n\n background: ${bdotColor};\n color: ${bdotColor};\n text-decoration: none;\n\n span {\n visibility: hidden;\n font-size: 0;\n color: transparent;\n }\n`;\n\nconst Bdot: React.FC<{ className?: string }> = ({ className }) => {\n return (\n <Dot\n ariaLabel=\"b.lateral - creative agency\"\n className={className}\n href=\"https://blateral.com\"\n isExternal\n >\n <span>b.lateral - creative agency</span>\n </Dot>\n );\n};\n\nexport default Bdot;\n"],"names":["bdotColor","Dot","styled","Link","templateObject_1","__makeTemplateObject","Bdot","_a","className","React","createElement","ariaLabel","href","isExternal"],"mappings":";;;;;AAIA,IAAMA,SAAS,GAAG,SAAlB,CAAA;AAEA,IAAMC,GAAG,GAAGC,MAAM,CAACC,IAAD,CAAT,CAAA,UAAA,CAAA;AAAA,EAAA,WAAA,EAAA,WAAA;AAAA,EAAA,WAAA,EAAA,aAAA;AAAA,CAAeC,CAAAA,CAAAA,gBAAA,KAAAA,gBAAA,GAAAC,oBAAA,CAAA,CAAA,+IAAA,EAAA,gBAAA,EAAA,uIAAA,CAAA,EAAA,CAAA,+IAAA,EAQG,gBARH,EASF,uIATE,CAAA,CAAA,CAAf,EAQSL,SART,EASIA,SATJ,CAAT,CAAA;;AAmBA,IAAMM,IAAI,GAAqC,UAACC,EAAD,EAAc;AAAX,EAAA,IAAAC,SAAS,GAAAD,EAAA,CAAAC,SAAT,CAAA;AAC9C,EAAA,OACIC,KAAC,CAAAC,aAAD,CAACT,GAAD,EACI;AAAAU,IAAAA,SAAS,EAAC,6BAAV;AACAH,IAAAA,SAAS,EAAEA,SADX;AAEAI,IAAAA,IAAI,EAAC,sBAFL;AAGAC,IAAAA,UAAU,EAAA,IAAA;AAHV,GADJ,EAMIJ,KAAwC,CAAAC,aAAxC,CAAwC,MAAxC,EAAwC,IAAxC,EAAwC,6BAAxC,CANJ,CADJ,CAAA;AAUH,EAXD;;;;;"}
|