@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,1018 @@
|
|
|
1
|
+
import { a as __makeTemplateObject, _ as __assign, e as __spreadArray } from './ClockFilled-8784ddac.js';
|
|
2
|
+
import React__default, { forwardRef, useMemo, useState, useRef, useCallback, useEffect } from 'react';
|
|
3
|
+
import styled from 'styled-components';
|
|
4
|
+
import { S as Section, m as mapToBgMode, W as Wrapper, G as Grid } from './Wrapper-f4a70e30.js';
|
|
5
|
+
import { C as Copy, H as Heading, c as copyStyle } from './Copy-3444d005.js';
|
|
6
|
+
import { g as getColors, s as spacings, m as mq, c as getGlobals, a as getFonts } from './styles-5f78e59d.js';
|
|
7
|
+
import { w as withLibTheme, u as useLibTheme } from './LibThemeProvider-90a5375f.js';
|
|
8
|
+
import { I as Image } from './Image-82417953.js';
|
|
9
|
+
import { a as Tag, T as Title, b as TableBlock } from './TableBlock-0bbde956.js';
|
|
10
|
+
import { S as StatusFormatter } from './statusFormatter-9be0fbff.js';
|
|
11
|
+
import { L as Link } from './Link-ee8a48ed.js';
|
|
12
|
+
import { i as isValidArray } from './arrays-65b644ef.js';
|
|
13
|
+
import { u as useMediaQuery } from './useMediaQuery-43629cbb.js';
|
|
14
|
+
import { b as useScrollTo, u as useEqualSheetHeight, g as getUrlParams, s as setUrlParam, d as deleteUrlParam } from './urlParams-882563ce.js';
|
|
15
|
+
import { u as useObserverSupport } from './useObserverSupport-02bce7f5.js';
|
|
16
|
+
import { P as Pointer } from './Pointer-da4d0977.js';
|
|
17
|
+
import { F as Filter, V as VideoCard } from './VideoCard-2557407b.js';
|
|
18
|
+
import { u as useUpdateEffect } from './useUpdateEffect-824c0c84.js';
|
|
19
|
+
import { u as useMounted } from './useMounted-1e4cc87b.js';
|
|
20
|
+
import './clamp-12d37b65.js';
|
|
21
|
+
import './concat-ab3c66f2.js';
|
|
22
|
+
import 'react-dom/server';
|
|
23
|
+
import './useCookieConsent-db86e5cb.js';
|
|
24
|
+
import './ButtonGhost-6673a07e.js';
|
|
25
|
+
import './hexRgbConverter-edb91624.js';
|
|
26
|
+
|
|
27
|
+
var Seperator = styled.div.withConfig({
|
|
28
|
+
displayName: "NewsAuthorCard__Seperator",
|
|
29
|
+
componentId: "sc-17dx8qw-0"
|
|
30
|
+
})(templateObject_1$7 || (templateObject_1$7 = __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 (_a) {
|
|
31
|
+
var isInverted = _a.isInverted,
|
|
32
|
+
theme = _a.theme;
|
|
33
|
+
return isInverted ? getColors(theme).elementBg.light : getColors(theme).elementBg.dark;
|
|
34
|
+
}, function (_a) {
|
|
35
|
+
var isTop = _a.isTop;
|
|
36
|
+
return !isTop && spacings.spacer;
|
|
37
|
+
}, function (_a) {
|
|
38
|
+
var isTop = _a.isTop;
|
|
39
|
+
return isTop && spacings.spacer;
|
|
40
|
+
});
|
|
41
|
+
var AuthorContainer = styled.div.withConfig({
|
|
42
|
+
displayName: "NewsAuthorCard__AuthorContainer",
|
|
43
|
+
componentId: "sc-17dx8qw-1"
|
|
44
|
+
})(templateObject_2$4 || (templateObject_2$4 = __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"])), spacings.spacer, mq.medium, spacings.spacer);
|
|
45
|
+
var Avatar = styled.img.withConfig({
|
|
46
|
+
displayName: "NewsAuthorCard__Avatar",
|
|
47
|
+
componentId: "sc-17dx8qw-2"
|
|
48
|
+
})(templateObject_3$3 || (templateObject_3$3 = __makeTemplateObject(["\n border-radius: 50%; ;\n"], ["\n border-radius: 50%; ;\n"])));
|
|
49
|
+
var Author = styled.div.withConfig({
|
|
50
|
+
displayName: "NewsAuthorCard__Author",
|
|
51
|
+
componentId: "sc-17dx8qw-3"
|
|
52
|
+
})(templateObject_4$3 || (templateObject_4$3 = __makeTemplateObject([""], [""])));
|
|
53
|
+
var StyledCopy = styled(Copy).withConfig({
|
|
54
|
+
displayName: "NewsAuthorCard__StyledCopy",
|
|
55
|
+
componentId: "sc-17dx8qw-4"
|
|
56
|
+
})(templateObject_5$3 || (templateObject_5$3 = __makeTemplateObject(["\n text-transform: uppercase;\n margin-bottom: ", "px;\n"], ["\n text-transform: uppercase;\n margin-bottom: ", "px;\n"])), spacings.nudge * 3);
|
|
57
|
+
|
|
58
|
+
var NewsAuthorCard = function (_a) {
|
|
59
|
+
var label = _a.label,
|
|
60
|
+
author = _a.author,
|
|
61
|
+
avatar = _a.avatar,
|
|
62
|
+
bgMode = _a.bgMode;
|
|
63
|
+
var colors = useLibTheme().colors;
|
|
64
|
+
var isInverted = bgMode === 'inverted';
|
|
65
|
+
var hasBg = bgMode === 'full';
|
|
66
|
+
return React__default.createElement(Section, {
|
|
67
|
+
addSeperation: true,
|
|
68
|
+
bgColor: isInverted ? colors.sectionBg.dark : hasBg ? colors.sectionBg.medium : colors.sectionBg.light,
|
|
69
|
+
bgMode: mapToBgMode(bgMode, true)
|
|
70
|
+
}, React__default.createElement(Wrapper, {
|
|
71
|
+
clampWidth: "small",
|
|
72
|
+
addWhitespace: true
|
|
73
|
+
}, author && React__default.createElement(React__default.Fragment, null, React__default.createElement(Seperator, {
|
|
74
|
+
isTop: true,
|
|
75
|
+
isInverted: isInverted
|
|
76
|
+
}), React__default.createElement(AuthorContainer, null, avatar && React__default.createElement(Avatar, {
|
|
77
|
+
src: avatar.src,
|
|
78
|
+
alt: avatar.alt
|
|
79
|
+
}), React__default.createElement(Author, null, author && React__default.createElement(StyledCopy, {
|
|
80
|
+
isInverted: isInverted,
|
|
81
|
+
type: "copy-b"
|
|
82
|
+
}, label || 'Written By'), React__default.createElement(Heading, {
|
|
83
|
+
isInverted: isInverted,
|
|
84
|
+
size: "heading-2"
|
|
85
|
+
}, author)))), React__default.createElement(Seperator, {
|
|
86
|
+
isInverted: isInverted
|
|
87
|
+
})));
|
|
88
|
+
};
|
|
89
|
+
var NewsAuthorCard$1 = withLibTheme(NewsAuthorCard);
|
|
90
|
+
var templateObject_1$7, templateObject_2$4, templateObject_3$3, templateObject_4$3, templateObject_5$3;
|
|
91
|
+
|
|
92
|
+
var View = styled.div.withConfig({
|
|
93
|
+
displayName: "NewsCard__View",
|
|
94
|
+
componentId: "sc-ahox9b-0"
|
|
95
|
+
})(templateObject_1$6 || (templateObject_1$6 = __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"])));
|
|
96
|
+
var ImageLink = styled(Link).withConfig({
|
|
97
|
+
displayName: "NewsCard__ImageLink",
|
|
98
|
+
componentId: "sc-ahox9b-1"
|
|
99
|
+
})(templateObject_2$3 || (templateObject_2$3 = __makeTemplateObject(["\n display: block;\n width: 100%;\n"], ["\n display: block;\n width: 100%;\n"])));
|
|
100
|
+
var StyledImage$1 = styled(Image).withConfig({
|
|
101
|
+
displayName: "NewsCard__StyledImage",
|
|
102
|
+
componentId: "sc-ahox9b-2"
|
|
103
|
+
})(templateObject_3$2 || (templateObject_3$2 = __makeTemplateObject(["\n overflow: hidden;\n border-radius: ", ";\n"], ["\n overflow: hidden;\n border-radius: ", ";\n"])), function (_a) {
|
|
104
|
+
var theme = _a.theme;
|
|
105
|
+
return getGlobals(theme).sections.edgeRadius;
|
|
106
|
+
});
|
|
107
|
+
var BorderPlaceholder = styled.div.withConfig({
|
|
108
|
+
displayName: "NewsCard__BorderPlaceholder",
|
|
109
|
+
componentId: "sc-ahox9b-3"
|
|
110
|
+
})(templateObject_4$2 || (templateObject_4$2 = __makeTemplateObject(["\n border-top: 1px solid\n ", ";\n"], ["\n border-top: 1px solid\n ", ";\n"])), function (_a) {
|
|
111
|
+
var theme = _a.theme,
|
|
112
|
+
hasBg = _a.hasBg;
|
|
113
|
+
return hasBg ? getColors(theme).elementBg.light : getColors(theme).elementBg.medium;
|
|
114
|
+
});
|
|
115
|
+
var TitleLink = styled(Link).withConfig({
|
|
116
|
+
displayName: "NewsCard__TitleLink",
|
|
117
|
+
componentId: "sc-ahox9b-4"
|
|
118
|
+
})(templateObject_5$2 || (templateObject_5$2 = __makeTemplateObject(["\n display: inline-block;\n ", "\n\n color: ", ";\n text-decoration: none;\n"], ["\n display: inline-block;\n ", "\n\n color: ", ";\n text-decoration: none;\n"])), copyStyle('copy-b', 'big'), function (_a) {
|
|
119
|
+
var theme = _a.theme,
|
|
120
|
+
isInverted = _a.isInverted;
|
|
121
|
+
return isInverted ? getFonts(theme)['copy-b'].big.colorInverted : getFonts(theme)['copy-b'].big.color;
|
|
122
|
+
});
|
|
123
|
+
var Head = styled.div.withConfig({
|
|
124
|
+
displayName: "NewsCard__Head",
|
|
125
|
+
componentId: "sc-ahox9b-5"
|
|
126
|
+
})(templateObject_6$2 || (templateObject_6$2 = __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"])), spacings.nudge * 3, spacings.nudge * 3, spacings.nudge * 3);
|
|
127
|
+
var Tags$1 = styled.div.withConfig({
|
|
128
|
+
displayName: "NewsCard__Tags",
|
|
129
|
+
componentId: "sc-ahox9b-6"
|
|
130
|
+
})(templateObject_7$2 || (templateObject_7$2 = __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"])), spacings.nudge);
|
|
131
|
+
var PublishDate = styled(Copy).withConfig({
|
|
132
|
+
displayName: "NewsCard__PublishDate",
|
|
133
|
+
componentId: "sc-ahox9b-7"
|
|
134
|
+
})(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n &:only-child {\n margin-left: auto;\n }\n"], ["\n &:only-child {\n margin-left: auto;\n }\n"])));
|
|
135
|
+
var Main = styled.div.withConfig({
|
|
136
|
+
displayName: "NewsCard__Main",
|
|
137
|
+
componentId: "sc-ahox9b-8"
|
|
138
|
+
})(templateObject_9 || (templateObject_9 = __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"])), spacings.nudge * 3);
|
|
139
|
+
var Text = styled(Copy).withConfig({
|
|
140
|
+
displayName: "NewsCard__Text",
|
|
141
|
+
componentId: "sc-ahox9b-9"
|
|
142
|
+
})(templateObject_10 || (templateObject_10 = __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"])));
|
|
143
|
+
var Action = styled.div.withConfig({
|
|
144
|
+
displayName: "NewsCard__Action",
|
|
145
|
+
componentId: "sc-ahox9b-10"
|
|
146
|
+
})(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n margin-top: ", "px;\n"], ["\n margin-top: ", "px;\n"])), spacings.nudge * 3);
|
|
147
|
+
var NewsCard = forwardRef(function (_a, ref) {
|
|
148
|
+
var tags = _a.tags,
|
|
149
|
+
onTagClick = _a.onTagClick,
|
|
150
|
+
publishDate = _a.publishDate,
|
|
151
|
+
title = _a.title,
|
|
152
|
+
text = _a.text,
|
|
153
|
+
image = _a.image,
|
|
154
|
+
link = _a.link,
|
|
155
|
+
isInverted = _a.isInverted,
|
|
156
|
+
action = _a.action,
|
|
157
|
+
customTag = _a.customTag,
|
|
158
|
+
className = _a.className,
|
|
159
|
+
hasBg = _a.hasBg;
|
|
160
|
+
var globals = useLibTheme().globals;
|
|
161
|
+
var publishedAt = '';
|
|
162
|
+
|
|
163
|
+
if (publishDate) {
|
|
164
|
+
var formatter = new StatusFormatter(publishDate.getTime(), '', globals.sections.newsDateFormat(publishDate), globals.sections.newsTimeFormat(publishDate), globals.sections.newsLocaleKey);
|
|
165
|
+
publishedAt = formatter.getFormattedDate();
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
var handleTagClick = function (tag) {
|
|
169
|
+
return onTagClick ? function (ev) {
|
|
170
|
+
ev === null || ev === void 0 ? void 0 : ev.preventDefault();
|
|
171
|
+
onTagClick(tag);
|
|
172
|
+
} : undefined;
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
var filteredTags = useMemo(function () {
|
|
176
|
+
return tags === null || tags === void 0 ? void 0 : tags.filter(function (tag) {
|
|
177
|
+
return tag.name;
|
|
178
|
+
});
|
|
179
|
+
}, [tags]);
|
|
180
|
+
return React__default.createElement(View, {
|
|
181
|
+
ref: ref,
|
|
182
|
+
className: className
|
|
183
|
+
}, image ? React__default.createElement(ImageLink, __assign({}, link, {
|
|
184
|
+
ariaLabel: title
|
|
185
|
+
}), React__default.createElement(StyledImage$1, __assign({}, image, {
|
|
186
|
+
coverSpace: true,
|
|
187
|
+
isInverted: isInverted
|
|
188
|
+
}))) : React__default.createElement(BorderPlaceholder, {
|
|
189
|
+
hasBg: hasBg
|
|
190
|
+
}), React__default.createElement(Head, {
|
|
191
|
+
"data-sheet": "head"
|
|
192
|
+
}, isValidArray(filteredTags, false) && React__default.createElement(Tags$1, null, filteredTags.map(function (tag, i) {
|
|
193
|
+
if (customTag) {
|
|
194
|
+
return customTag({
|
|
195
|
+
key: i,
|
|
196
|
+
name: tag.name || '',
|
|
197
|
+
isInverted: isInverted,
|
|
198
|
+
isActive: false,
|
|
199
|
+
link: tag.link,
|
|
200
|
+
clickHandler: handleTagClick(tag)
|
|
201
|
+
});
|
|
202
|
+
} else {
|
|
203
|
+
return React__default.createElement(Tag, {
|
|
204
|
+
key: i,
|
|
205
|
+
isInverted: isInverted,
|
|
206
|
+
name: tag.name,
|
|
207
|
+
link: tag.link,
|
|
208
|
+
onClick: handleTagClick(tag)
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
})), publishedAt && React__default.createElement(PublishDate, {
|
|
212
|
+
size: "small",
|
|
213
|
+
renderAs: "div",
|
|
214
|
+
isInverted: isInverted
|
|
215
|
+
}, publishedAt)), React__default.createElement(Main, null, title && React__default.createElement(TitleLink, __assign({}, link, {
|
|
216
|
+
ariaLabel: title,
|
|
217
|
+
isInverted: isInverted,
|
|
218
|
+
dataSheet: "title"
|
|
219
|
+
}), title), text && React__default.createElement(Text, {
|
|
220
|
+
isInverted: isInverted,
|
|
221
|
+
type: "copy",
|
|
222
|
+
innerHTML: text,
|
|
223
|
+
"data-sheet": "text",
|
|
224
|
+
size: "medium"
|
|
225
|
+
})), action && React__default.createElement(Action, null, action(isInverted)));
|
|
226
|
+
});
|
|
227
|
+
NewsCard.displayName = 'NewsCard';
|
|
228
|
+
var templateObject_1$6, templateObject_2$3, templateObject_3$2, templateObject_4$2, templateObject_5$2, templateObject_6$2, templateObject_7$2, templateObject_8, templateObject_9, templateObject_10, templateObject_11;
|
|
229
|
+
|
|
230
|
+
var TagContainer = styled.div.withConfig({
|
|
231
|
+
displayName: "NewsOverview__TagContainer",
|
|
232
|
+
componentId: "sc-5r2c7-0"
|
|
233
|
+
})(templateObject_1$5 || (templateObject_1$5 = __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"])), spacings.nudge, spacings.nudge, spacings.nudge * 6);
|
|
234
|
+
var TagWrapper$1 = styled.div.withConfig({
|
|
235
|
+
displayName: "NewsOverview__TagWrapper",
|
|
236
|
+
componentId: "sc-5r2c7-1"
|
|
237
|
+
})(templateObject_2$2 || (templateObject_2$2 = __makeTemplateObject(["\n padding-top: ", "px;\n padding-left: ", "px;\n"], ["\n padding-top: ", "px;\n padding-left: ", "px;\n"])), spacings.nudge, spacings.nudge);
|
|
238
|
+
var News$1 = styled.ul.withConfig({
|
|
239
|
+
displayName: "NewsOverview__News",
|
|
240
|
+
componentId: "sc-5r2c7-2"
|
|
241
|
+
})(templateObject_3$1 || (templateObject_3$1 = __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"])), spacings.nudge * 6, spacings.spacer);
|
|
242
|
+
var NewsItem$1 = styled.li.withConfig({
|
|
243
|
+
displayName: "NewsOverview__NewsItem",
|
|
244
|
+
componentId: "sc-5r2c7-3"
|
|
245
|
+
})(templateObject_4$1 || (templateObject_4$1 = __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"])), spacings.nudge * 6, spacings.spacer, mq.medium, mq.large);
|
|
246
|
+
var ListFooter = styled.div.withConfig({
|
|
247
|
+
displayName: "NewsOverview__ListFooter",
|
|
248
|
+
componentId: "sc-5r2c7-4"
|
|
249
|
+
})(templateObject_5$1 || (templateObject_5$1 = __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"])), spacings.nudge * 6, mq.medium);
|
|
250
|
+
var ShowMore = styled.span.withConfig({
|
|
251
|
+
displayName: "NewsOverview__ShowMore",
|
|
252
|
+
componentId: "sc-5r2c7-5"
|
|
253
|
+
})(templateObject_6$1 || (templateObject_6$1 = __makeTemplateObject(["\n display: ", ";\n"], ["\n display: ", ";\n"])), function (_a) {
|
|
254
|
+
var itemCount = _a.itemCount;
|
|
255
|
+
return itemCount && itemCount > 2 ? 'block' : 'none';
|
|
256
|
+
});
|
|
257
|
+
var FilterIcon = styled(Copy).withConfig({
|
|
258
|
+
displayName: "NewsOverview__FilterIcon",
|
|
259
|
+
componentId: "sc-5r2c7-6"
|
|
260
|
+
})(templateObject_7$1 || (templateObject_7$1 = __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"])), spacings.nudge / 2, spacings.nudge, spacings.nudge);
|
|
261
|
+
var getNewsFilterParams = function (url, theme, tags) {
|
|
262
|
+
if (tags === void 0) {
|
|
263
|
+
tags = [];
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
if (!url) return '';
|
|
267
|
+
if (!isValidArray(tags, false)) return url;
|
|
268
|
+
var filterName = theme.globals.sections.newsFilterName;
|
|
269
|
+
if (!filterName) return url;
|
|
270
|
+
|
|
271
|
+
try {
|
|
272
|
+
var validUrl = new URL(url);
|
|
273
|
+
var newParams = new URLSearchParams(validUrl.search);
|
|
274
|
+
newParams.set(filterName, encodeURIComponent(tags.join(',')));
|
|
275
|
+
return "".concat(url, "?").concat(newParams.toString());
|
|
276
|
+
} catch (err) {
|
|
277
|
+
return "".concat(url, "?").concat(filterName, "=").concat(encodeURIComponent(tags.join(',')));
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
var NewsOverview = function (_a) {
|
|
282
|
+
var anchorId = _a.anchorId,
|
|
283
|
+
news = _a.news,
|
|
284
|
+
tags = _a.tags,
|
|
285
|
+
initial = _a.initial,
|
|
286
|
+
showMoreText = _a.showMoreText,
|
|
287
|
+
bgMode = _a.bgMode,
|
|
288
|
+
onTagClick = _a.onTagClick,
|
|
289
|
+
customTag = _a.customTag;
|
|
290
|
+
|
|
291
|
+
var _b = useLibTheme(),
|
|
292
|
+
colors = _b.colors,
|
|
293
|
+
globals = _b.globals;
|
|
294
|
+
|
|
295
|
+
var filterName = globals.sections.newsFilterName;
|
|
296
|
+
var isInverted = bgMode === 'inverted';
|
|
297
|
+
var hasBg = bgMode === 'full';
|
|
298
|
+
|
|
299
|
+
var _c = useState((initial === null || initial === void 0 ? void 0 : initial.activeTags) || []),
|
|
300
|
+
selectedTags = _c[0],
|
|
301
|
+
setSelectedTags = _c[1];
|
|
302
|
+
|
|
303
|
+
var mqs = ['small', 'semilarge', 'large'];
|
|
304
|
+
var currentMq = useMediaQuery(mqs);
|
|
305
|
+
|
|
306
|
+
var _d = useState(3),
|
|
307
|
+
itemsPerRow = _d[0],
|
|
308
|
+
setItemsPerRow = _d[1];
|
|
309
|
+
|
|
310
|
+
var _e = useState((initial === null || initial === void 0 ? void 0 : initial.visibleRows) || 3),
|
|
311
|
+
visibleRows = _e[0],
|
|
312
|
+
setVisibleRows = _e[1];
|
|
313
|
+
|
|
314
|
+
var isMounted = useMounted();
|
|
315
|
+
var targetRef = useRef(null);
|
|
316
|
+
var observerSupported = useObserverSupport();
|
|
317
|
+
var newsCount = (news === null || news === void 0 ? void 0 : news.length) || 0;
|
|
318
|
+
var setNewPos = useScrollTo(800);
|
|
319
|
+
|
|
320
|
+
var _f = useEqualSheetHeight({
|
|
321
|
+
listLength: Math.min(visibleRows * itemsPerRow, newsCount),
|
|
322
|
+
identifiers: ['[data-sheet="head"]', '[data-sheet="title"]', '[data-sheet="text"]'],
|
|
323
|
+
responsive: {
|
|
324
|
+
small: 1,
|
|
325
|
+
medium: 1,
|
|
326
|
+
semilarge: 2,
|
|
327
|
+
large: 3,
|
|
328
|
+
xlarge: 3
|
|
329
|
+
}
|
|
330
|
+
}),
|
|
331
|
+
cardRefs = _f.sheetRefs,
|
|
332
|
+
triggerCalculation = _f.triggerCalculation;
|
|
333
|
+
|
|
334
|
+
var getFilters = useCallback(function () {
|
|
335
|
+
var tags = [];
|
|
336
|
+
var filters = getUrlParams()[filterName];
|
|
337
|
+
|
|
338
|
+
if (filters) {
|
|
339
|
+
var tagsFilter = filters === null || filters === void 0 ? void 0 : filters.split(',');
|
|
340
|
+
|
|
341
|
+
if (isValidArray(tagsFilter, false)) {
|
|
342
|
+
tags.push.apply(tags, tagsFilter);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
return tags;
|
|
347
|
+
}, [filterName]);
|
|
348
|
+
useEffect(function () {
|
|
349
|
+
// if initial data is defined exit hook
|
|
350
|
+
if (initial) return; // if no initial data provied try to find needed params in URL
|
|
351
|
+
|
|
352
|
+
var paramTags = getFilters();
|
|
353
|
+
var paramRows = parseInt(getUrlParams()['rows']);
|
|
354
|
+
setVisibleRows(paramRows || 3);
|
|
355
|
+
|
|
356
|
+
if (isValidArray(paramTags, false)) {
|
|
357
|
+
setSelectedTags(paramTags);
|
|
358
|
+
} // trigger equal sheet height recalculation
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
triggerCalculation(); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
362
|
+
}, [getFilters, initial]);
|
|
363
|
+
useEffect(function () {
|
|
364
|
+
var _a;
|
|
365
|
+
|
|
366
|
+
if (!initial || isMounted) return; // set inital data into URL
|
|
367
|
+
|
|
368
|
+
setUrlParam('rows', (initial === null || initial === void 0 ? void 0 : initial.visibleRows) || 3);
|
|
369
|
+
|
|
370
|
+
if (isValidArray(initial === null || initial === void 0 ? void 0 : initial.activeTags, false)) {
|
|
371
|
+
setUrlParam(filterName, (_a = initial === null || initial === void 0 ? void 0 : initial.activeTags) === null || _a === void 0 ? void 0 : _a.join(','));
|
|
372
|
+
} else {
|
|
373
|
+
deleteUrlParam(filterName);
|
|
374
|
+
}
|
|
375
|
+
}, [filterName, initial, isMounted]);
|
|
376
|
+
useUpdateEffect(function () {
|
|
377
|
+
setUrlParam('rows', visibleRows);
|
|
378
|
+
}, [visibleRows]);
|
|
379
|
+
useUpdateEffect(function () {
|
|
380
|
+
if (onTagClick || !isValidArray(selectedTags)) return; // set filters to URL params
|
|
381
|
+
|
|
382
|
+
if (selectedTags.length > 0) {
|
|
383
|
+
setUrlParam(filterName, selectedTags.join(','));
|
|
384
|
+
} else {
|
|
385
|
+
deleteUrlParam(filterName);
|
|
386
|
+
}
|
|
387
|
+
}, [selectedTags]);
|
|
388
|
+
useEffect(function () {
|
|
389
|
+
switch (currentMq) {
|
|
390
|
+
case 'large':
|
|
391
|
+
setItemsPerRow(3);
|
|
392
|
+
break;
|
|
393
|
+
|
|
394
|
+
case 'semilarge':
|
|
395
|
+
setItemsPerRow(2);
|
|
396
|
+
break;
|
|
397
|
+
|
|
398
|
+
case 'small':
|
|
399
|
+
setItemsPerRow(1);
|
|
400
|
+
if (visibleRows < 3) setVisibleRows(3);
|
|
401
|
+
break;
|
|
402
|
+
|
|
403
|
+
default:
|
|
404
|
+
setItemsPerRow(1);
|
|
405
|
+
}
|
|
406
|
+
}, [currentMq, visibleRows]);
|
|
407
|
+
|
|
408
|
+
var handleTagClick = function (tag, enableToggling) {
|
|
409
|
+
if (enableToggling === void 0) {
|
|
410
|
+
enableToggling = true;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
setSelectedTags(function (prev) {
|
|
414
|
+
var prevCopy = __spreadArray([], prev, true);
|
|
415
|
+
|
|
416
|
+
var itemIndex = tag.name ? prev.indexOf(tag.name) : -1;
|
|
417
|
+
|
|
418
|
+
if (itemIndex === -1 && tag.name) {
|
|
419
|
+
return __spreadArray(__spreadArray([], prevCopy, true), [tag.name], false);
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
if (enableToggling) {
|
|
423
|
+
prevCopy.splice(itemIndex, 1);
|
|
424
|
+
return prevCopy;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
return prev;
|
|
428
|
+
}); // trigger equal sheet height recalculation
|
|
429
|
+
|
|
430
|
+
triggerCalculation();
|
|
431
|
+
setVisibleRows(3);
|
|
432
|
+
};
|
|
433
|
+
|
|
434
|
+
var filteredNews = useMemo(function () {
|
|
435
|
+
var tagFilterFn = function (item) {
|
|
436
|
+
if (!isValidArray(selectedTags, false)) return true;
|
|
437
|
+
if (!item.tags) return false;
|
|
438
|
+
var hasTags = false;
|
|
439
|
+
|
|
440
|
+
for (var i = 0; i < item.tags.length; i++) {
|
|
441
|
+
if (selectedTags.indexOf(item.tags[i].name || '') !== -1) {
|
|
442
|
+
hasTags = true;
|
|
443
|
+
break;
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
return hasTags;
|
|
448
|
+
};
|
|
449
|
+
|
|
450
|
+
var filtered = isValidArray(news) ? __spreadArray([], news, true) : []; // adding filter
|
|
451
|
+
|
|
452
|
+
filtered = filtered === null || filtered === void 0 ? void 0 : filtered.filter(tagFilterFn);
|
|
453
|
+
return filtered;
|
|
454
|
+
}, [news, selectedTags]);
|
|
455
|
+
var visibleNews = useMemo(function () {
|
|
456
|
+
return (filteredNews === null || filteredNews === void 0 ? void 0 : filteredNews.filter(function (_, i) {
|
|
457
|
+
return i < visibleRows * itemsPerRow;
|
|
458
|
+
})) || [];
|
|
459
|
+
}, [filteredNews, itemsPerRow, visibleRows]);
|
|
460
|
+
useEffect(function () {
|
|
461
|
+
// cancel if intersection observers are not supported
|
|
462
|
+
if (!observerSupported) return;
|
|
463
|
+
var element = targetRef.current;
|
|
464
|
+
var observer;
|
|
465
|
+
|
|
466
|
+
if (element) {
|
|
467
|
+
var options = {
|
|
468
|
+
rootMargin: '0px 0px 100px 0px',
|
|
469
|
+
threshold: 0
|
|
470
|
+
};
|
|
471
|
+
observer = new IntersectionObserver(function (entries) {
|
|
472
|
+
var entry = entries[0];
|
|
473
|
+
|
|
474
|
+
if (entry === null || entry === void 0 ? void 0 : entry.isIntersecting) {
|
|
475
|
+
// on bottom of the wrapper load more news
|
|
476
|
+
if (visibleRows < Math.ceil(filteredNews.length / itemsPerRow)) {
|
|
477
|
+
setVisibleRows(function (prev) {
|
|
478
|
+
return prev + 1;
|
|
479
|
+
});
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
}, options);
|
|
483
|
+
observer.observe(element);
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
return function () {
|
|
487
|
+
if (observer) observer.disconnect();
|
|
488
|
+
};
|
|
489
|
+
}, [itemsPerRow, newsCount, visibleRows, observerSupported, filteredNews.length]);
|
|
490
|
+
var filteredTags = useMemo(function () {
|
|
491
|
+
return tags === null || tags === void 0 ? void 0 : tags.filter(function (tag) {
|
|
492
|
+
return tag;
|
|
493
|
+
});
|
|
494
|
+
}, [tags]);
|
|
495
|
+
return React__default.createElement(Section, {
|
|
496
|
+
addSeperation: true,
|
|
497
|
+
anchorId: anchorId,
|
|
498
|
+
bgColor: isInverted ? colors.sectionBg.dark : hasBg ? colors.sectionBg.medium : colors.sectionBg.light,
|
|
499
|
+
bgMode: mapToBgMode(bgMode, true)
|
|
500
|
+
}, React__default.createElement(Wrapper, {
|
|
501
|
+
addWhitespace: true
|
|
502
|
+
}, isValidArray(filteredTags, false) && React__default.createElement(TagContainer, null, React__default.createElement(FilterIcon, {
|
|
503
|
+
size: "small",
|
|
504
|
+
type: "copy",
|
|
505
|
+
isInverted: isInverted
|
|
506
|
+
}, React__default.createElement(Filter, null), React__default.createElement("span", null, "Filter")), filteredTags.map(function (tag, i) {
|
|
507
|
+
return React__default.createElement(TagWrapper$1, {
|
|
508
|
+
key: i
|
|
509
|
+
}, customTag ? customTag({
|
|
510
|
+
key: i,
|
|
511
|
+
name: tag,
|
|
512
|
+
isInverted: isInverted,
|
|
513
|
+
isActive: selectedTags.indexOf(tag) !== -1,
|
|
514
|
+
clickHandler: function (ev) {
|
|
515
|
+
ev === null || ev === void 0 ? void 0 : ev.preventDefault();
|
|
516
|
+
|
|
517
|
+
if (!onTagClick) {
|
|
518
|
+
handleTagClick({
|
|
519
|
+
name: tag
|
|
520
|
+
});
|
|
521
|
+
} else onTagClick({
|
|
522
|
+
name: tag
|
|
523
|
+
});
|
|
524
|
+
}
|
|
525
|
+
}) : React__default.createElement(Tag, {
|
|
526
|
+
isInverted: isInverted,
|
|
527
|
+
onClick: function (ev) {
|
|
528
|
+
ev === null || ev === void 0 ? void 0 : ev.preventDefault();
|
|
529
|
+
|
|
530
|
+
if (!onTagClick) {
|
|
531
|
+
handleTagClick({
|
|
532
|
+
name: tag
|
|
533
|
+
});
|
|
534
|
+
} else onTagClick({
|
|
535
|
+
name: tag
|
|
536
|
+
}, false);
|
|
537
|
+
},
|
|
538
|
+
isActive: selectedTags.indexOf(tag) !== -1
|
|
539
|
+
}, tag));
|
|
540
|
+
})), React__default.createElement(News$1, null, visibleNews.map(function (item, i) {
|
|
541
|
+
var _a;
|
|
542
|
+
|
|
543
|
+
return React__default.createElement(NewsItem$1, {
|
|
544
|
+
key: "".concat(i, "_news_").concat(item.title)
|
|
545
|
+
}, React__default.createElement(NewsCard, __assign({
|
|
546
|
+
hasBg: hasBg || isInverted,
|
|
547
|
+
ref: cardRefs[i]
|
|
548
|
+
}, item, {
|
|
549
|
+
tags: (_a = item.tags) === null || _a === void 0 ? void 0 : _a.map(function (tag) {
|
|
550
|
+
return {
|
|
551
|
+
name: tag.name
|
|
552
|
+
};
|
|
553
|
+
}),
|
|
554
|
+
isInverted: isInverted,
|
|
555
|
+
onTagClick: function (tag) {
|
|
556
|
+
// scroll back to top
|
|
557
|
+
setNewPos(0);
|
|
558
|
+
|
|
559
|
+
if (!onTagClick) {
|
|
560
|
+
// if no callback is defined handle filtering on client side inside the component
|
|
561
|
+
handleTagClick({
|
|
562
|
+
name: tag.name
|
|
563
|
+
}, false);
|
|
564
|
+
} else {
|
|
565
|
+
onTagClick({
|
|
566
|
+
name: tag.name
|
|
567
|
+
}, true);
|
|
568
|
+
}
|
|
569
|
+
},
|
|
570
|
+
customTag: customTag
|
|
571
|
+
})));
|
|
572
|
+
})), React__default.createElement("div", {
|
|
573
|
+
ref: targetRef
|
|
574
|
+
}), !observerSupported && React__default.createElement(ListFooter, null, news && news.length > 0 && React__default.createElement(Copy, {
|
|
575
|
+
type: "copy",
|
|
576
|
+
size: "medium",
|
|
577
|
+
isInverted: isInverted
|
|
578
|
+
}, React__default.createElement(ShowMore, {
|
|
579
|
+
itemCount: news.length,
|
|
580
|
+
onClick: function (ev) {
|
|
581
|
+
ev.preventDefault();
|
|
582
|
+
|
|
583
|
+
if (visibleRows < Math.ceil(filteredNews.length / itemsPerRow)) {
|
|
584
|
+
setVisibleRows(function (prev) {
|
|
585
|
+
return prev + 1;
|
|
586
|
+
});
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
}, visibleRows < filteredNews.length / itemsPerRow && React__default.createElement(Pointer.View, {
|
|
590
|
+
as: "button",
|
|
591
|
+
isInverted: isInverted
|
|
592
|
+
}, React__default.createElement(Pointer.Label, null, showMoreText || 'mehr anzeigen')))))));
|
|
593
|
+
};
|
|
594
|
+
var NewsOverview$1 = withLibTheme(NewsOverview);
|
|
595
|
+
var templateObject_1$5, templateObject_2$2, templateObject_3$1, templateObject_4$1, templateObject_5$1, templateObject_6$1, templateObject_7$1;
|
|
596
|
+
|
|
597
|
+
var NewsFooter = function (_a) {
|
|
598
|
+
var anchorId = _a.anchorId,
|
|
599
|
+
news = _a.news,
|
|
600
|
+
bgMode = _a.bgMode,
|
|
601
|
+
customTag = _a.customTag;
|
|
602
|
+
|
|
603
|
+
var _b = useLibTheme(),
|
|
604
|
+
colors = _b.colors,
|
|
605
|
+
theme = _b.theme;
|
|
606
|
+
|
|
607
|
+
var newsCount = (news === null || news === void 0 ? void 0 : news.length) || 0;
|
|
608
|
+
var isInverted = bgMode === 'inverted';
|
|
609
|
+
var hasBg = bgMode === 'full';
|
|
610
|
+
var mqs = ['small', 'semilarge'];
|
|
611
|
+
var currentMq = useMediaQuery(mqs);
|
|
612
|
+
|
|
613
|
+
var _c = useState(2),
|
|
614
|
+
itemsPerRow = _c[0],
|
|
615
|
+
setItemsPerRow = _c[1];
|
|
616
|
+
|
|
617
|
+
var _d = useState(1),
|
|
618
|
+
visibleRows = _d[0],
|
|
619
|
+
setVisibleRows = _d[1];
|
|
620
|
+
|
|
621
|
+
var cardRefs = useEqualSheetHeight({
|
|
622
|
+
listLength: Math.min(visibleRows * itemsPerRow, newsCount),
|
|
623
|
+
identifiers: ['[data-sheet="head"]', '[data-sheet="title"]', '[data-sheet="text"]'],
|
|
624
|
+
responsive: {
|
|
625
|
+
small: 1,
|
|
626
|
+
medium: 1,
|
|
627
|
+
semilarge: 2,
|
|
628
|
+
large: 2,
|
|
629
|
+
xlarge: 2
|
|
630
|
+
}
|
|
631
|
+
}).sheetRefs;
|
|
632
|
+
useEffect(function () {
|
|
633
|
+
switch (currentMq) {
|
|
634
|
+
case 'semilarge':
|
|
635
|
+
setItemsPerRow(2);
|
|
636
|
+
break;
|
|
637
|
+
|
|
638
|
+
case 'small':
|
|
639
|
+
setItemsPerRow(1);
|
|
640
|
+
if (visibleRows < 3) setVisibleRows(3);
|
|
641
|
+
break;
|
|
642
|
+
|
|
643
|
+
default:
|
|
644
|
+
setItemsPerRow(1);
|
|
645
|
+
}
|
|
646
|
+
}, [currentMq, visibleRows]);
|
|
647
|
+
return React__default.createElement(Section, {
|
|
648
|
+
addSeperation: true,
|
|
649
|
+
anchorId: anchorId,
|
|
650
|
+
bgColor: isInverted ? colors.sectionBg.dark : hasBg ? colors.sectionBg.medium : colors.sectionBg.light,
|
|
651
|
+
bgMode: mapToBgMode(bgMode, true)
|
|
652
|
+
}, React__default.createElement(Wrapper, {
|
|
653
|
+
addWhitespace: true,
|
|
654
|
+
clampWidth: "small"
|
|
655
|
+
}, React__default.createElement(Grid.Row, null, news === null || news === void 0 ? void 0 : news.filter(function (_, i) {
|
|
656
|
+
return i < visibleRows * itemsPerRow;
|
|
657
|
+
}).map(function (item, i) {
|
|
658
|
+
var _a;
|
|
659
|
+
|
|
660
|
+
return React__default.createElement(Grid.Col, {
|
|
661
|
+
medium: {
|
|
662
|
+
span: 6 / 12
|
|
663
|
+
},
|
|
664
|
+
key: "".concat(i, "_news_").concat(item.title)
|
|
665
|
+
}, React__default.createElement(NewsCard, __assign({
|
|
666
|
+
key: i,
|
|
667
|
+
ref: cardRefs[i]
|
|
668
|
+
}, item, {
|
|
669
|
+
tags: (_a = item.tags) === null || _a === void 0 ? void 0 : _a.map(function (tag) {
|
|
670
|
+
var _a, _b;
|
|
671
|
+
|
|
672
|
+
var tagHref = undefined;
|
|
673
|
+
|
|
674
|
+
if (tag.name && ((_a = tag.link) === null || _a === void 0 ? void 0 : _a.href)) {
|
|
675
|
+
tagHref = getNewsFilterParams(tag.link.href, theme, [tag.name]);
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
return {
|
|
679
|
+
name: tag.name,
|
|
680
|
+
link: ((_b = tag.link) === null || _b === void 0 ? void 0 : _b.href) ? __assign(__assign({}, tag.link), {
|
|
681
|
+
href: tagHref
|
|
682
|
+
}) : undefined
|
|
683
|
+
};
|
|
684
|
+
}),
|
|
685
|
+
isInverted: isInverted,
|
|
686
|
+
customTag: customTag
|
|
687
|
+
})));
|
|
688
|
+
}))));
|
|
689
|
+
};
|
|
690
|
+
var NewsFooter$1 = withLibTheme(NewsFooter);
|
|
691
|
+
|
|
692
|
+
var StyledImage = styled(Image).withConfig({
|
|
693
|
+
displayName: "NewsImages__StyledImage",
|
|
694
|
+
componentId: "sc-1l72vc0-0"
|
|
695
|
+
})(templateObject_1$4 || (templateObject_1$4 = __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 (_a) {
|
|
696
|
+
var theme = _a.theme;
|
|
697
|
+
return getGlobals(theme).sections.edgeRadius;
|
|
698
|
+
});
|
|
699
|
+
|
|
700
|
+
var NewsImages = function (_a) {
|
|
701
|
+
var _b;
|
|
702
|
+
|
|
703
|
+
var anchorId = _a.anchorId,
|
|
704
|
+
images = _a.images,
|
|
705
|
+
bgMode = _a.bgMode;
|
|
706
|
+
var colors = useLibTheme().colors;
|
|
707
|
+
var isInverted = bgMode === 'inverted';
|
|
708
|
+
var hasBg = bgMode === 'full';
|
|
709
|
+
return React__default.createElement(Section, {
|
|
710
|
+
addSeperation: true,
|
|
711
|
+
anchorId: anchorId,
|
|
712
|
+
bgColor: isInverted ? colors.sectionBg.dark : hasBg ? colors.sectionBg.medium : colors.sectionBg.light,
|
|
713
|
+
bgMode: mapToBgMode(bgMode, true)
|
|
714
|
+
}, React__default.createElement(Wrapper, {
|
|
715
|
+
clampWidth: "small",
|
|
716
|
+
addWhitespace: true
|
|
717
|
+
}, React__default.createElement(Grid.Row, null, (_b = images === null || images === void 0 ? void 0 : images.filter(function (img) {
|
|
718
|
+
return img.small;
|
|
719
|
+
})) === null || _b === void 0 ? void 0 : _b.map(function (img, i) {
|
|
720
|
+
return React__default.createElement(Grid.Col, {
|
|
721
|
+
key: i,
|
|
722
|
+
semilarge: {
|
|
723
|
+
span: img.isFull ? 12 / 12 : 6 / 12
|
|
724
|
+
}
|
|
725
|
+
}, React__default.createElement(StyledImage, __assign({}, img, {
|
|
726
|
+
coverSpace: true,
|
|
727
|
+
isInverted: isInverted
|
|
728
|
+
})));
|
|
729
|
+
}))));
|
|
730
|
+
};
|
|
731
|
+
var NewsImages$1 = withLibTheme(NewsImages);
|
|
732
|
+
var templateObject_1$4;
|
|
733
|
+
|
|
734
|
+
var Content = styled.div.withConfig({
|
|
735
|
+
displayName: "NewsIntro__Content",
|
|
736
|
+
componentId: "sc-zz6rn6-0"
|
|
737
|
+
})(templateObject_1$3 || (templateObject_1$3 = __makeTemplateObject(["\n & > * + * {\n margin-top: ", "px;\n }\n"], ["\n & > * + * {\n margin-top: ", "px;\n }\n"])), spacings.nudge * 3);
|
|
738
|
+
var IntroHead = styled(Copy).withConfig({
|
|
739
|
+
displayName: "NewsIntro__IntroHead",
|
|
740
|
+
componentId: "sc-zz6rn6-1"
|
|
741
|
+
})(templateObject_2$1 || (templateObject_2$1 = __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"])), spacings.nudge * 2, mq.medium, spacings.nudge * 2);
|
|
742
|
+
var Tags = styled.div.withConfig({
|
|
743
|
+
displayName: "NewsIntro__Tags",
|
|
744
|
+
componentId: "sc-zz6rn6-2"
|
|
745
|
+
})(templateObject_3 || (templateObject_3 = __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"])), spacings.nudge, spacings.nudge);
|
|
746
|
+
var TagWrapper = styled.span.withConfig({
|
|
747
|
+
displayName: "NewsIntro__TagWrapper",
|
|
748
|
+
componentId: "sc-zz6rn6-3"
|
|
749
|
+
})(templateObject_4 || (templateObject_4 = __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"])), spacings.nudge, spacings.nudge);
|
|
750
|
+
var MetaBlock = styled.div.withConfig({
|
|
751
|
+
displayName: "NewsIntro__MetaBlock",
|
|
752
|
+
componentId: "sc-zz6rn6-4"
|
|
753
|
+
})(templateObject_5 || (templateObject_5 = __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"])), spacings.nudge * 3);
|
|
754
|
+
var StyledTitle = styled(Title).withConfig({
|
|
755
|
+
displayName: "NewsIntro__StyledTitle",
|
|
756
|
+
componentId: "sc-zz6rn6-5"
|
|
757
|
+
})(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n max-width: ", ";\n"], ["\n max-width: ", ";\n"])), function (_a) {
|
|
758
|
+
var clampTitle = _a.clampTitle;
|
|
759
|
+
return clampTitle && 13 / 28 * spacings.wrapperSmall + 'px';
|
|
760
|
+
});
|
|
761
|
+
var ContentBlock$1 = styled(Copy).withConfig({
|
|
762
|
+
displayName: "NewsIntro__ContentBlock",
|
|
763
|
+
componentId: "sc-zz6rn6-6"
|
|
764
|
+
})(templateObject_7 || (templateObject_7 = __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 (_a) {
|
|
765
|
+
var isCentered = _a.isCentered;
|
|
766
|
+
return isCentered && '0 auto';
|
|
767
|
+
}, function (_a) {
|
|
768
|
+
var clampText = _a.clampText;
|
|
769
|
+
return clampText && 19 / 28 * spacings.wrapper + 'px';
|
|
770
|
+
}, spacings.spacer);
|
|
771
|
+
|
|
772
|
+
var NewsIntro = function (_a) {
|
|
773
|
+
var anchorId = _a.anchorId,
|
|
774
|
+
tags = _a.tags,
|
|
775
|
+
meta = _a.meta,
|
|
776
|
+
title = _a.title,
|
|
777
|
+
text = _a.text,
|
|
778
|
+
image = _a.image,
|
|
779
|
+
bgMode = _a.bgMode,
|
|
780
|
+
customTag = _a.customTag;
|
|
781
|
+
|
|
782
|
+
var _b = useLibTheme(),
|
|
783
|
+
globals = _b.globals,
|
|
784
|
+
colors = _b.colors,
|
|
785
|
+
theme = _b.theme;
|
|
786
|
+
|
|
787
|
+
var isInverted = bgMode === 'inverted';
|
|
788
|
+
var hasBg = bgMode === 'full';
|
|
789
|
+
var publishedAt = '';
|
|
790
|
+
|
|
791
|
+
if (meta === null || meta === void 0 ? void 0 : meta.date) {
|
|
792
|
+
var formatter = new StatusFormatter(meta.date.getTime(), '', globals.sections.newsDateFormat(meta.date), globals.sections.newsTimeFormat(meta.date), globals.sections.newsLocaleKey);
|
|
793
|
+
publishedAt = formatter.getFormattedDate();
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
return React__default.createElement(Section, {
|
|
797
|
+
addSeperation: true,
|
|
798
|
+
anchorId: anchorId,
|
|
799
|
+
bgColor: isInverted ? colors.sectionBg.dark : hasBg ? colors.sectionBg.medium : colors.sectionBg.light,
|
|
800
|
+
bgMode: mapToBgMode(bgMode, true)
|
|
801
|
+
}, React__default.createElement(Wrapper, {
|
|
802
|
+
clampWidth: "small",
|
|
803
|
+
addWhitespace: true
|
|
804
|
+
}, React__default.createElement(Content, null, React__default.createElement(IntroHead, {
|
|
805
|
+
isInverted: isInverted
|
|
806
|
+
}, React__default.createElement(Tags, null, tags === null || tags === void 0 ? void 0 : tags.map(function (tag, i) {
|
|
807
|
+
var _a;
|
|
808
|
+
|
|
809
|
+
var tagLink = undefined;
|
|
810
|
+
|
|
811
|
+
if (tag.name && ((_a = tag.link) === null || _a === void 0 ? void 0 : _a.href)) {
|
|
812
|
+
tagLink = __assign(__assign({}, tag.link), {
|
|
813
|
+
href: getNewsFilterParams(tag.link.href, theme, [tag.name])
|
|
814
|
+
});
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
return React__default.createElement(TagWrapper, {
|
|
818
|
+
key: "headtag-".concat(i)
|
|
819
|
+
}, customTag ? customTag({
|
|
820
|
+
key: "headtag-".concat(i),
|
|
821
|
+
name: tag.name || '',
|
|
822
|
+
isInverted: isInverted,
|
|
823
|
+
isActive: false,
|
|
824
|
+
link: tagLink
|
|
825
|
+
}) : React__default.createElement(Tag, {
|
|
826
|
+
link: tagLink,
|
|
827
|
+
isInverted: isInverted
|
|
828
|
+
}, tag.name));
|
|
829
|
+
})), (publishedAt || (meta === null || meta === void 0 ? void 0 : meta.author)) && React__default.createElement(MetaBlock, null, (meta === null || meta === void 0 ? void 0 : meta.author) && React__default.createElement("div", null, meta === null || meta === void 0 ? void 0 : meta.author), publishedAt && React__default.createElement("div", null, publishedAt))), React__default.createElement("div", null, React__default.createElement(StyledTitle, {
|
|
830
|
+
colorMode: isInverted ? 'inverted' : 'default',
|
|
831
|
+
title: title
|
|
832
|
+
}), text && React__default.createElement(ContentBlock$1, {
|
|
833
|
+
isInverted: isInverted,
|
|
834
|
+
type: "copy-b",
|
|
835
|
+
innerHTML: text
|
|
836
|
+
})), (image === null || image === void 0 ? void 0 : image.small) && React__default.createElement(Image, __assign({}, image, {
|
|
837
|
+
coverSpace: true,
|
|
838
|
+
allowEdgeRadius: true,
|
|
839
|
+
isInverted: isInverted
|
|
840
|
+
})))));
|
|
841
|
+
};
|
|
842
|
+
var NewsIntro$1 = withLibTheme(NewsIntro);
|
|
843
|
+
var templateObject_1$3, templateObject_2$1, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;
|
|
844
|
+
|
|
845
|
+
var News = styled.ul.withConfig({
|
|
846
|
+
displayName: "NewsList__News",
|
|
847
|
+
componentId: "sc-sew5jz-0"
|
|
848
|
+
})(templateObject_1$2 || (templateObject_1$2 = __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"])), spacings.nudge * 6, spacings.spacer);
|
|
849
|
+
var NewsItem = styled.li.withConfig({
|
|
850
|
+
displayName: "NewsList__NewsItem",
|
|
851
|
+
componentId: "sc-sew5jz-1"
|
|
852
|
+
})(templateObject_2 || (templateObject_2 = __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"])), spacings.nudge * 6, spacings.spacer, mq.medium, mq.large);
|
|
853
|
+
|
|
854
|
+
var NewsList = function (_a) {
|
|
855
|
+
var anchorId = _a.anchorId,
|
|
856
|
+
_b = _a.mode,
|
|
857
|
+
mode = _b === void 0 ? 'short' : _b,
|
|
858
|
+
news = _a.news,
|
|
859
|
+
bgMode = _a.bgMode,
|
|
860
|
+
customTag = _a.customTag;
|
|
861
|
+
|
|
862
|
+
var _c = useLibTheme(),
|
|
863
|
+
colors = _c.colors,
|
|
864
|
+
theme = _c.theme;
|
|
865
|
+
|
|
866
|
+
var items = useMemo(function () {
|
|
867
|
+
if (!news) return [];
|
|
868
|
+
if (mode === 'expanded') return news.slice(0, 6);else return news.slice(0, 3);
|
|
869
|
+
}, [news, mode]);
|
|
870
|
+
var isInverted = bgMode === 'inverted';
|
|
871
|
+
var hasBg = bgMode === 'full';
|
|
872
|
+
var cardRefs = useEqualSheetHeight({
|
|
873
|
+
listLength: items.length,
|
|
874
|
+
identifiers: ['[data-sheet="head"]', '[data-sheet="title"]', '[data-sheet="text"]'],
|
|
875
|
+
responsive: {
|
|
876
|
+
small: 1,
|
|
877
|
+
medium: 2,
|
|
878
|
+
semilarge: 2,
|
|
879
|
+
large: 3,
|
|
880
|
+
xlarge: 3
|
|
881
|
+
}
|
|
882
|
+
}).sheetRefs;
|
|
883
|
+
return React__default.createElement(Section, {
|
|
884
|
+
addSeperation: true,
|
|
885
|
+
anchorId: anchorId,
|
|
886
|
+
bgColor: isInverted ? colors.sectionBg.dark : hasBg ? colors.sectionBg.medium : colors.sectionBg.light,
|
|
887
|
+
bgMode: mapToBgMode(bgMode, true)
|
|
888
|
+
}, React__default.createElement(Wrapper, {
|
|
889
|
+
addWhitespace: true
|
|
890
|
+
}, React__default.createElement(News, null, items === null || items === void 0 ? void 0 : items.map(function (item, i) {
|
|
891
|
+
var _a;
|
|
892
|
+
|
|
893
|
+
return React__default.createElement(NewsItem, {
|
|
894
|
+
key: i
|
|
895
|
+
}, React__default.createElement(NewsCard, __assign({
|
|
896
|
+
key: i,
|
|
897
|
+
ref: cardRefs[i]
|
|
898
|
+
}, item, {
|
|
899
|
+
isInverted: isInverted,
|
|
900
|
+
tags: (_a = item.tags) === null || _a === void 0 ? void 0 : _a.map(function (tag) {
|
|
901
|
+
var _a, _b;
|
|
902
|
+
|
|
903
|
+
var tagHref = undefined;
|
|
904
|
+
|
|
905
|
+
if (tag.name && ((_a = tag.link) === null || _a === void 0 ? void 0 : _a.href)) {
|
|
906
|
+
tagHref = getNewsFilterParams(tag.link.href, theme, [tag.name]);
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
return {
|
|
910
|
+
name: tag.name,
|
|
911
|
+
link: ((_b = tag.link) === null || _b === void 0 ? void 0 : _b.href) ? __assign(__assign({}, tag.link), {
|
|
912
|
+
href: tagHref
|
|
913
|
+
}) : undefined
|
|
914
|
+
};
|
|
915
|
+
}),
|
|
916
|
+
customTag: customTag
|
|
917
|
+
})));
|
|
918
|
+
}))));
|
|
919
|
+
};
|
|
920
|
+
var NewsList$1 = withLibTheme(NewsList);
|
|
921
|
+
var templateObject_1$2, templateObject_2;
|
|
922
|
+
|
|
923
|
+
var TableWrapper = styled(Wrapper).withConfig({
|
|
924
|
+
displayName: "NewsTable__TableWrapper",
|
|
925
|
+
componentId: "sc-ph099f-0"
|
|
926
|
+
})(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["\n & > * + * {\n margin-top: ", "px;\n }\n"], ["\n & > * + * {\n margin-top: ", "px;\n }\n"])), spacings.spacer);
|
|
927
|
+
|
|
928
|
+
var NewsTable = function (_a) {
|
|
929
|
+
var anchorId = _a.anchorId,
|
|
930
|
+
bgMode = _a.bgMode,
|
|
931
|
+
tableItems = _a.tableItems;
|
|
932
|
+
var colors = useLibTheme().colors;
|
|
933
|
+
var isInverted = bgMode === 'inverted';
|
|
934
|
+
var hasBg = bgMode === 'full' || isInverted;
|
|
935
|
+
return React__default.createElement(Section, {
|
|
936
|
+
addSeperation: true,
|
|
937
|
+
anchorId: anchorId,
|
|
938
|
+
bgColor: isInverted ? colors.sectionBg.dark : hasBg ? colors.sectionBg.medium : colors.sectionBg.light,
|
|
939
|
+
bgMode: mapToBgMode(bgMode, true)
|
|
940
|
+
}, React__default.createElement(TableWrapper, {
|
|
941
|
+
clampWidth: "small"
|
|
942
|
+
}, tableItems.map(function (item, i) {
|
|
943
|
+
return React__default.createElement(TableBlock, __assign({}, item, {
|
|
944
|
+
key: i,
|
|
945
|
+
hasBack: hasBg,
|
|
946
|
+
isInverted: isInverted
|
|
947
|
+
}));
|
|
948
|
+
})));
|
|
949
|
+
};
|
|
950
|
+
var NewsTable$1 = withLibTheme(NewsTable);
|
|
951
|
+
var templateObject_1$1;
|
|
952
|
+
|
|
953
|
+
var ContentBlock = styled(Copy).withConfig({
|
|
954
|
+
displayName: "NewsText__ContentBlock",
|
|
955
|
+
componentId: "sc-2vavtq-0"
|
|
956
|
+
})(templateObject_1 || (templateObject_1 = __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 (_a) {
|
|
957
|
+
var isCentered = _a.isCentered;
|
|
958
|
+
return isCentered && '0 auto';
|
|
959
|
+
}, function (_a) {
|
|
960
|
+
var clampText = _a.clampText;
|
|
961
|
+
return clampText && 19 / 28 * spacings.wrapperSmall + 'px';
|
|
962
|
+
}, spacings.nudge * 5);
|
|
963
|
+
|
|
964
|
+
var NewsText = function (_a) {
|
|
965
|
+
var anchorId = _a.anchorId,
|
|
966
|
+
text = _a.text,
|
|
967
|
+
bgMode = _a.bgMode;
|
|
968
|
+
var colors = useLibTheme().colors;
|
|
969
|
+
var isInverted = bgMode === 'inverted';
|
|
970
|
+
var hasBg = bgMode === 'full';
|
|
971
|
+
return React__default.createElement(Section, {
|
|
972
|
+
addSeperation: true,
|
|
973
|
+
anchorId: anchorId,
|
|
974
|
+
bgColor: isInverted ? colors.sectionBg.dark : hasBg ? colors.sectionBg.medium : colors.sectionBg.light,
|
|
975
|
+
bgMode: mapToBgMode(bgMode, true)
|
|
976
|
+
}, React__default.createElement(Wrapper, {
|
|
977
|
+
clampWidth: "small",
|
|
978
|
+
addWhitespace: true
|
|
979
|
+
}, text && React__default.createElement(ContentBlock, {
|
|
980
|
+
isInverted: isInverted,
|
|
981
|
+
type: "copy",
|
|
982
|
+
innerHTML: text
|
|
983
|
+
})));
|
|
984
|
+
};
|
|
985
|
+
var NewsText$1 = withLibTheme(NewsText);
|
|
986
|
+
var templateObject_1;
|
|
987
|
+
|
|
988
|
+
var NewsVideo = function (_a) {
|
|
989
|
+
var anchorId = _a.anchorId,
|
|
990
|
+
bgImage = _a.bgImage,
|
|
991
|
+
embedId = _a.embedId,
|
|
992
|
+
playIcon = _a.playIcon,
|
|
993
|
+
consentText = _a.consentText,
|
|
994
|
+
consentAction = _a.consentAction,
|
|
995
|
+
bgMode = _a.bgMode;
|
|
996
|
+
var colors = useLibTheme().colors;
|
|
997
|
+
var isInverted = bgMode === 'inverted';
|
|
998
|
+
var hasBg = bgMode === 'full';
|
|
999
|
+
return React__default.createElement(Section, {
|
|
1000
|
+
addSeperation: true,
|
|
1001
|
+
anchorId: anchorId,
|
|
1002
|
+
bgColor: isInverted ? colors.sectionBg.dark : hasBg ? colors.sectionBg.medium : colors.sectionBg.light,
|
|
1003
|
+
bgMode: mapToBgMode(bgMode, true)
|
|
1004
|
+
}, React__default.createElement(Wrapper, {
|
|
1005
|
+
addWhitespace: true,
|
|
1006
|
+
clampWidth: "small"
|
|
1007
|
+
}, embedId && bgImage && React__default.createElement(VideoCard, {
|
|
1008
|
+
bgImage: bgImage,
|
|
1009
|
+
embedId: embedId,
|
|
1010
|
+
playIcon: playIcon,
|
|
1011
|
+
consentText: consentText,
|
|
1012
|
+
consentAction: consentAction
|
|
1013
|
+
})));
|
|
1014
|
+
};
|
|
1015
|
+
var NewsVideo$1 = withLibTheme(NewsVideo);
|
|
1016
|
+
|
|
1017
|
+
export { NewsAuthorCard$1 as NewsAuthorCard, NewsFooter$1 as NewsFooter, NewsImages$1 as NewsImages, NewsIntro$1 as NewsIntro, NewsList$1 as NewsList, NewsOverview$1 as NewsOverview, NewsTable$1 as NewsTable, NewsText$1 as NewsText, NewsVideo$1 as NewsVideo };
|
|
1018
|
+
//# sourceMappingURL=sections_news.js.map
|