@blateral/b.kit 2.8.4 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/cjs/Actions-2590a7b9.js +2 -0
  2. package/cjs/{Actions-c52a14e4.js.map → Actions-2590a7b9.js.map} +1 -1
  3. package/cjs/Bdot-35350767.js +2 -0
  4. package/cjs/{Bdot-62c8e349.js.map → Bdot-35350767.js.map} +1 -1
  5. package/cjs/Button-ddcdefd5.js +2 -0
  6. package/cjs/Button-ddcdefd5.js.map +1 -0
  7. package/cjs/ButtonGhost-22501467.js +2 -0
  8. package/cjs/ButtonGhost-22501467.js.map +1 -0
  9. package/cjs/ButtonLeft-7e1f216a.js +2 -0
  10. package/cjs/ButtonLeft-7e1f216a.js.map +1 -0
  11. package/cjs/Callout-86a61040.js +2 -0
  12. package/cjs/Callout-86a61040.js.map +1 -0
  13. package/cjs/Checkbox-d27880f4.js +2 -0
  14. package/cjs/Checkbox-d27880f4.js.map +1 -0
  15. package/cjs/Control-40e6d4ed.js +2 -0
  16. package/cjs/Control-40e6d4ed.js.map +1 -0
  17. package/cjs/Copy-1b9e33ba.js +2 -0
  18. package/cjs/Copy-1b9e33ba.js.map +1 -0
  19. package/cjs/EventBlock-7dde179c.js +2 -0
  20. package/cjs/EventBlock-7dde179c.js.map +1 -0
  21. package/cjs/FilterBar-238c2290.js +2 -0
  22. package/cjs/FilterBar-238c2290.js.map +1 -0
  23. package/cjs/FilterField-c8dc9450.js +2 -0
  24. package/cjs/{FilterField-d204feb1.js.map → FilterField-c8dc9450.js.map} +1 -1
  25. package/cjs/Grid-dab3343f.js +2 -0
  26. package/cjs/Grid-dab3343f.js.map +1 -0
  27. package/cjs/Image-14b2cb93.js +2 -0
  28. package/cjs/Image-14b2cb93.js.map +1 -0
  29. package/cjs/InfoList-b4f39949.js +2 -0
  30. package/cjs/InfoList-b4f39949.js.map +1 -0
  31. package/cjs/LanguageSwitcher-3ee77117.js +2 -0
  32. package/cjs/{LanguageSwitcher-c6fd04df.js.map → LanguageSwitcher-3ee77117.js.map} +1 -1
  33. package/cjs/LibThemeProvider-878ed68c.js +2 -0
  34. package/cjs/{LibThemeProvider-69109901.js.map → LibThemeProvider-878ed68c.js.map} +1 -1
  35. package/cjs/Link-6e728957.js +2 -0
  36. package/cjs/Link-6e728957.js.map +1 -0
  37. package/cjs/MultiselectDropdown-54cd988f.js +2 -0
  38. package/cjs/MultiselectDropdown-54cd988f.js.map +1 -0
  39. package/cjs/Navigation-2d3590a0.js +2 -0
  40. package/cjs/{Navigation-6c5d9dee.js.map → Navigation-2d3590a0.js.map} +1 -1
  41. package/cjs/PickerAction-ed288096.js +2 -0
  42. package/cjs/PickerAction-ed288096.js.map +1 -0
  43. package/cjs/Pointer-b8875387.js +2 -0
  44. package/cjs/Pointer-b8875387.js.map +1 -0
  45. package/cjs/Section-89240e41.js +2 -0
  46. package/cjs/Section-89240e41.js.map +1 -0
  47. package/cjs/SocialList-f2aca9d8.js +2 -0
  48. package/cjs/{SocialList-73af56b5.js.map → SocialList-f2aca9d8.js.map} +1 -1
  49. package/cjs/TableBlock-8f87c278.js +2 -0
  50. package/cjs/TableBlock-8f87c278.js.map +1 -0
  51. package/cjs/Tag-430477d0.js +2 -0
  52. package/cjs/Tag-430477d0.js.map +1 -0
  53. package/cjs/Textarea-51bea7d0.js +2 -0
  54. package/cjs/Textarea-51bea7d0.js.map +1 -0
  55. package/cjs/Textfield-4ff93649.js +2 -0
  56. package/cjs/Textfield-4ff93649.js.map +1 -0
  57. package/cjs/VideoBlock-087d79b8.js +2 -0
  58. package/cjs/{VideoBlock-0cae22f0.js.map → VideoBlock-087d79b8.js.map} +1 -1
  59. package/cjs/VideoCard-6e2ae7c1.js +2 -0
  60. package/cjs/VideoCard-6e2ae7c1.js.map +1 -0
  61. package/cjs/Wrapper-c755d727.js +2 -0
  62. package/cjs/{Wrapper-bca9463e.js.map → Wrapper-c755d727.js.map} +1 -1
  63. package/cjs/base.js +1 -1
  64. package/cjs/blocks.js +1 -1
  65. package/cjs/buttons.js +1 -1
  66. package/cjs/concat-8bd71a50.js +2 -0
  67. package/cjs/{concat-f387d848.js.map → concat-8bd71a50.js.map} +1 -1
  68. package/cjs/cookies.js +1 -1
  69. package/cjs/cookies.js.map +1 -1
  70. package/cjs/fields.js +1 -1
  71. package/cjs/fields.js.map +1 -1
  72. package/cjs/footer.js +1 -1
  73. package/cjs/footer.js.map +1 -1
  74. package/cjs/formFieldText-fcf0452b.js +2 -0
  75. package/cjs/formFieldText-fcf0452b.js.map +1 -0
  76. package/cjs/headers.js +1 -1
  77. package/cjs/headers.js.map +1 -1
  78. package/cjs/hooks.js +1 -1
  79. package/cjs/hooks.js.map +1 -1
  80. package/cjs/icons.js +1 -1
  81. package/cjs/index.js +1 -1
  82. package/cjs/navigation-ec5cddfc.js +2 -0
  83. package/cjs/{navigation-3f9d4ac4.js.map → navigation-ec5cddfc.js.map} +1 -1
  84. package/cjs/navigation.js +1 -1
  85. package/cjs/navigation.js.map +1 -1
  86. package/cjs/sections.dynamicform.js +1 -1
  87. package/cjs/sections.dynamicform.js.map +1 -1
  88. package/cjs/sections.events.js +1 -1
  89. package/cjs/sections.events.js.map +1 -1
  90. package/cjs/sections.forms.js +1 -1
  91. package/cjs/sections.forms.js.map +1 -1
  92. package/cjs/sections.jobs.js +1 -1
  93. package/cjs/sections.jobs.js.map +1 -1
  94. package/cjs/sections.js +1 -1
  95. package/cjs/sections.js.map +1 -1
  96. package/cjs/sections.news.js +1 -1
  97. package/cjs/sections.news.js.map +1 -1
  98. package/cjs/sections.pois.js +1 -1
  99. package/cjs/sections.pois.js.map +1 -1
  100. package/cjs/structuredData-7c33a463.js +2 -0
  101. package/cjs/structuredData-7c33a463.js.map +1 -0
  102. package/cjs/styles-271afb02.js +2 -0
  103. package/cjs/styles-271afb02.js.map +1 -0
  104. package/cjs/typography.js +1 -1
  105. package/cjs/{urlParams-7525f638.js → urlParams-c412d937.js} +2 -2
  106. package/cjs/{urlParams-7525f638.js.map → urlParams-c412d937.js.map} +1 -1
  107. package/cjs/useCookieConsent-674d004d.js +2 -0
  108. package/cjs/{useCookieConsent-665d91cf.js.map → useCookieConsent-674d004d.js.map} +1 -1
  109. package/cjs/useEqualSheetHeight-7eb7f276.js +2 -0
  110. package/cjs/{useEqualSheetHeight-f1c10ec5.js.map → useEqualSheetHeight-7eb7f276.js.map} +1 -1
  111. package/cjs/useLazyInput-1481445a.js +2 -0
  112. package/cjs/{useLazyInput-911b8eda.js.map → useLazyInput-1481445a.js.map} +1 -1
  113. package/cjs/useLeafletMap-145217ee.js +2 -0
  114. package/cjs/{useLeafletMap-514304b6.js.map → useLeafletMap-145217ee.js.map} +1 -1
  115. package/cjs/useMediaQuery-dd367f98.js +2 -0
  116. package/cjs/{useMediaQuery-619d7203.js.map → useMediaQuery-dd367f98.js.map} +1 -1
  117. package/esm/{Actions-e29b5e75.js → Actions-6859c932.js} +3 -3
  118. package/esm/{Actions-e29b5e75.js.map → Actions-6859c932.js.map} +1 -1
  119. package/esm/{Bdot-5e798e7e.js → Bdot-9e215df7.js} +3 -3
  120. package/esm/{Bdot-5e798e7e.js.map → Bdot-9e215df7.js.map} +1 -1
  121. package/esm/Button-1f634865.js +146 -0
  122. package/esm/Button-1f634865.js.map +1 -0
  123. package/esm/ButtonGhost-476c3826.js +146 -0
  124. package/esm/ButtonGhost-476c3826.js.map +1 -0
  125. package/esm/{Filter-19220970.js → ButtonLeft-a9a132f5.js} +362 -246
  126. package/esm/ButtonLeft-a9a132f5.js.map +1 -0
  127. package/esm/{Callout-46f0bef0.js → Callout-6436d270.js} +8 -6
  128. package/esm/Callout-6436d270.js.map +1 -0
  129. package/esm/{Checkbox-962fea67.js → Checkbox-e7fc7d28.js} +21 -11
  130. package/esm/Checkbox-e7fc7d28.js.map +1 -0
  131. package/esm/Control-84268468.js +44 -0
  132. package/esm/Control-84268468.js.map +1 -0
  133. package/esm/{Copy-fd9e25c0.js → Copy-5a18e01f.js} +27 -9
  134. package/esm/Copy-5a18e01f.js.map +1 -0
  135. package/esm/{EventBlock-12361860.js → EventBlock-0d010725.js} +62 -27
  136. package/esm/EventBlock-0d010725.js.map +1 -0
  137. package/esm/{FilterBar-8c258534.js → FilterBar-d6c1ef40.js} +38 -24
  138. package/esm/FilterBar-d6c1ef40.js.map +1 -0
  139. package/esm/{FilterField-8e64b355.js → FilterField-251b4dad.js} +5 -5
  140. package/esm/{FilterField-8e64b355.js.map → FilterField-251b4dad.js.map} +1 -1
  141. package/esm/{Grid-7b33e271.js → Grid-cbd5e68c.js} +19 -12
  142. package/esm/Grid-cbd5e68c.js.map +1 -0
  143. package/esm/{Image-c67870d4.js → Image-e2018d39.js} +15 -10
  144. package/esm/Image-e2018d39.js.map +1 -0
  145. package/esm/{InfoList-d853db58.js → InfoList-1be2ff46.js} +14 -7
  146. package/esm/InfoList-1be2ff46.js.map +1 -0
  147. package/esm/{LanguageSwitcher-c9aa594a.js → LanguageSwitcher-19482399.js} +5 -5
  148. package/esm/{LanguageSwitcher-c9aa594a.js.map → LanguageSwitcher-19482399.js.map} +1 -1
  149. package/esm/{LibThemeProvider-fb1d35ac.js → LibThemeProvider-48cad3e8.js} +3 -3
  150. package/esm/{LibThemeProvider-fb1d35ac.js.map → LibThemeProvider-48cad3e8.js.map} +1 -1
  151. package/esm/{Link-6067a27f.js → Link-d4a291af.js} +15 -8
  152. package/esm/Link-d4a291af.js.map +1 -0
  153. package/esm/{MultiselectDropdown-61a5a1a6.js → MultiselectDropdown-20b33522.js} +33 -13
  154. package/esm/MultiselectDropdown-20b33522.js.map +1 -0
  155. package/esm/{Navigation-6581bcdf.js → Navigation-d7e14d09.js} +10 -10
  156. package/esm/{Navigation-6581bcdf.js.map → Navigation-d7e14d09.js.map} +1 -1
  157. package/esm/PickerAction-704f2992.js +65 -0
  158. package/esm/PickerAction-704f2992.js.map +1 -0
  159. package/esm/Pointer-41c10bba.js +144 -0
  160. package/esm/Pointer-41c10bba.js.map +1 -0
  161. package/esm/{Section-bd61eb2f.js → Section-ca6daed2.js} +9 -5
  162. package/esm/Section-ca6daed2.js.map +1 -0
  163. package/esm/{SocialList-abaf970d.js → SocialList-d5adb772.js} +5 -5
  164. package/esm/{SocialList-abaf970d.js.map → SocialList-d5adb772.js.map} +1 -1
  165. package/esm/{TableBlock-a65315ca.js → TableBlock-5aad5dd2.js} +63 -115
  166. package/esm/TableBlock-5aad5dd2.js.map +1 -0
  167. package/esm/{Tag-217cd89b.js → Tag-f3f23d9b.js} +9 -13
  168. package/esm/Tag-f3f23d9b.js.map +1 -0
  169. package/esm/{Textarea-60503eb7.js → Textarea-af789d6e.js} +341 -252
  170. package/esm/Textarea-af789d6e.js.map +1 -0
  171. package/esm/{Textfield-e8f48b5f.js → Textfield-1f1ae077.js} +18 -6
  172. package/esm/Textfield-1f1ae077.js.map +1 -0
  173. package/esm/{VideoBlock-3f150172.js → VideoBlock-3c99c5fc.js} +12 -8
  174. package/esm/VideoBlock-3c99c5fc.js.map +1 -0
  175. package/esm/{VideoCard-aa60fbe5.js → VideoCard-dc103fce.js} +29 -24
  176. package/esm/VideoCard-dc103fce.js.map +1 -0
  177. package/esm/{Wrapper-95108115.js → Wrapper-06db8e79.js} +3 -3
  178. package/esm/{Wrapper-95108115.js.map → Wrapper-06db8e79.js.map} +1 -1
  179. package/esm/base.js +6 -6
  180. package/esm/blocks.js +22 -22
  181. package/esm/buttons.js +7 -6
  182. package/esm/buttons.js.map +1 -1
  183. package/esm/{concat-ab3c66f2.js → concat-b6d6d978.js} +2 -2
  184. package/esm/concat-b6d6d978.js.map +1 -0
  185. package/esm/cookies.js +57 -46
  186. package/esm/cookies.js.map +1 -1
  187. package/esm/fields.js +56 -123
  188. package/esm/fields.js.map +1 -1
  189. package/esm/footer.js +15 -13
  190. package/esm/footer.js.map +1 -1
  191. package/esm/{formFieldText-c6fcd370.js → formFieldText-af2106f9.js} +14 -8
  192. package/esm/formFieldText-af2106f9.js.map +1 -0
  193. package/esm/headers.js +21 -17
  194. package/esm/headers.js.map +1 -1
  195. package/esm/hooks.js +12 -12
  196. package/esm/icons.js +5 -2
  197. package/esm/icons.js.map +1 -1
  198. package/esm/index.js +3 -3
  199. package/esm/{navigation-5216dbad.js → navigation-d3d2bf2e.js} +2 -2
  200. package/esm/{navigation-5216dbad.js.map → navigation-d3d2bf2e.js.map} +1 -1
  201. package/esm/navigation.js +12 -12
  202. package/esm/sections.dynamicform.js +29 -33
  203. package/esm/sections.dynamicform.js.map +1 -1
  204. package/esm/sections.events.js +48 -30
  205. package/esm/sections.events.js.map +1 -1
  206. package/esm/sections.forms.js +11 -11
  207. package/esm/sections.jobs.js +99 -45
  208. package/esm/sections.jobs.js.map +1 -1
  209. package/esm/sections.js +537 -259
  210. package/esm/sections.js.map +1 -1
  211. package/esm/sections.news.js +155 -81
  212. package/esm/sections.news.js.map +1 -1
  213. package/esm/sections.pois.js +39 -34
  214. package/esm/sections.pois.js.map +1 -1
  215. package/esm/{structuredData-abf610d8.js → structuredData-73bcbf07.js} +32 -2
  216. package/esm/structuredData-73bcbf07.js.map +1 -0
  217. package/esm/{styles-1f1841ef.js → styles-f3ba5bae.js} +3 -2
  218. package/esm/styles-f3ba5bae.js.map +1 -0
  219. package/esm/typography.js +6 -6
  220. package/esm/{urlParams-9cfdaf71.js → urlParams-e7114d3e.js} +2 -2
  221. package/esm/{urlParams-9cfdaf71.js.map → urlParams-e7114d3e.js.map} +1 -1
  222. package/esm/{useCookieConsent-6661d419.js → useCookieConsent-4b667d40.js} +2 -2
  223. package/esm/{useCookieConsent-6661d419.js.map → useCookieConsent-4b667d40.js.map} +1 -1
  224. package/esm/{useEqualSheetHeight-60ff9de7.js → useEqualSheetHeight-80704864.js} +4 -4
  225. package/esm/{useEqualSheetHeight-60ff9de7.js.map → useEqualSheetHeight-80704864.js.map} +1 -1
  226. package/esm/{useLazyInput-0b6932aa.js → useLazyInput-08ee63f4.js} +2 -2
  227. package/esm/{useLazyInput-0b6932aa.js.map → useLazyInput-08ee63f4.js.map} +1 -1
  228. package/esm/{useLeafletMap-fa0ab7d4.js → useLeafletMap-f9050715.js} +2 -2
  229. package/esm/{useLeafletMap-fa0ab7d4.js.map → useLeafletMap-f9050715.js.map} +1 -1
  230. package/esm/{useMediaQuery-4c1b1fa6.js → useMediaQuery-c9fa1339.js} +3 -3
  231. package/esm/{useMediaQuery-4c1b1fa6.js.map → useMediaQuery-c9fa1339.js.map} +1 -1
  232. package/package.json +1 -1
  233. package/types/buttons.d.ts +1 -0
  234. package/types/buttons.d.ts.map +1 -1
  235. package/types/components/base/Grid.d.ts +3 -0
  236. package/types/components/base/Grid.d.ts.map +1 -1
  237. package/types/components/base/Section.d.ts +3 -1
  238. package/types/components/base/Section.d.ts.map +1 -1
  239. package/types/components/base/icons/ButtonLeft.d.ts +1 -2
  240. package/types/components/base/icons/ButtonLeft.d.ts.map +1 -1
  241. package/types/components/base/icons/ButtonRight.d.ts +1 -2
  242. package/types/components/base/icons/ButtonRight.d.ts.map +1 -1
  243. package/types/components/base/icons/CircleX.d.ts +10 -0
  244. package/types/components/base/icons/CircleX.d.ts.map +1 -0
  245. package/types/components/base/icons/Icons.d.ts +3 -0
  246. package/types/components/base/icons/Icons.d.ts.map +1 -1
  247. package/types/components/blocks/Alert.d.ts.map +1 -1
  248. package/types/components/blocks/CookieConsent.d.ts.map +1 -1
  249. package/types/components/blocks/EventBlock.d.ts +18 -11
  250. package/types/components/blocks/EventBlock.d.ts.map +1 -1
  251. package/types/components/blocks/Feature.d.ts +6 -2
  252. package/types/components/blocks/Feature.d.ts.map +1 -1
  253. package/types/components/blocks/Image.d.ts +2 -0
  254. package/types/components/blocks/Image.d.ts.map +1 -1
  255. package/types/components/blocks/InfoList.d.ts +5 -1
  256. package/types/components/blocks/InfoList.d.ts.map +1 -1
  257. package/types/components/blocks/JobCard.d.ts +4 -0
  258. package/types/components/blocks/JobCard.d.ts.map +1 -1
  259. package/types/components/blocks/NavBlock.d.ts.map +1 -1
  260. package/types/components/blocks/NewsCard.d.ts +20 -9
  261. package/types/components/blocks/NewsCard.d.ts.map +1 -1
  262. package/types/components/blocks/POICard.d.ts +7 -1
  263. package/types/components/blocks/POICard.d.ts.map +1 -1
  264. package/types/components/blocks/POIFacts.d.ts +1 -0
  265. package/types/components/blocks/POIFacts.d.ts.map +1 -1
  266. package/types/components/blocks/PriceTag.d.ts +9 -4
  267. package/types/components/blocks/PriceTag.d.ts.map +1 -1
  268. package/types/components/blocks/PromotionCard.d.ts +2 -2
  269. package/types/components/blocks/PromotionCard.d.ts.map +1 -1
  270. package/types/components/blocks/TableBlock.d.ts +2 -0
  271. package/types/components/blocks/TableBlock.d.ts.map +1 -1
  272. package/types/components/blocks/Tag.d.ts +1 -0
  273. package/types/components/blocks/Tag.d.ts.map +1 -1
  274. package/types/components/blocks/Title.d.ts +5 -0
  275. package/types/components/blocks/Title.d.ts.map +1 -1
  276. package/types/components/blocks/VideoBlock.d.ts +2 -0
  277. package/types/components/blocks/VideoBlock.d.ts.map +1 -1
  278. package/types/components/blocks/VideoCard.d.ts +2 -0
  279. package/types/components/blocks/VideoCard.d.ts.map +1 -1
  280. package/types/components/buttons/Button.d.ts +6 -1
  281. package/types/components/buttons/Button.d.ts.map +1 -1
  282. package/types/components/buttons/ButtonGhost.d.ts +6 -1
  283. package/types/components/buttons/ButtonGhost.d.ts.map +1 -1
  284. package/types/components/buttons/Control.d.ts.map +1 -1
  285. package/types/components/buttons/PickerAction.d.ts +14 -0
  286. package/types/components/buttons/PickerAction.d.ts.map +1 -0
  287. package/types/components/buttons/Pointer.d.ts +6 -2
  288. package/types/components/buttons/Pointer.d.ts.map +1 -1
  289. package/types/components/fields/Checkbox.d.ts +0 -1
  290. package/types/components/fields/Checkbox.d.ts.map +1 -1
  291. package/types/components/fields/CompactForm.d.ts.map +1 -1
  292. package/types/components/fields/Datepicker.d.ts +31 -13
  293. package/types/components/fields/Datepicker.d.ts.map +1 -1
  294. package/types/components/fields/FileUpload.d.ts.map +1 -1
  295. package/types/components/fields/FormField.d.ts +4 -1
  296. package/types/components/fields/FormField.d.ts.map +1 -1
  297. package/types/components/fields/LocationField.d.ts +1 -0
  298. package/types/components/fields/LocationField.d.ts.map +1 -1
  299. package/types/components/fields/MultiselectDropdown.d.ts.map +1 -1
  300. package/types/components/fields/Radio.d.ts +0 -1
  301. package/types/components/fields/Radio.d.ts.map +1 -1
  302. package/types/components/fields/SelectDropdown.d.ts.map +1 -1
  303. package/types/components/fields/Textarea.d.ts.map +1 -1
  304. package/types/components/fields/Textfield.d.ts.map +1 -1
  305. package/types/components/sections/Accordion.d.ts +6 -6
  306. package/types/components/sections/Accordion.d.ts.map +1 -1
  307. package/types/components/sections/AlertList.d.ts +10 -6
  308. package/types/components/sections/AlertList.d.ts.map +1 -1
  309. package/types/components/sections/CallToAction.d.ts +14 -9
  310. package/types/components/sections/CallToAction.d.ts.map +1 -1
  311. package/types/components/sections/CardList.d.ts +19 -14
  312. package/types/components/sections/CardList.d.ts.map +1 -1
  313. package/types/components/sections/ComparisonSlider.d.ts.map +1 -1
  314. package/types/components/sections/CrossPromotion.d.ts +11 -12
  315. package/types/components/sections/CrossPromotion.d.ts.map +1 -1
  316. package/types/components/sections/FactGrid.d.ts +4 -0
  317. package/types/components/sections/FactGrid.d.ts.map +1 -1
  318. package/types/components/sections/FactList.d.ts +13 -0
  319. package/types/components/sections/FactList.d.ts.map +1 -1
  320. package/types/components/sections/FeatureList.d.ts +4 -0
  321. package/types/components/sections/FeatureList.d.ts.map +1 -1
  322. package/types/components/sections/Gallery.d.ts +2 -0
  323. package/types/components/sections/Gallery.d.ts.map +1 -1
  324. package/types/components/sections/IconList.d.ts +4 -0
  325. package/types/components/sections/IconList.d.ts.map +1 -1
  326. package/types/components/sections/IndexList.d.ts +2 -0
  327. package/types/components/sections/IndexList.d.ts.map +1 -1
  328. package/types/components/sections/Map.d.ts +11 -24
  329. package/types/components/sections/Map.d.ts.map +1 -1
  330. package/types/components/sections/NavList.d.ts +2 -0
  331. package/types/components/sections/NavList.d.ts.map +1 -1
  332. package/types/components/sections/NumberList.d.ts +4 -0
  333. package/types/components/sections/NumberList.d.ts.map +1 -1
  334. package/types/components/sections/ParallaxBackground.d.ts.map +1 -1
  335. package/types/components/sections/PriceList.d.ts +18 -0
  336. package/types/components/sections/PriceList.d.ts.map +1 -1
  337. package/types/components/sections/PriceTable.d.ts +6 -2
  338. package/types/components/sections/PriceTable.d.ts.map +1 -1
  339. package/types/components/sections/Quote.d.ts.map +1 -1
  340. package/types/components/sections/RawVideo.d.ts +4 -0
  341. package/types/components/sections/RawVideo.d.ts.map +1 -1
  342. package/types/components/sections/SocialWall.d.ts +13 -12
  343. package/types/components/sections/SocialWall.d.ts.map +1 -1
  344. package/types/components/sections/Table.d.ts +11 -2
  345. package/types/components/sections/Table.d.ts.map +1 -1
  346. package/types/components/sections/Teaser.d.ts.map +1 -1
  347. package/types/components/sections/TeaserWide.d.ts.map +1 -1
  348. package/types/components/sections/Video.d.ts +2 -0
  349. package/types/components/sections/Video.d.ts.map +1 -1
  350. package/types/components/sections/events/EventDetail.d.ts +14 -14
  351. package/types/components/sections/events/EventDetail.d.ts.map +1 -1
  352. package/types/components/sections/events/EventList.d.ts +3 -16
  353. package/types/components/sections/events/EventList.d.ts.map +1 -1
  354. package/types/components/sections/events/EventOverview.d.ts +3 -15
  355. package/types/components/sections/events/EventOverview.d.ts.map +1 -1
  356. package/types/components/sections/form/DynamicForm.d.ts +9 -9
  357. package/types/components/sections/form/DynamicForm.d.ts.map +1 -1
  358. package/types/components/sections/form/renderer/datepickerRenderer.d.ts.map +1 -1
  359. package/types/components/sections/header/HeaderKenBurns.d.ts.map +1 -1
  360. package/types/components/sections/header/HeaderPoster.d.ts.map +1 -1
  361. package/types/components/sections/header/HeaderVideo.d.ts.map +1 -1
  362. package/types/components/sections/jobs/JobArticle.d.ts +4 -0
  363. package/types/components/sections/jobs/JobArticle.d.ts.map +1 -1
  364. package/types/components/sections/jobs/JobList.d.ts +8 -0
  365. package/types/components/sections/jobs/JobList.d.ts.map +1 -1
  366. package/types/components/sections/news/NewsAuthorCard.d.ts.map +1 -1
  367. package/types/components/sections/news/NewsFooter.d.ts +3 -16
  368. package/types/components/sections/news/NewsFooter.d.ts.map +1 -1
  369. package/types/components/sections/news/NewsImages.d.ts.map +1 -1
  370. package/types/components/sections/news/NewsIntro.d.ts.map +1 -1
  371. package/types/components/sections/news/NewsList.d.ts +3 -16
  372. package/types/components/sections/news/NewsList.d.ts.map +1 -1
  373. package/types/components/sections/news/NewsOverview.d.ts +3 -15
  374. package/types/components/sections/news/NewsOverview.d.ts.map +1 -1
  375. package/types/components/sections/news/NewsTable.d.ts +8 -0
  376. package/types/components/sections/news/NewsTable.d.ts.map +1 -1
  377. package/types/components/sections/news/NewsVideo.d.ts +4 -0
  378. package/types/components/sections/news/NewsVideo.d.ts.map +1 -1
  379. package/types/components/sections/pois/PointOfInterestOverview.d.ts +13 -12
  380. package/types/components/sections/pois/PointOfInterestOverview.d.ts.map +1 -1
  381. package/types/components/typography/Callout.d.ts +1 -0
  382. package/types/components/typography/Callout.d.ts.map +1 -1
  383. package/types/components/typography/Copy.d.ts +7 -1
  384. package/types/components/typography/Copy.d.ts.map +1 -1
  385. package/types/components/typography/Heading.d.ts +1 -0
  386. package/types/components/typography/Heading.d.ts.map +1 -1
  387. package/types/components/typography/Link.d.ts +3 -0
  388. package/types/components/typography/Link.d.ts.map +1 -1
  389. package/types/fields.d.ts +0 -1
  390. package/types/fields.d.ts.map +1 -1
  391. package/types/utils/structuredData.d.ts +14 -0
  392. package/types/utils/structuredData.d.ts.map +1 -1
  393. package/types/utils/styles.d.ts +1 -0
  394. package/types/utils/styles.d.ts.map +1 -1
  395. package/cjs/Actions-c52a14e4.js +0 -2
  396. package/cjs/Bdot-62c8e349.js +0 -2
  397. package/cjs/Button-1adf99b8.js +0 -2
  398. package/cjs/Button-1adf99b8.js.map +0 -1
  399. package/cjs/ButtonGhost-fbab8769.js +0 -2
  400. package/cjs/ButtonGhost-fbab8769.js.map +0 -1
  401. package/cjs/Callout-d84ca60b.js +0 -2
  402. package/cjs/Callout-d84ca60b.js.map +0 -1
  403. package/cjs/Checkbox-ddc9a87d.js +0 -2
  404. package/cjs/Checkbox-ddc9a87d.js.map +0 -1
  405. package/cjs/Control-e15e1572.js +0 -2
  406. package/cjs/Control-e15e1572.js.map +0 -1
  407. package/cjs/Copy-2a9d4b5d.js +0 -2
  408. package/cjs/Copy-2a9d4b5d.js.map +0 -1
  409. package/cjs/EventBlock-0b0f0dd3.js +0 -2
  410. package/cjs/EventBlock-0b0f0dd3.js.map +0 -1
  411. package/cjs/Filter-89286db9.js +0 -2
  412. package/cjs/Filter-89286db9.js.map +0 -1
  413. package/cjs/FilterBar-bfd9db6e.js +0 -2
  414. package/cjs/FilterBar-bfd9db6e.js.map +0 -1
  415. package/cjs/FilterField-d204feb1.js +0 -2
  416. package/cjs/Grid-1acefee9.js +0 -2
  417. package/cjs/Grid-1acefee9.js.map +0 -1
  418. package/cjs/Image-69a9c116.js +0 -2
  419. package/cjs/Image-69a9c116.js.map +0 -1
  420. package/cjs/InfoList-f040b8fb.js +0 -2
  421. package/cjs/InfoList-f040b8fb.js.map +0 -1
  422. package/cjs/LanguageSwitcher-c6fd04df.js +0 -2
  423. package/cjs/LibThemeProvider-69109901.js +0 -2
  424. package/cjs/Link-8951180c.js +0 -2
  425. package/cjs/Link-8951180c.js.map +0 -1
  426. package/cjs/MultiselectDropdown-d46ae36f.js +0 -2
  427. package/cjs/MultiselectDropdown-d46ae36f.js.map +0 -1
  428. package/cjs/Navigation-6c5d9dee.js +0 -2
  429. package/cjs/Pointer-0f69256f.js +0 -2
  430. package/cjs/Pointer-0f69256f.js.map +0 -1
  431. package/cjs/Section-c9a16ccc.js +0 -2
  432. package/cjs/Section-c9a16ccc.js.map +0 -1
  433. package/cjs/SocialList-73af56b5.js +0 -2
  434. package/cjs/TableBlock-532c7e1e.js +0 -2
  435. package/cjs/TableBlock-532c7e1e.js.map +0 -1
  436. package/cjs/Tag-232f7aa9.js +0 -2
  437. package/cjs/Tag-232f7aa9.js.map +0 -1
  438. package/cjs/Textarea-d30682bd.js +0 -2
  439. package/cjs/Textarea-d30682bd.js.map +0 -1
  440. package/cjs/Textfield-b3769184.js +0 -2
  441. package/cjs/Textfield-b3769184.js.map +0 -1
  442. package/cjs/VideoBlock-0cae22f0.js +0 -2
  443. package/cjs/VideoCard-c9d4f46a.js +0 -2
  444. package/cjs/VideoCard-c9d4f46a.js.map +0 -1
  445. package/cjs/Wrapper-bca9463e.js +0 -2
  446. package/cjs/concat-f387d848.js +0 -2
  447. package/cjs/formFieldText-21f5f620.js +0 -2
  448. package/cjs/formFieldText-21f5f620.js.map +0 -1
  449. package/cjs/navigation-3f9d4ac4.js +0 -2
  450. package/cjs/structuredData-0b1278a9.js +0 -2
  451. package/cjs/structuredData-0b1278a9.js.map +0 -1
  452. package/cjs/styles-13e5d9ac.js +0 -2
  453. package/cjs/styles-13e5d9ac.js.map +0 -1
  454. package/cjs/useCookieConsent-665d91cf.js +0 -2
  455. package/cjs/useEqualSheetHeight-f1c10ec5.js +0 -2
  456. package/cjs/useLazyInput-911b8eda.js +0 -2
  457. package/cjs/useLeafletMap-514304b6.js +0 -2
  458. package/cjs/useMediaQuery-619d7203.js +0 -2
  459. package/esm/Button-9a0dd9aa.js +0 -115
  460. package/esm/Button-9a0dd9aa.js.map +0 -1
  461. package/esm/ButtonGhost-fc9e7a75.js +0 -112
  462. package/esm/ButtonGhost-fc9e7a75.js.map +0 -1
  463. package/esm/Callout-46f0bef0.js.map +0 -1
  464. package/esm/Checkbox-962fea67.js.map +0 -1
  465. package/esm/Control-56ec7872.js +0 -52
  466. package/esm/Control-56ec7872.js.map +0 -1
  467. package/esm/Copy-fd9e25c0.js.map +0 -1
  468. package/esm/EventBlock-12361860.js.map +0 -1
  469. package/esm/Filter-19220970.js.map +0 -1
  470. package/esm/FilterBar-8c258534.js.map +0 -1
  471. package/esm/Grid-7b33e271.js.map +0 -1
  472. package/esm/Image-c67870d4.js.map +0 -1
  473. package/esm/InfoList-d853db58.js.map +0 -1
  474. package/esm/Link-6067a27f.js.map +0 -1
  475. package/esm/MultiselectDropdown-61a5a1a6.js.map +0 -1
  476. package/esm/Pointer-3e965d7b.js +0 -111
  477. package/esm/Pointer-3e965d7b.js.map +0 -1
  478. package/esm/Section-bd61eb2f.js.map +0 -1
  479. package/esm/TableBlock-a65315ca.js.map +0 -1
  480. package/esm/Tag-217cd89b.js.map +0 -1
  481. package/esm/Textarea-60503eb7.js.map +0 -1
  482. package/esm/Textfield-e8f48b5f.js.map +0 -1
  483. package/esm/VideoBlock-3f150172.js.map +0 -1
  484. package/esm/VideoCard-aa60fbe5.js.map +0 -1
  485. package/esm/concat-ab3c66f2.js.map +0 -1
  486. package/esm/formFieldText-c6fcd370.js.map +0 -1
  487. package/esm/structuredData-abf610d8.js.map +0 -1
  488. package/esm/styles-1f1841ef.js.map +0 -1
  489. package/types/components/fields/SearchInput.d.ts +0 -16
  490. package/types/components/fields/SearchInput.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"headers.js","sources":["../src/components/sections/header/HeaderKenBurns.tsx","../src/components/sections/header/HeaderPoster.tsx","../src/components/sections/header/HeaderVideo.tsx","../src/components/sections/header/Header.tsx"],"sourcesContent":["import React, { FC, useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\n\nimport { useMediaQuery } from 'utils/useMediaQuery';\nimport Image from 'components/blocks/Image';\nimport { clampValue } from 'utils/clamp';\nimport { HeaderImage } from './Header';\n\nconst AnimationContainer = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n`;\n\nconst PosterImage = styled(Image)`\n position: absolute;\n top: 0;\n left: 0;\n\n height: 100%;\n width: 100%;\n\n img {\n height: 100%;\n }\n`;\n\nconst AnimationImage = styled.img<{\n scale?: number;\n opacity?: number;\n zoomPoint?: [number, number];\n}>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n\n object-fit: cover;\n object-position: center;\n\n transition-property: opacity, transform;\n transition-duration: ${({ scale }) => `2s, ${scale === 1 ? '0s' : '13s'}`};\n transition-delay: ${({ scale }) =>\n `${scale === 1 ? '1s' : '0s'}, ${scale === 1 ? '3s' : '0s'}`};\n\n opacity: ${({ opacity }) => opacity && opacity};\n transform: scale(${({ scale }) => scale || 1})\n rotate(${({ scale }) => (scale !== 1 ? 0.04 : 0)}deg);\n transform-origin: ${({ zoomPoint }) =>\n zoomPoint ? `${zoomPoint[0] * 100}% ${zoomPoint[1] * 100}%` : 'center'};\n\n will-change: transform, opacity;\n`;\n\nconst AnimationImages: FC<{\n zoom?: number;\n zoomPoint?: [number, number];\n images: KenBurnsImage[];\n interval?: number;\n onChange?: (imgId: number) => void;\n}> = ({\n zoom = 1.08,\n zoomPoint = [0.5, 0.5],\n interval = 10000,\n images,\n onChange,\n}) => {\n const intervalRef = useRef<number | null>();\n const initialTimeoutRef = useRef<number | null>();\n const [activeImg, setActiveImg] = useState<number>(-1);\n\n useEffect(() => {\n const changeImage = () => {\n setActiveImg((prev) => {\n return (prev + 1) % images.length;\n });\n };\n\n // changeImage();\n initialTimeoutRef.current = window.setTimeout(changeImage, 200);\n if (intervalRef.current) window.clearInterval(intervalRef.current);\n intervalRef.current = window.setInterval(changeImage, interval);\n\n return () => {\n if (initialTimeoutRef.current)\n window.clearTimeout(initialTimeoutRef.current);\n if (intervalRef.current) window.clearInterval(intervalRef.current);\n };\n }, [images, interval]);\n\n useEffect(() => {\n if (activeImg !== -1) onChange && onChange(activeImg);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeImg]);\n\n return (\n <React.Fragment>\n {images.map((img, i) => {\n let imgZoom = 1;\n let imgZoomPoint = zoomPoint;\n\n if (i === activeImg) {\n imgZoom = img.zoom !== undefined ? img.zoom : zoom;\n }\n\n if (img.zoomPoint) {\n imgZoomPoint = getValidZoomPoint(img.zoomPoint);\n }\n\n return (\n <AnimationImage\n key={i}\n style={{\n zIndex: i === activeImg ? 1 : 0,\n }}\n src={img.image}\n scale={imgZoom}\n opacity={i === activeImg ? 1 : 0}\n zoomPoint={imgZoomPoint}\n alt={img.alt || ''}\n />\n );\n })}\n </React.Fragment>\n );\n};\n\nconst preloadImages = (images: KenBurnsImage[]): Promise<KenBurnsImage>[] => {\n const loadedImages: Promise<KenBurnsImage>[] = images.map((req) => {\n return new Promise((resolve) => {\n const img = new window.Image();\n img.src = req.image;\n img.onload = () => resolve(req);\n });\n });\n\n return loadedImages;\n};\n\ntype KenBurnsMq = 'small' | 'medium' | 'large' | 'xlarge';\n\ninterface KenBurnsImage {\n id: number | string;\n image: string;\n alt?: string;\n zoom?: number;\n zoomPoint?: [number, number];\n}\n\nconst getValidZoomPoint = (point: [number, number]) => {\n return [clampValue(point[0], 0, 1), clampValue(point[1], 0, 1)] as [\n number,\n number\n ];\n};\n\nconst HeaderKenBurns: React.FC<{\n images: HeaderImage[];\n zoom?: number;\n zoomPoint?: [number, number];\n interval?: number;\n onImageChange?: (currentImg: HeaderImage) => void;\n className?: string;\n children?: React.ReactNode;\n}> = ({\n images,\n zoom = 1.08,\n zoomPoint = [0.5, 0.5],\n interval = 10000,\n onImageChange,\n className,\n children,\n}) => {\n const mqs: KenBurnsMq[] = ['small', 'medium', 'large', 'xlarge'];\n const currentMq = useMediaQuery(mqs) as KenBurnsMq | undefined;\n\n const [loadedImages, setLoadedImages] = useState<{\n [key: string]: KenBurnsImage[];\n }>({\n small: [],\n medium: [],\n large: [],\n xlarge: [],\n });\n\n useEffect(() => {\n if (currentMq) {\n const loadedForMq = loadedImages[currentMq];\n\n if (loadedForMq.length < images.length && images.length >= 2) {\n const requestedImages: KenBurnsImage[] = images.map(\n (img, i) => ({\n id: i,\n image: img[currentMq] as string,\n zoom: img.zoom || zoom,\n zoomPoint: img.zoomPoint || zoomPoint,\n alt: img.alt,\n })\n );\n\n const resolve = async (\n imagePromises: Promise<KenBurnsImage>[]\n ) => {\n for (const promise of imagePromises) {\n const loadedImg = await promise;\n\n setLoadedImages((prev) => {\n // check if image id already exists in array\n if (\n !prev[currentMq].find(\n (e) => e.id === loadedImg.id\n )\n ) {\n return {\n ...prev,\n [currentMq]: [\n ...prev[currentMq],\n loadedImg,\n ],\n };\n } else return prev;\n });\n }\n };\n\n resolve(preloadImages(requestedImages));\n }\n }\n }, [currentMq, images, loadedImages, zoom, zoomPoint]);\n\n return (\n <AnimationContainer className={className}>\n <PosterImage {...images[0]} coverSpace ratios={undefined} />\n {currentMq && loadedImages[currentMq].length >= images.length && (\n <AnimationImages\n zoom={zoom}\n zoomPoint={getValidZoomPoint(zoomPoint)}\n interval={interval}\n images={loadedImages[currentMq]}\n onChange={(id) =>\n images[id] && onImageChange && onImageChange(images[id])\n }\n />\n )}\n {children}\n </AnimationContainer>\n );\n};\n\nexport default HeaderKenBurns;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { HeaderFocus } from './Header';\n\nconst PosterView = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\nconst BgImage = styled(Image)<{ focus?: HeaderFocus }>`\n height: 100%;\n\n img {\n height: 100%;\n object-position: ${({ focus }) =>\n `${focus?.[0] || 'center'} ${focus?.[1] || 'center'}`};\n }\n`;\n\nconst HeaderPoster: React.FC<{\n isInverted?: boolean;\n bgImage?: Omit<ImageProps, 'ratios' | 'coverSpace'>;\n focus?: HeaderFocus;\n className?: string;\n children?: React.ReactNode;\n}> = ({ isInverted, bgImage, focus, className, children }) => {\n return (\n <PosterView className={className}>\n {bgImage && (\n <BgImage\n {...bgImage}\n coverSpace\n ratios={undefined}\n isInverted={isInverted}\n focus={focus}\n />\n )}\n {children}\n </PosterView>\n );\n};\n\nexport default HeaderPoster;\n","import React, { useRef } from 'react';\nimport styled from 'styled-components';\n\nimport { useState, useEffect } from 'react';\nimport Image from 'components/blocks/Image';\nimport { useMediaQuery } from 'utils/useMediaQuery';\nimport { HeaderFocus, HeaderImage } from './Header';\nimport { mq, spacings } from 'utils/styles';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport useUpdateEffect from 'utils/useUpdateEffect';\n\nconst PosterView = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\nconst PlaceholderImg = styled(Image)<{ focus?: HeaderFocus }>`\n position: relative;\n height: 100%;\n\n img {\n object-position: ${({ focus }) =>\n `${focus?.[0] || 'center'} ${focus?.[1] || 'center'}`};\n\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n height: 100%;\n z-index: 0;\n }\n\n margin: 0 auto;\n\n @media ${mq.medium} {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: ${spacings.spacer * 2}px;\n z-index: 2;\n\n & > * {\n margin-top: ${spacings.spacer}px;\n max-width: 880px;\n }\n }\n`;\n\nconst AutoplayVideo = styled.video<{\n isVisible?: boolean;\n focus?: HeaderFocus;\n}>`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n height: 100%;\n width: 100%;\n object-fit: cover;\n object-position: ${({ focus }) =>\n `${focus?.[0] || 'center'} ${focus?.[1] || 'center'}`};\n opacity: ${({ isVisible }) => (isVisible ? 1 : 0)};\n pointer-events: none;\n z-index: 1;\n\n transition: opacity 0.3s ease-in-out;\n`;\n\ntype HeaderVideoMq = 'small' | 'medium' | 'semilarge' | 'large' | 'xlarge';\n\nconst HeaderVideo: React.FC<{\n isInverted?: boolean;\n loadOnMobile?: boolean;\n placeholderImg?: HeaderImage;\n focus?: HeaderFocus;\n videoUrl?: string;\n className?: string;\n children?: React.ReactNode;\n}> = ({\n isInverted,\n loadOnMobile = true,\n placeholderImg,\n focus,\n videoUrl,\n className,\n children,\n}) => {\n const videoRef = useRef<HTMLVideoElement | null>(null);\n const viewRef = useRef<HTMLDivElement | null>(null);\n const [isLoaded, setLoaded] = useState<boolean>(\n !placeholderImg?.small || false\n );\n const isObserverSupported = useObserverSupport();\n const currentMq = useMediaQuery([\n 'small',\n 'medium',\n 'semilarge',\n 'large',\n 'xlarge',\n ]) as HeaderVideoMq | undefined;\n\n const isMobile = currentMq === undefined || currentMq === 'small';\n const isVideoAllowed = loadOnMobile || !isMobile;\n\n const [isVideoActive, setVideoActive] = useState<boolean>(false);\n\n useEffect(() => {\n if (!isVideoAllowed) setLoaded(false);\n }, [isMobile, isVideoAllowed, loadOnMobile]);\n\n useEffect(() => {\n if (!videoRef.current) return;\n\n if (videoRef.current.readyState > 3) {\n setLoaded(true);\n }\n }, []);\n\n useUpdateEffect(() => {\n if (!isVideoAllowed || !videoUrl || !viewRef.current) return;\n if (!isObserverSupported) {\n setVideoActive(true);\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries, observer) => {\n const [entry] = entries;\n\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n setVideoActive(true);\n }\n },\n {\n rootMargin: '200px 0px 200px 0px',\n }\n );\n\n const viewEl = viewRef.current;\n observer.observe(viewEl);\n\n return () => {\n if (viewEl) observer.unobserve(viewEl);\n };\n }, [isObserverSupported, isVideoAllowed]);\n\n return (\n <PosterView ref={viewRef} className={className}>\n {placeholderImg?.small && !isLoaded && (\n <PlaceholderImg\n {...placeholderImg}\n coverSpace\n ratios={undefined}\n isInverted={isInverted}\n focus={focus}\n />\n )}\n {videoUrl && isVideoAllowed && (\n <AutoplayVideo\n ref={videoRef}\n isVisible={isLoaded}\n src={isVideoActive ? videoUrl : undefined}\n muted\n autoPlay\n loop\n playsInline\n onCanPlayThrough={() => {\n setLoaded(true);\n }}\n focus={focus}\n />\n )}\n {children}\n </PosterView>\n );\n};\n\nexport default HeaderVideo;\n","import React, { FC } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { mq, spacings, withRange } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport HeaderKenBurns from './HeaderKenBurns';\nimport HeaderPoster from './HeaderPoster';\nimport Actions from 'components/blocks/Actions';\nimport HeaderVideo from './HeaderVideo';\nimport Copy from 'components/typography/Copy';\nimport Heading, { HeadlineTag } from 'components/typography/Heading';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { ImageProps } from 'components/blocks/Image';\nimport {\n generateNavbarIdent as genIdent,\n getFullNavbarHeights as getNavHeight,\n} from '../navigation/Navigation';\n\nconst Poster: FC<{\n isInverted?: boolean;\n videoUrl?: string;\n images?: Omit<ImageProps, 'ratios' | 'coverSpace'>[];\n focus?: HeaderFocus;\n kenBurnsZoom?: number;\n kenBurnsZoomPoint?: [number, number];\n kenBurnsInterval?: number;\n onImageChange?: (image?: Omit<ImageProps, 'ratios' | 'coverSpace'>) => void;\n className?: string;\n children?: React.ReactNode;\n}> = ({\n isInverted,\n videoUrl,\n images,\n focus,\n kenBurnsZoom,\n kenBurnsZoomPoint,\n kenBurnsInterval,\n onImageChange,\n className,\n children,\n}) => {\n switch (true) {\n case !!videoUrl: {\n return (\n <HeaderVideo\n isInverted={isInverted}\n videoUrl={videoUrl}\n focus={focus}\n placeholderImg={images?.[0]}\n className={className}\n >\n {children}\n </HeaderVideo>\n );\n }\n\n case images && images.length > 1: {\n return (\n <HeaderKenBurns\n images={images || []}\n zoom={kenBurnsZoom}\n zoomPoint={kenBurnsZoomPoint}\n interval={kenBurnsInterval}\n onImageChange={onImageChange}\n className={className}\n >\n {children}\n </HeaderKenBurns>\n );\n }\n\n // single image\n case images && images.length === 1: {\n return (\n <HeaderPoster\n isInverted={isInverted}\n bgImage={images?.[0]}\n focus={focus}\n className={className}\n >\n {children}\n </HeaderPoster>\n );\n }\n\n default: {\n return <div>{children}</div>;\n }\n }\n};\n\nconst genHeightStyles = (isFull: boolean) => css`\n // Doing some crazy shit to calculate curent navbar height in CSS\n ${({ theme }) => {\n // navbar main only\n const mainIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n });\n\n // navbar main and top\n const mainTopIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasTop: true,\n });\n\n // navbar main and bottom\n const mainBottomIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasBottom: true,\n });\n\n // full navbar with all bars\n const fullIdent = genIdent({\n pageFlow: 'beforeContent',\n hasTop: true,\n hasMain: true,\n hasBottom: true,\n });\n\n const navMainHeight = getNavHeight(theme, mainIdent).large;\n const navMainTopHeight = getNavHeight(theme, mainTopIdent).large;\n const navMainBottomHeight = getNavHeight(theme, mainBottomIdent).large;\n const navFullHeight = getNavHeight(theme, fullIdent).large;\n\n const mapToSelector = (idents: string[]) => {\n return idents.map((id) => `[data-navbar-ident*='${id}']`).join('');\n };\n\n const refHeight = isFull ? '100vh' : '80vh';\n\n return css`\n & > ${StyledPoster} {\n min-height: 500px;\n height: ${refHeight};\n }\n\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainHeight[0]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainTopHeight[0]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainBottomHeight[0]}px);\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navFullHeight[0]}px);\n }\n }\n\n @media ${mq.semilarge} {\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainHeight[1]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainTopHeight[1]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(\n ${refHeight} - ${navMainBottomHeight[1]}px\n );\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navFullHeight[1]}px);\n }\n }\n }\n `;\n }}\n`;\n\nconst HeaderSection = styled(Section)`\n position: relative;\n ${genHeightStyles(true)}\n\n header + & {\n ${withRange([0], 'padding-top')}\n ${withRange([0], 'margin-top')}\n }\n`;\n\nconst HeaderSectionSmall = styled(Section)`\n position: relative;\n ${genHeightStyles(false)}\n\n header + & {\n ${withRange([0], 'padding-top')}\n ${withRange([0], 'margin-top')}\n }\n`;\n\nconst StyledPoster = styled(Poster)`\n position: relative;\n height: 100vh;\n max-height: 1300px;\n max-width: ${spacings.wrapperLarge}px;\n margin: 0 auto;\n`;\n\nconst Overlay = styled.div<{ bgValue?: string; textOnImage?: boolean }>`\n display: ${({ textOnImage }) => (textOnImage ? 'block' : 'none')};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: ${({ bgValue }) => bgValue && bgValue};\n z-index: 2;\n\n @media ${mq.medium} {\n display: block;\n }\n`;\n\nconst Content = styled.div<{ isCentered?: boolean; textOnImage?: boolean }>`\n display: none;\n max-width: ${spacings.wrapper}px;\n margin: 0 auto;\n\n ${({ textOnImage, isCentered }) =>\n textOnImage &&\n css`\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: ${isCentered && 'center'};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: ${spacings.spacer}px;\n z-index: 2;\n\n & > * {\n margin-top: ${spacings.spacer}px;\n max-width: 880px;\n }\n `}\n\n @media ${mq.medium} {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: ${({ isCentered }) => isCentered && 'center'};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: ${spacings.spacer * 2}px;\n z-index: 2;\n\n & > * {\n margin-top: ${spacings.spacer}px;\n max-width: 880px;\n }\n }\n`;\n\nconst ContentMobile = styled.div`\n padding: ${spacings.spacer}px ${spacings.nudge * 2}px;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n display: none;\n }\n`;\n\nconst Title = styled(Heading)<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n @media ${mq.medium} {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 3; /* number of lines to show */\n line-clamp: 3;\n -webkit-box-orient: vertical;\n }\n`;\n\nconst Text = styled(Copy)<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 4; /* number of lines to show */\n line-clamp: 4;\n -webkit-box-orient: vertical;\n`;\n\nconst StyledActions = styled(Actions)<{ isCentered?: boolean }>`\n @media ${mq.medium} {\n display: block;\n text-align: ${({ isCentered }) => isCentered && 'center'};\n }\n`;\n\nexport type HeaderSize = 'full' | 'small';\nexport type HeaderImage = Omit<ImageProps, 'ratios' | 'coverSpace'> & {\n zoomPoint?: [number, number];\n zoom?: number;\n};\nexport type HeaderFocus = [\n 'left' | 'center' | 'right',\n 'top' | 'center' | 'bottom'\n];\n\nconst Header: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Header image height size (full=100vh, small=80vh) */\n size?: HeaderSize;\n\n /** Focus point of header image / video */\n focusPoint?: HeaderFocus;\n\n /** Center content */\n isCentered?: boolean;\n\n /** Header title on image */\n title?: string;\n\n /** Header title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Header text on image */\n text?: string;\n\n /** Force text on image on all screen widths */\n textOnImage?: boolean;\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Array of image settings */\n images?: HeaderImage[];\n\n /** CSS value of custom image overlay to help seperate the text from the background */\n customImgOverlay?: string;\n\n /** URL to header video. First image in images array can be used as fallback */\n videoUrl?: string;\n\n /** Ken burns effect zoom */\n kenBurnsZoom?: number;\n\n /** Global zoom point for all images with ken burns effect. x and y values in the range from 0 - 1 */\n kenBurnsZoomPoint?: [number, number];\n\n /** Time between each image in ken burns mode */\n kenBurnsInterval?: number;\n\n /** Callback called on image change */\n onImageChange?: (image?: Omit<ImageProps, 'ratios' | 'coverSpace'>) => void;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({\n anchorId,\n size = 'full',\n focusPoint = ['center', 'center'],\n isCentered,\n title,\n titleAs,\n text,\n primaryAction,\n secondaryAction,\n videoUrl,\n images,\n customImgOverlay,\n kenBurnsZoom = 1.08,\n kenBurnsZoomPoint = [0.5, 0.5],\n kenBurnsInterval = 10000,\n onImageChange,\n bgMode,\n textOnImage,\n}) => {\n const { globals, colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasContent = title || text || primaryAction || secondaryAction;\n\n const overlay = hasContent\n ? customImgOverlay || globals.sections.imageTextGradient\n : undefined;\n\n const Section = size === 'full' ? HeaderSection : HeaderSectionSmall;\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <StyledPoster\n isInverted={isInverted}\n images={images}\n videoUrl={videoUrl}\n kenBurnsInterval={kenBurnsInterval}\n kenBurnsZoom={kenBurnsZoom}\n kenBurnsZoomPoint={kenBurnsZoomPoint}\n onImageChange={onImageChange}\n focus={focusPoint}\n >\n {hasContent && (\n <React.Fragment>\n <Overlay bgValue={overlay} textOnImage={textOnImage} />\n <Content\n isCentered={isCentered}\n textOnImage={textOnImage}\n >\n {title && (\n <Title\n isInverted\n size=\"heading-1\"\n isCentered={isCentered}\n renderAs={titleAs}\n innerHTML={title}\n />\n )}\n {text && (\n <Text\n isInverted\n isCentered={isCentered}\n type=\"copy-b\"\n size=\"big\"\n innerHTML={text}\n />\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n isCentered={isCentered}\n primary={\n primaryAction && primaryAction(true)\n }\n secondary={\n secondaryAction && secondaryAction(true)\n }\n />\n )}\n </Content>\n </React.Fragment>\n )}\n </StyledPoster>\n {hasContent && !textOnImage && (\n <ContentMobile>\n {title && (\n <Title\n size=\"heading-1\"\n isCentered={isCentered}\n renderAs={titleAs}\n innerHTML={title}\n isInverted={isInverted}\n />\n )}\n {text && (\n <Text\n type=\"copy-b\"\n size=\"big\"\n isCentered={isCentered}\n innerHTML={text}\n isInverted={isInverted}\n />\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n isCentered={isCentered}\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </ContentMobile>\n )}\n </Section>\n );\n};\n\nexport const HeaderComponent = Header;\nexport default withLibTheme(Header);\n"],"names":["AnimationContainer","styled","div","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","PosterImage","Image","templateObject_2","AnimationImage","img","templateObject_3","_a","scale","concat","opacity","zoomPoint","AnimationImages","_b","zoom","_c","_d","interval","images","onChange","intervalRef","useRef","initialTimeoutRef","_e","useState","activeImg","setActiveImg","useEffect","changeImage","prev","length","current","window","setTimeout","clearInterval","setInterval","clearTimeout","React","createElement","Fragment","map","i","imgZoom","imgZoomPoint","undefined","getValidZoomPoint","key","style","zIndex","src","image","alt","point","clampValue","HeaderKenBurns","onImageChange","className","children","currentMq","useMediaQuery","small","medium","large","xlarge","loadedImages","setLoadedImages","imagePromises","requestedImages","id","req","Promise","resolve","onload","preloadImages","__awaiter","promise","loadedImg","sent","find","e","__assign","_i","imagePromises_1","coverSpace","ratios","PosterView","BgImage","focus","HeaderPoster","isInverted","bgImage","PlaceholderImg","mq","spacings","spacer","AutoplayVideo","video","isVisible","HeaderVideo","loadOnMobile","placeholderImg","videoUrl","videoRef","viewRef","isLoaded","setLoaded","isObserverSupported","useObserverSupport","isMobile","isVideoAllowed","isVideoActive","setVideoActive","readyState","useUpdateEffect","observer","IntersectionObserver","entries","entry","isIntersecting","unobserve","target","rootMargin","viewEl","observe","ref","muted","autoPlay","loop","playsInline","onCanPlayThrough","genHeightStyles","isFull","css","theme","mainIdent","genIdent","pageFlow","hasMain","mainTopIdent","hasTop","mainBottomIdent","hasBottom","fullIdent","navMainHeight","getNavHeight","getFullNavbarHeights","navMainTopHeight","navMainBottomHeight","navFullHeight","mapToSelector","idents","join","refHeight","StyledPoster","split","semilarge","HeaderSection","Section","withRange","HeaderSectionSmall","templateObject_4","kenBurnsZoom","kenBurnsZoomPoint","kenBurnsInterval","templateObject_5","wrapperLarge","Overlay","templateObject_6","textOnImage","bgValue","Content","wrapper","isCentered","templateObject_7","ContentMobile","templateObject_9","nudge","Title","Heading","templateObject_10","Text","Copy","templateObject_11","StyledActions","Actions","Header$1","withLibTheme","anchorId","size","focusPoint","title","titleAs","text","primaryAction","secondaryAction","customImgOverlay","_f","bgMode","_g","useLibTheme","globals","colors","hasContent","overlay","sections","imageTextGradient","addSeperation","bgColor","sectionBg","dark","light","mapToBgMode","renderAs","innerHTML","type","primary","secondary"],"mappings":"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"}
1
+ {"version":3,"file":"headers.js","sources":["../src/components/sections/header/HeaderKenBurns.tsx","../src/components/sections/header/HeaderPoster.tsx","../src/components/sections/header/HeaderVideo.tsx","../src/components/sections/header/Header.tsx"],"sourcesContent":["import React, { FC, useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\n\nimport { useMediaQuery } from 'utils/useMediaQuery';\nimport Image from 'components/blocks/Image';\nimport { clampValue } from 'utils/clamp';\nimport { HeaderImage } from './Header';\n\nconst AnimationContainer = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n`;\n\nconst PosterImage = styled(Image)`\n position: absolute;\n top: 0;\n left: 0;\n\n height: 100%;\n width: 100%;\n\n img {\n height: 100%;\n }\n`;\n\nconst AnimationImage = styled.img<{\n scale?: number;\n opacity?: number;\n zoomPoint?: [number, number];\n}>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n\n object-fit: cover;\n object-position: center;\n\n transition-property: opacity, transform;\n transition-duration: ${({ scale }) => `2s, ${scale === 1 ? '0s' : '13s'}`};\n transition-delay: ${({ scale }) =>\n `${scale === 1 ? '1s' : '0s'}, ${scale === 1 ? '3s' : '0s'}`};\n\n opacity: ${({ opacity }) => opacity && opacity};\n transform: scale(${({ scale }) => scale || 1})\n rotate(${({ scale }) => (scale !== 1 ? 0.04 : 0)}deg);\n transform-origin: ${({ zoomPoint }) =>\n zoomPoint ? `${zoomPoint[0] * 100}% ${zoomPoint[1] * 100}%` : 'center'};\n\n will-change: transform, opacity;\n`;\n\nconst AnimationImages: FC<{\n zoom?: number;\n zoomPoint?: [number, number];\n images: KenBurnsImage[];\n interval?: number;\n onChange?: (imgId: number) => void;\n}> = ({\n zoom = 1.08,\n zoomPoint = [0.5, 0.5],\n interval = 10000,\n images,\n onChange,\n}) => {\n const intervalRef = useRef<number | null>();\n const initialTimeoutRef = useRef<number | null>();\n const [activeImg, setActiveImg] = useState<number>(-1);\n\n useEffect(() => {\n const changeImage = () => {\n setActiveImg((prev) => {\n return (prev + 1) % images.length;\n });\n };\n\n // changeImage();\n initialTimeoutRef.current = window.setTimeout(changeImage, 200);\n if (intervalRef.current) window.clearInterval(intervalRef.current);\n intervalRef.current = window.setInterval(changeImage, interval);\n\n return () => {\n if (initialTimeoutRef.current)\n window.clearTimeout(initialTimeoutRef.current);\n if (intervalRef.current) window.clearInterval(intervalRef.current);\n };\n }, [images, interval]);\n\n useEffect(() => {\n if (activeImg !== -1) onChange && onChange(activeImg);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeImg]);\n\n return (\n <React.Fragment>\n {images.map((img, i) => {\n let imgZoom = 1;\n let imgZoomPoint = zoomPoint;\n\n if (i === activeImg) {\n imgZoom = img.zoom !== undefined ? img.zoom : zoom;\n }\n\n if (img.zoomPoint) {\n imgZoomPoint = getValidZoomPoint(img.zoomPoint);\n }\n\n return (\n <AnimationImage\n key={i}\n style={{\n zIndex: i === activeImg ? 1 : 0,\n }}\n src={img.image}\n scale={imgZoom}\n opacity={i === activeImg ? 1 : 0}\n zoomPoint={imgZoomPoint}\n alt=\"\"\n role=\"presentation\"\n />\n );\n })}\n </React.Fragment>\n );\n};\n\nconst preloadImages = (images: KenBurnsImage[]): Promise<KenBurnsImage>[] => {\n const loadedImages: Promise<KenBurnsImage>[] = images.map((req) => {\n return new Promise((resolve) => {\n const img = new window.Image();\n img.src = req.image;\n img.onload = () => resolve(req);\n });\n });\n\n return loadedImages;\n};\n\ntype KenBurnsMq = 'small' | 'medium' | 'large' | 'xlarge';\n\ninterface KenBurnsImage {\n id: number | string;\n image: string;\n alt?: string;\n zoom?: number;\n zoomPoint?: [number, number];\n}\n\nconst getValidZoomPoint = (point: [number, number]) => {\n return [clampValue(point[0], 0, 1), clampValue(point[1], 0, 1)] as [\n number,\n number\n ];\n};\n\nconst HeaderKenBurns: React.FC<{\n images: HeaderImage[];\n zoom?: number;\n zoomPoint?: [number, number];\n interval?: number;\n onImageChange?: (currentImg: HeaderImage) => void;\n className?: string;\n children?: React.ReactNode;\n}> = ({\n images,\n zoom = 1.08,\n zoomPoint = [0.5, 0.5],\n interval = 10000,\n onImageChange,\n className,\n children,\n}) => {\n const mqs: KenBurnsMq[] = ['small', 'medium', 'large', 'xlarge'];\n const currentMq = useMediaQuery(mqs) as KenBurnsMq | undefined;\n\n const [loadedImages, setLoadedImages] = useState<{\n [key: string]: KenBurnsImage[];\n }>({\n small: [],\n medium: [],\n large: [],\n xlarge: [],\n });\n\n useEffect(() => {\n if (currentMq) {\n const loadedForMq = loadedImages[currentMq];\n\n if (loadedForMq.length < images.length && images.length >= 2) {\n const requestedImages: KenBurnsImage[] = images.map(\n (img, i) => ({\n id: i,\n image: img[currentMq] as string,\n zoom: img.zoom || zoom,\n zoomPoint: img.zoomPoint || zoomPoint,\n alt: img.alt,\n })\n );\n\n const resolve = async (\n imagePromises: Promise<KenBurnsImage>[]\n ) => {\n for (const promise of imagePromises) {\n const loadedImg = await promise;\n\n setLoadedImages((prev) => {\n // check if image id already exists in array\n if (\n !prev[currentMq].find(\n (e) => e.id === loadedImg.id\n )\n ) {\n return {\n ...prev,\n [currentMq]: [\n ...prev[currentMq],\n loadedImg,\n ],\n };\n } else return prev;\n });\n }\n };\n\n resolve(preloadImages(requestedImages));\n }\n }\n }, [currentMq, images, loadedImages, zoom, zoomPoint]);\n\n return (\n <AnimationContainer className={className}>\n <PosterImage {...images[0]} coverSpace ratios={undefined} />\n {currentMq && loadedImages[currentMq].length >= images.length && (\n <AnimationImages\n zoom={zoom}\n zoomPoint={getValidZoomPoint(zoomPoint)}\n interval={interval}\n images={loadedImages[currentMq]}\n onChange={(id) =>\n images[id] && onImageChange && onImageChange(images[id])\n }\n />\n )}\n {children}\n </AnimationContainer>\n );\n};\n\nexport default HeaderKenBurns;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { HeaderFocus } from './Header';\n\nconst PosterView = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\nconst BgImage = styled(Image)<{ focus?: HeaderFocus }>`\n height: 100%;\n\n img {\n height: 100%;\n object-position: ${({ focus }) =>\n `${focus?.[0] || 'center'} ${focus?.[1] || 'center'}`};\n }\n`;\n\nconst HeaderPoster: React.FC<{\n isInverted?: boolean;\n bgImage?: Omit<ImageProps, 'ratios' | 'coverSpace'>;\n focus?: HeaderFocus;\n className?: string;\n children?: React.ReactNode;\n}> = ({ isInverted, bgImage, focus, className, children }) => {\n return (\n <PosterView className={className}>\n {bgImage && (\n <BgImage\n {...bgImage}\n alt=\"\"\n coverSpace\n ratios={undefined}\n isInverted={isInverted}\n focus={focus}\n />\n )}\n {children}\n </PosterView>\n );\n};\n\nexport default HeaderPoster;\n","import React, { useRef } from 'react';\nimport styled from 'styled-components';\n\nimport { useState, useEffect } from 'react';\nimport Image from 'components/blocks/Image';\nimport { useMediaQuery } from 'utils/useMediaQuery';\nimport { HeaderFocus, HeaderImage } from './Header';\nimport { mq, spacings } from 'utils/styles';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport useUpdateEffect from 'utils/useUpdateEffect';\n\nconst PosterView = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\nconst PlaceholderImg = styled(Image)<{ focus?: HeaderFocus }>`\n position: relative;\n height: 100%;\n\n img {\n object-position: ${({ focus }) =>\n `${focus?.[0] || 'center'} ${focus?.[1] || 'center'}`};\n\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n height: 100%;\n z-index: 0;\n }\n\n margin: 0 auto;\n\n @media ${mq.medium} {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: ${spacings.spacer * 2}px;\n z-index: 2;\n\n & > * {\n margin-top: ${spacings.spacer}px;\n max-width: 880px;\n }\n }\n`;\n\nconst AutoplayVideo = styled.video<{\n isVisible?: boolean;\n focus?: HeaderFocus;\n}>`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n height: 100%;\n width: 100%;\n object-fit: cover;\n object-position: ${({ focus }) =>\n `${focus?.[0] || 'center'} ${focus?.[1] || 'center'}`};\n opacity: ${({ isVisible }) => (isVisible ? 1 : 0)};\n pointer-events: none;\n z-index: 1;\n\n transition: opacity 0.3s ease-in-out;\n`;\n\ntype HeaderVideoMq = 'small' | 'medium' | 'semilarge' | 'large' | 'xlarge';\n\nconst HeaderVideo: React.FC<{\n isInverted?: boolean;\n loadOnMobile?: boolean;\n placeholderImg?: HeaderImage;\n focus?: HeaderFocus;\n videoUrl?: string;\n className?: string;\n children?: React.ReactNode;\n}> = ({\n isInverted,\n loadOnMobile = true,\n placeholderImg,\n focus,\n videoUrl,\n className,\n children,\n}) => {\n const videoRef = useRef<HTMLVideoElement | null>(null);\n const viewRef = useRef<HTMLDivElement | null>(null);\n const [isLoaded, setLoaded] = useState<boolean>(\n !placeholderImg?.small || false\n );\n const isObserverSupported = useObserverSupport();\n const currentMq = useMediaQuery([\n 'small',\n 'medium',\n 'semilarge',\n 'large',\n 'xlarge',\n ]) as HeaderVideoMq | undefined;\n\n const isMobile = currentMq === undefined || currentMq === 'small';\n const isVideoAllowed = loadOnMobile || !isMobile;\n\n const [isVideoActive, setVideoActive] = useState<boolean>(false);\n\n useEffect(() => {\n if (!isVideoAllowed) setLoaded(false);\n }, [isMobile, isVideoAllowed, loadOnMobile]);\n\n useEffect(() => {\n if (!videoRef.current) return;\n\n if (videoRef.current.readyState > 3) {\n setLoaded(true);\n }\n }, []);\n\n useUpdateEffect(() => {\n if (!isVideoAllowed || !videoUrl || !viewRef.current) return;\n if (!isObserverSupported) {\n setVideoActive(true);\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries, observer) => {\n const [entry] = entries;\n\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n setVideoActive(true);\n }\n },\n {\n rootMargin: '200px 0px 200px 0px',\n }\n );\n\n const viewEl = viewRef.current;\n observer.observe(viewEl);\n\n return () => {\n if (viewEl) observer.unobserve(viewEl);\n };\n }, [isObserverSupported, isVideoAllowed]);\n\n return (\n <PosterView ref={viewRef} className={className}>\n {placeholderImg?.small && !isLoaded && (\n <PlaceholderImg\n {...placeholderImg}\n coverSpace\n ratios={undefined}\n isInverted={isInverted}\n focus={focus}\n isDecorative\n />\n )}\n {videoUrl && isVideoAllowed && (\n <AutoplayVideo\n ref={videoRef}\n isVisible={isLoaded}\n src={isVideoActive ? videoUrl : undefined}\n muted\n autoPlay\n loop\n playsInline\n onCanPlayThrough={() => {\n setLoaded(true);\n }}\n focus={focus}\n aria-hidden=\"true\"\n />\n )}\n {children}\n </PosterView>\n );\n};\n\nexport default HeaderVideo;\n","import React, { FC } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { mq, spacings, withRange } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport HeaderKenBurns from './HeaderKenBurns';\nimport HeaderPoster from './HeaderPoster';\nimport Actions from 'components/blocks/Actions';\nimport HeaderVideo from './HeaderVideo';\nimport Copy from 'components/typography/Copy';\nimport Heading, { HeadlineTag } from 'components/typography/Heading';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport { ImageProps } from 'components/blocks/Image';\nimport {\n generateNavbarIdent as genIdent,\n getFullNavbarHeights as getNavHeight,\n} from '../navigation/Navigation';\n\nconst Poster: FC<{\n isInverted?: boolean;\n videoUrl?: string;\n images?: Omit<ImageProps, 'ratios' | 'coverSpace'>[];\n focus?: HeaderFocus;\n kenBurnsZoom?: number;\n kenBurnsZoomPoint?: [number, number];\n kenBurnsInterval?: number;\n onImageChange?: (image?: Omit<ImageProps, 'ratios' | 'coverSpace'>) => void;\n className?: string;\n children?: React.ReactNode;\n}> = ({\n isInverted,\n videoUrl,\n images,\n focus,\n kenBurnsZoom,\n kenBurnsZoomPoint,\n kenBurnsInterval,\n onImageChange,\n className,\n children,\n}) => {\n switch (true) {\n case !!videoUrl: {\n return (\n <HeaderVideo\n isInverted={isInverted}\n videoUrl={videoUrl}\n focus={focus}\n placeholderImg={images?.[0]}\n className={className}\n >\n {children}\n </HeaderVideo>\n );\n }\n\n case images && images.length > 1: {\n return (\n <HeaderKenBurns\n images={images || []}\n zoom={kenBurnsZoom}\n zoomPoint={kenBurnsZoomPoint}\n interval={kenBurnsInterval}\n onImageChange={onImageChange}\n className={className}\n >\n {children}\n </HeaderKenBurns>\n );\n }\n\n // single image\n case images && images.length === 1: {\n return (\n <HeaderPoster\n isInverted={isInverted}\n bgImage={images?.[0]}\n focus={focus}\n className={className}\n >\n {children}\n </HeaderPoster>\n );\n }\n\n default: {\n return <div>{children}</div>;\n }\n }\n};\n\nconst genHeightStyles = (isFull: boolean) => css`\n // Doing some crazy shit to calculate curent navbar height in CSS\n ${({ theme }) => {\n // navbar main only\n const mainIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n });\n\n // navbar main and top\n const mainTopIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasTop: true,\n });\n\n // navbar main and bottom\n const mainBottomIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasBottom: true,\n });\n\n // full navbar with all bars\n const fullIdent = genIdent({\n pageFlow: 'beforeContent',\n hasTop: true,\n hasMain: true,\n hasBottom: true,\n });\n\n const navMainHeight = getNavHeight(theme, mainIdent).large;\n const navMainTopHeight = getNavHeight(theme, mainTopIdent).large;\n const navMainBottomHeight = getNavHeight(theme, mainBottomIdent).large;\n const navFullHeight = getNavHeight(theme, fullIdent).large;\n\n const mapToSelector = (idents: string[]) => {\n return idents.map((id) => `[data-navbar-ident*='${id}']`).join('');\n };\n\n const refHeight = isFull ? '100vh' : '80vh';\n\n return css`\n & > ${StyledPoster} {\n min-height: 500px;\n height: ${refHeight};\n }\n\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainHeight[0]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainTopHeight[0]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainBottomHeight[0]}px);\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navFullHeight[0]}px);\n }\n }\n\n @media ${mq.semilarge} {\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainHeight[1]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navMainTopHeight[1]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(\n ${refHeight} - ${navMainBottomHeight[1]}px\n );\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} + & {\n & > ${StyledPoster} {\n height: calc(${refHeight} - ${navFullHeight[1]}px);\n }\n }\n }\n `;\n }}\n`;\n\nconst HeaderSection = styled(Section)`\n position: relative;\n ${genHeightStyles(true)}\n\n header + & {\n ${withRange([0], 'padding-top')}\n ${withRange([0], 'margin-top')}\n }\n`;\n\nconst HeaderSectionSmall = styled(Section)`\n position: relative;\n ${genHeightStyles(false)}\n\n header + & {\n ${withRange([0], 'padding-top')}\n ${withRange([0], 'margin-top')}\n }\n`;\n\nconst StyledPoster = styled(Poster)`\n position: relative;\n height: 100vh;\n max-height: 1300px;\n max-width: ${spacings.wrapperLarge}px;\n margin: 0 auto;\n`;\n\nconst Overlay = styled.div<{ bgValue?: string; textOnImage?: boolean }>`\n display: ${({ textOnImage }) => (textOnImage ? 'block' : 'none')};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: ${({ bgValue }) => bgValue && bgValue};\n z-index: 2;\n\n @media ${mq.medium} {\n display: block;\n }\n`;\n\nconst Content = styled.div<{ isCentered?: boolean; textOnImage?: boolean }>`\n display: none;\n max-width: ${spacings.wrapper}px;\n margin: 0 auto;\n\n ${({ textOnImage, isCentered }) =>\n textOnImage &&\n css`\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: ${isCentered && 'center'};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: ${spacings.spacer}px;\n z-index: 2;\n\n & > * {\n margin-top: ${spacings.spacer}px;\n max-width: 880px;\n }\n `}\n\n @media ${mq.medium} {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: ${({ isCentered }) => isCentered && 'center'};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: ${spacings.spacer * 2}px;\n z-index: 2;\n\n & > * {\n margin-top: ${spacings.spacer}px;\n max-width: 880px;\n }\n }\n`;\n\nconst ContentMobile = styled.div`\n padding: ${spacings.spacer}px ${spacings.nudge * 2}px;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n @media ${mq.medium} {\n display: none;\n }\n`;\n\nconst Title = styled(Heading)<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n @media ${mq.medium} {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 3; /* number of lines to show */\n line-clamp: 3;\n -webkit-box-orient: vertical;\n }\n`;\n\nconst Text = styled(Copy)<{ isCentered?: boolean }>`\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 4; /* number of lines to show */\n line-clamp: 4;\n -webkit-box-orient: vertical;\n`;\n\nconst StyledActions = styled(Actions)<{ isCentered?: boolean }>`\n @media ${mq.medium} {\n display: block;\n text-align: ${({ isCentered }) => isCentered && 'center'};\n }\n`;\n\nexport type HeaderSize = 'full' | 'small';\nexport type HeaderImage = Omit<ImageProps, 'ratios' | 'coverSpace'> & {\n zoomPoint?: [number, number];\n zoom?: number;\n};\nexport type HeaderFocus = [\n 'left' | 'center' | 'right',\n 'top' | 'center' | 'bottom'\n];\n\nconst Header: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Header image height size (full=100vh, small=80vh) */\n size?: HeaderSize;\n\n /** Focus point of header image / video */\n focusPoint?: HeaderFocus;\n\n /** Center content */\n isCentered?: boolean;\n\n /** Header title on image */\n title?: string;\n\n /** Header title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Header text on image */\n text?: string;\n\n /** Force text on image on all screen widths */\n textOnImage?: boolean;\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Array of image settings */\n images?: HeaderImage[];\n\n /** CSS value of custom image overlay to help seperate the text from the background */\n customImgOverlay?: string;\n\n /** URL to header video. First image in images array can be used as fallback */\n videoUrl?: string;\n\n /** Ken burns effect zoom */\n kenBurnsZoom?: number;\n\n /** Global zoom point for all images with ken burns effect. x and y values in the range from 0 - 1 */\n kenBurnsZoomPoint?: [number, number];\n\n /** Time between each image in ken burns mode */\n kenBurnsInterval?: number;\n\n /** Callback called on image change */\n onImageChange?: (image?: Omit<ImageProps, 'ratios' | 'coverSpace'>) => void;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n}> = ({\n anchorId,\n size = 'full',\n focusPoint = ['center', 'center'],\n isCentered,\n title,\n titleAs,\n text,\n primaryAction,\n secondaryAction,\n videoUrl,\n images,\n customImgOverlay,\n kenBurnsZoom = 1.08,\n kenBurnsZoomPoint = [0.5, 0.5],\n kenBurnsInterval = 10000,\n onImageChange,\n bgMode,\n textOnImage,\n}) => {\n const { globals, colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasContent = title || text || primaryAction || secondaryAction;\n\n const overlay = hasContent\n ? customImgOverlay || globals.sections.imageTextGradient\n : undefined;\n\n const Section = size === 'full' ? HeaderSection : HeaderSectionSmall;\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <StyledPoster\n isInverted={isInverted}\n images={images}\n videoUrl={videoUrl}\n kenBurnsInterval={kenBurnsInterval}\n kenBurnsZoom={kenBurnsZoom}\n kenBurnsZoomPoint={kenBurnsZoomPoint}\n onImageChange={onImageChange}\n focus={focusPoint}\n >\n {hasContent && (\n <React.Fragment>\n <Overlay bgValue={overlay} textOnImage={textOnImage} />\n <Content\n isCentered={isCentered}\n textOnImage={textOnImage}\n >\n {title && (\n <Title\n isInverted\n size=\"heading-1\"\n isCentered={isCentered}\n renderAs={titleAs || 'h1'}\n innerHTML={title}\n />\n )}\n {text && (\n <Text\n isInverted\n isCentered={isCentered}\n type=\"copy-b\"\n size=\"big\"\n innerHTML={text}\n />\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n isCentered={isCentered}\n primary={\n primaryAction && primaryAction(true)\n }\n secondary={\n secondaryAction && secondaryAction(true)\n }\n />\n )}\n </Content>\n </React.Fragment>\n )}\n </StyledPoster>\n {hasContent && !textOnImage && (\n <ContentMobile>\n {title && (\n <Title\n size=\"heading-1\"\n isCentered={isCentered}\n renderAs={titleAs}\n innerHTML={title}\n isInverted={isInverted}\n />\n )}\n {text && (\n <Text\n type=\"copy-b\"\n size=\"big\"\n isCentered={isCentered}\n innerHTML={text}\n isInverted={isInverted}\n />\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n isCentered={isCentered}\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </ContentMobile>\n )}\n </Section>\n );\n};\n\nexport const HeaderComponent = Header;\nexport default withLibTheme(Header);\n"],"names":["AnimationContainer","styled","div","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","PosterImage","Image","templateObject_2","AnimationImage","img","templateObject_3","_a","scale","concat","opacity","zoomPoint","AnimationImages","_b","zoom","_c","_d","interval","images","onChange","intervalRef","useRef","initialTimeoutRef","_e","useState","activeImg","setActiveImg","useEffect","changeImage","prev","length","current","window","setTimeout","clearInterval","setInterval","clearTimeout","React","createElement","Fragment","map","i","imgZoom","imgZoomPoint","undefined","getValidZoomPoint","key","style","zIndex","src","image","alt","role","point","clampValue","HeaderKenBurns","onImageChange","className","children","currentMq","useMediaQuery","small","medium","large","xlarge","loadedImages","setLoadedImages","imagePromises","requestedImages","id","req","Promise","resolve","onload","preloadImages","__awaiter","promise","loadedImg","sent","find","e","__assign","_i","imagePromises_1","coverSpace","ratios","PosterView","BgImage","focus","HeaderPoster","isInverted","bgImage","PlaceholderImg","mq","spacings","spacer","AutoplayVideo","video","isVisible","HeaderVideo","loadOnMobile","placeholderImg","videoUrl","videoRef","viewRef","isLoaded","setLoaded","isObserverSupported","useObserverSupport","isMobile","isVideoAllowed","isVideoActive","setVideoActive","readyState","useUpdateEffect","observer","IntersectionObserver","entries","entry","isIntersecting","unobserve","target","rootMargin","viewEl","observe","ref","isDecorative","muted","autoPlay","loop","playsInline","onCanPlayThrough","genHeightStyles","isFull","css","theme","mainIdent","genIdent","pageFlow","hasMain","mainTopIdent","hasTop","mainBottomIdent","hasBottom","fullIdent","navMainHeight","getNavHeight","getFullNavbarHeights","navMainTopHeight","navMainBottomHeight","navFullHeight","mapToSelector","idents","join","refHeight","StyledPoster","split","semilarge","HeaderSection","Section","withRange","HeaderSectionSmall","templateObject_4","kenBurnsZoom","kenBurnsZoomPoint","kenBurnsInterval","templateObject_5","wrapperLarge","Overlay","templateObject_6","textOnImage","bgValue","Content","wrapper","isCentered","templateObject_7","ContentMobile","templateObject_9","nudge","Title","Heading","templateObject_10","Text","Copy","templateObject_11","StyledActions","Actions","Header$1","withLibTheme","anchorId","size","focusPoint","title","titleAs","text","primaryAction","secondaryAction","customImgOverlay","_f","bgMode","_g","useLibTheme","globals","colors","hasContent","overlay","sections","imageTextGradient","addSeperation","bgColor","sectionBg","dark","light","mapToBgMode","renderAs","innerHTML","type","primary","secondary"],"mappings":"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"}
package/cjs/hooks.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./useEqualSheetHeight-f1c10ec5.js"),r=require("./useIE-aef9decc.js"),t=require("react"),n=require("./useMediaQuery-619d7203.js"),a=require("./useScroll-2f086e7f.js"),u=require("./useScrollTo-fdd665da.js"),s=require("./useUpdateEffect-4d233e2c.js"),o=require("./useMounted-0bba9869.js"),i=require("./useLazyInput-911b8eda.js"),l=require("./navigation-3f9d4ac4.js"),c=require("./Filter-89286db9.js"),d=require("./hexRgbConverter-91b28aea.js"),f=require("./clamp-bd21d587.js"),p=require("./arrays-c272ed59.js"),m=require("./concat-f387d848.js"),g=require("./styles-13e5d9ac.js"),v=require("./useLeafletMap-514304b6.js"),x=require("./useGeolocation-d8946470.js"),h=require("./useObserverSupport-5ab320dd.js"),y=require("./urlParams-7525f638.js"),_=require("./useCookieConsent-665d91cf.js");function b(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("react-dom/server");var w=b(t),S=function(){if(!n.isBrowser)return!1;var e=document.createElement("canvas");return(!e.getContext||!e.getContext("2d"))&&0==e.toDataURL("image/webp").indexOf("data:image/webp")};var E="undefined"!=typeof window&&"URLSearchParams"in window,j=function(e){var r={},t=Object.fromEntries(e||new URLSearchParams(window.location.search));for(var n in t){var a=t[n];"string"==typeof a&&(a=decodeURIComponent(a)),r[n]=a}return r};exports.useEqualSheetHeight=e.useEqualSheetHeight,exports.useFontsLoaded=e.useFontsLoaded,exports.useResizeThrottle=e.useResizeThrottle,exports.useIE=r.useIE,exports.getMediaQuery=n.getMediaQuery,exports.isBrowser=n.isBrowser,exports.useDynamicMediaQueries=n.useDynamicMediaQueries,exports.useMediaQueries=n.useMediaQueries,exports.useMediaQuery=n.useMediaQuery,Object.defineProperty(exports,"ScrollDirection",{enumerable:!0,get:function(){return a.ScrollDirection}}),exports.useScroll=a.useScroll,exports.useScrollTo=u.useScrollTo,exports.useUpdateEffect=s.useUpdateEffect,exports.useMounted=o.useMounted,exports.useDebounce=i.useDebounce,exports.useLazyInput=i.useLazyInput,exports.useTimeout=i.useTimeout,exports.getCurrentNavItem=l.getCurrentNavItem,exports.getCurrentNavPath=l.getCurrentNavPath,exports.useScrollThrottle=l.useScrollThrottle,exports.hexToRgba=d.hexToRgba,exports.clampValue=f.clampValue,exports.isEmptyArray=p.isEmptyArray,exports.isValidArray=p.isValidArray,exports.concat=m.concat,exports.printAnchorTag=m.printAnchorTag,exports.getSVGDataImg=g.getSVGDataImg,exports.useLeafletMap=v.useLeafletMap,exports.useGeolocation=x.useGeolocation,exports.useObserverSupport=h.useObserverSupport,exports.deleteUrlParam=y.deleteUrlParam,exports.getUrlParams=y.getUrlParams,exports.setUrlParam=y.setUrlParam,exports.selectors=_.selectors,exports.useCookieConsent=_.useCookieConsent,exports.canUseWebP=S,exports.getBgImage=function(e,r){switch(r){default:case"small":return e.small;case"medium":return e.medium||e.semilarge||e.large||e.xlarge||e.small;case"semilarge":return e.semilarge||e.large||e.xlarge||e.medium||e.small;case"large":return e.large||e.xlarge||e.semilarge||e.medium||e.small;case"xlarge":return e.xlarge||e.large||e.semilarge||e.medium||e.small}},exports.getLinkIcon=function(e,r,t){var n,a=g.getGlobals(e).icons.linkIcons,u=".".concat((null==r?void 0:r.split(".").pop())||""),s=a.find((function(e){var r;return null===(r=e.patterns)||void 0===r?void 0:r.find((function(e){return e.match(u)}))}));return(null==s?void 0:s.iconChar)||(null===(n=null==s?void 0:s.iconUrl)||void 0===n?void 0:n.call(s,t))||""},exports.importFonts=function(e){return w.default.createElement(w.default.Fragment,null,e&&e.length>0&&w.default.createElement("style",{dangerouslySetInnerHTML:{__html:null==e?void 0:e.reduce((function(e,r){var t;return(null==r?void 0:r.fallbacks)?e+=null===(t=null==r?void 0:r.fallbacks)||void 0===t?void 0:t.reduce((function(e,r){return e+="@font-face { font-family: '".concat(r.name,"'; size-adjust: ").concat(r.sizeAdjust,"; src: local('").concat(r.altFont,"'); } ")}),""):e}),"")}}),null==e?void 0:e.map((function(e,r){return w.default.createElement("link",{key:r,rel:"preconnect",href:e.rootPath,crossOrigin:"true"})})),null==e?void 0:e.map((function(e,r){return w.default.createElement("link",{key:r,rel:"preload",as:"style",href:e.sourcePath})})),w.default.createElement("style",{dangerouslySetInnerHTML:{__html:"</style>".concat(null==e?void 0:e.reduce((function(e,r){return e+'\n <link rel="stylesheet" href="'.concat(r.sourcePath,'" media="print" onload="this.media=\'all\'" />')}),""),"<style>")}}),w.default.createElement("noscript",null,null==e?void 0:e.map((function(e,r){return w.default.createElement("link",{key:r,rel:"stylesheet",href:e.sourcePath})}))))},exports.useArray=function(e){var r=t.useState(e||[]),n=r[0],a=r[1];return{array:n,set:a,push:function(e){Array.isArray(e)?a((function(r){return c.__spreadArray(c.__spreadArray([],r,!0),e,!0)})):a((function(r){return c.__spreadArray(c.__spreadArray([],r,!0),[e],!1)}))},filter:function(e){a((function(r){return r.filter(e)}))},update:function(e,r){a((function(t){return c.__spreadArray(c.__spreadArray(c.__spreadArray([],t.slice(0,e),!0),[r],!1),t.slice(e+1,t.length),!0)}))},remove:function(e){a((function(r){return c.__spreadArray(c.__spreadArray([],r.slice(0,e),!0),r.slice(e+1,r.length),!0)}))},clear:function(){a([])},pop:function(){var e;return a((function(r){var t=c.__spreadArray([],r,!0);return e=t.pop(),t})),e}}},exports.useImgPreload=function(e,r){void 0===r&&(r=["semilarge","large"]);var a=t.useState(!1),u=a[0],s=a[1],o=t.useState(!1),i=o[0],l=o[1],d=n.useMediaQuery(r),f=t.useState({small:[],medium:[],semilarge:[],large:[],xlarge:[],xxlarge:[],xxxLarge:[]}),p=f[0],m=f[1];return t.useEffect((function(){var r;if(u&&p&&d&&(p[d].length<e.length&&e.length>0)){var t=e.map((function(e){return e[d]}));r=function(e){return e.filter((function(e){return e})).map((function(e,r){return new Promise((function(t){var n=new window.Image;n.src=e,n.onload=function(){return t({url:e,i:r})}}))}))}(t),c.__awaiter(void 0,void 0,void 0,(function(){var e,t,n,a;return c.__generator(this,(function(u){switch(u.label){case 0:e=function(e){var r;return c.__generator(this,(function(t){switch(t.label){case 0:return[4,e];case 1:return r=t.sent(),m((function(e){var t;return e[d].find((function(e){return e.id===r.i}))?e:c.__assign(c.__assign({},e),((t={})[d]=c.__spreadArray(c.__spreadArray([],e[d],!0),[{id:r.i,image:r.url}],!1),t))})),[2]}}))},t=0,n=r,u.label=1;case 1:return t<n.length?(a=n[t],[5,e(a)]):[3,4];case 2:u.sent(),u.label=3;case 3:return t++,[3,1];case 4:return[2]}}))}))}}),[d,e,u,p]),t.useEffect((function(){if(p&&d){var r=e.filter((function(e){return e[d]})).length;l(p[d].length>=r)}}),[d,e,p]),{loadedImages:d&&p[d],isLoaded:i,setReady:s}},exports.useInterval=function(e,r){var n=t.useRef(e),a=t.useRef();t.useEffect((function(){n.current=e}),[e]);var u=t.useCallback((function(){a.current=window.setInterval((function(){var e;return null===(e=n.current)||void 0===e?void 0:e.call(n)}),r)}),[r]),s=t.useCallback((function(){a.current&&window.clearInterval(a.current)}),[]);t.useEffect((function(){return u(),s}),[r,u,s]);var o=t.useCallback((function(){s(),u()}),[s,u]);return{clear:s,reset:o}},exports.useItemHeight=function(){var e=t.useState(null),r=e[0],n=e[1],a=t.useState(0),u=a[0],s=a[1];return t.useEffect((function(){var e=function(){r&&s(r.offsetHeight)};return r&&(e(),window.addEventListener("resize",e)),function(){window.removeEventListener("resize",e)}}),[r]),{setElement:n,height:u}},exports.useParams=function(){var e=t.useState({}),r=e[0],n=e[1];t.useEffect((function(){E&&n(j())}),[]);var a=t.useCallback((function(e,t){if(E){var a=c.__assign({},r);a[e]=t;var u=new URLSearchParams(window.location.search);for(var s in a)u.set(s,encodeURIComponent(a[s]));n(j(u)),window.history.replaceState({},"","".concat(location.pathname,"?").concat(u.toString()+location.hash))}}),[r]);return{params:r,update:a}},exports.usePoster=function(e,r){var a=t.useState(),u=a[0],s=a[1],o=e.webp&&S()?e.webp:e,i=n.useMediaQuery(r||["small","medium","semilarge","large","xlarge"]);return t.useEffect((function(){i&&o[i]&&o[i]!==u&&s(o[i])}),[u,i,o]),u},exports.useTouch=function(){var e=t.useState(!1),r=e[0],n=e[1];return t.useEffect((function(){n("ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0)}),[]),r};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./useEqualSheetHeight-7eb7f276.js"),r=require("./useIE-aef9decc.js"),t=require("react"),n=require("./useMediaQuery-dd367f98.js"),a=require("./useScroll-2f086e7f.js"),u=require("./useScrollTo-fdd665da.js"),s=require("./useUpdateEffect-4d233e2c.js"),o=require("./useMounted-0bba9869.js"),i=require("./useLazyInput-1481445a.js"),l=require("./navigation-ec5cddfc.js"),c=require("./ButtonLeft-7e1f216a.js"),d=require("./hexRgbConverter-91b28aea.js"),f=require("./clamp-bd21d587.js"),p=require("./arrays-c272ed59.js"),m=require("./concat-8bd71a50.js"),g=require("./styles-271afb02.js"),v=require("./useLeafletMap-145217ee.js"),x=require("./useGeolocation-d8946470.js"),h=require("./useObserverSupport-5ab320dd.js"),y=require("./urlParams-c412d937.js"),_=require("./useCookieConsent-674d004d.js");function b(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("react-dom/server");var w=b(t),S=function(){if(!n.isBrowser)return!1;var e=document.createElement("canvas");return(!e.getContext||!e.getContext("2d"))&&0==e.toDataURL("image/webp").indexOf("data:image/webp")};var E="undefined"!=typeof window&&"URLSearchParams"in window,j=function(e){var r={},t=Object.fromEntries(e||new URLSearchParams(window.location.search));for(var n in t){var a=t[n];"string"==typeof a&&(a=decodeURIComponent(a)),r[n]=a}return r};exports.useEqualSheetHeight=e.useEqualSheetHeight,exports.useFontsLoaded=e.useFontsLoaded,exports.useResizeThrottle=e.useResizeThrottle,exports.useIE=r.useIE,exports.getMediaQuery=n.getMediaQuery,exports.isBrowser=n.isBrowser,exports.useDynamicMediaQueries=n.useDynamicMediaQueries,exports.useMediaQueries=n.useMediaQueries,exports.useMediaQuery=n.useMediaQuery,Object.defineProperty(exports,"ScrollDirection",{enumerable:!0,get:function(){return a.ScrollDirection}}),exports.useScroll=a.useScroll,exports.useScrollTo=u.useScrollTo,exports.useUpdateEffect=s.useUpdateEffect,exports.useMounted=o.useMounted,exports.useDebounce=i.useDebounce,exports.useLazyInput=i.useLazyInput,exports.useTimeout=i.useTimeout,exports.getCurrentNavItem=l.getCurrentNavItem,exports.getCurrentNavPath=l.getCurrentNavPath,exports.useScrollThrottle=l.useScrollThrottle,exports.hexToRgba=d.hexToRgba,exports.clampValue=f.clampValue,exports.isEmptyArray=p.isEmptyArray,exports.isValidArray=p.isValidArray,exports.concat=m.concat,exports.printAnchorTag=m.printAnchorTag,exports.getSVGDataImg=g.getSVGDataImg,exports.useLeafletMap=v.useLeafletMap,exports.useGeolocation=x.useGeolocation,exports.useObserverSupport=h.useObserverSupport,exports.deleteUrlParam=y.deleteUrlParam,exports.getUrlParams=y.getUrlParams,exports.setUrlParam=y.setUrlParam,exports.selectors=_.selectors,exports.useCookieConsent=_.useCookieConsent,exports.canUseWebP=S,exports.getBgImage=function(e,r){switch(r){default:case"small":return e.small;case"medium":return e.medium||e.semilarge||e.large||e.xlarge||e.small;case"semilarge":return e.semilarge||e.large||e.xlarge||e.medium||e.small;case"large":return e.large||e.xlarge||e.semilarge||e.medium||e.small;case"xlarge":return e.xlarge||e.large||e.semilarge||e.medium||e.small}},exports.getLinkIcon=function(e,r,t){var n,a=g.getGlobals(e).icons.linkIcons,u=".".concat((null==r?void 0:r.split(".").pop())||""),s=a.find((function(e){var r;return null===(r=e.patterns)||void 0===r?void 0:r.find((function(e){return e.match(u)}))}));return(null==s?void 0:s.iconChar)||(null===(n=null==s?void 0:s.iconUrl)||void 0===n?void 0:n.call(s,t))||""},exports.importFonts=function(e){return w.default.createElement(w.default.Fragment,null,e&&e.length>0&&w.default.createElement("style",{dangerouslySetInnerHTML:{__html:null==e?void 0:e.reduce((function(e,r){var t;return(null==r?void 0:r.fallbacks)?e+=null===(t=null==r?void 0:r.fallbacks)||void 0===t?void 0:t.reduce((function(e,r){return e+="@font-face { font-family: '".concat(r.name,"'; size-adjust: ").concat(r.sizeAdjust,"; src: local('").concat(r.altFont,"'); } ")}),""):e}),"")}}),null==e?void 0:e.map((function(e,r){return w.default.createElement("link",{key:r,rel:"preconnect",href:e.rootPath,crossOrigin:"true"})})),null==e?void 0:e.map((function(e,r){return w.default.createElement("link",{key:r,rel:"preload",as:"style",href:e.sourcePath})})),w.default.createElement("style",{dangerouslySetInnerHTML:{__html:"</style>".concat(null==e?void 0:e.reduce((function(e,r){return e+'\n <link rel="stylesheet" href="'.concat(r.sourcePath,'" media="print" onload="this.media=\'all\'" />')}),""),"<style>")}}),w.default.createElement("noscript",null,null==e?void 0:e.map((function(e,r){return w.default.createElement("link",{key:r,rel:"stylesheet",href:e.sourcePath})}))))},exports.useArray=function(e){var r=t.useState(e||[]),n=r[0],a=r[1];return{array:n,set:a,push:function(e){Array.isArray(e)?a((function(r){return c.__spreadArray(c.__spreadArray([],r,!0),e,!0)})):a((function(r){return c.__spreadArray(c.__spreadArray([],r,!0),[e],!1)}))},filter:function(e){a((function(r){return r.filter(e)}))},update:function(e,r){a((function(t){return c.__spreadArray(c.__spreadArray(c.__spreadArray([],t.slice(0,e),!0),[r],!1),t.slice(e+1,t.length),!0)}))},remove:function(e){a((function(r){return c.__spreadArray(c.__spreadArray([],r.slice(0,e),!0),r.slice(e+1,r.length),!0)}))},clear:function(){a([])},pop:function(){var e;return a((function(r){var t=c.__spreadArray([],r,!0);return e=t.pop(),t})),e}}},exports.useImgPreload=function(e,r){void 0===r&&(r=["semilarge","large"]);var a=t.useState(!1),u=a[0],s=a[1],o=t.useState(!1),i=o[0],l=o[1],d=n.useMediaQuery(r),f=t.useState({small:[],medium:[],semilarge:[],large:[],xlarge:[],xxlarge:[],xxxLarge:[]}),p=f[0],m=f[1];return t.useEffect((function(){var r;if(u&&p&&d&&(p[d].length<e.length&&e.length>0)){var t=e.map((function(e){return e[d]}));r=function(e){return e.filter((function(e){return e})).map((function(e,r){return new Promise((function(t){var n=new window.Image;n.src=e,n.onload=function(){return t({url:e,i:r})}}))}))}(t),c.__awaiter(void 0,void 0,void 0,(function(){var e,t,n,a;return c.__generator(this,(function(u){switch(u.label){case 0:e=function(e){var r;return c.__generator(this,(function(t){switch(t.label){case 0:return[4,e];case 1:return r=t.sent(),m((function(e){var t;return e[d].find((function(e){return e.id===r.i}))?e:c.__assign(c.__assign({},e),((t={})[d]=c.__spreadArray(c.__spreadArray([],e[d],!0),[{id:r.i,image:r.url}],!1),t))})),[2]}}))},t=0,n=r,u.label=1;case 1:return t<n.length?(a=n[t],[5,e(a)]):[3,4];case 2:u.sent(),u.label=3;case 3:return t++,[3,1];case 4:return[2]}}))}))}}),[d,e,u,p]),t.useEffect((function(){if(p&&d){var r=e.filter((function(e){return e[d]})).length;l(p[d].length>=r)}}),[d,e,p]),{loadedImages:d&&p[d],isLoaded:i,setReady:s}},exports.useInterval=function(e,r){var n=t.useRef(e),a=t.useRef();t.useEffect((function(){n.current=e}),[e]);var u=t.useCallback((function(){a.current=window.setInterval((function(){var e;return null===(e=n.current)||void 0===e?void 0:e.call(n)}),r)}),[r]),s=t.useCallback((function(){a.current&&window.clearInterval(a.current)}),[]);t.useEffect((function(){return u(),s}),[r,u,s]);var o=t.useCallback((function(){s(),u()}),[s,u]);return{clear:s,reset:o}},exports.useItemHeight=function(){var e=t.useState(null),r=e[0],n=e[1],a=t.useState(0),u=a[0],s=a[1];return t.useEffect((function(){var e=function(){r&&s(r.offsetHeight)};return r&&(e(),window.addEventListener("resize",e)),function(){window.removeEventListener("resize",e)}}),[r]),{setElement:n,height:u}},exports.useParams=function(){var e=t.useState({}),r=e[0],n=e[1];t.useEffect((function(){E&&n(j())}),[]);var a=t.useCallback((function(e,t){if(E){var a=c.__assign({},r);a[e]=t;var u=new URLSearchParams(window.location.search);for(var s in a)u.set(s,encodeURIComponent(a[s]));n(j(u)),window.history.replaceState({},"","".concat(location.pathname,"?").concat(u.toString()+location.hash))}}),[r]);return{params:r,update:a}},exports.usePoster=function(e,r){var a=t.useState(),u=a[0],s=a[1],o=e.webp&&S()?e.webp:e,i=n.useMediaQuery(r||["small","medium","semilarge","large","xlarge"]);return t.useEffect((function(){i&&o[i]&&o[i]!==u&&s(o[i])}),[u,i,o]),u},exports.useTouch=function(){var e=t.useState(!1),r=e[0],n=e[1];return t.useEffect((function(){n("ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0)}),[]),r};
2
2
  //# sourceMappingURL=hooks.js.map
package/cjs/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../src/utils/usePoster.ts","../src/utils/useTouch.ts","../src/utils/useParams.ts","../src/utils/backgroundImage.ts","../src/utils/getLinkIcon.ts","../src/utils/fontLoading.tsx","../src/utils/useArray.ts","../src/utils/useImgPreload.ts","../src/utils/useInterval.ts","../src/utils/useItemHeight.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { isBrowser, useMediaQuery } from './useMediaQuery';\n\n// *****************\n// usePoster\n// *****************\n\ninterface PosterImage {\n small: string;\n medium?: string;\n semilarge?: string;\n large?: string;\n xlarge?: string;\n}\n\nexport const canUseWebP = () => {\n if (!isBrowser) return false;\n\n const elem = document.createElement('canvas');\n\n if (!(elem.getContext && elem.getContext('2d'))) {\n // was able or not to get WebP representation\n return elem.toDataURL('image/webp').indexOf('data:image/webp') == 0;\n }\n\n // very old browser like IE 8, canvas not supported\n return false;\n};\n\nexport type PosterMq = 'small' | 'medium' | 'semilarge' | 'large' | 'xlarge';\n\nexport const usePoster = (\n posterImage: PosterImage & {\n webp?: PosterImage;\n },\n mqs?: PosterMq[]\n) => {\n const [currentImage, setCurrentImage] = useState<string | undefined>();\n\n const workingImage =\n posterImage.webp && canUseWebP() ? posterImage.webp : posterImage;\n const currentMq = useMediaQuery(\n mqs || ['small', 'medium', 'semilarge', 'large', 'xlarge']\n ) as PosterMq | undefined;\n\n useEffect(() => {\n if (\n currentMq &&\n workingImage[currentMq] &&\n workingImage[currentMq] !== currentImage\n ) {\n setCurrentImage(workingImage[currentMq]);\n }\n }, [currentImage, currentMq, workingImage]);\n\n return currentImage;\n};\n","import { useState, useEffect } from 'react';\n\nconst useTouch = () => {\n const [canTouch, setCanTouch] = useState(false);\n\n useEffect(() => {\n setCanTouch(\n 'ontouchstart' in window ||\n navigator.maxTouchPoints > 0 ||\n (navigator as any).msMaxTouchPoints > 0\n );\n }, []);\n return canTouch;\n};\n\nexport default useTouch;\n","import { useCallback, useEffect, useState } from 'react';\n\nconst isSupported =\n typeof window !== 'undefined' && 'URLSearchParams' in window;\n\nconst getParamsObj = (params?: URLSearchParams) => {\n const obj: Record<string, string> = {};\n\n const paramsObj = Object.fromEntries(\n params || new URLSearchParams(window.location.search)\n );\n\n for (const param in paramsObj) {\n let value = paramsObj[param];\n if (typeof value === 'string') {\n value = decodeURIComponent(value);\n }\n obj[param] = value;\n }\n\n return obj;\n};\n\nconst useParams = () => {\n const [params, setParams] = useState<Record<string, string>>({});\n\n useEffect(() => {\n if (!isSupported) return;\n\n setParams(getParamsObj());\n }, []);\n\n const update = useCallback(\n (key: string, value: string) => {\n if (!isSupported) return;\n\n const newParams = { ...params };\n newParams[key] = value;\n\n const currentParams = new URLSearchParams(window.location.search);\n for (const param in newParams) {\n currentParams.set(param, encodeURIComponent(newParams[param]));\n }\n\n setParams(getParamsObj(currentParams));\n\n window.history.replaceState(\n {},\n '',\n `${location.pathname}?${\n currentParams.toString() + location.hash\n }`\n );\n },\n [params]\n );\n\n return { params, update };\n};\n\nexport default useParams;\n","export const getBgImage = (\n bgImage: {\n small: string;\n medium?: string;\n semilarge?: string;\n large?: string;\n xlarge?: string;\n },\n mq?: 'small' | 'medium' | 'semilarge' | 'large' | 'xlarge'\n): string => {\n switch (mq) {\n default:\n case 'small':\n return bgImage.small;\n\n case 'medium':\n return (\n bgImage.medium ||\n bgImage.semilarge ||\n bgImage.large ||\n bgImage.xlarge ||\n bgImage.small\n );\n\n case 'semilarge':\n return (\n bgImage.semilarge ||\n bgImage.large ||\n bgImage.xlarge ||\n bgImage.medium ||\n bgImage.small\n );\n\n case 'large':\n return (\n bgImage.large ||\n bgImage.xlarge ||\n bgImage.semilarge ||\n bgImage.medium ||\n bgImage.small\n );\n\n case 'xlarge':\n return (\n bgImage.xlarge ||\n bgImage.large ||\n bgImage.semilarge ||\n bgImage.medium ||\n bgImage.small\n );\n }\n};\n","import { DefaultTheme } from 'styled-components';\nimport { getGlobals as global } from 'utils/styles';\n\nexport const getLinkIcon = (\n theme: DefaultTheme,\n href: string,\n isInverted?: boolean\n): string => {\n const linkIcons = global(theme).icons.linkIcons;\n\n const fileExtension = `.${href?.split('.').pop() || ''}`;\n const result = linkIcons.find((icon) => {\n return icon.patterns?.find((pattern) => pattern.match(fileExtension));\n });\n\n return result?.iconChar || result?.iconUrl?.(isInverted) || '';\n};\n","import React from 'react';\n\ninterface FontFallback {\n name: string;\n altFont: string;\n sizeAdjust: string;\n}\n\nexport interface Font {\n rootPath: string;\n sourcePath: string;\n fallbacks?: FontFallback[];\n}\n\nexport const importFonts = (fonts: Font[]) => {\n return (\n <React.Fragment>\n {fonts && fonts.length > 0 && (\n <style\n dangerouslySetInnerHTML={{\n __html: fonts?.reduce((acc, current) => {\n if (current?.fallbacks) {\n acc += current?.fallbacks?.reduce(\n (fallAcc, f) => {\n fallAcc += `@font-face { font-family: '${f.name}'; size-adjust: ${f.sizeAdjust}; src: local('${f.altFont}'); } `;\n return fallAcc;\n },\n\n ''\n );\n return acc;\n } else return acc;\n }, ''),\n }}\n />\n )}\n\n {fonts?.map((font, i) => (\n <link\n key={i}\n rel=\"preconnect\"\n href={font.rootPath}\n crossOrigin=\"true\"\n />\n ))}\n {fonts?.map((font, i) => (\n <link key={i} rel=\"preload\" as=\"style\" href={font.sourcePath} />\n ))}\n\n <style\n dangerouslySetInnerHTML={{\n __html: `</style>${fonts?.reduce<string>(\n (prev, current) => {\n return (prev += `\n <link rel=\"stylesheet\" href=\"${current.sourcePath}\" media=\"print\" onload=\"this.media='all'\" />`);\n },\n ''\n )}<style>`,\n }}\n />\n\n <noscript>\n {fonts?.map((font, i) => (\n <link key={i} rel=\"stylesheet\" href={font.sourcePath} />\n ))}\n </noscript>\n </React.Fragment>\n );\n};\n","import { useState } from 'react';\n\nconst useArray = <T>(defaultValue?: Array<T>) => {\n const [array, setArray] = useState<Array<T>>(defaultValue || []);\n\n const push = (element: T | T[]) => {\n if (Array.isArray(element)) {\n setArray((prev) => [...prev, ...element]);\n } else {\n setArray((prev) => [...prev, element]);\n }\n };\n\n const pop = () => {\n let lastEl: T | undefined;\n\n setArray((prev) => {\n const copy = [...prev];\n lastEl = copy.pop();\n return copy;\n });\n return lastEl;\n };\n\n const filter = (\n callback: (value: T, index: number, array: T[]) => void\n ) => {\n setArray((prev) => prev.filter(callback));\n };\n\n const update = (index: number, newEl: T) => {\n setArray((prev) => [\n ...prev.slice(0, index),\n newEl,\n ...prev.slice(index + 1, prev.length),\n ]);\n };\n\n const remove = (index: number) => {\n setArray((prev) => [\n ...prev.slice(0, index),\n ...prev.slice(index + 1, prev.length),\n ]);\n };\n\n const clear = () => {\n setArray([]);\n };\n\n return {\n array,\n set: setArray,\n push,\n filter,\n update,\n remove,\n clear,\n pop,\n };\n};\n\nexport default useArray;\n","import { ImageProps } from 'components/blocks/Image';\nimport { useEffect, useState } from 'react';\nimport { MediaQueryType } from './styles';\nimport { useMediaQuery } from './useMediaQuery';\n\nexport const useImgPreload = (\n imageUrls: ImageProps[],\n mqs: MediaQueryType[] = ['semilarge', 'large']\n) => {\n const [isReady, setReady] = useState(false);\n const [isLoaded, setLoaded] = useState(false);\n const currentMq = useMediaQuery(mqs as MediaQueryType[]);\n const [loadedImages, setLoadedImages] = useState<{\n [key: string]: { id: number | string; image: string }[];\n }>({\n small: [],\n medium: [],\n semilarge: [],\n large: [],\n xlarge: [],\n xxlarge: [],\n xxxLarge: [],\n });\n\n const preloadImages = (imageUrls: (string | undefined)[]) => {\n const images = (imageUrls.filter((img) => img) as string[]).map(\n (src, i) => {\n return new Promise((res) => {\n const img = new window.Image();\n img.src = src;\n img.onload = () => res({ url: src, i });\n });\n }\n );\n\n return images;\n };\n\n useEffect(() => {\n if (isReady && loadedImages && currentMq) {\n const loadedForMq = loadedImages[currentMq];\n\n if (loadedForMq.length < imageUrls.length && imageUrls.length > 0) {\n const requestedImages = imageUrls.map((img) => img[currentMq]);\n\n const resolve = async (items: any) => {\n for (const item of items) {\n const x = await item;\n\n setLoadedImages((prev) => {\n // check if image id already exists in array\n if (!prev[currentMq].find((e) => e.id === x.i)) {\n return {\n ...prev,\n [currentMq]: [\n ...prev[currentMq],\n {\n id: x.i,\n image: x.url,\n },\n ],\n };\n } else return prev;\n });\n }\n };\n\n resolve(preloadImages(requestedImages));\n }\n }\n }, [currentMq, imageUrls, isReady, loadedImages]);\n\n useEffect(() => {\n if (loadedImages && currentMq) {\n const imgCount = imageUrls.filter((img) => img[currentMq]).length;\n setLoaded(loadedImages[currentMq].length >= imgCount);\n }\n }, [currentMq, imageUrls, loadedImages]);\n\n return {\n loadedImages: currentMq && loadedImages[currentMq],\n isLoaded,\n setReady,\n };\n};\n","import { useCallback, useEffect, useRef } from 'react';\n\nexport default function useInterval(callback: () => void, delay: number) {\n const callbackRef = useRef(callback);\n const intervalRef = useRef<number>();\n\n // Remember the latest callback.\n useEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n\n const set = useCallback(() => {\n intervalRef.current = window.setInterval(\n () => callbackRef.current?.(),\n delay\n );\n }, [delay]);\n\n const clear = useCallback(() => {\n intervalRef.current && window.clearInterval(intervalRef.current);\n }, []);\n\n useEffect(() => {\n set();\n return clear;\n }, [delay, set, clear]);\n\n const reset = useCallback(() => {\n clear();\n set();\n }, [clear, set]);\n\n return { clear, reset };\n}\n","import { useEffect, useState } from 'react';\n\nexport const useItemHeight = () => {\n const [element, setElement] = useState<HTMLElement | null>(null);\n const [height, setHeight] = useState<number>(0);\n\n useEffect(() => {\n const calcHeight = () => {\n if (element) setHeight(element.offsetHeight);\n };\n\n if (element) {\n calcHeight();\n window.addEventListener('resize', calcHeight);\n }\n\n return () => {\n window.removeEventListener('resize', calcHeight);\n };\n }, [element]);\n\n return {\n setElement,\n height,\n };\n};\n"],"names":["canUseWebP","isBrowser","elem","document","createElement","getContext","toDataURL","indexOf","useTouch","isSupported","window","getParamsObj","params","obj","paramsObj","Object","fromEntries","URLSearchParams","location","search","param","value","decodeURIComponent","bgImage","mq","small","medium","semilarge","large","xlarge","theme","href","isInverted","linkIcons","global","getGlobals","icons","fileExtension","concat","split","pop","result","find","icon","_a","patterns","pattern","match","iconChar","iconUrl","call","fonts","React","Fragment","length","dangerouslySetInnerHTML","__html","reduce","acc","current","fallbacks","fallAcc","f","name","sizeAdjust","altFont","map","font","i","key","rel","rootPath","crossOrigin","as","sourcePath","prev","defaultValue","useState","array","setArray","set","push","element","Array","isArray","__spreadArray","filter","callback","update","index","newEl","slice","remove","clear","lastEl","copy","imageUrls","mqs","isReady","setReady","_b","isLoaded","setLoaded","currentMq","useMediaQuery","_c","xxlarge","xxxLarge","loadedImages","setLoadedImages","useEffect","items","requestedImages","img","src","Promise","res","Image","onload","url","preloadImages","__awaiter","item","x","sent","e","id","__assign","image","_i","items_1","imgCount","delay","callbackRef","useRef","intervalRef","useCallback","setInterval","clearInterval","reset","setElement","height","setHeight","calcHeight","offsetHeight","addEventListener","removeEventListener","setParams","newParams","currentParams","encodeURIComponent","history","replaceState","pathname","toString","hash","posterImage","currentImage","setCurrentImage","workingImage","webp","canTouch","setCanTouch","navigator","maxTouchPoints","msMaxTouchPoints"],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sources":["../src/utils/usePoster.ts","../src/utils/useTouch.ts","../src/utils/useParams.ts","../src/utils/backgroundImage.ts","../src/utils/getLinkIcon.ts","../src/utils/fontLoading.tsx","../src/utils/useArray.ts","../src/utils/useImgPreload.ts","../src/utils/useInterval.ts","../src/utils/useItemHeight.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { isBrowser, useMediaQuery } from './useMediaQuery';\n\n// *****************\n// usePoster\n// *****************\n\ninterface PosterImage {\n small: string;\n medium?: string;\n semilarge?: string;\n large?: string;\n xlarge?: string;\n}\n\nexport const canUseWebP = () => {\n if (!isBrowser) return false;\n\n const elem = document.createElement('canvas');\n\n if (!(elem.getContext && elem.getContext('2d'))) {\n // was able or not to get WebP representation\n return elem.toDataURL('image/webp').indexOf('data:image/webp') == 0;\n }\n\n // very old browser like IE 8, canvas not supported\n return false;\n};\n\nexport type PosterMq = 'small' | 'medium' | 'semilarge' | 'large' | 'xlarge';\n\nexport const usePoster = (\n posterImage: PosterImage & {\n webp?: PosterImage;\n },\n mqs?: PosterMq[]\n) => {\n const [currentImage, setCurrentImage] = useState<string | undefined>();\n\n const workingImage =\n posterImage.webp && canUseWebP() ? posterImage.webp : posterImage;\n const currentMq = useMediaQuery(\n mqs || ['small', 'medium', 'semilarge', 'large', 'xlarge']\n ) as PosterMq | undefined;\n\n useEffect(() => {\n if (\n currentMq &&\n workingImage[currentMq] &&\n workingImage[currentMq] !== currentImage\n ) {\n setCurrentImage(workingImage[currentMq]);\n }\n }, [currentImage, currentMq, workingImage]);\n\n return currentImage;\n};\n","import { useState, useEffect } from 'react';\n\nconst useTouch = () => {\n const [canTouch, setCanTouch] = useState(false);\n\n useEffect(() => {\n setCanTouch(\n 'ontouchstart' in window ||\n navigator.maxTouchPoints > 0 ||\n (navigator as any).msMaxTouchPoints > 0\n );\n }, []);\n return canTouch;\n};\n\nexport default useTouch;\n","import { useCallback, useEffect, useState } from 'react';\n\nconst isSupported =\n typeof window !== 'undefined' && 'URLSearchParams' in window;\n\nconst getParamsObj = (params?: URLSearchParams) => {\n const obj: Record<string, string> = {};\n\n const paramsObj = Object.fromEntries(\n params || new URLSearchParams(window.location.search)\n );\n\n for (const param in paramsObj) {\n let value = paramsObj[param];\n if (typeof value === 'string') {\n value = decodeURIComponent(value);\n }\n obj[param] = value;\n }\n\n return obj;\n};\n\nconst useParams = () => {\n const [params, setParams] = useState<Record<string, string>>({});\n\n useEffect(() => {\n if (!isSupported) return;\n\n setParams(getParamsObj());\n }, []);\n\n const update = useCallback(\n (key: string, value: string) => {\n if (!isSupported) return;\n\n const newParams = { ...params };\n newParams[key] = value;\n\n const currentParams = new URLSearchParams(window.location.search);\n for (const param in newParams) {\n currentParams.set(param, encodeURIComponent(newParams[param]));\n }\n\n setParams(getParamsObj(currentParams));\n\n window.history.replaceState(\n {},\n '',\n `${location.pathname}?${\n currentParams.toString() + location.hash\n }`\n );\n },\n [params]\n );\n\n return { params, update };\n};\n\nexport default useParams;\n","export const getBgImage = (\n bgImage: {\n small: string;\n medium?: string;\n semilarge?: string;\n large?: string;\n xlarge?: string;\n },\n mq?: 'small' | 'medium' | 'semilarge' | 'large' | 'xlarge'\n): string => {\n switch (mq) {\n default:\n case 'small':\n return bgImage.small;\n\n case 'medium':\n return (\n bgImage.medium ||\n bgImage.semilarge ||\n bgImage.large ||\n bgImage.xlarge ||\n bgImage.small\n );\n\n case 'semilarge':\n return (\n bgImage.semilarge ||\n bgImage.large ||\n bgImage.xlarge ||\n bgImage.medium ||\n bgImage.small\n );\n\n case 'large':\n return (\n bgImage.large ||\n bgImage.xlarge ||\n bgImage.semilarge ||\n bgImage.medium ||\n bgImage.small\n );\n\n case 'xlarge':\n return (\n bgImage.xlarge ||\n bgImage.large ||\n bgImage.semilarge ||\n bgImage.medium ||\n bgImage.small\n );\n }\n};\n","import { DefaultTheme } from 'styled-components';\nimport { getGlobals as global } from 'utils/styles';\n\nexport const getLinkIcon = (\n theme: DefaultTheme,\n href: string,\n isInverted?: boolean\n): string => {\n const linkIcons = global(theme).icons.linkIcons;\n\n const fileExtension = `.${href?.split('.').pop() || ''}`;\n const result = linkIcons.find((icon) => {\n return icon.patterns?.find((pattern) => pattern.match(fileExtension));\n });\n\n return result?.iconChar || result?.iconUrl?.(isInverted) || '';\n};\n","import React from 'react';\n\ninterface FontFallback {\n name: string;\n altFont: string;\n sizeAdjust: string;\n}\n\nexport interface Font {\n rootPath: string;\n sourcePath: string;\n fallbacks?: FontFallback[];\n}\n\nexport const importFonts = (fonts: Font[]) => {\n return (\n <React.Fragment>\n {fonts && fonts.length > 0 && (\n <style\n dangerouslySetInnerHTML={{\n __html: fonts?.reduce((acc, current) => {\n if (current?.fallbacks) {\n acc += current?.fallbacks?.reduce(\n (fallAcc, f) => {\n fallAcc += `@font-face { font-family: '${f.name}'; size-adjust: ${f.sizeAdjust}; src: local('${f.altFont}'); } `;\n return fallAcc;\n },\n\n ''\n );\n return acc;\n } else return acc;\n }, ''),\n }}\n />\n )}\n\n {fonts?.map((font, i) => (\n <link\n key={i}\n rel=\"preconnect\"\n href={font.rootPath}\n crossOrigin=\"true\"\n />\n ))}\n {fonts?.map((font, i) => (\n <link key={i} rel=\"preload\" as=\"style\" href={font.sourcePath} />\n ))}\n\n <style\n dangerouslySetInnerHTML={{\n __html: `</style>${fonts?.reduce<string>(\n (prev, current) => {\n return (prev += `\n <link rel=\"stylesheet\" href=\"${current.sourcePath}\" media=\"print\" onload=\"this.media='all'\" />`);\n },\n ''\n )}<style>`,\n }}\n />\n\n <noscript>\n {fonts?.map((font, i) => (\n <link key={i} rel=\"stylesheet\" href={font.sourcePath} />\n ))}\n </noscript>\n </React.Fragment>\n );\n};\n","import { useState } from 'react';\n\nconst useArray = <T>(defaultValue?: Array<T>) => {\n const [array, setArray] = useState<Array<T>>(defaultValue || []);\n\n const push = (element: T | T[]) => {\n if (Array.isArray(element)) {\n setArray((prev) => [...prev, ...element]);\n } else {\n setArray((prev) => [...prev, element]);\n }\n };\n\n const pop = () => {\n let lastEl: T | undefined;\n\n setArray((prev) => {\n const copy = [...prev];\n lastEl = copy.pop();\n return copy;\n });\n return lastEl;\n };\n\n const filter = (\n callback: (value: T, index: number, array: T[]) => void\n ) => {\n setArray((prev) => prev.filter(callback));\n };\n\n const update = (index: number, newEl: T) => {\n setArray((prev) => [\n ...prev.slice(0, index),\n newEl,\n ...prev.slice(index + 1, prev.length),\n ]);\n };\n\n const remove = (index: number) => {\n setArray((prev) => [\n ...prev.slice(0, index),\n ...prev.slice(index + 1, prev.length),\n ]);\n };\n\n const clear = () => {\n setArray([]);\n };\n\n return {\n array,\n set: setArray,\n push,\n filter,\n update,\n remove,\n clear,\n pop,\n };\n};\n\nexport default useArray;\n","import { ImageProps } from 'components/blocks/Image';\nimport { useEffect, useState } from 'react';\nimport { MediaQueryType } from './styles';\nimport { useMediaQuery } from './useMediaQuery';\n\nexport const useImgPreload = (\n imageUrls: ImageProps[],\n mqs: MediaQueryType[] = ['semilarge', 'large']\n) => {\n const [isReady, setReady] = useState(false);\n const [isLoaded, setLoaded] = useState(false);\n const currentMq = useMediaQuery(mqs as MediaQueryType[]);\n const [loadedImages, setLoadedImages] = useState<{\n [key: string]: { id: number | string; image: string }[];\n }>({\n small: [],\n medium: [],\n semilarge: [],\n large: [],\n xlarge: [],\n xxlarge: [],\n xxxLarge: [],\n });\n\n const preloadImages = (imageUrls: (string | undefined)[]) => {\n const images = (imageUrls.filter((img) => img) as string[]).map(\n (src, i) => {\n return new Promise((res) => {\n const img = new window.Image();\n img.src = src;\n img.onload = () => res({ url: src, i });\n });\n }\n );\n\n return images;\n };\n\n useEffect(() => {\n if (isReady && loadedImages && currentMq) {\n const loadedForMq = loadedImages[currentMq];\n\n if (loadedForMq.length < imageUrls.length && imageUrls.length > 0) {\n const requestedImages = imageUrls.map((img) => img[currentMq]);\n\n const resolve = async (items: any) => {\n for (const item of items) {\n const x = await item;\n\n setLoadedImages((prev) => {\n // check if image id already exists in array\n if (!prev[currentMq].find((e) => e.id === x.i)) {\n return {\n ...prev,\n [currentMq]: [\n ...prev[currentMq],\n {\n id: x.i,\n image: x.url,\n },\n ],\n };\n } else return prev;\n });\n }\n };\n\n resolve(preloadImages(requestedImages));\n }\n }\n }, [currentMq, imageUrls, isReady, loadedImages]);\n\n useEffect(() => {\n if (loadedImages && currentMq) {\n const imgCount = imageUrls.filter((img) => img[currentMq]).length;\n setLoaded(loadedImages[currentMq].length >= imgCount);\n }\n }, [currentMq, imageUrls, loadedImages]);\n\n return {\n loadedImages: currentMq && loadedImages[currentMq],\n isLoaded,\n setReady,\n };\n};\n","import { useCallback, useEffect, useRef } from 'react';\n\nexport default function useInterval(callback: () => void, delay: number) {\n const callbackRef = useRef(callback);\n const intervalRef = useRef<number>();\n\n // Remember the latest callback.\n useEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n\n const set = useCallback(() => {\n intervalRef.current = window.setInterval(\n () => callbackRef.current?.(),\n delay\n );\n }, [delay]);\n\n const clear = useCallback(() => {\n intervalRef.current && window.clearInterval(intervalRef.current);\n }, []);\n\n useEffect(() => {\n set();\n return clear;\n }, [delay, set, clear]);\n\n const reset = useCallback(() => {\n clear();\n set();\n }, [clear, set]);\n\n return { clear, reset };\n}\n","import { useEffect, useState } from 'react';\n\nexport const useItemHeight = () => {\n const [element, setElement] = useState<HTMLElement | null>(null);\n const [height, setHeight] = useState<number>(0);\n\n useEffect(() => {\n const calcHeight = () => {\n if (element) setHeight(element.offsetHeight);\n };\n\n if (element) {\n calcHeight();\n window.addEventListener('resize', calcHeight);\n }\n\n return () => {\n window.removeEventListener('resize', calcHeight);\n };\n }, [element]);\n\n return {\n setElement,\n height,\n };\n};\n"],"names":["canUseWebP","isBrowser","elem","document","createElement","getContext","toDataURL","indexOf","useTouch","isSupported","window","getParamsObj","params","obj","paramsObj","Object","fromEntries","URLSearchParams","location","search","param","value","decodeURIComponent","bgImage","mq","small","medium","semilarge","large","xlarge","theme","href","isInverted","linkIcons","global","getGlobals","icons","fileExtension","concat","split","pop","result","find","icon","_a","patterns","pattern","match","iconChar","iconUrl","call","fonts","React","Fragment","length","dangerouslySetInnerHTML","__html","reduce","acc","current","fallbacks","fallAcc","f","name","sizeAdjust","altFont","map","font","i","key","rel","rootPath","crossOrigin","as","sourcePath","prev","defaultValue","useState","array","setArray","set","push","element","Array","isArray","__spreadArray","filter","callback","update","index","newEl","slice","remove","clear","lastEl","copy","imageUrls","mqs","isReady","setReady","_b","isLoaded","setLoaded","currentMq","useMediaQuery","_c","xxlarge","xxxLarge","loadedImages","setLoadedImages","useEffect","items","requestedImages","img","src","Promise","res","Image","onload","url","preloadImages","__awaiter","item","x","sent","e","id","__assign","image","_i","items_1","imgCount","delay","callbackRef","useRef","intervalRef","useCallback","setInterval","clearInterval","reset","setElement","height","setHeight","calcHeight","offsetHeight","addEventListener","removeEventListener","setParams","newParams","currentParams","encodeURIComponent","history","replaceState","pathname","toString","hash","posterImage","currentImage","setCurrentImage","workingImage","webp","canTouch","setCanTouch","navigator","maxTouchPoints","msMaxTouchPoints"],"mappings":"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"}
package/cjs/icons.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Filter-89286db9.js");require("react"),require("styled-components");var o=Object.freeze({__proto__:null,CalendarToday:e.CalendarToday,DateRange:e.DateRange,ArrowUp:e.ArrowUp,ArrowDown:e.ArrowDown,ArrowRight:e.ArrowRight,ArrowRightGhost:e.ArrowRightGhost,ArrowLeft:e.ArrowLeft,ArrowLeftGhost:e.ArrowLeftGhost,ArrowLeftRight:e.ArrowLeftRight,AngleUp:e.AngleUp,AngleDown:e.AngleDown,AngleLeft:e.AngleLeft,AngleRight:e.AngleRight,UnfoldMore:e.UnfoldMore,UploadFile:e.UploadFile,Excel:e.Excel,Image:e.Image,Pdf:e.Pdf,PowerPoint:e.PowerPoint,Word:e.Word,Zip:e.Zip,External:e.External,BoxArrowUpRight:e.BoxArrowUpRight,Facebook:e.Facebook,Instagram:e.Instagram,LinkedIn:e.LinkedIn,Twitter:e.Twitter,Xing:e.Xing,Youtube:e.Youtube,Mail:e.Mail,Phone:e.Phone,Play:e.Play,MenuBurger:e.MenuBurger,Language:e.LanguageIcon,Cross:e.Cross,CrossSmall:e.CrossSmall,Check:e.Check,Clock:e.Clock,Info:e.Info,FlyTo:e.FlyTo,LocationPin:e.LocationPin,Place:e.Place,MyLocation:e.MyLocation,Map:e.Map,Money:e.Money,Computer:e.Computer,Route:e.Route,Star:e.Star,Plus:e.Plus,Minus:e.Minus,DeleteForever:e.DeleteForever,Person:e.Person,Category:e.Category,CurrentLocation:e.CurrentLocation,ToggleOn:e.ToggleOn,ToggleOff:e.ToggleOff,LocationSearch:e.LocationSearch,ClockFilled:e.ClockFilled,Magnifier:e.Magnifier,CrossBubble:e.CrossBubble,Filter:e.Filter});exports.Icons=o;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./ButtonLeft-7e1f216a.js");require("react"),require("styled-components");var o=Object.freeze({__proto__:null,CalendarToday:e.CalendarToday,DateRange:e.DateRange,ArrowUp:e.ArrowUp,ArrowDown:e.ArrowDown,ArrowRight:e.ArrowRight,ArrowRightGhost:e.ArrowRightGhost,ArrowLeft:e.ArrowLeft,ArrowLeftGhost:e.ArrowLeftGhost,ArrowLeftRight:e.ArrowLeftRight,AngleUp:e.AngleUp,AngleDown:e.AngleDown,AngleLeft:e.AngleLeft,AngleRight:e.AngleRight,UnfoldMore:e.UnfoldMore,UploadFile:e.UploadFile,Excel:e.Excel,Image:e.Image,Pdf:e.Pdf,PowerPoint:e.PowerPoint,Word:e.Word,Zip:e.Zip,External:e.External,BoxArrowUpRight:e.BoxArrowUpRight,Facebook:e.Facebook,Instagram:e.Instagram,LinkedIn:e.LinkedIn,Twitter:e.Twitter,Xing:e.Xing,Youtube:e.Youtube,Mail:e.Mail,Phone:e.Phone,Play:e.Play,MenuBurger:e.MenuBurger,Language:e.LanguageIcon,Cross:e.Cross,CrossSmall:e.CrossSmall,CircleX:e.CircleX,Check:e.Check,Clock:e.Clock,Info:e.Info,FlyTo:e.FlyTo,LocationPin:e.LocationPin,Place:e.Place,MyLocation:e.MyLocation,Map:e.Map,Money:e.Money,Computer:e.Computer,Route:e.Route,Star:e.Star,Plus:e.Plus,Minus:e.Minus,DeleteForever:e.DeleteForever,Person:e.Person,Category:e.Category,CurrentLocation:e.CurrentLocation,ToggleOn:e.ToggleOn,ToggleOff:e.ToggleOff,LocationSearch:e.LocationSearch,ClockFilled:e.ClockFilled,Magnifier:e.Magnifier,CrossBubble:e.CrossBubble,Filter:e.Filter,ButtonRight:e.ButtonRight,ButtonLeft:e.ButtonLeft});exports.Icons=o;
2
2
  //# sourceMappingURL=icons.js.map
package/cjs/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),require("styled-components");var e=require("./styles-13e5d9ac.js"),r=require("./LibThemeProvider-69109901.js");require("./Filter-89286db9.js"),require("react"),require("react-dom/server"),exports.getBaseTheme=e.baseTheme,exports.getColors=e.getColors,exports.getFonts=e.getFonts,exports.getGlobals=e.getGlobals,exports.mq=e.mq,exports.spacings=e.spacings,exports.withRange=e.withRange,exports.LibThemeProvider=r.LibThemeProvider,exports.assignTo=r.assignTo,exports.modifyTheme=r.modifyTheme,exports.useLibTheme=r.useLibTheme,exports.withLibTheme=r.withLibTheme;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),require("styled-components");var e=require("./styles-271afb02.js"),s=require("./LibThemeProvider-878ed68c.js");require("./ButtonLeft-7e1f216a.js"),require("react"),require("react-dom/server"),exports.getBaseTheme=e.baseTheme,exports.getColors=e.getColors,exports.getFonts=e.getFonts,exports.getGlobals=e.getGlobals,exports.mq=e.mq,exports.spacings=e.spacings,exports.withRange=e.withRange,exports.LibThemeProvider=s.LibThemeProvider,exports.assignTo=s.assignTo,exports.modifyTheme=s.modifyTheme,exports.useLibTheme=s.useLibTheme,exports.withLibTheme=s.withLibTheme;
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ "use strict";var r=require("react"),e=require("./ButtonLeft-7e1f216a.js");exports.getCurrentNavItem=function(r,e){if(!r||0===r.length)return null;for(var n=function(r){if(!r)return null;if(r.isCurrent&&(e||!r.hideFromMenu))return r;if(r.subItems&&r.subItems.length>0)for(var t=0;t<r.subItems.length;t++){var u=n(r.subItems[t]);if(u)return u}return null},t=0;t<r.length;t++){var u=n(r[t]);if(u)return{current:u,root:r[t],rootIndex:t}}return null},exports.getCurrentNavPath=function(r,n){if(!r||0===r.length)return[];for(var t=n||[],u=function(r){if(r.isCurrent&&function(r){var e;return(null===(e=r.link)||void 0===e?void 0:e.href)&&!t.includes(r.link.href)}(r))return[r];if(!r.subItems)return[];for(var n=0;n<r.subItems.length;n++){var o=u(r.subItems[n]);if(o.length>0)return e.__spreadArray([r],o,!0)}return[]},o=0;o<r.length;o++){var i=u(r[o]);if(i.length>0)return e.__spreadArray([],i,!0)}return[]},exports.useScrollThrottle=function(e,n){void 0===e&&(e=0);var t=r.useState(null),u=t[0],o=t[1],i=r.useRef(-1),l=r.useRef({scrollX:0,scrollY:0}),s=function(){"undefined"!=typeof window&&(l.current={scrollX:window.scrollX,scrollY:window.scrollY})};return r.useEffect((function(){if("undefined"!=typeof window){var r=function(){s(),-1===i.current&&(i.current=window.setTimeout((function(){null==n||n(l.current),o(l.current),i.current=-1}),e))};return s(),null==n||n(l.current),o(l.current),window.addEventListener("scroll",r),function(){window.removeEventListener("scroll",r)}}}),[n,e]),u};
2
+ //# sourceMappingURL=navigation-ec5cddfc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-3f9d4ac4.js","sources":["../src/utils/navigation.ts","../src/utils/useScrollThrottle.ts"],"sourcesContent":["import { NavItem } from 'components/sections/navigation/menu/Menu';\n\n/**\n * Get current navigation item\n * @param items Array of navItems\n * @param includeHidden Include items that are hidden for menu\n * @returns The current navItem\n */\nexport const getCurrentNavItem = (\n items?: NavItem[],\n includeHidden?: boolean\n) => {\n if (!items || items.length === 0) return null;\n\n const findCurrent = (item?: NavItem): NavItem | null => {\n if (!item) return null;\n if (item.isCurrent && (includeHidden || !item.hideFromMenu)) {\n return item;\n }\n if (item.subItems && item.subItems.length > 0) {\n for (let i = 0; i < item.subItems.length; i++) {\n const result = findCurrent(item.subItems[i]);\n if (result) return result;\n }\n }\n return null;\n };\n\n for (let i = 0; i < items.length; i++) {\n const result = findCurrent(items[i]);\n if (result) {\n return {\n current: result,\n root: items[i],\n rootIndex: i,\n };\n }\n }\n return null;\n};\n\n/**\n * Get naviation item path to current navItem\n * @param items Navigation array with navItems\n * @param exludeHrefs navItems with specific hrefs that should be excluded\n * @returns Array of NavItems\n */\nexport const getCurrentNavPath = (\n items?: NavItem[],\n exludeHrefs?: string[]\n) => {\n if (!items || items.length === 0) return [];\n const excludes = exludeHrefs || [];\n\n const isItemValid = (item: NavItem) => {\n return item.link?.href && !excludes.includes(item.link.href);\n };\n\n const getPathToCurrent = (item: NavItem): NavItem[] => {\n if (item.isCurrent && isItemValid(item)) return [item];\n if (!item.subItems) return [];\n\n for (let i = 0; i < item.subItems.length; i++) {\n const subPath = getPathToCurrent(item.subItems[i]);\n if (subPath.length > 0) return [item, ...subPath];\n }\n\n return [];\n };\n\n for (let i = 0; i < items.length; i++) {\n const path = getPathToCurrent(items[i]);\n if (path.length > 0) return [...path];\n }\n\n return [];\n};\n","import { useEffect, useRef, useState } from 'react';\n\nexport interface ScrollState {\n scrollY: number;\n scrollX: number;\n}\n\nconst useScrollThrottle = (\n timeout = 0,\n callback?: (state: ScrollState) => void\n) => {\n const [throttledState, setThrottledState] =\n useState<ScrollState | null>(null);\n\n const timeoutRef = useRef<number>(-1);\n const lastState = useRef<ScrollState>({\n scrollX: 0,\n scrollY: 0,\n });\n\n const updateScrollState = () => {\n if (typeof window === 'undefined') return;\n\n lastState.current = {\n scrollX: window.scrollX,\n scrollY: window.scrollY,\n };\n };\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n\n const handleScroll = () => {\n updateScrollState();\n\n if (timeoutRef.current === -1) {\n timeoutRef.current = window.setTimeout(() => {\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n timeoutRef.current = -1;\n }, timeout);\n }\n };\n\n updateScrollState();\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, [callback, timeout]);\n\n return throttledState;\n};\n\nexport default useScrollThrottle;\n"],"names":["items","includeHidden","length","findCurrent","item","isCurrent","hideFromMenu","subItems","i","result","current","root","rootIndex","exludeHrefs","excludes","getPathToCurrent","_a","link","href","includes","isItemValid","subPath","__spreadArray","path","timeout","callback","useState","throttledState","setThrottledState","timeoutRef","useRef","lastState","scrollX","scrollY","updateScrollState","window","useEffect","handleScroll","setTimeout","addEventListener","removeEventListener"],"mappings":"gGAQiC,SAC7BA,EACAC,GAEI,IAACD,GAA0B,IAAjBA,EAAME,OAAc,OAAO,KAgBzC,IAdA,IAAMC,EAAc,SAACC,GACjB,IAAKA,EAAM,OAAO,KACdA,GAAAA,EAAKC,YAAcJ,IAAkBG,EAAKE,cAC1C,OAAOF,EAEPA,GAAAA,EAAKG,UAAYH,EAAKG,SAASL,OAAS,EACxC,IAAK,IAAIM,EAAI,EAAGA,EAAIJ,EAAKG,SAASL,OAAQM,IAAK,CACrCC,IAAAA,EAASN,EAAYC,EAAKG,SAASC,IACrCC,GAAAA,EAAQ,OAAOA,EAG3B,OAAO,MAGFD,EAAI,EAAGA,EAAIR,EAAME,OAAQM,IAAK,CAC7BC,IAAAA,EAASN,EAAYH,EAAMQ,IACjC,GAAIC,EACO,MAAA,CACHC,QAASD,EACTE,KAAMX,EAAMQ,GACZI,UAAWJ,GAIvB,OAAO,gCASsB,SAC7BR,EACAa,GAEI,IAACb,GAA0B,IAAjBA,EAAME,OAAc,MAAO,GAmBzC,IAlBA,IAAMY,EAAWD,GAAe,GAM1BE,EAAmB,SAACX,GACtB,GAAIA,EAAKC,WALO,SAACD,SACjB,OAAgB,QAATY,EAAAZ,EAAKa,YAAI,IAAAD,OAAA,EAAAA,EAAEE,QAASJ,EAASK,SAASf,EAAKa,KAAKC,MAIjCE,CAAYhB,GAAO,MAAO,CAACA,GACjD,IAAKA,EAAKG,SAAU,MAAO,GAE3B,IAAK,IAAIC,EAAI,EAAGA,EAAIJ,EAAKG,SAASL,OAAQM,IAAK,CACrCa,IAAAA,EAAUN,EAAiBX,EAAKG,SAASC,IAC/C,GAAIa,EAAQnB,OAAS,EAAG,OAAQoB,EAAAA,cAAA,CAAAlB,GAASiB,GAAS,GAGtD,MAAO,IAGFb,EAAI,EAAGA,EAAIR,EAAME,OAAQM,IAAK,CAC7Be,IAAAA,EAAOR,EAAiBf,EAAMQ,IACpC,GAAIe,EAAKrB,OAAS,EAAG,OAAAoB,EAAAA,cAAA,GAAWC,GAAM,GAG1C,MAAO,8BCpEe,SACtBC,EACAC,QADA,IAAAD,IAAAA,EAAW,GAGL,IAAAR,EACFU,EAAQA,SAAqB,MAD1BC,EAAcX,EAAA,GAAEY,EAAiBZ,EAAA,GAGlCa,EAAaC,EAAAA,QAAgB,GAC7BC,EAAYD,EAAAA,OAAoB,CAClCE,QAAS,EACTC,QAAS,IAGPC,EAAoB,WACA,oBAAXC,SAEXJ,EAAUrB,QAAU,CAChBsB,QAASG,OAAOH,QAChBC,QAASE,OAAOF,WA8BxB,OA1BAG,EAAAA,WAAU,WACN,GAAsB,oBAAXD,OAAX,CAEME,IAAAA,EAAe,WACjBH,KAE4B,IAAxBL,EAAWnB,UACXmB,EAAWnB,QAAUyB,OAAOG,YAAW,WACnCb,MAAAA,GAAAA,EAAWM,EAAUrB,SACrBkB,EAAkBG,EAAUrB,SAC5BmB,EAAWnB,SAAW,IACvBc,KAUX,OANAU,IACAT,MAAAA,GAAAA,EAAWM,EAAUrB,SACrBkB,EAAkBG,EAAUrB,SAE5ByB,OAAOI,iBAAiB,SAAUF,GAE3B,WACHF,OAAOK,oBAAoB,SAAUH,OAE1C,CAACZ,EAAUD,IAEPG"}
1
+ {"version":3,"file":"navigation-ec5cddfc.js","sources":["../src/utils/navigation.ts","../src/utils/useScrollThrottle.ts"],"sourcesContent":["import { NavItem } from 'components/sections/navigation/menu/Menu';\n\n/**\n * Get current navigation item\n * @param items Array of navItems\n * @param includeHidden Include items that are hidden for menu\n * @returns The current navItem\n */\nexport const getCurrentNavItem = (\n items?: NavItem[],\n includeHidden?: boolean\n) => {\n if (!items || items.length === 0) return null;\n\n const findCurrent = (item?: NavItem): NavItem | null => {\n if (!item) return null;\n if (item.isCurrent && (includeHidden || !item.hideFromMenu)) {\n return item;\n }\n if (item.subItems && item.subItems.length > 0) {\n for (let i = 0; i < item.subItems.length; i++) {\n const result = findCurrent(item.subItems[i]);\n if (result) return result;\n }\n }\n return null;\n };\n\n for (let i = 0; i < items.length; i++) {\n const result = findCurrent(items[i]);\n if (result) {\n return {\n current: result,\n root: items[i],\n rootIndex: i,\n };\n }\n }\n return null;\n};\n\n/**\n * Get naviation item path to current navItem\n * @param items Navigation array with navItems\n * @param exludeHrefs navItems with specific hrefs that should be excluded\n * @returns Array of NavItems\n */\nexport const getCurrentNavPath = (\n items?: NavItem[],\n exludeHrefs?: string[]\n) => {\n if (!items || items.length === 0) return [];\n const excludes = exludeHrefs || [];\n\n const isItemValid = (item: NavItem) => {\n return item.link?.href && !excludes.includes(item.link.href);\n };\n\n const getPathToCurrent = (item: NavItem): NavItem[] => {\n if (item.isCurrent && isItemValid(item)) return [item];\n if (!item.subItems) return [];\n\n for (let i = 0; i < item.subItems.length; i++) {\n const subPath = getPathToCurrent(item.subItems[i]);\n if (subPath.length > 0) return [item, ...subPath];\n }\n\n return [];\n };\n\n for (let i = 0; i < items.length; i++) {\n const path = getPathToCurrent(items[i]);\n if (path.length > 0) return [...path];\n }\n\n return [];\n};\n","import { useEffect, useRef, useState } from 'react';\n\nexport interface ScrollState {\n scrollY: number;\n scrollX: number;\n}\n\nconst useScrollThrottle = (\n timeout = 0,\n callback?: (state: ScrollState) => void\n) => {\n const [throttledState, setThrottledState] =\n useState<ScrollState | null>(null);\n\n const timeoutRef = useRef<number>(-1);\n const lastState = useRef<ScrollState>({\n scrollX: 0,\n scrollY: 0,\n });\n\n const updateScrollState = () => {\n if (typeof window === 'undefined') return;\n\n lastState.current = {\n scrollX: window.scrollX,\n scrollY: window.scrollY,\n };\n };\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n\n const handleScroll = () => {\n updateScrollState();\n\n if (timeoutRef.current === -1) {\n timeoutRef.current = window.setTimeout(() => {\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n timeoutRef.current = -1;\n }, timeout);\n }\n };\n\n updateScrollState();\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, [callback, timeout]);\n\n return throttledState;\n};\n\nexport default useScrollThrottle;\n"],"names":["items","includeHidden","length","findCurrent","item","isCurrent","hideFromMenu","subItems","i","result","current","root","rootIndex","exludeHrefs","excludes","getPathToCurrent","_a","link","href","includes","isItemValid","subPath","__spreadArray","path","timeout","callback","useState","throttledState","setThrottledState","timeoutRef","useRef","lastState","scrollX","scrollY","updateScrollState","window","useEffect","handleScroll","setTimeout","addEventListener","removeEventListener"],"mappings":"oGAQiC,SAC7BA,EACAC,GAEI,IAACD,GAA0B,IAAjBA,EAAME,OAAc,OAAO,KAgBzC,IAdA,IAAMC,EAAc,SAACC,GACjB,IAAKA,EAAM,OAAO,KACdA,GAAAA,EAAKC,YAAcJ,IAAkBG,EAAKE,cAC1C,OAAOF,EAEPA,GAAAA,EAAKG,UAAYH,EAAKG,SAASL,OAAS,EACxC,IAAK,IAAIM,EAAI,EAAGA,EAAIJ,EAAKG,SAASL,OAAQM,IAAK,CACrCC,IAAAA,EAASN,EAAYC,EAAKG,SAASC,IACrCC,GAAAA,EAAQ,OAAOA,EAG3B,OAAO,MAGFD,EAAI,EAAGA,EAAIR,EAAME,OAAQM,IAAK,CAC7BC,IAAAA,EAASN,EAAYH,EAAMQ,IACjC,GAAIC,EACO,MAAA,CACHC,QAASD,EACTE,KAAMX,EAAMQ,GACZI,UAAWJ,GAIvB,OAAO,gCASsB,SAC7BR,EACAa,GAEI,IAACb,GAA0B,IAAjBA,EAAME,OAAc,MAAO,GAmBzC,IAlBA,IAAMY,EAAWD,GAAe,GAM1BE,EAAmB,SAACX,GACtB,GAAIA,EAAKC,WALO,SAACD,SACjB,OAAgB,QAATY,EAAAZ,EAAKa,YAAI,IAAAD,OAAA,EAAAA,EAAEE,QAASJ,EAASK,SAASf,EAAKa,KAAKC,MAIjCE,CAAYhB,GAAO,MAAO,CAACA,GACjD,IAAKA,EAAKG,SAAU,MAAO,GAE3B,IAAK,IAAIC,EAAI,EAAGA,EAAIJ,EAAKG,SAASL,OAAQM,IAAK,CACrCa,IAAAA,EAAUN,EAAiBX,EAAKG,SAASC,IAC/C,GAAIa,EAAQnB,OAAS,EAAG,OAAQoB,EAAAA,cAAA,CAAAlB,GAASiB,GAAS,GAGtD,MAAO,IAGFb,EAAI,EAAGA,EAAIR,EAAME,OAAQM,IAAK,CAC7Be,IAAAA,EAAOR,EAAiBf,EAAMQ,IACpC,GAAIe,EAAKrB,OAAS,EAAG,OAAAoB,EAAAA,cAAA,GAAWC,GAAM,GAG1C,MAAO,8BCpEe,SACtBC,EACAC,QADA,IAAAD,IAAAA,EAAW,GAGL,IAAAR,EACFU,EAAQA,SAAqB,MAD1BC,EAAcX,EAAA,GAAEY,EAAiBZ,EAAA,GAGlCa,EAAaC,EAAAA,QAAgB,GAC7BC,EAAYD,EAAAA,OAAoB,CAClCE,QAAS,EACTC,QAAS,IAGPC,EAAoB,WACA,oBAAXC,SAEXJ,EAAUrB,QAAU,CAChBsB,QAASG,OAAOH,QAChBC,QAASE,OAAOF,WA8BxB,OA1BAG,EAAAA,WAAU,WACN,GAAsB,oBAAXD,OAAX,CAEME,IAAAA,EAAe,WACjBH,KAE4B,IAAxBL,EAAWnB,UACXmB,EAAWnB,QAAUyB,OAAOG,YAAW,WACnCb,MAAAA,GAAAA,EAAWM,EAAUrB,SACrBkB,EAAkBG,EAAUrB,SAC5BmB,EAAWnB,SAAW,IACvBc,KAUX,OANAU,IACAT,MAAAA,GAAAA,EAAWM,EAAUrB,SACrBkB,EAAkBG,EAAUrB,SAE5ByB,OAAOI,iBAAiB,SAAUF,GAE3B,WACHF,OAAOK,oBAAoB,SAAUH,OAE1C,CAACZ,EAAUD,IAEPG"}
package/cjs/navigation.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Navigation-6c5d9dee.js"),n=require("./Filter-89286db9.js"),a=require("react"),t=require("styled-components"),i=require("./styles-13e5d9ac.js"),l=require("./SocialList-73af56b5.js"),r=require("./LanguageSwitcher-c6fd04df.js"),o=require("./arrays-c272ed59.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("./LibThemeProvider-69109901.js"),require("./useMediaQuery-619d7203.js"),require("./navigation-3f9d4ac4.js"),require("./Link-8951180c.js"),require("./clamp-bd21d587.js"),require("./Copy-2a9d4b5d.js"),require("./Image-69a9c116.js"),require("react-dom/server");var s,u,g,p,c,m,v,f=d(a),x=d(t),_=Object.freeze({__proto__:null,Breadcrumbs:e.BarBreadcrumbs,Column:e.Column,Logo:e.BarLogo,MenuToggle:e.BarMenuToggle,NavList:e.BarNavList}),y=x.default.div.withConfig({displayName:"MenuFooter__Footer",componentId:"sc-1skniyq-0"})(s||(s=n.__makeTemplateObject(["\n display: flex;\n flex-direction: column;\n\n padding: ","px;\n margin-top: auto;\n\n & > * + * {\n margin-top: ","px;\n }\n"],["\n display: flex;\n flex-direction: column;\n\n padding: ","px;\n margin-top: auto;\n\n & > * + * {\n margin-top: ","px;\n }\n"])),2*i.spacings.nudge,i.spacings.spacer),N=function(e){var n=e.isInverted,a=e.langs,t=e.socials,i=o.isValidArray(t,!1),d=o.isValidArray(a,!1);return f.default.createElement(f.default.Fragment,null,(i||d)&&f.default.createElement(y,null,i&&f.default.createElement(l.SocialList,{isInverted:n,items:t}),d&&f.default.createElement(r.LanguageSwitcher,{isInverted:n,langs:a})))},b=function(n){var a=n.rootLink,t=n.rootLabel,i=n.navStates,l="large"===(null==i?void 0:i.size)&&"overContent"===(null==i?void 0:i.pageFlow);return f.default.createElement(e.BarBreadcrumbs,{isInverted:l,rootLink:a,rootLabel:t,navItems:i.mainNavigation})},I=x.default(e.Column).withConfig({displayName:"NavBarMain__ToggleColumn",componentId:"sc-4gwp8g-0"})(u||(u=n.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n align-items: center;\n"],["\n display: flex;\n flex-direction: row;\n align-items: center;\n"]))),j=x.default(e.Column).withConfig({displayName:"NavBarMain__LogoColumn",componentId:"sc-4gwp8g-1"})(g||(g=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n padding: ","px 0;\n"],["\n display: flex;\n align-items: center;\n padding: ","px 0;\n"])),i.spacings.nudge),B=x.default(e.Column).withConfig({displayName:"NavBarMain__ActionsColumn",componentId:"sc-4gwp8g-2"})(p||(p=n.__makeTemplateObject(["\n display: flex;\n justify-content: flex-end;\n align-items: center;\n\n & > * + * {\n margin-left: ","px;\n }\n\n @media "," {\n & > * + * {\n margin-left: ","px;\n }\n }\n"],["\n display: flex;\n justify-content: flex-end;\n align-items: center;\n\n & > * + * {\n margin-left: ","px;\n }\n\n @media "," {\n & > * + * {\n margin-left: ","px;\n }\n }\n"])),i.spacings.nudge,i.mq.medium,2*i.spacings.nudge),k=x.default.div.withConfig({displayName:"NavBarMain__LanguageWrapper",componentId:"sc-4gwp8g-3"})(c||(c=n.__makeTemplateObject(["\n display: none;\n\n @media "," {\n display: block;\n margin-left: ","px;\n margin-top: 2px;\n }\n"],["\n display: none;\n\n @media "," {\n display: block;\n margin-left: ","px;\n margin-top: 2px;\n }\n"])),i.mq.semilarge,3*i.spacings.nudge),L=function(a){var t,i,l,d,s,u,g=a.isInverted,p=a.logo,c=a.navStates,m=a.customToggle,v=a.langs,x=a.primaryAction,_=a.secondaryAction,y=void 0!==g?g:"large"===(null==c?void 0:c.size)&&"overContent"===(null==c?void 0:c.pageFlow);return f.default.createElement(f.default.Fragment,null,f.default.createElement(I,{takeSpace:!0,vAlign:"center",isInverted:y},f.default.createElement(e.BarMenuToggle,{isInverted:y,isExpanded:null==c?void 0:c.isMenuOpen,onClick:null==c?void 0:c.openMenu},m?m({isInverted:y}):f.default.createElement(n.MenuBurger,{ariaHidden:!0})),o.isValidArray(v,!1)&&f.default.createElement(k,null,f.default.createElement(r.LanguageSwitcher,{isInverted:y,langs:v}))),(null===(t=null==p?void 0:p.desktop)||void 0===t?void 0:t.src)&&f.default.createElement(j,{isInverted:y},f.default.createElement(e.BarLogo,{link:p.link,logo:{small:y?(null===(i=null==p?void 0:p.mobileInverted)||void 0===i?void 0:i.src)||"":(null===(l=null==p?void 0:p.mobile)||void 0===l?void 0:l.src)||"",semilarge:y?(null===(d=null==p?void 0:p.desktopInverted)||void 0===d?void 0:d.src)||"":(null===(s=null==p?void 0:p.desktop)||void 0===s?void 0:s.src)||"",alt:null===(u=null==p?void 0:p.desktop)||void 0===u?void 0:u.alt}})),f.default.createElement(B,{takeSpace:!0,vAlign:"center"},_?_(n.__assign({isInverted:y},c)):void 0,x?x(n.__assign({isInverted:y},c)):void 0))},C=x.default(e.Column).withConfig({displayName:"NavBarTop__StyledCol",componentId:"sc-144no7d-0"})(m||(m=n.__makeTemplateObject(["\n &:not(:first-child) {\n margin-left: ","px;\n }\n"],["\n &:not(:first-child) {\n margin-left: ","px;\n }\n"])),i.spacings.spacer),M=x.default(e.BarNavList).withConfig({displayName:"NavBarTop__StyledNavList",componentId:"sc-144no7d-1"})(v||(v=n.__makeTemplateObject(["\n display: none;\n\n @media "," {\n display: inline-flex;\n }\n"],["\n display: none;\n\n @media "," {\n display: inline-flex;\n }\n"])),i.mq.semilarge),q=function(e){var n=e.navLinks,a=e.languages,t=e.navStates,i="large"===(null==t?void 0:t.size)&&"overContent"===(null==t?void 0:t.pageFlow);return f.default.createElement(f.default.Fragment,null,f.default.createElement(C,null,f.default.createElement(M,{isInverted:i,navLinks:n})),f.default.createElement(C,null,f.default.createElement(r.LanguageSwitcher,{isInverted:i,langs:a})))},w=Object.freeze({__proto__:null,MenuFooter:N,MenuHeader:e.MenuHeader,NavBarBottom:b,NavBarMain:L,NavBarTop:q});exports.MenuHeaderPartial=e.MenuHeader,exports.Navigation=e.Navigation,exports.generateNavbarIdent=e.generateNavbarIdent,exports.getFullNavbarHeights=e.getFullNavbarHeights,exports.getNavbarState=e.getNavbarState,exports.MenuFooterPartial=N,exports.NavBarBottomPartial=b,exports.NavBarMainPartial=L,exports.NavBarTopPartial=q,exports.NavPartials=w,exports.NavSkeletons=_;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Navigation-2d3590a0.js"),n=require("./ButtonLeft-7e1f216a.js"),a=require("react"),t=require("styled-components"),i=require("./styles-271afb02.js"),l=require("./SocialList-f2aca9d8.js"),r=require("./LanguageSwitcher-3ee77117.js"),o=require("./arrays-c272ed59.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("./LibThemeProvider-878ed68c.js"),require("./useMediaQuery-dd367f98.js"),require("./navigation-ec5cddfc.js"),require("./Link-6e728957.js"),require("./clamp-bd21d587.js"),require("./Copy-1b9e33ba.js"),require("./Image-14b2cb93.js"),require("react-dom/server");var s,u,g,p,c,m,v,f=d(a),x=d(t),_=Object.freeze({__proto__:null,Breadcrumbs:e.BarBreadcrumbs,Column:e.Column,Logo:e.BarLogo,MenuToggle:e.BarMenuToggle,NavList:e.BarNavList}),y=x.default.div.withConfig({displayName:"MenuFooter__Footer",componentId:"sc-1skniyq-0"})(s||(s=n.__makeTemplateObject(["\n display: flex;\n flex-direction: column;\n\n padding: ","px;\n margin-top: auto;\n\n & > * + * {\n margin-top: ","px;\n }\n"],["\n display: flex;\n flex-direction: column;\n\n padding: ","px;\n margin-top: auto;\n\n & > * + * {\n margin-top: ","px;\n }\n"])),2*i.spacings.nudge,i.spacings.spacer),N=function(e){var n=e.isInverted,a=e.langs,t=e.socials,i=o.isValidArray(t,!1),d=o.isValidArray(a,!1);return f.default.createElement(f.default.Fragment,null,(i||d)&&f.default.createElement(y,null,i&&f.default.createElement(l.SocialList,{isInverted:n,items:t}),d&&f.default.createElement(r.LanguageSwitcher,{isInverted:n,langs:a})))},b=function(n){var a=n.rootLink,t=n.rootLabel,i=n.navStates,l="large"===(null==i?void 0:i.size)&&"overContent"===(null==i?void 0:i.pageFlow);return f.default.createElement(e.BarBreadcrumbs,{isInverted:l,rootLink:a,rootLabel:t,navItems:i.mainNavigation})},B=x.default(e.Column).withConfig({displayName:"NavBarMain__ToggleColumn",componentId:"sc-4gwp8g-0"})(u||(u=n.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n align-items: center;\n"],["\n display: flex;\n flex-direction: row;\n align-items: center;\n"]))),I=x.default(e.Column).withConfig({displayName:"NavBarMain__LogoColumn",componentId:"sc-4gwp8g-1"})(g||(g=n.__makeTemplateObject(["\n display: flex;\n align-items: center;\n padding: ","px 0;\n"],["\n display: flex;\n align-items: center;\n padding: ","px 0;\n"])),i.spacings.nudge),j=x.default(e.Column).withConfig({displayName:"NavBarMain__ActionsColumn",componentId:"sc-4gwp8g-2"})(p||(p=n.__makeTemplateObject(["\n display: flex;\n justify-content: flex-end;\n align-items: center;\n\n & > * + * {\n margin-left: ","px;\n }\n\n @media "," {\n & > * + * {\n margin-left: ","px;\n }\n }\n"],["\n display: flex;\n justify-content: flex-end;\n align-items: center;\n\n & > * + * {\n margin-left: ","px;\n }\n\n @media "," {\n & > * + * {\n margin-left: ","px;\n }\n }\n"])),i.spacings.nudge,i.mq.medium,2*i.spacings.nudge),k=x.default.div.withConfig({displayName:"NavBarMain__LanguageWrapper",componentId:"sc-4gwp8g-3"})(c||(c=n.__makeTemplateObject(["\n display: none;\n\n @media "," {\n display: block;\n margin-left: ","px;\n margin-top: 2px;\n }\n"],["\n display: none;\n\n @media "," {\n display: block;\n margin-left: ","px;\n margin-top: 2px;\n }\n"])),i.mq.semilarge,3*i.spacings.nudge),L=function(a){var t,i,l,d,s,u,g=a.isInverted,p=a.logo,c=a.navStates,m=a.customToggle,v=a.langs,x=a.primaryAction,_=a.secondaryAction,y=void 0!==g?g:"large"===(null==c?void 0:c.size)&&"overContent"===(null==c?void 0:c.pageFlow);return f.default.createElement(f.default.Fragment,null,f.default.createElement(B,{takeSpace:!0,vAlign:"center",isInverted:y},f.default.createElement(e.BarMenuToggle,{isInverted:y,isExpanded:null==c?void 0:c.isMenuOpen,onClick:null==c?void 0:c.openMenu},m?m({isInverted:y}):f.default.createElement(n.MenuBurger,{ariaHidden:!0})),o.isValidArray(v,!1)&&f.default.createElement(k,null,f.default.createElement(r.LanguageSwitcher,{isInverted:y,langs:v}))),(null===(t=null==p?void 0:p.desktop)||void 0===t?void 0:t.src)&&f.default.createElement(I,{isInverted:y},f.default.createElement(e.BarLogo,{link:p.link,logo:{small:y?(null===(i=null==p?void 0:p.mobileInverted)||void 0===i?void 0:i.src)||"":(null===(l=null==p?void 0:p.mobile)||void 0===l?void 0:l.src)||"",semilarge:y?(null===(d=null==p?void 0:p.desktopInverted)||void 0===d?void 0:d.src)||"":(null===(s=null==p?void 0:p.desktop)||void 0===s?void 0:s.src)||"",alt:null===(u=null==p?void 0:p.desktop)||void 0===u?void 0:u.alt}})),f.default.createElement(j,{takeSpace:!0,vAlign:"center"},_?_(n.__assign({isInverted:y},c)):void 0,x?x(n.__assign({isInverted:y},c)):void 0))},C=x.default(e.Column).withConfig({displayName:"NavBarTop__StyledCol",componentId:"sc-144no7d-0"})(m||(m=n.__makeTemplateObject(["\n &:not(:first-child) {\n margin-left: ","px;\n }\n"],["\n &:not(:first-child) {\n margin-left: ","px;\n }\n"])),i.spacings.spacer),M=x.default(e.BarNavList).withConfig({displayName:"NavBarTop__StyledNavList",componentId:"sc-144no7d-1"})(v||(v=n.__makeTemplateObject(["\n display: none;\n\n @media "," {\n display: inline-flex;\n }\n"],["\n display: none;\n\n @media "," {\n display: inline-flex;\n }\n"])),i.mq.semilarge),q=function(e){var n=e.navLinks,a=e.languages,t=e.navStates,i="large"===(null==t?void 0:t.size)&&"overContent"===(null==t?void 0:t.pageFlow);return f.default.createElement(f.default.Fragment,null,f.default.createElement(C,null,f.default.createElement(M,{isInverted:i,navLinks:n})),f.default.createElement(C,null,f.default.createElement(r.LanguageSwitcher,{isInverted:i,langs:a})))},w=Object.freeze({__proto__:null,MenuFooter:N,MenuHeader:e.MenuHeader,NavBarBottom:b,NavBarMain:L,NavBarTop:q});exports.MenuHeaderPartial=e.MenuHeader,exports.Navigation=e.Navigation,exports.generateNavbarIdent=e.generateNavbarIdent,exports.getFullNavbarHeights=e.getFullNavbarHeights,exports.getNavbarState=e.getNavbarState,exports.MenuFooterPartial=N,exports.NavBarBottomPartial=b,exports.NavBarMainPartial=L,exports.NavBarTopPartial=q,exports.NavPartials=w,exports.NavSkeletons=_;
2
2
  //# sourceMappingURL=navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sources":["../src/components/sections/navigation/partials/MenuFooter.tsx","../src/components/sections/navigation/partials/NavBarBottom.tsx","../src/components/sections/navigation/partials/NavBarMain.tsx","../src/components/sections/navigation/partials/NavBarTop.tsx"],"sourcesContent":["import React, { FC } from 'react';\n\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\nimport { NavMenuStates } from '../Navigation';\n\nimport SocialList, { SocialItem } from 'components/blocks/SocialList';\nimport LanguageSwitcher, { Language } from 'components/blocks/LanguageSwitcher';\nimport { isValidArray } from 'utils/arrays';\n\nconst Footer = styled.div`\n display: flex;\n flex-direction: column;\n\n padding: ${spacings.nudge * 2}px;\n margin-top: auto;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst MenuFooter: FC<{\n isInverted?: boolean;\n langs?: Language[];\n socials?: SocialItem[];\n menuStates?: NavMenuStates;\n}> = ({ isInverted, langs, socials }) => {\n const hasSocials = isValidArray(socials, false);\n const hasLangs = isValidArray(langs, false);\n\n return (\n <React.Fragment>\n {(hasSocials || hasLangs) && (\n <Footer>\n {hasSocials && (\n <SocialList isInverted={isInverted} items={socials} />\n )}\n {hasLangs && (\n <LanguageSwitcher\n isInverted={isInverted}\n langs={langs}\n />\n )}\n </Footer>\n )}\n </React.Fragment>\n );\n};\n\nexport default MenuFooter;\n","import React, { FC } from 'react';\n\nimport { NavBarStates } from '../Navigation';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\nimport { LinkProps } from 'components/typography/Link';\n\nconst NavBarBottom: FC<{\n rootLink?: LinkProps;\n rootLabel?: string;\n navStates: NavBarStates;\n}> = ({ rootLink, rootLabel, navStates }) => {\n const isInverted =\n navStates?.size === 'large' && navStates?.pageFlow === 'overContent';\n\n return (\n <Skeletons.Breadcrumbs\n isInverted={isInverted}\n rootLink={rootLink}\n rootLabel={rootLabel}\n navItems={navStates.mainNavigation}\n />\n );\n};\n\nexport default NavBarBottom;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport MenuBurger from 'components/base/icons/MenuBurger';\nimport { NavBarStates } from '../Navigation';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\nimport { spacings, mq } from 'utils/styles';\nimport { LinkProps } from 'components/typography/Link';\nimport { isValidArray } from 'utils/arrays';\nimport LanguageSwitcher, { Language } from 'components/blocks/LanguageSwitcher';\n\nconst ToggleColumn = styled(Skeletons.Column)`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nconst LogoColumn = styled(Skeletons.Column)`\n display: flex;\n align-items: center;\n padding: ${spacings.nudge}px 0;\n`;\n\nconst ActionsColumn = styled(Skeletons.Column)`\n display: flex;\n justify-content: flex-end;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n\n @media ${mq.medium} {\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n }\n`;\n\nconst LanguageWrapper = styled.div`\n display: none;\n\n @media ${mq.semilarge} {\n display: block;\n margin-left: ${spacings.nudge * 3}px;\n margin-top: 2px;\n }\n`;\n\nconst NavBarMain: FC<{\n isInverted?: boolean;\n logo?: {\n desktop?: { src: string; alt?: string };\n desktopInverted?: { src: string; alt?: string };\n mobile?: { src: string; alt?: string };\n mobileInverted?: { src: string; alt?: string };\n link?: Omit<LinkProps, 'coverSpace' | 'ratios'>;\n };\n customToggle?: (props: { isInverted?: boolean }) => React.ReactNode;\n langs?: Language[];\n primaryAction?: (\n props: { isInverted?: boolean } & NavBarStates\n ) => React.ReactNode;\n secondaryAction?: (\n props: { isInverted?: boolean } & NavBarStates\n ) => React.ReactNode;\n navStates: NavBarStates;\n}> = ({\n isInverted,\n logo,\n navStates,\n customToggle,\n langs,\n primaryAction,\n secondaryAction,\n}) => {\n const inverted =\n isInverted !== undefined\n ? isInverted\n : navStates?.size === 'large' &&\n navStates?.pageFlow === 'overContent';\n\n return (\n <React.Fragment>\n <ToggleColumn takeSpace vAlign=\"center\" isInverted={inverted}>\n <Skeletons.MenuToggle\n isInverted={inverted}\n isExpanded={navStates?.isMenuOpen}\n onClick={navStates?.openMenu}\n >\n {customToggle ? (\n customToggle({ isInverted: inverted })\n ) : (\n <MenuBurger ariaHidden={true} />\n )}\n </Skeletons.MenuToggle>\n {isValidArray(langs, false) && (\n <LanguageWrapper>\n <LanguageSwitcher isInverted={inverted} langs={langs} />\n </LanguageWrapper>\n )}\n </ToggleColumn>\n {logo?.desktop?.src && (\n <LogoColumn isInverted={inverted}>\n <Skeletons.Logo\n link={logo.link}\n logo={{\n small: inverted\n ? logo?.mobileInverted?.src || ''\n : logo?.mobile?.src || '',\n semilarge: inverted\n ? logo?.desktopInverted?.src || ''\n : logo?.desktop?.src || '',\n alt: logo?.desktop?.alt,\n }}\n />\n </LogoColumn>\n )}\n <ActionsColumn takeSpace vAlign=\"center\">\n {secondaryAction\n ? secondaryAction({\n isInverted: inverted,\n ...navStates,\n })\n : undefined}\n {primaryAction\n ? primaryAction({\n isInverted: inverted,\n ...navStates,\n })\n : undefined}\n </ActionsColumn>\n </React.Fragment>\n );\n};\n\nexport default NavBarMain;\n","import styled from 'styled-components';\nimport LanguageSwitcher, { Language } from 'components/blocks/LanguageSwitcher';\nimport React, { FC } from 'react';\nimport { mq, spacings } from 'utils/styles';\nimport { NavBarStates } from '../Navigation';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\nimport { NavItem } from '../menu/Menu';\n\nconst StyledCol = styled(Skeletons.Column)`\n &:not(:first-child) {\n margin-left: ${spacings.spacer}px;\n }\n`;\n\nconst StyledNavList = styled(Skeletons.NavList)`\n display: none;\n\n @media ${mq.semilarge} {\n display: inline-flex;\n }\n`;\n\nconst NavBarTop: FC<{\n navLinks?: Array<NavItem>;\n languages?: Array<Language>;\n navStates: NavBarStates;\n}> = ({ navLinks, languages, navStates }) => {\n const isInverted =\n navStates?.size === 'large' && navStates?.pageFlow === 'overContent';\n\n return (\n <React.Fragment>\n <StyledCol>\n <StyledNavList isInverted={isInverted} navLinks={navLinks} />\n </StyledCol>\n <StyledCol>\n <LanguageSwitcher isInverted={isInverted} langs={languages} />\n </StyledCol>\n </React.Fragment>\n );\n};\n\nexport default NavBarTop;\n"],"names":["Footer","styled","div","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","spacings","nudge","spacer","MenuFooter","_a","isInverted","langs","socials","hasSocials","isValidArray","hasLangs","React","createElement","Fragment","SocialList","items","LanguageSwitcher","NavBarBottom","rootLink","rootLabel","navStates","size","pageFlow","Skeletons","navItems","mainNavigation","ToggleColumn","LogoColumn","templateObject_2","ActionsColumn","templateObject_3","mq","medium","LanguageWrapper","templateObject_4","semilarge","NavBarMain","logo","customToggle","primaryAction","secondaryAction","inverted","undefined","takeSpace","vAlign","isExpanded","isMenuOpen","onClick","openMenu","MenuBurger","ariaHidden","desktop","_b","src","link","small","_c","mobileInverted","_d","mobile","_e","desktopInverted","_f","alt","_g","__assign","StyledCol","StyledNavList","NavBarTop","navLinks","languages"],"mappings":"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"}
1
+ {"version":3,"file":"navigation.js","sources":["../src/components/sections/navigation/partials/MenuFooter.tsx","../src/components/sections/navigation/partials/NavBarBottom.tsx","../src/components/sections/navigation/partials/NavBarMain.tsx","../src/components/sections/navigation/partials/NavBarTop.tsx"],"sourcesContent":["import React, { FC } from 'react';\n\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\nimport { NavMenuStates } from '../Navigation';\n\nimport SocialList, { SocialItem } from 'components/blocks/SocialList';\nimport LanguageSwitcher, { Language } from 'components/blocks/LanguageSwitcher';\nimport { isValidArray } from 'utils/arrays';\n\nconst Footer = styled.div`\n display: flex;\n flex-direction: column;\n\n padding: ${spacings.nudge * 2}px;\n margin-top: auto;\n\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst MenuFooter: FC<{\n isInverted?: boolean;\n langs?: Language[];\n socials?: SocialItem[];\n menuStates?: NavMenuStates;\n}> = ({ isInverted, langs, socials }) => {\n const hasSocials = isValidArray(socials, false);\n const hasLangs = isValidArray(langs, false);\n\n return (\n <React.Fragment>\n {(hasSocials || hasLangs) && (\n <Footer>\n {hasSocials && (\n <SocialList isInverted={isInverted} items={socials} />\n )}\n {hasLangs && (\n <LanguageSwitcher\n isInverted={isInverted}\n langs={langs}\n />\n )}\n </Footer>\n )}\n </React.Fragment>\n );\n};\n\nexport default MenuFooter;\n","import React, { FC } from 'react';\n\nimport { NavBarStates } from '../Navigation';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\nimport { LinkProps } from 'components/typography/Link';\n\nconst NavBarBottom: FC<{\n rootLink?: LinkProps;\n rootLabel?: string;\n navStates: NavBarStates;\n}> = ({ rootLink, rootLabel, navStates }) => {\n const isInverted =\n navStates?.size === 'large' && navStates?.pageFlow === 'overContent';\n\n return (\n <Skeletons.Breadcrumbs\n isInverted={isInverted}\n rootLink={rootLink}\n rootLabel={rootLabel}\n navItems={navStates.mainNavigation}\n />\n );\n};\n\nexport default NavBarBottom;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport MenuBurger from 'components/base/icons/MenuBurger';\nimport { NavBarStates } from '../Navigation';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\nimport { spacings, mq } from 'utils/styles';\nimport { LinkProps } from 'components/typography/Link';\nimport { isValidArray } from 'utils/arrays';\nimport LanguageSwitcher, { Language } from 'components/blocks/LanguageSwitcher';\n\nconst ToggleColumn = styled(Skeletons.Column)`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nconst LogoColumn = styled(Skeletons.Column)`\n display: flex;\n align-items: center;\n padding: ${spacings.nudge}px 0;\n`;\n\nconst ActionsColumn = styled(Skeletons.Column)`\n display: flex;\n justify-content: flex-end;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n\n @media ${mq.medium} {\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n }\n`;\n\nconst LanguageWrapper = styled.div`\n display: none;\n\n @media ${mq.semilarge} {\n display: block;\n margin-left: ${spacings.nudge * 3}px;\n margin-top: 2px;\n }\n`;\n\nconst NavBarMain: FC<{\n isInverted?: boolean;\n logo?: {\n desktop?: { src: string; alt?: string };\n desktopInverted?: { src: string; alt?: string };\n mobile?: { src: string; alt?: string };\n mobileInverted?: { src: string; alt?: string };\n link?: Omit<LinkProps, 'coverSpace' | 'ratios'>;\n };\n customToggle?: (props: { isInverted?: boolean }) => React.ReactNode;\n langs?: Language[];\n primaryAction?: (\n props: { isInverted?: boolean } & NavBarStates\n ) => React.ReactNode;\n secondaryAction?: (\n props: { isInverted?: boolean } & NavBarStates\n ) => React.ReactNode;\n navStates: NavBarStates;\n}> = ({\n isInverted,\n logo,\n navStates,\n customToggle,\n langs,\n primaryAction,\n secondaryAction,\n}) => {\n const inverted =\n isInverted !== undefined\n ? isInverted\n : navStates?.size === 'large' &&\n navStates?.pageFlow === 'overContent';\n\n return (\n <React.Fragment>\n <ToggleColumn takeSpace vAlign=\"center\" isInverted={inverted}>\n <Skeletons.MenuToggle\n isInverted={inverted}\n isExpanded={navStates?.isMenuOpen}\n onClick={navStates?.openMenu}\n >\n {customToggle ? (\n customToggle({ isInverted: inverted })\n ) : (\n <MenuBurger ariaHidden={true} />\n )}\n </Skeletons.MenuToggle>\n {isValidArray(langs, false) && (\n <LanguageWrapper>\n <LanguageSwitcher isInverted={inverted} langs={langs} />\n </LanguageWrapper>\n )}\n </ToggleColumn>\n {logo?.desktop?.src && (\n <LogoColumn isInverted={inverted}>\n <Skeletons.Logo\n link={logo.link}\n logo={{\n small: inverted\n ? logo?.mobileInverted?.src || ''\n : logo?.mobile?.src || '',\n semilarge: inverted\n ? logo?.desktopInverted?.src || ''\n : logo?.desktop?.src || '',\n alt: logo?.desktop?.alt,\n }}\n />\n </LogoColumn>\n )}\n <ActionsColumn takeSpace vAlign=\"center\">\n {secondaryAction\n ? secondaryAction({\n isInverted: inverted,\n ...navStates,\n })\n : undefined}\n {primaryAction\n ? primaryAction({\n isInverted: inverted,\n ...navStates,\n })\n : undefined}\n </ActionsColumn>\n </React.Fragment>\n );\n};\n\nexport default NavBarMain;\n","import styled from 'styled-components';\nimport LanguageSwitcher, { Language } from 'components/blocks/LanguageSwitcher';\nimport React, { FC } from 'react';\nimport { mq, spacings } from 'utils/styles';\nimport { NavBarStates } from '../Navigation';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\nimport { NavItem } from '../menu/Menu';\n\nconst StyledCol = styled(Skeletons.Column)`\n &:not(:first-child) {\n margin-left: ${spacings.spacer}px;\n }\n`;\n\nconst StyledNavList = styled(Skeletons.NavList)`\n display: none;\n\n @media ${mq.semilarge} {\n display: inline-flex;\n }\n`;\n\nconst NavBarTop: FC<{\n navLinks?: Array<NavItem>;\n languages?: Array<Language>;\n navStates: NavBarStates;\n}> = ({ navLinks, languages, navStates }) => {\n const isInverted =\n navStates?.size === 'large' && navStates?.pageFlow === 'overContent';\n\n return (\n <React.Fragment>\n <StyledCol>\n <StyledNavList isInverted={isInverted} navLinks={navLinks} />\n </StyledCol>\n <StyledCol>\n <LanguageSwitcher isInverted={isInverted} langs={languages} />\n </StyledCol>\n </React.Fragment>\n );\n};\n\nexport default NavBarTop;\n"],"names":["Footer","styled","div","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","spacings","nudge","spacer","MenuFooter","_a","isInverted","langs","socials","hasSocials","isValidArray","hasLangs","React","createElement","Fragment","SocialList","items","LanguageSwitcher","NavBarBottom","rootLink","rootLabel","navStates","size","pageFlow","Skeletons","navItems","mainNavigation","ToggleColumn","LogoColumn","templateObject_2","ActionsColumn","templateObject_3","mq","medium","LanguageWrapper","templateObject_4","semilarge","NavBarMain","logo","customToggle","primaryAction","secondaryAction","inverted","undefined","takeSpace","vAlign","isExpanded","isMenuOpen","onClick","openMenu","MenuBurger","ariaHidden","desktop","_b","src","link","small","_c","mobileInverted","_d","mobile","_e","desktopInverted","_f","alt","_g","__assign","StyledCol","StyledNavList","NavBarTop","navLinks","languages"],"mappings":"61BAUMA,EAASC,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,qBAAAC,YAAA,gBAAGJ,CAAUK,IAAAA,EAAAC,EAAAA,qBAAA,CAAA,qEAAA,sEAAA,gBAAA,CAAA,qEAIQ,sEAII,kBAJL,EAAjBC,EAAQA,SAACC,MAIFD,EAAAA,SAASE,QAIzBC,EAKD,SAACC,GAAE,IAAAC,eAAYC,EAAKF,EAAAE,MAAEC,EAAOH,EAAAG,QACxBC,EAAaC,EAAAA,aAAaF,GAAS,GACnCG,EAAWD,EAAAA,aAAaH,GAAO,GAErC,OACIK,EAAAA,QAAAC,cAACD,EAAAA,QAAME,SACF,MAACL,GAAcE,IACZC,EAAAA,sBAACnB,EAAM,KACFgB,GACGG,EAAC,QAAAC,cAAAE,aAAW,CAAAT,WAAYA,EAAYU,MAAOR,IAE9CG,GACGC,UAAAC,cAACI,EAAAA,iBACG,CAAAX,WAAYA,EACZC,MAAOA,OCnC7BW,EAID,SAACb,GAAE,IAAAc,aAAUC,EAASf,EAAAe,UAAEC,EAAShB,EAAAgB,UAC5Bf,EACkB,WAApBe,MAAAA,OAAS,EAATA,EAAWC,OAA4C,iBAAxBD,MAAAA,OAAS,EAATA,EAAWE,UAE9C,OACIX,EAAC,QAAAC,cAAAW,kBACGlB,WAAYA,EACZa,SAAUA,EACVC,UAAWA,EACXK,SAAUJ,EAAUK,kBCR1BC,EAAejC,EAAM,QAAC8B,UAAV5B,WAAA,CAAAC,YAAA,2BAAAC,YAAA,eAAGJ,CAAwBK,IAAAA,EAAAC,uBAAA,CAAA,8EAAA,CAAA,iFAMvC4B,EAAalC,EAAM,QAAC8B,UAAV5B,WAAA,CAAAC,YAAA,yBAAAC,YAAA,eAAGJ,CAAwBmC,IAAAA,EAAA7B,EAAAA,qBAAA,CAAA,gEAAA,WAAA,CAAA,gEAGd,aAAdC,EAAQA,SAACC,OAGlB4B,EAAgBpC,EAAM,QAAC8B,UAAV5B,WAAA,CAAAC,YAAA,4BAAAC,YAAA,eAAGJ,CAAwBqC,IAAAA,EAAA/B,EAAAA,qBAAA,CAAA,2HAAA,4BAAA,qDAAA,2BAAA,CAAA,2HAMT,4BAGf,qDAEuB,6BALtBC,EAAAA,SAASC,MAGnB8B,KAAGC,OAE4B,EAAjBhC,EAAQA,SAACC,OAK9BgC,EAAkBxC,EAAAA,QAAOC,IAAVC,WAAA,CAAAC,YAAA,8BAAAC,YAAA,eAAGJ,CAAUyC,IAAAA,EAAAnC,EAAAA,qBAAA,CAAA,sCAAA,qDAAA,0CAAA,CAAA,sCAGT,qDAEgB,4CAF5BgC,EAAEA,GAACI,UAEwB,EAAjBnC,WAASC,OAK1BmC,EAkBD,SAAChC,mBACFC,eACAgC,SACAjB,cACAkB,EAAYlC,EAAAkC,aACZhC,EAAKF,EAAAE,MACLiC,EAAanC,EAAAmC,cACbC,EAAepC,EAAAoC,gBAETC,OACaC,IAAfrC,EACMA,EACoB,WAApBe,MAAAA,SAAAA,EAAWC,OACa,iBAAxBD,MAAAA,OAAS,EAATA,EAAWE,UAErB,OACIX,EAAA,QAAAC,cAACD,UAAME,SAAQ,KACXF,EAAC,QAAAC,cAAAc,EAAa,CAAAiB,WAAU,EAAAC,OAAO,SAASvC,WAAYoC,GAChD9B,EAAC,QAAAC,cAAAW,gBACG,CAAAlB,WAAYoC,EACZI,WAAYzB,MAAAA,OAAA,EAAAA,EAAW0B,WACvBC,QAAS3B,MAAAA,OAAA,EAAAA,EAAW4B,UAEnBV,EACGA,EAAa,CAAEjC,WAAYoC,IAE3B9B,EAAAA,QAACC,cAAAqC,aAAW,CAAAC,YAAY,KAG/BzC,EAAAA,aAAaH,GAAO,IACjBK,EAAAA,sBAACsB,EAAe,KACZtB,UAAAC,cAACI,EAAAA,iBAAgB,CAACX,WAAYoC,EAAUnC,MAAOA,OAI3C,UAAf+B,MAAAA,OAAI,EAAJA,EAAMc,eAAS,IAAAC,OAAA,EAAAA,EAAAC,MACZ1C,EAAAA,QAAAC,cAACe,EAAW,CAAAtB,WAAYoC,GACpB9B,EAAC,QAAAC,cAAAW,UACG,CAAA+B,KAAMjB,EAAKiB,KACXjB,KAAM,CACFkB,MAAOd,GACqB,QAAtBe,EAAAnB,MAAAA,OAAA,EAAAA,EAAMoB,sBAAgB,IAAAD,OAAA,EAAAA,EAAAH,MAAO,IACf,QAAdK,EAAArB,MAAAA,OAAA,EAAAA,EAAMsB,cAAQ,IAAAD,OAAA,EAAAA,EAAAL,MAAO,GAC3BlB,UAAWM,GACkB,QAAvBmB,EAAAvB,MAAAA,OAAA,EAAAA,EAAMwB,uBAAiB,IAAAD,OAAA,EAAAA,EAAAP,MAAO,IACf,QAAfS,EAAAzB,MAAAA,OAAA,EAAAA,EAAMc,eAAS,IAAAW,OAAA,EAAAA,EAAAT,MAAO,GAC5BU,IAAkB,QAAbC,EAAA3B,MAAAA,SAAAA,EAAMc,eAAO,IAAAa,OAAA,EAAAA,EAAED,QAKpCpD,EAAAA,QAAAC,cAACiB,EAAc,CAAAc,WAAU,EAAAC,OAAO,UAC3BJ,EACKA,EACIyB,WAAA,CAAA5D,WAAYoC,GACTrB,SAEPsB,EACLH,EACKA,EACI0B,EAAAA,SAAA,CAAA5D,WAAYoC,GACTrB,SAEPsB,KC1HhBwB,EAAYzE,EAAM,QAAC8B,UAAV5B,WAAA,CAAAC,YAAA,uBAAAC,YAAA,gBAAGJ,CAAwBK,IAAAA,EAAAC,EAAAA,qBAAA,CAAA,qDAAA,gBAAA,CAAA,qDAEJ,kBAAfC,EAAQA,SAACE,QAI1BiE,EAAgB1E,EAAM,QAAC8B,cAAV5B,WAAA,CAAAC,YAAA,2BAAAC,YAAA,gBAAGJ,CAAyBmC,IAAAA,EAAA7B,EAAAA,qBAAA,CAAA,sCAAA,8CAAA,CAAA,sCAGtB,gDAAZgC,EAAEA,GAACI,WAKViC,EAID,SAAChE,GAAE,IAAAiE,aAAUC,EAASlE,EAAAkE,UAAElD,EAAShB,EAAAgB,UAC5Bf,EACkB,WAApBe,MAAAA,OAAS,EAATA,EAAWC,OAA4C,iBAAxBD,MAAAA,OAAS,EAATA,EAAWE,UAG1CX,OAAAA,EAAA,QAAAC,cAACD,UAAME,SAAQ,KACXF,EAAAA,QAAAC,cAACsD,EAAS,KACNvD,UAACC,cAAAuD,EAAc,CAAA9D,WAAYA,EAAYgE,SAAUA,KAErD1D,EAAA,QAAAC,cAACsD,EAAS,KACNvD,EAAA,QAAAC,cAACI,mBAAgB,CAACX,WAAYA,EAAYC,MAAOgE"}