@blateral/b.kit 2.7.5 → 2.8.0

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.
Files changed (311) hide show
  1. package/cjs/Actions-c52a14e4.js +2 -0
  2. package/cjs/{Actions-c7b16449.js.map → Actions-c52a14e4.js.map} +1 -1
  3. package/cjs/Bdot-62c8e349.js +2 -0
  4. package/cjs/{Bdot-5f8e0450.js.map → Bdot-62c8e349.js.map} +1 -1
  5. package/cjs/Button-1adf99b8.js +2 -0
  6. package/cjs/{Button-51ea72b7.js.map → Button-1adf99b8.js.map} +1 -1
  7. package/cjs/ButtonGhost-fbab8769.js +2 -0
  8. package/cjs/{ButtonGhost-628bbd60.js.map → ButtonGhost-fbab8769.js.map} +1 -1
  9. package/cjs/Callout-d84ca60b.js +2 -0
  10. package/cjs/{Callout-5dd16679.js.map → Callout-d84ca60b.js.map} +1 -1
  11. package/cjs/Checkbox-8dccd42f.js +2 -0
  12. package/cjs/Checkbox-8dccd42f.js.map +1 -0
  13. package/cjs/Control-e15e1572.js +2 -0
  14. package/cjs/{Control-08d09950.js.map → Control-e15e1572.js.map} +1 -1
  15. package/cjs/Copy-a0bc570d.js +2 -0
  16. package/cjs/{Copy-ea6ab025.js.map → Copy-a0bc570d.js.map} +1 -1
  17. package/cjs/EventBlock-4e406696.js +2 -0
  18. package/cjs/{EventBlock-04e719a7.js.map → EventBlock-4e406696.js.map} +1 -1
  19. package/cjs/Filter-89286db9.js +2 -0
  20. package/cjs/Filter-89286db9.js.map +1 -0
  21. package/cjs/FilterBar-2266ee4d.js +2 -0
  22. package/cjs/FilterBar-2266ee4d.js.map +1 -0
  23. package/cjs/FilterField-7efcacb7.js +2 -0
  24. package/cjs/FilterField-7efcacb7.js.map +1 -0
  25. package/cjs/Grid-1acefee9.js +2 -0
  26. package/cjs/{Grid-6f4f99bc.js.map → Grid-1acefee9.js.map} +1 -1
  27. package/cjs/Image-94820dfd.js +2 -0
  28. package/cjs/{Image-c72f7a80.js.map → Image-94820dfd.js.map} +1 -1
  29. package/cjs/InfoList-e416058c.js +2 -0
  30. package/cjs/{InfoList-71d3388a.js.map → InfoList-e416058c.js.map} +1 -1
  31. package/cjs/LanguageSwitcher-aa96cc7d.js +2 -0
  32. package/cjs/{LanguageSwitcher-8fdd22ba.js.map → LanguageSwitcher-aa96cc7d.js.map} +1 -1
  33. package/cjs/LibThemeProvider-69109901.js +2 -0
  34. package/cjs/{LibThemeProvider-4823de57.js.map → LibThemeProvider-69109901.js.map} +1 -1
  35. package/cjs/Link-8951180c.js +2 -0
  36. package/cjs/{Link-5a6f1633.js.map → Link-8951180c.js.map} +1 -1
  37. package/cjs/MultiselectDropdown-ce2084d6.js +2 -0
  38. package/cjs/MultiselectDropdown-ce2084d6.js.map +1 -0
  39. package/cjs/Navigation-6abb6213.js +2 -0
  40. package/cjs/{Navigation-939e4d0e.js.map → Navigation-6abb6213.js.map} +1 -1
  41. package/cjs/Pointer-331140b6.js +2 -0
  42. package/cjs/{Pointer-fde7b548.js.map → Pointer-331140b6.js.map} +1 -1
  43. package/cjs/Section-c9a16ccc.js +2 -0
  44. package/cjs/{Section-e8e8cf81.js.map → Section-c9a16ccc.js.map} +1 -1
  45. package/cjs/SocialList-aec9a5c2.js +2 -0
  46. package/cjs/{SocialList-1d5f75a8.js.map → SocialList-aec9a5c2.js.map} +1 -1
  47. package/cjs/TableBlock-c545ca8d.js +2 -0
  48. package/cjs/{TableBlock-f2c59d9b.js.map → TableBlock-c545ca8d.js.map} +1 -1
  49. package/cjs/Tag-937849ad.js +2 -0
  50. package/cjs/{Tag-9238cf0c.js.map → Tag-937849ad.js.map} +1 -1
  51. package/cjs/Textarea-599e94a4.js +2 -0
  52. package/cjs/{Textarea-03bd2c34.js.map → Textarea-599e94a4.js.map} +1 -1
  53. package/cjs/Textfield-24f468be.js +2 -0
  54. package/cjs/Textfield-24f468be.js.map +1 -0
  55. package/cjs/VideoBlock-1fbf598b.js +2 -0
  56. package/cjs/{VideoBlock-dea7de8a.js.map → VideoBlock-1fbf598b.js.map} +1 -1
  57. package/cjs/VideoCard-905c08d2.js +2 -0
  58. package/cjs/{VideoCard-f6c436ca.js.map → VideoCard-905c08d2.js.map} +1 -1
  59. package/cjs/Wrapper-bca9463e.js +2 -0
  60. package/cjs/{Wrapper-ff6854d7.js.map → Wrapper-bca9463e.js.map} +1 -1
  61. package/cjs/base.js +1 -1
  62. package/cjs/blocks.js +1 -1
  63. package/cjs/buttons.js +1 -1
  64. package/cjs/cookies.js +1 -1
  65. package/cjs/cookies.js.map +1 -1
  66. package/cjs/fields.js +1 -1
  67. package/cjs/fields.js.map +1 -1
  68. package/cjs/footer.js +1 -1
  69. package/cjs/footer.js.map +1 -1
  70. package/cjs/formFieldText-046fcbf4.js +2 -0
  71. package/cjs/formFieldText-046fcbf4.js.map +1 -0
  72. package/cjs/headers.js +1 -1
  73. package/cjs/headers.js.map +1 -1
  74. package/cjs/hooks.js +1 -1
  75. package/cjs/hooks.js.map +1 -1
  76. package/cjs/icons.js +1 -1
  77. package/cjs/index.js +1 -1
  78. package/cjs/navigation-3f9d4ac4.js +2 -0
  79. package/cjs/{navigation-bf154e6e.js.map → navigation-3f9d4ac4.js.map} +1 -1
  80. package/cjs/navigation.js +1 -1
  81. package/cjs/navigation.js.map +1 -1
  82. package/cjs/sections.dynamicform.js +1 -1
  83. package/cjs/sections.dynamicform.js.map +1 -1
  84. package/cjs/sections.events.js +1 -1
  85. package/cjs/sections.events.js.map +1 -1
  86. package/cjs/sections.forms.js +1 -1
  87. package/cjs/sections.forms.js.map +1 -1
  88. package/cjs/sections.jobs.js +1 -1
  89. package/cjs/sections.jobs.js.map +1 -1
  90. package/cjs/sections.js +1 -1
  91. package/cjs/sections.js.map +1 -1
  92. package/cjs/sections.news.js +1 -1
  93. package/cjs/sections.news.js.map +1 -1
  94. package/cjs/sections.pois.js +1 -1
  95. package/cjs/sections.pois.js.map +1 -1
  96. package/cjs/styles-13e5d9ac.js +2 -0
  97. package/cjs/styles-13e5d9ac.js.map +1 -0
  98. package/cjs/typography.js +1 -1
  99. package/cjs/useCookieConsent-665d91cf.js +2 -0
  100. package/cjs/{useCookieConsent-aa9f1104.js.map → useCookieConsent-665d91cf.js.map} +1 -1
  101. package/cjs/useEqualSheetHeight-f1c10ec5.js +2 -0
  102. package/cjs/{useEqualSheetHeight-501f4c5f.js.map → useEqualSheetHeight-f1c10ec5.js.map} +1 -1
  103. package/cjs/useLazyInput-911b8eda.js +2 -0
  104. package/cjs/{useLazyInput-f71c221b.js.map → useLazyInput-911b8eda.js.map} +1 -1
  105. package/cjs/useLeafletMap-514304b6.js +2 -0
  106. package/cjs/{useLeafletMap-2e608b01.js.map → useLeafletMap-514304b6.js.map} +1 -1
  107. package/cjs/useMediaQuery-619d7203.js +2 -0
  108. package/cjs/{useMediaQuery-3d1054e5.js.map → useMediaQuery-619d7203.js.map} +1 -1
  109. package/cjs/useScroll-2f086e7f.js +2 -0
  110. package/cjs/useScroll-2f086e7f.js.map +1 -0
  111. package/esm/{Actions-21372b3a.js → Actions-e29b5e75.js} +3 -3
  112. package/esm/{Actions-21372b3a.js.map → Actions-e29b5e75.js.map} +1 -1
  113. package/esm/{Bdot-4db38753.js → Bdot-5e798e7e.js} +3 -3
  114. package/esm/{Bdot-4db38753.js.map → Bdot-5e798e7e.js.map} +1 -1
  115. package/esm/{Button-f9279013.js → Button-9a0dd9aa.js} +3 -3
  116. package/esm/{Button-f9279013.js.map → Button-9a0dd9aa.js.map} +1 -1
  117. package/esm/{ButtonGhost-ae2e97a2.js → ButtonGhost-fc9e7a75.js} +3 -3
  118. package/esm/{ButtonGhost-ae2e97a2.js.map → ButtonGhost-fc9e7a75.js.map} +1 -1
  119. package/esm/{Callout-a926194d.js → Callout-46f0bef0.js} +4 -4
  120. package/esm/{Callout-a926194d.js.map → Callout-46f0bef0.js.map} +1 -1
  121. package/esm/{Checkbox-dd12facd.js → Checkbox-1957067a.js} +11 -8
  122. package/esm/Checkbox-1957067a.js.map +1 -0
  123. package/esm/{Control-2d605e12.js → Control-56ec7872.js} +3 -3
  124. package/esm/{Control-2d605e12.js.map → Control-56ec7872.js.map} +1 -1
  125. package/esm/{Copy-a28aeb61.js → Copy-c6786949.js} +4 -4
  126. package/esm/{Copy-a28aeb61.js.map → Copy-c6786949.js.map} +1 -1
  127. package/esm/{EventBlock-b9204a0d.js → EventBlock-8e130f6b.js} +8 -8
  128. package/esm/{EventBlock-b9204a0d.js.map → EventBlock-8e130f6b.js.map} +1 -1
  129. package/esm/{ClockFilled-62515a8f.js → Filter-19220970.js} +321 -235
  130. package/esm/Filter-19220970.js.map +1 -0
  131. package/esm/FilterBar-f9e957c1.js +460 -0
  132. package/esm/FilterBar-f9e957c1.js.map +1 -0
  133. package/esm/FilterField-bec061bc.js +115 -0
  134. package/esm/FilterField-bec061bc.js.map +1 -0
  135. package/esm/{Grid-5eec127f.js → Grid-7b33e271.js} +3 -3
  136. package/esm/{Grid-5eec127f.js.map → Grid-7b33e271.js.map} +1 -1
  137. package/esm/{Image-dc2b33c1.js → Image-b26692a9.js} +5 -5
  138. package/esm/{Image-dc2b33c1.js.map → Image-b26692a9.js.map} +1 -1
  139. package/esm/{InfoList-5c4586ed.js → InfoList-b6980a42.js} +4 -4
  140. package/esm/{InfoList-5c4586ed.js.map → InfoList-b6980a42.js.map} +1 -1
  141. package/esm/{LanguageSwitcher-3fa20077.js → LanguageSwitcher-f9218fdc.js} +5 -5
  142. package/esm/{LanguageSwitcher-3fa20077.js.map → LanguageSwitcher-f9218fdc.js.map} +1 -1
  143. package/esm/{LibThemeProvider-52555ac9.js → LibThemeProvider-fb1d35ac.js} +3 -3
  144. package/esm/{LibThemeProvider-52555ac9.js.map → LibThemeProvider-fb1d35ac.js.map} +1 -1
  145. package/esm/{Link-3fd9c9b8.js → Link-6067a27f.js} +3 -3
  146. package/esm/{Link-3fd9c9b8.js.map → Link-6067a27f.js.map} +1 -1
  147. package/esm/MultiselectDropdown-10ab18cf.js +296 -0
  148. package/esm/MultiselectDropdown-10ab18cf.js.map +1 -0
  149. package/esm/{Navigation-99f6dc41.js → Navigation-bb79a1eb.js} +10 -10
  150. package/esm/{Navigation-99f6dc41.js.map → Navigation-bb79a1eb.js.map} +1 -1
  151. package/esm/{Pointer-5c77b1f1.js → Pointer-b4abee91.js} +3 -3
  152. package/esm/{Pointer-5c77b1f1.js.map → Pointer-b4abee91.js.map} +1 -1
  153. package/esm/{Section-b76e6909.js → Section-bd61eb2f.js} +3 -3
  154. package/esm/{Section-b76e6909.js.map → Section-bd61eb2f.js.map} +1 -1
  155. package/esm/{SocialList-402b8f20.js → SocialList-336b7f6d.js} +5 -5
  156. package/esm/{SocialList-402b8f20.js.map → SocialList-336b7f6d.js.map} +1 -1
  157. package/esm/{TableBlock-67fe2385.js → TableBlock-1ddfd539.js} +5 -5
  158. package/esm/{TableBlock-67fe2385.js.map → TableBlock-1ddfd539.js.map} +1 -1
  159. package/esm/{Tag-ac51e916.js → Tag-c3bd6b7f.js} +5 -5
  160. package/esm/{Tag-ac51e916.js.map → Tag-c3bd6b7f.js.map} +1 -1
  161. package/esm/{Textarea-266f1e45.js → Textarea-95352f50.js} +10 -10
  162. package/esm/{Textarea-266f1e45.js.map → Textarea-95352f50.js.map} +1 -1
  163. package/esm/{Textfield-d2f201a9.js → Textfield-99d91b4e.js} +10 -97
  164. package/esm/Textfield-99d91b4e.js.map +1 -0
  165. package/esm/{VideoBlock-b227ae6e.js → VideoBlock-474e0aa4.js} +7 -7
  166. package/esm/{VideoBlock-b227ae6e.js.map → VideoBlock-474e0aa4.js.map} +1 -1
  167. package/esm/{VideoCard-2c6e26d1.js → VideoCard-91438667.js} +7 -7
  168. package/esm/{VideoCard-2c6e26d1.js.map → VideoCard-91438667.js.map} +1 -1
  169. package/esm/{Wrapper-90dccc89.js → Wrapper-95108115.js} +3 -3
  170. package/esm/{Wrapper-90dccc89.js.map → Wrapper-95108115.js.map} +1 -1
  171. package/esm/base.js +5 -5
  172. package/esm/blocks.js +25 -16
  173. package/esm/blocks.js.map +1 -1
  174. package/esm/buttons.js +6 -6
  175. package/esm/cookies.js +7 -7
  176. package/esm/fields.js +14 -12
  177. package/esm/fields.js.map +1 -1
  178. package/esm/footer.js +11 -11
  179. package/esm/formFieldText-f4188e55.js +96 -0
  180. package/esm/formFieldText-f4188e55.js.map +1 -0
  181. package/esm/headers.js +12 -12
  182. package/esm/hooks.js +12 -83
  183. package/esm/hooks.js.map +1 -1
  184. package/esm/icons.js +5 -2
  185. package/esm/icons.js.map +1 -1
  186. package/esm/index.js +3 -3
  187. package/esm/{navigation-b89325f8.js → navigation-5216dbad.js} +2 -2
  188. package/esm/{navigation-b89325f8.js.map → navigation-5216dbad.js.map} +1 -1
  189. package/esm/navigation.js +12 -12
  190. package/esm/sections.dynamicform.js +15 -14
  191. package/esm/sections.dynamicform.js.map +1 -1
  192. package/esm/sections.events.js +13 -14
  193. package/esm/sections.events.js.map +1 -1
  194. package/esm/sections.forms.js +10 -9
  195. package/esm/sections.forms.js.map +1 -1
  196. package/esm/sections.jobs.js +12 -12
  197. package/esm/sections.js +24 -24
  198. package/esm/sections.news.js +17 -18
  199. package/esm/sections.news.js.map +1 -1
  200. package/esm/sections.pois.js +282 -145
  201. package/esm/sections.pois.js.map +1 -1
  202. package/esm/{styles-da982973.js → styles-1f1841ef.js} +4 -3
  203. package/esm/styles-1f1841ef.js.map +1 -0
  204. package/esm/typography.js +6 -6
  205. package/esm/{useCookieConsent-6b2d4d93.js → useCookieConsent-6661d419.js} +49 -49
  206. package/esm/useCookieConsent-6661d419.js.map +1 -0
  207. package/esm/{useEqualSheetHeight-97420d63.js → useEqualSheetHeight-60ff9de7.js} +4 -4
  208. package/esm/{useEqualSheetHeight-97420d63.js.map → useEqualSheetHeight-60ff9de7.js.map} +1 -1
  209. package/esm/{useLazyInput-54d1785c.js → useLazyInput-0b6932aa.js} +2 -2
  210. package/esm/{useLazyInput-54d1785c.js.map → useLazyInput-0b6932aa.js.map} +1 -1
  211. package/esm/{useLeafletMap-84170d32.js → useLeafletMap-fa0ab7d4.js} +10 -6
  212. package/esm/useLeafletMap-fa0ab7d4.js.map +1 -0
  213. package/esm/{useMediaQuery-b42fd64e.js → useMediaQuery-4c1b1fa6.js} +3 -3
  214. package/esm/{useMediaQuery-b42fd64e.js.map → useMediaQuery-4c1b1fa6.js.map} +1 -1
  215. package/esm/useScroll-881c7b04.js +76 -0
  216. package/esm/useScroll-881c7b04.js.map +1 -0
  217. package/package.json +2 -1
  218. package/types/blocks.d.ts +1 -0
  219. package/types/blocks.d.ts.map +1 -1
  220. package/types/components/base/icons/Cross.d.ts +2 -0
  221. package/types/components/base/icons/Cross.d.ts.map +1 -1
  222. package/types/components/base/icons/CrossBubble.d.ts +8 -0
  223. package/types/components/base/icons/CrossBubble.d.ts.map +1 -0
  224. package/types/components/base/icons/Icons.d.ts +3 -0
  225. package/types/components/base/icons/Icons.d.ts.map +1 -1
  226. package/types/components/base/icons/Magnifier.d.ts +2 -0
  227. package/types/components/base/icons/Magnifier.d.ts.map +1 -1
  228. package/types/components/blocks/FilterBar.d.ts +38 -0
  229. package/types/components/blocks/FilterBar.d.ts.map +1 -0
  230. package/types/components/blocks/POICard.d.ts.map +1 -1
  231. package/types/components/blocks/Portal.d.ts +8 -0
  232. package/types/components/blocks/Portal.d.ts.map +1 -0
  233. package/types/components/fields/Checkbox.d.ts +3 -1
  234. package/types/components/fields/Checkbox.d.ts.map +1 -1
  235. package/types/components/fields/FilterField.d.ts +1 -0
  236. package/types/components/fields/FilterField.d.ts.map +1 -1
  237. package/types/components/fields/MultiselectDropdown.d.ts +42 -0
  238. package/types/components/fields/MultiselectDropdown.d.ts.map +1 -0
  239. package/types/components/sections/pois/PointOfInterestMap.d.ts +42 -1
  240. package/types/components/sections/pois/PointOfInterestMap.d.ts.map +1 -1
  241. package/types/components/sections/pois/PointOfInterestOverview.d.ts +41 -20
  242. package/types/components/sections/pois/PointOfInterestOverview.d.ts.map +1 -1
  243. package/types/components/sections/pois/filters.d.ts +10 -0
  244. package/types/components/sections/pois/filters.d.ts.map +1 -0
  245. package/types/components/sections/pois/partials/PoiFilterBar.d.ts +8 -0
  246. package/types/components/sections/pois/partials/PoiFilterBar.d.ts.map +1 -0
  247. package/types/components/sections/pois/partials/index.d.ts +3 -0
  248. package/types/components/sections/pois/partials/index.d.ts.map +1 -0
  249. package/types/fields.d.ts +1 -0
  250. package/types/fields.d.ts.map +1 -1
  251. package/types/sections.pois.d.ts +1 -0
  252. package/types/sections.pois.d.ts.map +1 -1
  253. package/types/utils/styles.d.ts +1 -0
  254. package/types/utils/styles.d.ts.map +1 -1
  255. package/types/utils/useLeafletMap.d.ts.map +1 -1
  256. package/cjs/Actions-c7b16449.js +0 -2
  257. package/cjs/Bdot-5f8e0450.js +0 -2
  258. package/cjs/Button-51ea72b7.js +0 -2
  259. package/cjs/ButtonGhost-628bbd60.js +0 -2
  260. package/cjs/Callout-5dd16679.js +0 -2
  261. package/cjs/Checkbox-1c34c7e6.js +0 -2
  262. package/cjs/Checkbox-1c34c7e6.js.map +0 -1
  263. package/cjs/ClockFilled-2483aa4a.js +0 -2
  264. package/cjs/ClockFilled-2483aa4a.js.map +0 -1
  265. package/cjs/Control-08d09950.js +0 -2
  266. package/cjs/Copy-ea6ab025.js +0 -2
  267. package/cjs/EventBlock-04e719a7.js +0 -2
  268. package/cjs/Filter-d6d90b8b.js +0 -2
  269. package/cjs/Filter-d6d90b8b.js.map +0 -1
  270. package/cjs/FilterField-cce38ffb.js +0 -2
  271. package/cjs/FilterField-cce38ffb.js.map +0 -1
  272. package/cjs/Grid-6f4f99bc.js +0 -2
  273. package/cjs/Image-c72f7a80.js +0 -2
  274. package/cjs/InfoList-71d3388a.js +0 -2
  275. package/cjs/LanguageSwitcher-8fdd22ba.js +0 -2
  276. package/cjs/LibThemeProvider-4823de57.js +0 -2
  277. package/cjs/Link-5a6f1633.js +0 -2
  278. package/cjs/Navigation-939e4d0e.js +0 -2
  279. package/cjs/POICard-e46f9041.js +0 -2
  280. package/cjs/POICard-e46f9041.js.map +0 -1
  281. package/cjs/Pointer-fde7b548.js +0 -2
  282. package/cjs/Section-e8e8cf81.js +0 -2
  283. package/cjs/SocialList-1d5f75a8.js +0 -2
  284. package/cjs/TableBlock-f2c59d9b.js +0 -2
  285. package/cjs/Tag-9238cf0c.js +0 -2
  286. package/cjs/Textarea-03bd2c34.js +0 -2
  287. package/cjs/Textfield-56996c98.js +0 -2
  288. package/cjs/Textfield-56996c98.js.map +0 -1
  289. package/cjs/VideoBlock-dea7de8a.js +0 -2
  290. package/cjs/VideoCard-f6c436ca.js +0 -2
  291. package/cjs/Wrapper-ff6854d7.js +0 -2
  292. package/cjs/navigation-bf154e6e.js +0 -2
  293. package/cjs/styles-3a495a2d.js +0 -2
  294. package/cjs/styles-3a495a2d.js.map +0 -1
  295. package/cjs/useCookieConsent-aa9f1104.js +0 -2
  296. package/cjs/useEqualSheetHeight-501f4c5f.js +0 -2
  297. package/cjs/useLazyInput-f71c221b.js +0 -2
  298. package/cjs/useLeafletMap-2e608b01.js +0 -2
  299. package/cjs/useMediaQuery-3d1054e5.js +0 -2
  300. package/esm/Checkbox-dd12facd.js.map +0 -1
  301. package/esm/ClockFilled-62515a8f.js.map +0 -1
  302. package/esm/Filter-2b5f5e53.js +0 -32
  303. package/esm/Filter-2b5f5e53.js.map +0 -1
  304. package/esm/FilterField-962ec61f.js +0 -129
  305. package/esm/FilterField-962ec61f.js.map +0 -1
  306. package/esm/POICard-96ec71d8.js +0 -116
  307. package/esm/POICard-96ec71d8.js.map +0 -1
  308. package/esm/Textfield-d2f201a9.js.map +0 -1
  309. package/esm/styles-da982973.js.map +0 -1
  310. package/esm/useCookieConsent-6b2d4d93.js.map +0 -1
  311. package/esm/useLeafletMap-84170d32.js.map +0 -1
@@ -1,33 +1,32 @@
1
- import { a as __makeTemplateObject, _ as __assign, e as __spreadArray } from './ClockFilled-62515a8f.js';
1
+ import { a as __makeTemplateObject, _ as __assign, e as __spreadArray, ac as Filter } from './Filter-19220970.js';
2
2
  import React__default, { forwardRef, useMemo, useState, useRef, useCallback, useEffect } from 'react';
3
3
  import styled from 'styled-components';
4
- import { S as Section, m as mapToBgMode } from './Section-b76e6909.js';
5
- import { W as Wrapper } from './Wrapper-90dccc89.js';
6
- import { C as Copy, H as Heading, c as copyStyle } from './Copy-a28aeb61.js';
7
- import { g as getColors, s as spacings, m as mq, c as getGlobals, a as getFonts } from './styles-da982973.js';
8
- import { w as withLibTheme, u as useLibTheme } from './LibThemeProvider-52555ac9.js';
9
- import { I as Image } from './Image-dc2b33c1.js';
10
- import { T as Tag } from './Tag-ac51e916.js';
4
+ import { S as Section, m as mapToBgMode } from './Section-bd61eb2f.js';
5
+ import { W as Wrapper } from './Wrapper-95108115.js';
6
+ import { C as Copy, H as Heading, c as copyStyle } from './Copy-c6786949.js';
7
+ import { g as getColors, s as spacings, m as mq, c as getGlobals, a as getFonts } from './styles-1f1841ef.js';
8
+ import { w as withLibTheme, u as useLibTheme } from './LibThemeProvider-fb1d35ac.js';
9
+ import { I as Image } from './Image-b26692a9.js';
10
+ import { T as Tag } from './Tag-c3bd6b7f.js';
11
11
  import { S as StatusFormatter } from './statusFormatter-9be0fbff.js';
12
- import { L as Link } from './Link-3fd9c9b8.js';
12
+ import { L as Link } from './Link-6067a27f.js';
13
13
  import { i as isValidArray } from './arrays-65b644ef.js';
14
- import { u as useMediaQuery } from './useMediaQuery-b42fd64e.js';
15
- import { u as useEqualSheetHeight } from './useEqualSheetHeight-97420d63.js';
16
- import { G as Grid } from './Grid-5eec127f.js';
14
+ import { u as useMediaQuery } from './useMediaQuery-4c1b1fa6.js';
15
+ import { u as useEqualSheetHeight } from './useEqualSheetHeight-60ff9de7.js';
16
+ import { G as Grid } from './Grid-7b33e271.js';
17
17
  import { u as useObserverSupport } from './useObserverSupport-02bce7f5.js';
18
18
  import { u as useScrollTo } from './useScrollTo-70af34bf.js';
19
- import { P as Pointer } from './Pointer-5c77b1f1.js';
19
+ import { P as Pointer } from './Pointer-b4abee91.js';
20
20
  import { g as getUrlParams, s as setUrlParam, d as deleteUrlParam } from './urlParams-9cfdaf71.js';
21
- import { F as Filter } from './Filter-2b5f5e53.js';
22
21
  import { u as useUpdateEffect } from './useUpdateEffect-824c0c84.js';
23
22
  import { u as useMounted } from './useMounted-1e4cc87b.js';
24
- import { T as Title, a as TableBlock } from './TableBlock-67fe2385.js';
25
- import { V as VideoCard } from './VideoCard-2c6e26d1.js';
23
+ import { T as Title, a as TableBlock } from './TableBlock-1ddfd539.js';
24
+ import { V as VideoCard } from './VideoCard-91438667.js';
26
25
  import './concat-ab3c66f2.js';
27
26
  import './clamp-12d37b65.js';
28
27
  import 'react-dom/server';
29
- import './useCookieConsent-6b2d4d93.js';
30
- import './ButtonGhost-ae2e97a2.js';
28
+ import './useCookieConsent-6661d419.js';
29
+ import './ButtonGhost-fc9e7a75.js';
31
30
  import './hexRgbConverter-edb91624.js';
32
31
 
33
32
  var Seperator = styled.div.withConfig({
@@ -1 +1 @@
1
- {"version":3,"file":"sections.news.js","sources":["../src/components/sections/news/NewsAuthorCard.tsx","../src/components/blocks/NewsCard.tsx","../src/components/sections/news/NewsOverview.tsx","../src/components/sections/news/NewsFooter.tsx","../src/components/sections/news/NewsImages.tsx","../src/components/sections/news/NewsIntro.tsx","../src/components/sections/news/NewsList.tsx","../src/components/sections/news/NewsTable.tsx","../src/components/sections/news/NewsText.tsx","../src/components/sections/news/NewsVideo.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst Seperator = styled.div<{ isInverted?: boolean; isTop?: boolean }>`\n border-bottom: solid 1px\n ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n\n margin-top: ${({ isTop }) => !isTop && spacings.spacer}px;\n margin-bottom: ${({ isTop }) => isTop && spacings.spacer}px;\n`;\n\nconst AuthorContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n flex-direction: row;\n justify-content: flex-start;\n text-align: left;\n\n & > * + * {\n margin-top: 0;\n margin-left: ${spacings.spacer}px;\n }\n }\n`;\n\nconst Avatar = styled.img`\n border-radius: 50%; ;\n`;\n\nconst Author = styled.div``;\n\nconst StyledCopy = styled(Copy)`\n text-transform: uppercase;\n margin-bottom: ${spacings.nudge * 3}px;\n`;\n\nconst NewsAuthorCard: React.FC<{\n /** Text above author name */\n label?: string;\n\n /** Article's author name */\n author?: string;\n\n /** Author avatar image */\n avatar?: { src: string; alt?: string };\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ label, author, avatar, bgMode }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n {author && (\n <React.Fragment>\n <Seperator isTop isInverted={isInverted} />\n <AuthorContainer>\n {avatar && (\n <Avatar src={avatar.src} alt={avatar.alt} />\n )}\n <Author>\n {author && (\n <StyledCopy\n isInverted={isInverted}\n type=\"copy-b\"\n >\n {label || 'Written By'}\n </StyledCopy>\n )}\n <Heading\n isInverted={isInverted}\n size=\"heading-2\"\n >\n {author}\n </Heading>\n </Author>\n </AuthorContainer>\n </React.Fragment>\n )}\n <Seperator isInverted={isInverted} />\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsAuthorCardComponent = NewsAuthorCard;\nexport default withLibTheme(NewsAuthorCard);\n","import React, { forwardRef, useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport {\n spacings,\n getGlobals as global,\n getFonts as font,\n getColors,\n} from 'utils/styles';\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport StatusFormatter from 'utils/statusFormatter';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport { isValidArray } from 'utils/arrays';\n\nconst View = styled.div`\n position: relative;\n text-decoration: none;\n margin: 0;\n padding: 0;\n`;\n\nconst ImageLink = styled(Link)`\n display: block;\n width: 100%;\n`;\n\nconst StyledImage = styled(Image)`\n overflow: hidden;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n`;\n\nconst BorderPlaceholder = styled.div<{ hasBg?: boolean }>`\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg\n ? getColors(theme).elementBg.light\n : getColors(theme).elementBg.medium};\n`;\n\nconst TitleLink = styled(Link)`\n display: inline-block;\n ${copyStyle('copy-b', 'big')}\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme)['copy-b'].big.colorInverted\n : font(theme)['copy-b'].big.color};\n text-decoration: none;\n`;\n\nconst Head = styled.div`\n display: flex;\n\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n &:not(:last-child) {\n margin-bottom: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Tags = styled.div`\n display: flex;\n overflow: scroll;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst PublishDate = styled(Copy)`\n &:only-child {\n margin-left: auto;\n }\n`;\n\nconst Main = styled.div`\n max-width: 95%;\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Text = styled(Copy)`\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 6; /* number of lines to show */\n line-clamp: 6;\n -webkit-box-orient: vertical;\n\n & > * {\n margin: 0 !important;\n }\n\n & > p:not(:first-of-type) {\n display: none;\n }\n\n & > ul,\n & > ol,\n & > table {\n display: none;\n }\n`;\n\nconst Action = styled.div`\n margin-top: ${spacings.nudge * 3}px;\n`;\n\nexport interface NewsCardProps {\n /** Invert text and background for use on dark sections */\n isInverted?: boolean;\n\n /** News tag name */\n tags?: TagProps[];\n\n /** News publish date */\n publishDate?: Date;\n\n /** News title */\n title?: string;\n\n /** News text */\n text?: string;\n\n /** News image settings */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /** News link settings */\n link?: LinkProps;\n\n /** Callback function if tag in news iten has been clicked */\n onTagClick?: (tag: TagProps) => void;\n\n /** Function to inject primary action */\n action?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n clickHandler?: (ev?: React.SyntheticEvent<HTMLAnchorElement>) => void;\n }) => React.ReactNode;\n\n hasBg?: boolean;\n}\n\nconst NewsCard = forwardRef<\n HTMLDivElement,\n NewsCardProps & {\n className?: string;\n }\n>(\n (\n {\n tags,\n onTagClick,\n publishDate,\n title,\n text,\n image,\n link,\n isInverted,\n action,\n customTag,\n className,\n hasBg,\n },\n ref\n ) => {\n const { globals } = useLibTheme();\n\n let publishedAt = '';\n if (publishDate) {\n const formatter = new StatusFormatter(\n publishDate.getTime(),\n '',\n globals.sections.newsDateFormat(publishDate),\n globals.sections.newsTimeFormat(publishDate),\n globals.sections.newsLocaleKey\n );\n publishedAt = formatter.getFormattedDate();\n }\n\n const handleTagClick = (tag: TagProps) =>\n onTagClick\n ? (ev?: React.SyntheticEvent<HTMLAnchorElement>) => {\n ev?.preventDefault();\n onTagClick(tag);\n }\n : undefined;\n\n const filteredTags = useMemo(() => {\n return tags?.filter((tag) => tag.name);\n }, [tags]);\n\n return (\n <View ref={ref} className={className}>\n {image?.small ? (\n <ImageLink {...link} ariaLabel={title}>\n <StyledImage\n {...image}\n coverSpace\n isInverted={isInverted}\n />\n </ImageLink>\n ) : (\n <BorderPlaceholder hasBg={hasBg} />\n )}\n <Head data-sheet=\"head\">\n {isValidArray(filteredTags, false) && (\n <Tags>\n {filteredTags.map((tag, i) => {\n if (customTag) {\n return customTag({\n key: i,\n name: tag.name || '',\n isInverted: isInverted,\n isActive: false,\n link: tag.link,\n clickHandler: handleTagClick(tag),\n });\n } else {\n return (\n <Tag\n key={i}\n isInverted={isInverted}\n name={tag.name}\n link={tag.link}\n onClick={handleTagClick(tag)}\n />\n );\n }\n })}\n </Tags>\n )}\n {publishedAt && (\n <PublishDate\n size=\"small\"\n renderAs=\"div\"\n isInverted={isInverted}\n >\n {publishedAt}\n </PublishDate>\n )}\n </Head>\n <Main>\n {title && (\n <TitleLink\n {...link}\n ariaLabel={title}\n isInverted={isInverted}\n dataSheet=\"title\"\n >\n {title}\n </TitleLink>\n )}\n {text && (\n <Text\n isInverted={isInverted}\n type=\"copy\"\n innerHTML={text}\n data-sheet=\"text\"\n size=\"medium\"\n />\n )}\n </Main>\n {action && <Action>{action(isInverted)}</Action>}\n </View>\n );\n }\n);\n\nNewsCard.displayName = 'NewsCard';\n\nexport default NewsCard;\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\n\nimport NewsCard, { NewsCardProps } from 'components/blocks/NewsCard';\nimport { mq, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport { useMediaQuery } from 'utils/useMediaQuery';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport Copy from 'components/typography/Copy';\nimport { useScrollTo } from 'utils/useScrollTo';\nimport Pointer from 'components/buttons/Pointer';\nimport { isValidArray } from 'utils/arrays';\nimport { deleteUrlParam, getUrlParams, setUrlParam } from 'utils/urlParams';\nimport Filter from 'components/base/icons/Filter';\nimport useUpdateEffect from 'utils/useUpdateEffect';\nimport useMounted from 'utils/useMounted';\n\nconst TagContainer = styled.div`\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:not(:only-child) {\n margin-bottom: ${spacings.nudge * 6}px;\n }\n`;\n\nconst TagWrapper = styled.div`\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst News = styled.ul`\n list-style: none;\n margin: 0;\n margin-top: -${spacings.nudge * 6}px;\n margin-left: -${spacings.spacer}px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n`;\n\nconst NewsItem = styled.li`\n padding-top: ${spacings.nudge * 6}px;\n padding-left: ${spacings.spacer}px;\n flex: 1 0 100%;\n\n @media ${mq.medium} {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media ${mq.large} {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\n`;\n\nconst ListFooter = styled.div`\n margin-top: ${spacings.nudge * 6}px;\n text-align: center;\n\n @media ${mq.medium} {\n text-align: left;\n }\n`;\n\nconst ShowMore = styled.span<{ itemCount?: number }>`\n display: ${({ itemCount }) =>\n itemCount && itemCount > 2 ? 'block' : 'none'};\n`;\n\nconst FilterIcon = styled(Copy)`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: ${spacings.nudge / 2}px ${spacings.nudge}px 0 0;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nexport const getNewsFilterParams = (\n url: string,\n theme: DefaultTheme,\n tags: string[] = []\n) => {\n if (!url) return '';\n if (!isValidArray(tags, false)) return url;\n\n const filterName = theme.globals.sections.newsFilterName;\n if (!filterName) return url;\n\n try {\n const validUrl = new URL(url);\n const newParams = new URLSearchParams(validUrl.search);\n newParams.set(filterName, encodeURIComponent(tags.join(',')));\n\n return `${url}?${newParams.toString()}`;\n } catch (err) {\n return `${url}?${filterName}=${encodeURIComponent(tags.join(','))}`;\n }\n};\n\ntype NewsOverviewMq = 'small' | 'semilarge' | 'large';\n\nexport type NewsItem = Omit<\n NewsCardProps,\n 'customTag' | 'isInverted' | 'onTagClick'\n>;\n\nconst NewsOverview: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of news item settings */\n news?: NewsItem[];\n\n /** Tags for news filtering */\n tags?: string[];\n\n /** Initial data. If not defined the component tries to collect this from URL params */\n initial?: {\n activeTags?: string[];\n visibleRows?: number;\n };\n\n /** Text for load more toggle. Only visible if browser doesn't support IntersectionObserver. */\n showMoreText?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /**\n * Callback function to handle tag click outside of component\n * If no callback is defined filtering is controlled on client\n * */\n onTagClick?: (tag: TagProps, insideList?: boolean) => void;\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n clickHandler?: (ev?: React.SyntheticEvent<HTMLElement>) => void;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n news,\n tags,\n initial,\n showMoreText,\n bgMode,\n\n onTagClick,\n customTag,\n}) => {\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.newsFilterName;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const [selectedTags, setSelectedTags] = useState<string[]>(\n initial?.activeTags || []\n );\n\n const mqs: NewsOverviewMq[] = ['small', 'semilarge', 'large'];\n const currentMq = useMediaQuery(mqs) as NewsOverviewMq | undefined;\n const [itemsPerRow, setItemsPerRow] = useState(3);\n const [visibleRows, setVisibleRows] = useState(initial?.visibleRows || 3);\n const isMounted = useMounted();\n\n const targetRef = useRef<HTMLDivElement>(null);\n const observerSupported = useObserverSupport();\n\n const newsCount = news?.length || 0;\n\n const setNewPos = useScrollTo(800);\n const { sheetRefs: cardRefs, triggerCalculation } =\n useEqualSheetHeight<HTMLDivElement>({\n listLength: Math.min(visibleRows * itemsPerRow, newsCount),\n identifiers: [\n '[data-sheet=\"head\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n },\n });\n\n const getFilters = useCallback(() => {\n const tags: string[] = [];\n\n const filters = getUrlParams()[filterName];\n if (filters) {\n const tagsFilter = filters?.split(',');\n if (isValidArray(tagsFilter, false)) {\n tags.push(...tagsFilter);\n }\n }\n return tags;\n }, [filterName]);\n\n useEffect(() => {\n // if initial data is defined exit hook\n if (initial) return;\n\n // if no initial data provied try to find needed params in URL\n const paramTags = getFilters();\n const paramRows = parseInt(getUrlParams()['rows']);\n\n setVisibleRows(paramRows || 3);\n\n if (isValidArray(paramTags, false)) {\n setSelectedTags(paramTags);\n }\n\n // trigger equal sheet height recalculation\n triggerCalculation();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [getFilters, initial]);\n\n useEffect(() => {\n if (!initial || isMounted) return;\n\n // set inital data into URL\n setUrlParam('rows', initial?.visibleRows || 3);\n\n if (isValidArray(initial?.activeTags, false)) {\n setUrlParam(filterName, initial?.activeTags?.join(','));\n } else {\n deleteUrlParam(filterName);\n }\n }, [filterName, initial, isMounted]);\n\n useUpdateEffect(() => {\n setUrlParam('rows', visibleRows);\n }, [visibleRows]);\n\n useUpdateEffect(() => {\n if (onTagClick || !isValidArray(selectedTags)) return;\n\n // set filters to URL params\n if (selectedTags.length > 0) {\n setUrlParam(filterName, selectedTags.join(','));\n } else {\n deleteUrlParam(filterName);\n }\n }, [selectedTags]);\n\n useEffect(() => {\n switch (currentMq) {\n case 'large':\n setItemsPerRow(3);\n break;\n\n case 'semilarge':\n setItemsPerRow(2);\n break;\n\n case 'small':\n setItemsPerRow(1);\n if (visibleRows < 3) setVisibleRows(3);\n break;\n\n default:\n setItemsPerRow(1);\n }\n }, [currentMq, visibleRows]);\n\n const handleTagClick = (tag: TagProps, enableToggling = true) => {\n setSelectedTags((prev) => {\n const prevCopy = [...prev];\n const itemIndex = tag.name ? prev.indexOf(tag.name) : -1;\n\n if (itemIndex === -1 && tag.name) {\n return [...prevCopy, tag.name];\n }\n if (enableToggling) {\n prevCopy.splice(itemIndex, 1);\n return prevCopy;\n }\n return prev;\n });\n // trigger equal sheet height recalculation\n triggerCalculation();\n setVisibleRows(3);\n };\n\n const filteredNews = useMemo(() => {\n const tagFilterFn = (item: NewsItem) => {\n if (!isValidArray(selectedTags, false)) return true;\n if (!item.tags) return false;\n\n let hasTags = false;\n for (let i = 0; i < item.tags.length; i++) {\n if (selectedTags.indexOf(item.tags[i].name || '') !== -1) {\n hasTags = true;\n break;\n }\n }\n return hasTags;\n };\n\n let filtered = isValidArray(news) ? [...news] : [];\n\n // adding filter\n filtered = filtered?.filter(tagFilterFn);\n\n return filtered;\n }, [news, selectedTags]);\n\n const visibleNews: NewsItem[] = useMemo(() => {\n return (\n filteredNews?.filter((_, i) => i < visibleRows * itemsPerRow) || []\n );\n }, [filteredNews, itemsPerRow, visibleRows]);\n\n useEffect(() => {\n // cancel if intersection observers are not supported\n if (!observerSupported) return;\n\n const element = targetRef.current;\n let observer: IntersectionObserver;\n\n if (element) {\n const options = {\n rootMargin: '0px 0px 100px 0px',\n threshold: 0,\n };\n\n observer = new IntersectionObserver((entries) => {\n const entry = entries[0];\n if (entry?.isIntersecting) {\n // on bottom of the wrapper load more news\n if (\n visibleRows <\n Math.ceil(filteredNews.length / itemsPerRow)\n ) {\n setVisibleRows((prev) => prev + 1);\n }\n }\n }, options);\n observer.observe(element);\n }\n\n return () => {\n if (observer) observer.disconnect();\n };\n }, [\n itemsPerRow,\n newsCount,\n visibleRows,\n observerSupported,\n filteredNews.length,\n ]);\n\n const filteredTags = useMemo(() => {\n return tags?.filter((tag) => tag);\n }, [tags]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {isValidArray(filteredTags, false) && (\n <TagContainer>\n <FilterIcon\n size=\"small\"\n type=\"copy\"\n isInverted={isInverted}\n >\n <Filter />\n <span>Filter</span>\n </FilterIcon>\n {filteredTags.map((tag, i) => (\n <TagWrapper key={i}>\n {customTag ? (\n customTag({\n key: i,\n name: tag,\n isInverted: isInverted,\n isActive:\n selectedTags.indexOf(tag) !== -1,\n clickHandler: (ev) => {\n ev?.preventDefault();\n if (!onTagClick) {\n handleTagClick({ name: tag });\n } else onTagClick({ name: tag });\n },\n })\n ) : (\n <Tag\n isInverted={isInverted}\n onClick={(ev) => {\n ev?.preventDefault();\n if (!onTagClick) {\n handleTagClick({ name: tag });\n } else\n onTagClick(\n { name: tag },\n false\n );\n }}\n isActive={\n selectedTags.indexOf(tag) !== -1\n }\n >\n {tag}\n </Tag>\n )}\n </TagWrapper>\n ))}\n </TagContainer>\n )}\n <News>\n {visibleNews.map((item, i) => (\n <NewsItem key={`${i}_news_${item.title}`}>\n <NewsCard\n hasBg={hasBg || isInverted}\n ref={cardRefs[i]}\n {...item}\n tags={item.tags?.map((tag) => ({\n name: tag.name,\n }))}\n isInverted={isInverted}\n onTagClick={(tag) => {\n // scroll back to top\n setNewPos(0);\n if (!onTagClick) {\n // if no callback is defined handle filtering on client side inside the component\n handleTagClick(\n { name: tag.name },\n false\n );\n } else {\n onTagClick({ name: tag.name }, true);\n }\n }}\n customTag={customTag}\n />\n </NewsItem>\n ))}\n </News>\n <div ref={targetRef} />\n {!observerSupported && (\n <ListFooter>\n {news && news.length > 0 && (\n <Copy\n type=\"copy\"\n size=\"medium\"\n isInverted={isInverted}\n >\n <ShowMore\n itemCount={news.length}\n onClick={(ev) => {\n ev.preventDefault();\n if (\n visibleRows <\n Math.ceil(\n filteredNews.length /\n itemsPerRow\n )\n ) {\n setVisibleRows((prev) => prev + 1);\n }\n }}\n >\n {visibleRows <\n filteredNews.length / itemsPerRow && (\n <Pointer.View\n as=\"button\"\n isInverted={isInverted}\n >\n <Pointer.Label>\n {showMoreText ||\n 'mehr anzeigen'}\n </Pointer.Label>\n </Pointer.View>\n )}\n </ShowMore>\n </Copy>\n )}\n </ListFooter>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsOverviewComponent = NewsOverview;\nexport default withLibTheme(NewsOverview);\n","import React from 'react';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport NewsCard, { NewsCardProps } from 'components/blocks/NewsCard';\nimport { useEffect, useState } from 'react';\nimport { useMediaQuery } from 'utils/useMediaQuery';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\nimport { LinkProps } from 'components/typography/Link';\nimport { getNewsFilterParams } from './NewsOverview';\n\ntype NewsFooterMq = 'small' | 'semilarge';\n\nexport type NewsItem = Omit<\n NewsCardProps,\n 'isInverted' | 'onTagClick' | 'customTag'\n>;\n\nconst NewsFooter: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of news item settings */\n news: NewsItem[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n }) => React.ReactNode;\n}> = ({ anchorId, news, bgMode, customTag }) => {\n const { colors, theme } = useLibTheme();\n const newsCount = news?.length || 0;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const mqs: NewsFooterMq[] = ['small', 'semilarge'];\n const currentMq = useMediaQuery(mqs) as NewsFooterMq | undefined;\n const [itemsPerRow, setItemsPerRow] = useState(2);\n const [visibleRows, setVisibleRows] = useState(1);\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: Math.min(visibleRows * itemsPerRow, newsCount),\n identifiers: [\n '[data-sheet=\"head\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 2,\n xlarge: 2,\n },\n });\n\n useEffect(() => {\n switch (currentMq) {\n case 'semilarge':\n setItemsPerRow(2);\n break;\n\n case 'small':\n setItemsPerRow(1);\n if (visibleRows < 3) setVisibleRows(3);\n break;\n\n default:\n setItemsPerRow(1);\n }\n }, [currentMq, visibleRows]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace clampWidth=\"small\">\n <Grid.Row>\n {news\n ?.filter((_, i) => i < visibleRows * itemsPerRow)\n .map((item, i) => (\n <Grid.Col\n medium={{ span: 6 / 12 }}\n key={`${i}_news_${item.title}`}\n >\n <NewsCard\n key={i}\n ref={cardRefs[i]}\n {...item}\n tags={item.tags?.map((tag) => {\n let tagHref: string | undefined =\n undefined;\n\n if (tag.name && tag.link?.href) {\n tagHref = getNewsFilterParams(\n tag.link.href,\n theme,\n [tag.name]\n );\n }\n\n return {\n name: tag.name,\n link: tag.link?.href\n ? {\n ...tag.link,\n href: tagHref,\n }\n : undefined,\n };\n })}\n isInverted={isInverted}\n customTag={customTag}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsFooterComponent = NewsFooter;\nexport default withLibTheme(NewsFooter);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport { getGlobals as global } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Grid from 'components/base/Grid';\n\nconst StyledImage = styled(Image)`\n width: 100%;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n picture > img {\n width: 100%;\n height: 100%;\n }\n`;\n\ntype ImageType = Omit<ImageProps, 'coverSpace'> & { isFull?: boolean };\n\nconst NewsImages: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** List of gallery images */\n images?: ImageType[];\n\n /** Image style */\n isFull?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, images, bgMode }) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n <Grid.Row>\n {images\n ?.filter((img) => img.small)\n ?.map((img, i) => (\n <Grid.Col\n key={i}\n semilarge={{\n span: img.isFull ? 12 / 12 : 6 / 12,\n }}\n >\n <StyledImage\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n {/* {images && (imageStyle === 'half' || images.length >= 2) ? (\n <Grid.Row>\n {images.map((img, i) => {\n return (\n <Grid.Col medium={{ span: 6 / 12 }} key={i}>\n <div>\n <StyledImage\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n </div>\n </Grid.Col>\n );\n })}\n </Grid.Row>\n ) : (\n images && (\n <div>\n {images.map((img, i) => {\n return (\n <StyledImage\n key={i}\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n );\n })}\n </div>\n )\n )} */}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsImagesComponent = NewsImages;\nexport default withLibTheme(NewsImages);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Title from 'components/blocks/Title';\nimport Copy from 'components/typography/Copy';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport { mq, spacings } from 'utils/styles';\nimport StatusFormatter from 'utils/statusFormatter';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { LinkProps } from 'components/typography/Link';\nimport { getNewsFilterParams } from './NewsOverview';\n\nconst Content = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst IntroHead = styled(Copy)`\n display: flex;\n\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-between;\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n @media ${mq.medium} {\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-top: 0;\n margin-left: ${spacings.nudge * 2}px;\n }\n }\n`;\n\nconst Tags = styled.div`\n flex: 1 1 80%;\n\n display: flex;\n flex-wrap: wrap;\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n`;\n\nconst TagWrapper = styled.span`\n display: inline-block;\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst MetaBlock = styled.div`\n flex: 1 0 auto;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-end;\n align-items: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n & > * + * {\n margin-left: ${spacings.nudge * 3}px;\n }\n`;\n\nconst StyledTitle = styled(Title)<{ clampTitle?: boolean }>`\n max-width: ${({ clampTitle }) =>\n clampTitle && (13 / 28) * spacings.wrapperSmall + 'px'};\n`;\n\nconst ContentBlock = styled(Copy)<{\n clampText?: boolean;\n isCentered?: boolean;\n}>`\n display: block;\n margin: ${({ isCentered }) => isCentered && '0 auto'};\n max-width: ${({ clampText }) =>\n clampText && (19 / 28) * spacings.wrapper + 'px'};\n\n :not(:first-child) {\n padding-top: ${spacings.spacer}px;\n }\n`;\n\nconst NewsIntro: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of news tags */\n tags?: TagProps[];\n\n /** News article's meta informations */\n meta?: { date?: Date; author?: string };\n\n /** Title of news article */\n title?: string;\n\n /** Main image of news article */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /** Text of news article (richtext) */\n text?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n }) => React.ReactNode;\n}> = ({ anchorId, tags, meta, title, text, image, bgMode, customTag }) => {\n const { globals, colors, theme } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n let publishedAt = '';\n if (meta?.date) {\n const formatter = new StatusFormatter(\n meta.date.getTime(),\n '',\n globals.sections.newsDateFormat(meta.date),\n globals.sections.newsTimeFormat(meta.date),\n globals.sections.newsLocaleKey\n );\n publishedAt = formatter.getFormattedDate();\n }\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n <Content>\n <IntroHead isInverted={isInverted}>\n <Tags>\n {tags?.map((tag, i) => {\n let tagLink: LinkProps | undefined = undefined;\n\n if (tag.name && tag.link?.href) {\n tagLink = {\n ...tag.link,\n href: getNewsFilterParams(\n tag.link.href,\n theme,\n [tag.name]\n ),\n };\n }\n\n return (\n <TagWrapper key={`headtag-${i}`}>\n {customTag ? (\n customTag({\n key: `headtag-${i}`,\n name: tag.name || '',\n isInverted: isInverted,\n isActive: false,\n link: tagLink,\n })\n ) : (\n <Tag\n link={tagLink}\n isInverted={isInverted}\n >\n {tag.name}\n </Tag>\n )}\n </TagWrapper>\n );\n })}\n </Tags>\n {(publishedAt || meta?.author) && (\n <MetaBlock>\n {meta?.author && <div>{meta?.author}</div>}\n {publishedAt && <div>{publishedAt}</div>}\n </MetaBlock>\n )}\n </IntroHead>\n <div>\n <StyledTitle\n colorMode={isInverted ? 'inverted' : 'default'}\n title={title}\n />\n {text && (\n <ContentBlock\n isInverted={isInverted}\n type=\"copy-b\"\n innerHTML={text}\n />\n )}\n </div>\n {image?.small && (\n <Image\n {...image}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n />\n )}\n </Content>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsIntroComponent = NewsIntro;\nexport default withLibTheme(NewsIntro);\n","import React, { useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\n\nimport NewsCard, { NewsCardProps } from 'components/blocks/NewsCard';\nimport { mq, spacings } from 'utils/styles';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { LinkProps } from 'components/typography/Link';\nimport { getNewsFilterParams } from './NewsOverview';\n\nconst News = styled.ul`\n list-style: none;\n margin: 0;\n margin-top: -${spacings.nudge * 6}px;\n margin-left: -${spacings.spacer}px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n`;\n\nconst NewsItem = styled.li`\n padding-top: ${spacings.nudge * 6}px;\n padding-left: ${spacings.spacer}px;\n flex: 1 0 100%;\n max-width: 100%;\n\n @media ${mq.medium} {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media ${mq.large} {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\n`;\n\nexport type NewsItem = Omit<\n NewsCardProps,\n 'isInverted' | 'onTagClick' | 'customTag'\n>;\n\nconst NewsList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Show a short version of three or a expanded version of six news items */\n mode?: 'short' | 'expanded';\n\n /** Array of news card settings */\n news?: NewsItem[];\n\n /** Sections background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n }) => React.ReactNode;\n}> = ({ anchorId, mode = 'short', news, bgMode, customTag }) => {\n const { colors, theme } = useLibTheme();\n\n const items = useMemo<NewsCardProps[]>(() => {\n if (!news) return [];\n if (mode === 'expanded') return news.slice(0, 6);\n else return news.slice(0, 3);\n }, [news, mode]);\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: items.length,\n identifiers: [\n '[data-sheet=\"head\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 2,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <News>\n {items?.map((item, i) => (\n <NewsItem key={i}>\n <NewsCard\n key={i}\n ref={cardRefs[i]}\n {...item}\n isInverted={isInverted}\n tags={item.tags?.map((tag) => {\n let tagHref: string | undefined = undefined;\n\n if (tag.name && tag.link?.href) {\n tagHref = getNewsFilterParams(\n tag.link.href,\n theme,\n [tag.name]\n );\n }\n\n return {\n name: tag.name,\n link: tag.link?.href\n ? {\n ...tag.link,\n href: tagHref,\n }\n : undefined,\n };\n })}\n customTag={customTag}\n />\n </NewsItem>\n ))}\n </News>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsListComponent = NewsList;\nexport default withLibTheme(NewsList);\n","import React from 'react';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport TableBlock, { TableProps } from 'components/blocks/TableBlock';\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\n\nconst NewsTableSection = styled(Section)`\n overflow: unset;\n`;\n\nconst TableWrapper = styled(Wrapper)`\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst NewsTable: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Table rows and columns */\n tableItems: TableProps[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, bgMode, tableItems }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full' || isInverted;\n\n return (\n <NewsTableSection\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <TableWrapper clampWidth=\"small\">\n {tableItems.map((item, i) => {\n return (\n <TableBlock\n {...item}\n key={i}\n hasBack={hasBg}\n isInverted={isInverted}\n />\n );\n })}\n </TableWrapper>\n </NewsTableSection>\n );\n};\n\nexport const NewsTableComponent = NewsTable;\nexport default withLibTheme(NewsTable);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Copy from 'components/typography/Copy';\nimport Wrapper from 'components/base/Wrapper';\nimport { spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst ContentBlock = styled(Copy)<{\n clampText?: boolean;\n isCentered?: boolean;\n}>`\n display: block;\n margin: ${({ isCentered }) => isCentered && '0 auto'};\n max-width: ${({ clampText }) =>\n clampText && (19 / 28) * spacings.wrapperSmall + 'px'};\n\n :not(:first-child) {\n padding-top: ${spacings.nudge * 5}px;\n }\n`;\n\nconst NewsText: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Main text (RichText) */\n text: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, text, bgMode }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n {text && (\n <ContentBlock\n isInverted={isInverted}\n type=\"copy\"\n innerHTML={text}\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsTextComponent = NewsText;\nexport default withLibTheme(NewsText);\n","import React from 'react';\n\nimport { ImageProps } from 'components/blocks/Image';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Wrapper from 'components/base/Wrapper';\nimport VideoCard from 'components/blocks/VideoCard';\n\nconst NewsVideo: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Placeholder image */\n bgImage?: ImageProps;\n\n /** Embed video ID. E.g. from Youtube */\n embedId?: string;\n\n /** Custom play icon */\n playIcon?: React.ReactNode;\n\n /** Text for cookie consent overlay */\n consentText?: string;\n\n /** Function to inject custom action on cookie consent overlay */\n consentAction?: (props: {\n handleClick?: () => void;\n consentProps: Record<string, string>;\n }) => React.ReactNode;\n /**\n * Custom handler for play button click\n * @returns true if video should be played\n */\n onPlayClick?: () => Promise<boolean>;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({\n anchorId,\n bgImage,\n embedId,\n playIcon,\n consentText,\n consentAction,\n onPlayClick,\n bgMode,\n}) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace clampWidth=\"small\">\n {embedId && bgImage && (\n <VideoCard\n bgImage={bgImage}\n embedId={embedId}\n playIcon={playIcon}\n consentText={consentText}\n consentAction={consentAction}\n onPlayClick={onPlayClick}\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsVideoComponent = NewsVideo;\nexport default withLibTheme(NewsVideo);\n"],"names":["Seperator","styled","div","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","label","author","avatar","bgMode","colors","useLibTheme","hasBg","React","Section","addSeperation","bgColor","sectionBg","mapToBgMode","createElement","Wrapper","clampWidth","addWhitespace","Fragment","src","alt","type","Heading","size","withLibTheme","View","ImageLink","Link","StyledImage","Image","global","sections","edgeRadius","BorderPlaceholder","getColors","TitleLink","copyStyle","font","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","formatter","StatusFormatter","getTime","newsDateFormat","newsTimeFormat","newsLocaleKey","getFormattedDate","handleTagClick","tag","ev","preventDefault","undefined","filteredTags","useMemo","filter","name","small","__assign","ariaLabel","coverSpace","isValidArray","map","i","key","isActive","clickHandler","Tag","onClick","renderAs","dataSheet","innerHTML","displayName","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","anchorId","news","initial","showMoreText","_b","_c","useState","activeTags","selectedTags","setSelectedTags","mqs","currentMq","useMediaQuery","_d","itemsPerRow","setItemsPerRow","_e","visibleRows","setVisibleRows","isMounted","useMounted","targetRef","useRef","observerSupported","useObserverSupport","newsCount","length","setNewPos","useScrollTo","_f","useEqualSheetHeight","listLength","Math","min","identifiers","responsive","semilarge","xlarge","cardRefs","sheetRefs","triggerCalculation","getFilters","useCallback","filters","getUrlParams","tagsFilter","split","push","apply","useEffect","paramTags","paramRows","parseInt","setUrlParam","deleteUrlParam","useUpdateEffect","enableToggling","prev","prevCopy","__spreadArray","itemIndex","indexOf","splice","filteredNews","tagFilterFn","item","hasTags","filtered","visibleNews","_","element","current","observer","options","rootMargin","threshold","IntersectionObserver","entries","entry","isIntersecting","ceil","observe","disconnect","Filter","Pointer","as","Label","NewsFooter","Grid","Row","Col","tagHref","href","NewsImages","images","isFull","Content","IntroHead","MetaBlock","StyledTitle","Title","clampTitle","wrapperSmall","ContentBlock","isCentered","clampText","wrapper","NewsIntro","meta","date","tagLink","colorMode","allowEdgeRadius","NewsList","mode","items","slice","NewsTableSection","TableWrapper","NewsTable","tableItems","TableBlock","hasBack","NewsText","NewsVideo","bgImage","embedId","playIcon","consentText","consentAction","onPlayClick","VideoCard"],"mappings":"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"}
1
+ {"version":3,"file":"sections.news.js","sources":["../src/components/sections/news/NewsAuthorCard.tsx","../src/components/blocks/NewsCard.tsx","../src/components/sections/news/NewsOverview.tsx","../src/components/sections/news/NewsFooter.tsx","../src/components/sections/news/NewsImages.tsx","../src/components/sections/news/NewsIntro.tsx","../src/components/sections/news/NewsList.tsx","../src/components/sections/news/NewsTable.tsx","../src/components/sections/news/NewsText.tsx","../src/components/sections/news/NewsVideo.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst Seperator = styled.div<{ isInverted?: boolean; isTop?: boolean }>`\n border-bottom: solid 1px\n ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n\n margin-top: ${({ isTop }) => !isTop && spacings.spacer}px;\n margin-bottom: ${({ isTop }) => isTop && spacings.spacer}px;\n`;\n\nconst AuthorContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n flex-direction: row;\n justify-content: flex-start;\n text-align: left;\n\n & > * + * {\n margin-top: 0;\n margin-left: ${spacings.spacer}px;\n }\n }\n`;\n\nconst Avatar = styled.img`\n border-radius: 50%; ;\n`;\n\nconst Author = styled.div``;\n\nconst StyledCopy = styled(Copy)`\n text-transform: uppercase;\n margin-bottom: ${spacings.nudge * 3}px;\n`;\n\nconst NewsAuthorCard: React.FC<{\n /** Text above author name */\n label?: string;\n\n /** Article's author name */\n author?: string;\n\n /** Author avatar image */\n avatar?: { src: string; alt?: string };\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ label, author, avatar, bgMode }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n {author && (\n <React.Fragment>\n <Seperator isTop isInverted={isInverted} />\n <AuthorContainer>\n {avatar && (\n <Avatar src={avatar.src} alt={avatar.alt} />\n )}\n <Author>\n {author && (\n <StyledCopy\n isInverted={isInverted}\n type=\"copy-b\"\n >\n {label || 'Written By'}\n </StyledCopy>\n )}\n <Heading\n isInverted={isInverted}\n size=\"heading-2\"\n >\n {author}\n </Heading>\n </Author>\n </AuthorContainer>\n </React.Fragment>\n )}\n <Seperator isInverted={isInverted} />\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsAuthorCardComponent = NewsAuthorCard;\nexport default withLibTheme(NewsAuthorCard);\n","import React, { forwardRef, useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport {\n spacings,\n getGlobals as global,\n getFonts as font,\n getColors,\n} from 'utils/styles';\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport StatusFormatter from 'utils/statusFormatter';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport { isValidArray } from 'utils/arrays';\n\nconst View = styled.div`\n position: relative;\n text-decoration: none;\n margin: 0;\n padding: 0;\n`;\n\nconst ImageLink = styled(Link)`\n display: block;\n width: 100%;\n`;\n\nconst StyledImage = styled(Image)`\n overflow: hidden;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n`;\n\nconst BorderPlaceholder = styled.div<{ hasBg?: boolean }>`\n border-top: 1px solid\n ${({ theme, hasBg }) =>\n hasBg\n ? getColors(theme).elementBg.light\n : getColors(theme).elementBg.medium};\n`;\n\nconst TitleLink = styled(Link)`\n display: inline-block;\n ${copyStyle('copy-b', 'big')}\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme)['copy-b'].big.colorInverted\n : font(theme)['copy-b'].big.color};\n text-decoration: none;\n`;\n\nconst Head = styled.div`\n display: flex;\n\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n &:not(:last-child) {\n margin-bottom: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Tags = styled.div`\n display: flex;\n overflow: scroll;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n width: 0;\n height: 0;\n display: none;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst PublishDate = styled(Copy)`\n &:only-child {\n margin-left: auto;\n }\n`;\n\nconst Main = styled.div`\n max-width: 95%;\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Text = styled(Copy)`\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 6; /* number of lines to show */\n line-clamp: 6;\n -webkit-box-orient: vertical;\n\n & > * {\n margin: 0 !important;\n }\n\n & > p:not(:first-of-type) {\n display: none;\n }\n\n & > ul,\n & > ol,\n & > table {\n display: none;\n }\n`;\n\nconst Action = styled.div`\n margin-top: ${spacings.nudge * 3}px;\n`;\n\nexport interface NewsCardProps {\n /** Invert text and background for use on dark sections */\n isInverted?: boolean;\n\n /** News tag name */\n tags?: TagProps[];\n\n /** News publish date */\n publishDate?: Date;\n\n /** News title */\n title?: string;\n\n /** News text */\n text?: string;\n\n /** News image settings */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /** News link settings */\n link?: LinkProps;\n\n /** Callback function if tag in news iten has been clicked */\n onTagClick?: (tag: TagProps) => void;\n\n /** Function to inject primary action */\n action?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n clickHandler?: (ev?: React.SyntheticEvent<HTMLAnchorElement>) => void;\n }) => React.ReactNode;\n\n hasBg?: boolean;\n}\n\nconst NewsCard = forwardRef<\n HTMLDivElement,\n NewsCardProps & {\n className?: string;\n }\n>(\n (\n {\n tags,\n onTagClick,\n publishDate,\n title,\n text,\n image,\n link,\n isInverted,\n action,\n customTag,\n className,\n hasBg,\n },\n ref\n ) => {\n const { globals } = useLibTheme();\n\n let publishedAt = '';\n if (publishDate) {\n const formatter = new StatusFormatter(\n publishDate.getTime(),\n '',\n globals.sections.newsDateFormat(publishDate),\n globals.sections.newsTimeFormat(publishDate),\n globals.sections.newsLocaleKey\n );\n publishedAt = formatter.getFormattedDate();\n }\n\n const handleTagClick = (tag: TagProps) =>\n onTagClick\n ? (ev?: React.SyntheticEvent<HTMLAnchorElement>) => {\n ev?.preventDefault();\n onTagClick(tag);\n }\n : undefined;\n\n const filteredTags = useMemo(() => {\n return tags?.filter((tag) => tag.name);\n }, [tags]);\n\n return (\n <View ref={ref} className={className}>\n {image?.small ? (\n <ImageLink {...link} ariaLabel={title}>\n <StyledImage\n {...image}\n coverSpace\n isInverted={isInverted}\n />\n </ImageLink>\n ) : (\n <BorderPlaceholder hasBg={hasBg} />\n )}\n <Head data-sheet=\"head\">\n {isValidArray(filteredTags, false) && (\n <Tags>\n {filteredTags.map((tag, i) => {\n if (customTag) {\n return customTag({\n key: i,\n name: tag.name || '',\n isInverted: isInverted,\n isActive: false,\n link: tag.link,\n clickHandler: handleTagClick(tag),\n });\n } else {\n return (\n <Tag\n key={i}\n isInverted={isInverted}\n name={tag.name}\n link={tag.link}\n onClick={handleTagClick(tag)}\n />\n );\n }\n })}\n </Tags>\n )}\n {publishedAt && (\n <PublishDate\n size=\"small\"\n renderAs=\"div\"\n isInverted={isInverted}\n >\n {publishedAt}\n </PublishDate>\n )}\n </Head>\n <Main>\n {title && (\n <TitleLink\n {...link}\n ariaLabel={title}\n isInverted={isInverted}\n dataSheet=\"title\"\n >\n {title}\n </TitleLink>\n )}\n {text && (\n <Text\n isInverted={isInverted}\n type=\"copy\"\n innerHTML={text}\n data-sheet=\"text\"\n size=\"medium\"\n />\n )}\n </Main>\n {action && <Action>{action(isInverted)}</Action>}\n </View>\n );\n }\n);\n\nNewsCard.displayName = 'NewsCard';\n\nexport default NewsCard;\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\n\nimport NewsCard, { NewsCardProps } from 'components/blocks/NewsCard';\nimport { mq, spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport { useMediaQuery } from 'utils/useMediaQuery';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport Copy from 'components/typography/Copy';\nimport { useScrollTo } from 'utils/useScrollTo';\nimport Pointer from 'components/buttons/Pointer';\nimport { isValidArray } from 'utils/arrays';\nimport { deleteUrlParam, getUrlParams, setUrlParam } from 'utils/urlParams';\nimport Filter from 'components/base/icons/Filter';\nimport useUpdateEffect from 'utils/useUpdateEffect';\nimport useMounted from 'utils/useMounted';\n\nconst TagContainer = styled.div`\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n &:not(:only-child) {\n margin-bottom: ${spacings.nudge * 6}px;\n }\n`;\n\nconst TagWrapper = styled.div`\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst News = styled.ul`\n list-style: none;\n margin: 0;\n margin-top: -${spacings.nudge * 6}px;\n margin-left: -${spacings.spacer}px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n`;\n\nconst NewsItem = styled.li`\n padding-top: ${spacings.nudge * 6}px;\n padding-left: ${spacings.spacer}px;\n flex: 1 0 100%;\n\n @media ${mq.medium} {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media ${mq.large} {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\n`;\n\nconst ListFooter = styled.div`\n margin-top: ${spacings.nudge * 6}px;\n text-align: center;\n\n @media ${mq.medium} {\n text-align: left;\n }\n`;\n\nconst ShowMore = styled.span<{ itemCount?: number }>`\n display: ${({ itemCount }) =>\n itemCount && itemCount > 2 ? 'block' : 'none'};\n`;\n\nconst FilterIcon = styled(Copy)`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: ${spacings.nudge / 2}px ${spacings.nudge}px 0 0;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nexport const getNewsFilterParams = (\n url: string,\n theme: DefaultTheme,\n tags: string[] = []\n) => {\n if (!url) return '';\n if (!isValidArray(tags, false)) return url;\n\n const filterName = theme.globals.sections.newsFilterName;\n if (!filterName) return url;\n\n try {\n const validUrl = new URL(url);\n const newParams = new URLSearchParams(validUrl.search);\n newParams.set(filterName, encodeURIComponent(tags.join(',')));\n\n return `${url}?${newParams.toString()}`;\n } catch (err) {\n return `${url}?${filterName}=${encodeURIComponent(tags.join(','))}`;\n }\n};\n\ntype NewsOverviewMq = 'small' | 'semilarge' | 'large';\n\nexport type NewsItem = Omit<\n NewsCardProps,\n 'customTag' | 'isInverted' | 'onTagClick'\n>;\n\nconst NewsOverview: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of news item settings */\n news?: NewsItem[];\n\n /** Tags for news filtering */\n tags?: string[];\n\n /** Initial data. If not defined the component tries to collect this from URL params */\n initial?: {\n activeTags?: string[];\n visibleRows?: number;\n };\n\n /** Text for load more toggle. Only visible if browser doesn't support IntersectionObserver. */\n showMoreText?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /**\n * Callback function to handle tag click outside of component\n * If no callback is defined filtering is controlled on client\n * */\n onTagClick?: (tag: TagProps, insideList?: boolean) => void;\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n clickHandler?: (ev?: React.SyntheticEvent<HTMLElement>) => void;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n news,\n tags,\n initial,\n showMoreText,\n bgMode,\n\n onTagClick,\n customTag,\n}) => {\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.newsFilterName;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const [selectedTags, setSelectedTags] = useState<string[]>(\n initial?.activeTags || []\n );\n\n const mqs: NewsOverviewMq[] = ['small', 'semilarge', 'large'];\n const currentMq = useMediaQuery(mqs) as NewsOverviewMq | undefined;\n const [itemsPerRow, setItemsPerRow] = useState(3);\n const [visibleRows, setVisibleRows] = useState(initial?.visibleRows || 3);\n const isMounted = useMounted();\n\n const targetRef = useRef<HTMLDivElement>(null);\n const observerSupported = useObserverSupport();\n\n const newsCount = news?.length || 0;\n\n const setNewPos = useScrollTo(800);\n const { sheetRefs: cardRefs, triggerCalculation } =\n useEqualSheetHeight<HTMLDivElement>({\n listLength: Math.min(visibleRows * itemsPerRow, newsCount),\n identifiers: [\n '[data-sheet=\"head\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n },\n });\n\n const getFilters = useCallback(() => {\n const tags: string[] = [];\n\n const filters = getUrlParams()[filterName];\n if (filters) {\n const tagsFilter = filters?.split(',');\n if (isValidArray(tagsFilter, false)) {\n tags.push(...tagsFilter);\n }\n }\n return tags;\n }, [filterName]);\n\n useEffect(() => {\n // if initial data is defined exit hook\n if (initial) return;\n\n // if no initial data provied try to find needed params in URL\n const paramTags = getFilters();\n const paramRows = parseInt(getUrlParams()['rows']);\n\n setVisibleRows(paramRows || 3);\n\n if (isValidArray(paramTags, false)) {\n setSelectedTags(paramTags);\n }\n\n // trigger equal sheet height recalculation\n triggerCalculation();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [getFilters, initial]);\n\n useEffect(() => {\n if (!initial || isMounted) return;\n\n // set inital data into URL\n setUrlParam('rows', initial?.visibleRows || 3);\n\n if (isValidArray(initial?.activeTags, false)) {\n setUrlParam(filterName, initial?.activeTags?.join(','));\n } else {\n deleteUrlParam(filterName);\n }\n }, [filterName, initial, isMounted]);\n\n useUpdateEffect(() => {\n setUrlParam('rows', visibleRows);\n }, [visibleRows]);\n\n useUpdateEffect(() => {\n if (onTagClick || !isValidArray(selectedTags)) return;\n\n // set filters to URL params\n if (selectedTags.length > 0) {\n setUrlParam(filterName, selectedTags.join(','));\n } else {\n deleteUrlParam(filterName);\n }\n }, [selectedTags]);\n\n useEffect(() => {\n switch (currentMq) {\n case 'large':\n setItemsPerRow(3);\n break;\n\n case 'semilarge':\n setItemsPerRow(2);\n break;\n\n case 'small':\n setItemsPerRow(1);\n if (visibleRows < 3) setVisibleRows(3);\n break;\n\n default:\n setItemsPerRow(1);\n }\n }, [currentMq, visibleRows]);\n\n const handleTagClick = (tag: TagProps, enableToggling = true) => {\n setSelectedTags((prev) => {\n const prevCopy = [...prev];\n const itemIndex = tag.name ? prev.indexOf(tag.name) : -1;\n\n if (itemIndex === -1 && tag.name) {\n return [...prevCopy, tag.name];\n }\n if (enableToggling) {\n prevCopy.splice(itemIndex, 1);\n return prevCopy;\n }\n return prev;\n });\n // trigger equal sheet height recalculation\n triggerCalculation();\n setVisibleRows(3);\n };\n\n const filteredNews = useMemo(() => {\n const tagFilterFn = (item: NewsItem) => {\n if (!isValidArray(selectedTags, false)) return true;\n if (!item.tags) return false;\n\n let hasTags = false;\n for (let i = 0; i < item.tags.length; i++) {\n if (selectedTags.indexOf(item.tags[i].name || '') !== -1) {\n hasTags = true;\n break;\n }\n }\n return hasTags;\n };\n\n let filtered = isValidArray(news) ? [...news] : [];\n\n // adding filter\n filtered = filtered?.filter(tagFilterFn);\n\n return filtered;\n }, [news, selectedTags]);\n\n const visibleNews: NewsItem[] = useMemo(() => {\n return (\n filteredNews?.filter((_, i) => i < visibleRows * itemsPerRow) || []\n );\n }, [filteredNews, itemsPerRow, visibleRows]);\n\n useEffect(() => {\n // cancel if intersection observers are not supported\n if (!observerSupported) return;\n\n const element = targetRef.current;\n let observer: IntersectionObserver;\n\n if (element) {\n const options = {\n rootMargin: '0px 0px 100px 0px',\n threshold: 0,\n };\n\n observer = new IntersectionObserver((entries) => {\n const entry = entries[0];\n if (entry?.isIntersecting) {\n // on bottom of the wrapper load more news\n if (\n visibleRows <\n Math.ceil(filteredNews.length / itemsPerRow)\n ) {\n setVisibleRows((prev) => prev + 1);\n }\n }\n }, options);\n observer.observe(element);\n }\n\n return () => {\n if (observer) observer.disconnect();\n };\n }, [\n itemsPerRow,\n newsCount,\n visibleRows,\n observerSupported,\n filteredNews.length,\n ]);\n\n const filteredTags = useMemo(() => {\n return tags?.filter((tag) => tag);\n }, [tags]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {isValidArray(filteredTags, false) && (\n <TagContainer>\n <FilterIcon\n size=\"small\"\n type=\"copy\"\n isInverted={isInverted}\n >\n <Filter />\n <span>Filter</span>\n </FilterIcon>\n {filteredTags.map((tag, i) => (\n <TagWrapper key={i}>\n {customTag ? (\n customTag({\n key: i,\n name: tag,\n isInverted: isInverted,\n isActive:\n selectedTags.indexOf(tag) !== -1,\n clickHandler: (ev) => {\n ev?.preventDefault();\n if (!onTagClick) {\n handleTagClick({ name: tag });\n } else onTagClick({ name: tag });\n },\n })\n ) : (\n <Tag\n isInverted={isInverted}\n onClick={(ev) => {\n ev?.preventDefault();\n if (!onTagClick) {\n handleTagClick({ name: tag });\n } else\n onTagClick(\n { name: tag },\n false\n );\n }}\n isActive={\n selectedTags.indexOf(tag) !== -1\n }\n >\n {tag}\n </Tag>\n )}\n </TagWrapper>\n ))}\n </TagContainer>\n )}\n <News>\n {visibleNews.map((item, i) => (\n <NewsItem key={`${i}_news_${item.title}`}>\n <NewsCard\n hasBg={hasBg || isInverted}\n ref={cardRefs[i]}\n {...item}\n tags={item.tags?.map((tag) => ({\n name: tag.name,\n }))}\n isInverted={isInverted}\n onTagClick={(tag) => {\n // scroll back to top\n setNewPos(0);\n if (!onTagClick) {\n // if no callback is defined handle filtering on client side inside the component\n handleTagClick(\n { name: tag.name },\n false\n );\n } else {\n onTagClick({ name: tag.name }, true);\n }\n }}\n customTag={customTag}\n />\n </NewsItem>\n ))}\n </News>\n <div ref={targetRef} />\n {!observerSupported && (\n <ListFooter>\n {news && news.length > 0 && (\n <Copy\n type=\"copy\"\n size=\"medium\"\n isInverted={isInverted}\n >\n <ShowMore\n itemCount={news.length}\n onClick={(ev) => {\n ev.preventDefault();\n if (\n visibleRows <\n Math.ceil(\n filteredNews.length /\n itemsPerRow\n )\n ) {\n setVisibleRows((prev) => prev + 1);\n }\n }}\n >\n {visibleRows <\n filteredNews.length / itemsPerRow && (\n <Pointer.View\n as=\"button\"\n isInverted={isInverted}\n >\n <Pointer.Label>\n {showMoreText ||\n 'mehr anzeigen'}\n </Pointer.Label>\n </Pointer.View>\n )}\n </ShowMore>\n </Copy>\n )}\n </ListFooter>\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsOverviewComponent = NewsOverview;\nexport default withLibTheme(NewsOverview);\n","import React from 'react';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport NewsCard, { NewsCardProps } from 'components/blocks/NewsCard';\nimport { useEffect, useState } from 'react';\nimport { useMediaQuery } from 'utils/useMediaQuery';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\nimport { LinkProps } from 'components/typography/Link';\nimport { getNewsFilterParams } from './NewsOverview';\n\ntype NewsFooterMq = 'small' | 'semilarge';\n\nexport type NewsItem = Omit<\n NewsCardProps,\n 'isInverted' | 'onTagClick' | 'customTag'\n>;\n\nconst NewsFooter: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of news item settings */\n news: NewsItem[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n }) => React.ReactNode;\n}> = ({ anchorId, news, bgMode, customTag }) => {\n const { colors, theme } = useLibTheme();\n const newsCount = news?.length || 0;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const mqs: NewsFooterMq[] = ['small', 'semilarge'];\n const currentMq = useMediaQuery(mqs) as NewsFooterMq | undefined;\n const [itemsPerRow, setItemsPerRow] = useState(2);\n const [visibleRows, setVisibleRows] = useState(1);\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: Math.min(visibleRows * itemsPerRow, newsCount),\n identifiers: [\n '[data-sheet=\"head\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 2,\n xlarge: 2,\n },\n });\n\n useEffect(() => {\n switch (currentMq) {\n case 'semilarge':\n setItemsPerRow(2);\n break;\n\n case 'small':\n setItemsPerRow(1);\n if (visibleRows < 3) setVisibleRows(3);\n break;\n\n default:\n setItemsPerRow(1);\n }\n }, [currentMq, visibleRows]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace clampWidth=\"small\">\n <Grid.Row>\n {news\n ?.filter((_, i) => i < visibleRows * itemsPerRow)\n .map((item, i) => (\n <Grid.Col\n medium={{ span: 6 / 12 }}\n key={`${i}_news_${item.title}`}\n >\n <NewsCard\n key={i}\n ref={cardRefs[i]}\n {...item}\n tags={item.tags?.map((tag) => {\n let tagHref: string | undefined =\n undefined;\n\n if (tag.name && tag.link?.href) {\n tagHref = getNewsFilterParams(\n tag.link.href,\n theme,\n [tag.name]\n );\n }\n\n return {\n name: tag.name,\n link: tag.link?.href\n ? {\n ...tag.link,\n href: tagHref,\n }\n : undefined,\n };\n })}\n isInverted={isInverted}\n customTag={customTag}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsFooterComponent = NewsFooter;\nexport default withLibTheme(NewsFooter);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport { getGlobals as global } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Grid from 'components/base/Grid';\n\nconst StyledImage = styled(Image)`\n width: 100%;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n picture > img {\n width: 100%;\n height: 100%;\n }\n`;\n\ntype ImageType = Omit<ImageProps, 'coverSpace'> & { isFull?: boolean };\n\nconst NewsImages: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** List of gallery images */\n images?: ImageType[];\n\n /** Image style */\n isFull?: boolean;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, images, bgMode }) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n <Grid.Row>\n {images\n ?.filter((img) => img.small)\n ?.map((img, i) => (\n <Grid.Col\n key={i}\n semilarge={{\n span: img.isFull ? 12 / 12 : 6 / 12,\n }}\n >\n <StyledImage\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n </Grid.Col>\n ))}\n </Grid.Row>\n {/* {images && (imageStyle === 'half' || images.length >= 2) ? (\n <Grid.Row>\n {images.map((img, i) => {\n return (\n <Grid.Col medium={{ span: 6 / 12 }} key={i}>\n <div>\n <StyledImage\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n </div>\n </Grid.Col>\n );\n })}\n </Grid.Row>\n ) : (\n images && (\n <div>\n {images.map((img, i) => {\n return (\n <StyledImage\n key={i}\n {...img}\n coverSpace\n isInverted={isInverted}\n />\n );\n })}\n </div>\n )\n )} */}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsImagesComponent = NewsImages;\nexport default withLibTheme(NewsImages);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Title from 'components/blocks/Title';\nimport Copy from 'components/typography/Copy';\nimport Tag, { TagProps } from 'components/blocks/Tag';\nimport { mq, spacings } from 'utils/styles';\nimport StatusFormatter from 'utils/statusFormatter';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { LinkProps } from 'components/typography/Link';\nimport { getNewsFilterParams } from './NewsOverview';\n\nconst Content = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst IntroHead = styled(Copy)`\n display: flex;\n\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-between;\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n @media ${mq.medium} {\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-top: 0;\n margin-left: ${spacings.nudge * 2}px;\n }\n }\n`;\n\nconst Tags = styled.div`\n flex: 1 1 80%;\n\n display: flex;\n flex-wrap: wrap;\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n`;\n\nconst TagWrapper = styled.span`\n display: inline-block;\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst MetaBlock = styled.div`\n flex: 1 0 auto;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-end;\n align-items: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n & > * + * {\n margin-left: ${spacings.nudge * 3}px;\n }\n`;\n\nconst StyledTitle = styled(Title)<{ clampTitle?: boolean }>`\n max-width: ${({ clampTitle }) =>\n clampTitle && (13 / 28) * spacings.wrapperSmall + 'px'};\n`;\n\nconst ContentBlock = styled(Copy)<{\n clampText?: boolean;\n isCentered?: boolean;\n}>`\n display: block;\n margin: ${({ isCentered }) => isCentered && '0 auto'};\n max-width: ${({ clampText }) =>\n clampText && (19 / 28) * spacings.wrapper + 'px'};\n\n :not(:first-child) {\n padding-top: ${spacings.spacer}px;\n }\n`;\n\nconst NewsIntro: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of news tags */\n tags?: TagProps[];\n\n /** News article's meta informations */\n meta?: { date?: Date; author?: string };\n\n /** Title of news article */\n title?: string;\n\n /** Main image of news article */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /** Text of news article (richtext) */\n text?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n }) => React.ReactNode;\n}> = ({ anchorId, tags, meta, title, text, image, bgMode, customTag }) => {\n const { globals, colors, theme } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n let publishedAt = '';\n if (meta?.date) {\n const formatter = new StatusFormatter(\n meta.date.getTime(),\n '',\n globals.sections.newsDateFormat(meta.date),\n globals.sections.newsTimeFormat(meta.date),\n globals.sections.newsLocaleKey\n );\n publishedAt = formatter.getFormattedDate();\n }\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n <Content>\n <IntroHead isInverted={isInverted}>\n <Tags>\n {tags?.map((tag, i) => {\n let tagLink: LinkProps | undefined = undefined;\n\n if (tag.name && tag.link?.href) {\n tagLink = {\n ...tag.link,\n href: getNewsFilterParams(\n tag.link.href,\n theme,\n [tag.name]\n ),\n };\n }\n\n return (\n <TagWrapper key={`headtag-${i}`}>\n {customTag ? (\n customTag({\n key: `headtag-${i}`,\n name: tag.name || '',\n isInverted: isInverted,\n isActive: false,\n link: tagLink,\n })\n ) : (\n <Tag\n link={tagLink}\n isInverted={isInverted}\n >\n {tag.name}\n </Tag>\n )}\n </TagWrapper>\n );\n })}\n </Tags>\n {(publishedAt || meta?.author) && (\n <MetaBlock>\n {meta?.author && <div>{meta?.author}</div>}\n {publishedAt && <div>{publishedAt}</div>}\n </MetaBlock>\n )}\n </IntroHead>\n <div>\n <StyledTitle\n colorMode={isInverted ? 'inverted' : 'default'}\n title={title}\n />\n {text && (\n <ContentBlock\n isInverted={isInverted}\n type=\"copy-b\"\n innerHTML={text}\n />\n )}\n </div>\n {image?.small && (\n <Image\n {...image}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n />\n )}\n </Content>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsIntroComponent = NewsIntro;\nexport default withLibTheme(NewsIntro);\n","import React, { useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\n\nimport NewsCard, { NewsCardProps } from 'components/blocks/NewsCard';\nimport { mq, spacings } from 'utils/styles';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { LinkProps } from 'components/typography/Link';\nimport { getNewsFilterParams } from './NewsOverview';\n\nconst News = styled.ul`\n list-style: none;\n margin: 0;\n margin-top: -${spacings.nudge * 6}px;\n margin-left: -${spacings.spacer}px;\n padding: 0;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n\n flex-wrap: wrap;\n`;\n\nconst NewsItem = styled.li`\n padding-top: ${spacings.nudge * 6}px;\n padding-left: ${spacings.spacer}px;\n flex: 1 0 100%;\n max-width: 100%;\n\n @media ${mq.medium} {\n flex: 1 0 50%;\n max-width: 50%;\n }\n\n @media ${mq.large} {\n flex: 1 0 33.33%;\n max-width: 33.33%;\n }\n`;\n\nexport type NewsItem = Omit<\n NewsCardProps,\n 'isInverted' | 'onTagClick' | 'customTag'\n>;\n\nconst NewsList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Show a short version of three or a expanded version of six news items */\n mode?: 'short' | 'expanded';\n\n /** Array of news card settings */\n news?: NewsItem[];\n\n /** Sections background */\n bgMode?: 'full' | 'inverted';\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link?: LinkProps;\n }) => React.ReactNode;\n}> = ({ anchorId, mode = 'short', news, bgMode, customTag }) => {\n const { colors, theme } = useLibTheme();\n\n const items = useMemo<NewsCardProps[]>(() => {\n if (!news) return [];\n if (mode === 'expanded') return news.slice(0, 6);\n else return news.slice(0, 3);\n }, [news, mode]);\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: items.length,\n identifiers: [\n '[data-sheet=\"head\"]',\n '[data-sheet=\"title\"]',\n '[data-sheet=\"text\"]',\n ],\n responsive: {\n small: 1,\n medium: 2,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n },\n });\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n <News>\n {items?.map((item, i) => (\n <NewsItem key={i}>\n <NewsCard\n key={i}\n ref={cardRefs[i]}\n {...item}\n isInverted={isInverted}\n tags={item.tags?.map((tag) => {\n let tagHref: string | undefined = undefined;\n\n if (tag.name && tag.link?.href) {\n tagHref = getNewsFilterParams(\n tag.link.href,\n theme,\n [tag.name]\n );\n }\n\n return {\n name: tag.name,\n link: tag.link?.href\n ? {\n ...tag.link,\n href: tagHref,\n }\n : undefined,\n };\n })}\n customTag={customTag}\n />\n </NewsItem>\n ))}\n </News>\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsListComponent = NewsList;\nexport default withLibTheme(NewsList);\n","import React from 'react';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport TableBlock, { TableProps } from 'components/blocks/TableBlock';\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\n\nconst NewsTableSection = styled(Section)`\n overflow: unset;\n`;\n\nconst TableWrapper = styled(Wrapper)`\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst NewsTable: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Table rows and columns */\n tableItems: TableProps[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, bgMode, tableItems }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full' || isInverted;\n\n return (\n <NewsTableSection\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <TableWrapper clampWidth=\"small\">\n {tableItems.map((item, i) => {\n return (\n <TableBlock\n {...item}\n key={i}\n hasBack={hasBg}\n isInverted={isInverted}\n />\n );\n })}\n </TableWrapper>\n </NewsTableSection>\n );\n};\n\nexport const NewsTableComponent = NewsTable;\nexport default withLibTheme(NewsTable);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Copy from 'components/typography/Copy';\nimport Wrapper from 'components/base/Wrapper';\nimport { spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\n\nconst ContentBlock = styled(Copy)<{\n clampText?: boolean;\n isCentered?: boolean;\n}>`\n display: block;\n margin: ${({ isCentered }) => isCentered && '0 auto'};\n max-width: ${({ clampText }) =>\n clampText && (19 / 28) * spacings.wrapperSmall + 'px'};\n\n :not(:first-child) {\n padding-top: ${spacings.nudge * 5}px;\n }\n`;\n\nconst NewsText: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Main text (RichText) */\n text: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({ anchorId, text, bgMode }) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper clampWidth=\"small\" addWhitespace>\n {text && (\n <ContentBlock\n isInverted={isInverted}\n type=\"copy\"\n innerHTML={text}\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsTextComponent = NewsText;\nexport default withLibTheme(NewsText);\n","import React from 'react';\n\nimport { ImageProps } from 'components/blocks/Image';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Wrapper from 'components/base/Wrapper';\nimport VideoCard from 'components/blocks/VideoCard';\n\nconst NewsVideo: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Placeholder image */\n bgImage?: ImageProps;\n\n /** Embed video ID. E.g. from Youtube */\n embedId?: string;\n\n /** Custom play icon */\n playIcon?: React.ReactNode;\n\n /** Text for cookie consent overlay */\n consentText?: string;\n\n /** Function to inject custom action on cookie consent overlay */\n consentAction?: (props: {\n handleClick?: () => void;\n consentProps: Record<string, string>;\n }) => React.ReactNode;\n /**\n * Custom handler for play button click\n * @returns true if video should be played\n */\n onPlayClick?: () => Promise<boolean>;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({\n anchorId,\n bgImage,\n embedId,\n playIcon,\n consentText,\n consentAction,\n onPlayClick,\n bgMode,\n}) => {\n const { colors } = useLibTheme();\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace clampWidth=\"small\">\n {embedId && bgImage && (\n <VideoCard\n bgImage={bgImage}\n embedId={embedId}\n playIcon={playIcon}\n consentText={consentText}\n consentAction={consentAction}\n onPlayClick={onPlayClick}\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const NewsVideoComponent = NewsVideo;\nexport default withLibTheme(NewsVideo);\n"],"names":["Seperator","styled","div","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","label","author","avatar","bgMode","colors","useLibTheme","hasBg","React","Section","addSeperation","bgColor","sectionBg","mapToBgMode","createElement","Wrapper","clampWidth","addWhitespace","Fragment","src","alt","type","Heading","size","withLibTheme","View","ImageLink","Link","StyledImage","Image","global","sections","edgeRadius","BorderPlaceholder","getColors","TitleLink","copyStyle","font","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","formatter","StatusFormatter","getTime","newsDateFormat","newsTimeFormat","newsLocaleKey","getFormattedDate","handleTagClick","tag","ev","preventDefault","undefined","filteredTags","useMemo","filter","name","small","__assign","ariaLabel","coverSpace","isValidArray","map","i","key","isActive","clickHandler","Tag","onClick","renderAs","dataSheet","innerHTML","displayName","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","anchorId","news","initial","showMoreText","_b","_c","useState","activeTags","selectedTags","setSelectedTags","mqs","currentMq","useMediaQuery","_d","itemsPerRow","setItemsPerRow","_e","visibleRows","setVisibleRows","isMounted","useMounted","targetRef","useRef","observerSupported","useObserverSupport","newsCount","length","setNewPos","useScrollTo","_f","useEqualSheetHeight","listLength","Math","min","identifiers","responsive","semilarge","xlarge","cardRefs","sheetRefs","triggerCalculation","getFilters","useCallback","filters","getUrlParams","tagsFilter","split","push","apply","useEffect","paramTags","paramRows","parseInt","setUrlParam","deleteUrlParam","useUpdateEffect","enableToggling","prev","prevCopy","__spreadArray","itemIndex","indexOf","splice","filteredNews","tagFilterFn","item","hasTags","filtered","visibleNews","_","element","current","observer","options","rootMargin","threshold","IntersectionObserver","entries","entry","isIntersecting","ceil","observe","disconnect","Filter","Pointer","as","Label","NewsFooter","Grid","Row","Col","tagHref","href","NewsImages","images","isFull","Content","IntroHead","MetaBlock","StyledTitle","Title","clampTitle","wrapperSmall","ContentBlock","isCentered","clampText","wrapper","NewsIntro","meta","date","tagLink","colorMode","allowEdgeRadius","NewsList","mode","items","slice","NewsTableSection","TableWrapper","NewsTable","tableItems","TableBlock","hasBack","NewsText","NewsVideo","bgImage","embedId","playIcon","consentText","consentAction","onPlayClick","VideoCard"],"mappings":"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"}