@blateral/b.kit 2.7.5 → 2.8.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 (313) hide show
  1. package/cjs/Actions-c52a14e4.js +2 -0
  2. package/cjs/{Actions-c7b16449.js.map → Actions-c52a14e4.js.map} +1 -1
  3. package/cjs/Bdot-62c8e349.js +2 -0
  4. package/cjs/{Bdot-5f8e0450.js.map → Bdot-62c8e349.js.map} +1 -1
  5. package/cjs/Button-1adf99b8.js +2 -0
  6. package/cjs/{Button-51ea72b7.js.map → Button-1adf99b8.js.map} +1 -1
  7. package/cjs/ButtonGhost-fbab8769.js +2 -0
  8. package/cjs/{ButtonGhost-628bbd60.js.map → ButtonGhost-fbab8769.js.map} +1 -1
  9. package/cjs/Callout-d84ca60b.js +2 -0
  10. package/cjs/{Callout-5dd16679.js.map → Callout-d84ca60b.js.map} +1 -1
  11. package/cjs/Checkbox-8dccd42f.js +2 -0
  12. package/cjs/Checkbox-8dccd42f.js.map +1 -0
  13. package/cjs/Control-e15e1572.js +2 -0
  14. package/cjs/{Control-08d09950.js.map → Control-e15e1572.js.map} +1 -1
  15. package/cjs/Copy-a0bc570d.js +2 -0
  16. package/cjs/{Copy-ea6ab025.js.map → Copy-a0bc570d.js.map} +1 -1
  17. package/cjs/EventBlock-4e406696.js +2 -0
  18. package/cjs/{EventBlock-04e719a7.js.map → EventBlock-4e406696.js.map} +1 -1
  19. package/cjs/Filter-89286db9.js +2 -0
  20. package/cjs/Filter-89286db9.js.map +1 -0
  21. package/cjs/FilterBar-0781490f.js +2 -0
  22. package/cjs/FilterBar-0781490f.js.map +1 -0
  23. package/cjs/FilterField-7efcacb7.js +2 -0
  24. package/cjs/FilterField-7efcacb7.js.map +1 -0
  25. package/cjs/Grid-1acefee9.js +2 -0
  26. package/cjs/{Grid-6f4f99bc.js.map → Grid-1acefee9.js.map} +1 -1
  27. package/cjs/Image-94820dfd.js +2 -0
  28. package/cjs/{Image-c72f7a80.js.map → Image-94820dfd.js.map} +1 -1
  29. package/cjs/InfoList-e416058c.js +2 -0
  30. package/cjs/{InfoList-71d3388a.js.map → InfoList-e416058c.js.map} +1 -1
  31. package/cjs/LanguageSwitcher-aa96cc7d.js +2 -0
  32. package/cjs/{LanguageSwitcher-8fdd22ba.js.map → LanguageSwitcher-aa96cc7d.js.map} +1 -1
  33. package/cjs/LibThemeProvider-69109901.js +2 -0
  34. package/cjs/{LibThemeProvider-4823de57.js.map → LibThemeProvider-69109901.js.map} +1 -1
  35. package/cjs/Link-8951180c.js +2 -0
  36. package/cjs/{Link-5a6f1633.js.map → Link-8951180c.js.map} +1 -1
  37. package/cjs/MultiselectDropdown-a16ea1c9.js +2 -0
  38. package/cjs/MultiselectDropdown-a16ea1c9.js.map +1 -0
  39. package/cjs/Navigation-6abb6213.js +2 -0
  40. package/cjs/{Navigation-939e4d0e.js.map → Navigation-6abb6213.js.map} +1 -1
  41. package/cjs/Pointer-331140b6.js +2 -0
  42. package/cjs/{Pointer-fde7b548.js.map → Pointer-331140b6.js.map} +1 -1
  43. package/cjs/Section-c9a16ccc.js +2 -0
  44. package/cjs/{Section-e8e8cf81.js.map → Section-c9a16ccc.js.map} +1 -1
  45. package/cjs/SocialList-aec9a5c2.js +2 -0
  46. package/cjs/{SocialList-1d5f75a8.js.map → SocialList-aec9a5c2.js.map} +1 -1
  47. package/cjs/TableBlock-c545ca8d.js +2 -0
  48. package/cjs/{TableBlock-f2c59d9b.js.map → TableBlock-c545ca8d.js.map} +1 -1
  49. package/cjs/Tag-937849ad.js +2 -0
  50. package/cjs/{Tag-9238cf0c.js.map → Tag-937849ad.js.map} +1 -1
  51. package/cjs/Textarea-599e94a4.js +2 -0
  52. package/cjs/{Textarea-03bd2c34.js.map → Textarea-599e94a4.js.map} +1 -1
  53. package/cjs/Textfield-24f468be.js +2 -0
  54. package/cjs/Textfield-24f468be.js.map +1 -0
  55. package/cjs/VideoBlock-1fbf598b.js +2 -0
  56. package/cjs/{VideoBlock-dea7de8a.js.map → VideoBlock-1fbf598b.js.map} +1 -1
  57. package/cjs/VideoCard-905c08d2.js +2 -0
  58. package/cjs/{VideoCard-f6c436ca.js.map → VideoCard-905c08d2.js.map} +1 -1
  59. package/cjs/Wrapper-bca9463e.js +2 -0
  60. package/cjs/{Wrapper-ff6854d7.js.map → Wrapper-bca9463e.js.map} +1 -1
  61. package/cjs/base.js +1 -1
  62. package/cjs/blocks.js +1 -1
  63. package/cjs/buttons.js +1 -1
  64. package/cjs/cookies.js +1 -1
  65. package/cjs/cookies.js.map +1 -1
  66. package/cjs/fields.js +1 -1
  67. package/cjs/fields.js.map +1 -1
  68. package/cjs/footer.js +1 -1
  69. package/cjs/footer.js.map +1 -1
  70. package/cjs/formFieldText-046fcbf4.js +2 -0
  71. package/cjs/formFieldText-046fcbf4.js.map +1 -0
  72. package/cjs/headers.js +1 -1
  73. package/cjs/headers.js.map +1 -1
  74. package/cjs/hooks.js +1 -1
  75. package/cjs/hooks.js.map +1 -1
  76. package/cjs/icons.js +1 -1
  77. package/cjs/index.js +1 -1
  78. package/cjs/navigation-3f9d4ac4.js +2 -0
  79. package/cjs/{navigation-bf154e6e.js.map → navigation-3f9d4ac4.js.map} +1 -1
  80. package/cjs/navigation.js +1 -1
  81. package/cjs/navigation.js.map +1 -1
  82. package/cjs/sections.dynamicform.js +1 -1
  83. package/cjs/sections.dynamicform.js.map +1 -1
  84. package/cjs/sections.events.js +1 -1
  85. package/cjs/sections.events.js.map +1 -1
  86. package/cjs/sections.forms.js +1 -1
  87. package/cjs/sections.forms.js.map +1 -1
  88. package/cjs/sections.jobs.js +1 -1
  89. package/cjs/sections.jobs.js.map +1 -1
  90. package/cjs/sections.js +1 -1
  91. package/cjs/sections.js.map +1 -1
  92. package/cjs/sections.news.js +1 -1
  93. package/cjs/sections.news.js.map +1 -1
  94. package/cjs/sections.pois.js +1 -1
  95. package/cjs/sections.pois.js.map +1 -1
  96. package/cjs/styles-13e5d9ac.js +2 -0
  97. package/cjs/styles-13e5d9ac.js.map +1 -0
  98. package/cjs/typography.js +1 -1
  99. package/cjs/useCookieConsent-665d91cf.js +2 -0
  100. package/cjs/{useCookieConsent-aa9f1104.js.map → useCookieConsent-665d91cf.js.map} +1 -1
  101. package/cjs/useEqualSheetHeight-f1c10ec5.js +2 -0
  102. package/cjs/{useEqualSheetHeight-501f4c5f.js.map → useEqualSheetHeight-f1c10ec5.js.map} +1 -1
  103. package/cjs/useLazyInput-911b8eda.js +2 -0
  104. package/cjs/{useLazyInput-f71c221b.js.map → useLazyInput-911b8eda.js.map} +1 -1
  105. package/cjs/useLeafletMap-514304b6.js +2 -0
  106. package/cjs/{useLeafletMap-2e608b01.js.map → useLeafletMap-514304b6.js.map} +1 -1
  107. package/cjs/useMediaQuery-619d7203.js +2 -0
  108. package/cjs/{useMediaQuery-3d1054e5.js.map → useMediaQuery-619d7203.js.map} +1 -1
  109. package/cjs/useScroll-2f086e7f.js +2 -0
  110. package/cjs/useScroll-2f086e7f.js.map +1 -0
  111. package/esm/{Actions-21372b3a.js → Actions-e29b5e75.js} +3 -3
  112. package/esm/{Actions-21372b3a.js.map → Actions-e29b5e75.js.map} +1 -1
  113. package/esm/{Bdot-4db38753.js → Bdot-5e798e7e.js} +3 -3
  114. package/esm/{Bdot-4db38753.js.map → Bdot-5e798e7e.js.map} +1 -1
  115. package/esm/{Button-f9279013.js → Button-9a0dd9aa.js} +3 -3
  116. package/esm/{Button-f9279013.js.map → Button-9a0dd9aa.js.map} +1 -1
  117. package/esm/{ButtonGhost-ae2e97a2.js → ButtonGhost-fc9e7a75.js} +3 -3
  118. package/esm/{ButtonGhost-ae2e97a2.js.map → ButtonGhost-fc9e7a75.js.map} +1 -1
  119. package/esm/{Callout-a926194d.js → Callout-46f0bef0.js} +4 -4
  120. package/esm/{Callout-a926194d.js.map → Callout-46f0bef0.js.map} +1 -1
  121. package/esm/{Checkbox-dd12facd.js → Checkbox-1957067a.js} +11 -8
  122. package/esm/Checkbox-1957067a.js.map +1 -0
  123. package/esm/{Control-2d605e12.js → Control-56ec7872.js} +3 -3
  124. package/esm/{Control-2d605e12.js.map → Control-56ec7872.js.map} +1 -1
  125. package/esm/{Copy-a28aeb61.js → Copy-c6786949.js} +4 -4
  126. package/esm/{Copy-a28aeb61.js.map → Copy-c6786949.js.map} +1 -1
  127. package/esm/{EventBlock-b9204a0d.js → EventBlock-8e130f6b.js} +8 -8
  128. package/esm/{EventBlock-b9204a0d.js.map → EventBlock-8e130f6b.js.map} +1 -1
  129. package/esm/{ClockFilled-62515a8f.js → Filter-19220970.js} +321 -235
  130. package/esm/Filter-19220970.js.map +1 -0
  131. package/esm/FilterBar-2a2a09b7.js +460 -0
  132. package/esm/FilterBar-2a2a09b7.js.map +1 -0
  133. package/esm/FilterField-bec061bc.js +115 -0
  134. package/esm/FilterField-bec061bc.js.map +1 -0
  135. package/esm/{Grid-5eec127f.js → Grid-7b33e271.js} +3 -3
  136. package/esm/{Grid-5eec127f.js.map → Grid-7b33e271.js.map} +1 -1
  137. package/esm/{Image-dc2b33c1.js → Image-b26692a9.js} +5 -5
  138. package/esm/{Image-dc2b33c1.js.map → Image-b26692a9.js.map} +1 -1
  139. package/esm/{InfoList-5c4586ed.js → InfoList-b6980a42.js} +4 -4
  140. package/esm/{InfoList-5c4586ed.js.map → InfoList-b6980a42.js.map} +1 -1
  141. package/esm/{LanguageSwitcher-3fa20077.js → LanguageSwitcher-f9218fdc.js} +5 -5
  142. package/esm/{LanguageSwitcher-3fa20077.js.map → LanguageSwitcher-f9218fdc.js.map} +1 -1
  143. package/esm/{LibThemeProvider-52555ac9.js → LibThemeProvider-fb1d35ac.js} +3 -3
  144. package/esm/{LibThemeProvider-52555ac9.js.map → LibThemeProvider-fb1d35ac.js.map} +1 -1
  145. package/esm/{Link-3fd9c9b8.js → Link-6067a27f.js} +3 -3
  146. package/esm/{Link-3fd9c9b8.js.map → Link-6067a27f.js.map} +1 -1
  147. package/esm/MultiselectDropdown-a97be6bc.js +296 -0
  148. package/esm/MultiselectDropdown-a97be6bc.js.map +1 -0
  149. package/esm/{Navigation-99f6dc41.js → Navigation-bb79a1eb.js} +10 -10
  150. package/esm/{Navigation-99f6dc41.js.map → Navigation-bb79a1eb.js.map} +1 -1
  151. package/esm/{Pointer-5c77b1f1.js → Pointer-b4abee91.js} +3 -3
  152. package/esm/{Pointer-5c77b1f1.js.map → Pointer-b4abee91.js.map} +1 -1
  153. package/esm/{Section-b76e6909.js → Section-bd61eb2f.js} +3 -3
  154. package/esm/{Section-b76e6909.js.map → Section-bd61eb2f.js.map} +1 -1
  155. package/esm/{SocialList-402b8f20.js → SocialList-336b7f6d.js} +5 -5
  156. package/esm/{SocialList-402b8f20.js.map → SocialList-336b7f6d.js.map} +1 -1
  157. package/esm/{TableBlock-67fe2385.js → TableBlock-1ddfd539.js} +5 -5
  158. package/esm/{TableBlock-67fe2385.js.map → TableBlock-1ddfd539.js.map} +1 -1
  159. package/esm/{Tag-ac51e916.js → Tag-c3bd6b7f.js} +5 -5
  160. package/esm/{Tag-ac51e916.js.map → Tag-c3bd6b7f.js.map} +1 -1
  161. package/esm/{Textarea-266f1e45.js → Textarea-95352f50.js} +10 -10
  162. package/esm/{Textarea-266f1e45.js.map → Textarea-95352f50.js.map} +1 -1
  163. package/esm/{Textfield-d2f201a9.js → Textfield-99d91b4e.js} +10 -97
  164. package/esm/Textfield-99d91b4e.js.map +1 -0
  165. package/esm/{VideoBlock-b227ae6e.js → VideoBlock-474e0aa4.js} +7 -7
  166. package/esm/{VideoBlock-b227ae6e.js.map → VideoBlock-474e0aa4.js.map} +1 -1
  167. package/esm/{VideoCard-2c6e26d1.js → VideoCard-91438667.js} +7 -7
  168. package/esm/{VideoCard-2c6e26d1.js.map → VideoCard-91438667.js.map} +1 -1
  169. package/esm/{Wrapper-90dccc89.js → Wrapper-95108115.js} +3 -3
  170. package/esm/{Wrapper-90dccc89.js.map → Wrapper-95108115.js.map} +1 -1
  171. package/esm/base.js +5 -5
  172. package/esm/blocks.js +25 -16
  173. package/esm/blocks.js.map +1 -1
  174. package/esm/buttons.js +6 -6
  175. package/esm/cookies.js +7 -7
  176. package/esm/fields.js +14 -12
  177. package/esm/fields.js.map +1 -1
  178. package/esm/footer.js +11 -11
  179. package/esm/formFieldText-f4188e55.js +96 -0
  180. package/esm/formFieldText-f4188e55.js.map +1 -0
  181. package/esm/headers.js +12 -12
  182. package/esm/hooks.js +12 -83
  183. package/esm/hooks.js.map +1 -1
  184. package/esm/icons.js +5 -2
  185. package/esm/icons.js.map +1 -1
  186. package/esm/index.js +3 -3
  187. package/esm/{navigation-b89325f8.js → navigation-5216dbad.js} +2 -2
  188. package/esm/{navigation-b89325f8.js.map → navigation-5216dbad.js.map} +1 -1
  189. package/esm/navigation.js +12 -12
  190. package/esm/sections.dynamicform.js +15 -14
  191. package/esm/sections.dynamicform.js.map +1 -1
  192. package/esm/sections.events.js +13 -14
  193. package/esm/sections.events.js.map +1 -1
  194. package/esm/sections.forms.js +10 -9
  195. package/esm/sections.forms.js.map +1 -1
  196. package/esm/sections.jobs.js +12 -12
  197. package/esm/sections.js +28 -25
  198. package/esm/sections.js.map +1 -1
  199. package/esm/sections.news.js +17 -18
  200. package/esm/sections.news.js.map +1 -1
  201. package/esm/sections.pois.js +318 -143
  202. package/esm/sections.pois.js.map +1 -1
  203. package/esm/{styles-da982973.js → styles-1f1841ef.js} +4 -3
  204. package/esm/styles-1f1841ef.js.map +1 -0
  205. package/esm/typography.js +6 -6
  206. package/esm/{useCookieConsent-6b2d4d93.js → useCookieConsent-6661d419.js} +49 -49
  207. package/esm/useCookieConsent-6661d419.js.map +1 -0
  208. package/esm/{useEqualSheetHeight-97420d63.js → useEqualSheetHeight-60ff9de7.js} +4 -4
  209. package/esm/{useEqualSheetHeight-97420d63.js.map → useEqualSheetHeight-60ff9de7.js.map} +1 -1
  210. package/esm/{useLazyInput-54d1785c.js → useLazyInput-0b6932aa.js} +2 -2
  211. package/esm/{useLazyInput-54d1785c.js.map → useLazyInput-0b6932aa.js.map} +1 -1
  212. package/esm/{useLeafletMap-84170d32.js → useLeafletMap-fa0ab7d4.js} +10 -6
  213. package/esm/useLeafletMap-fa0ab7d4.js.map +1 -0
  214. package/esm/{useMediaQuery-b42fd64e.js → useMediaQuery-4c1b1fa6.js} +3 -3
  215. package/esm/{useMediaQuery-b42fd64e.js.map → useMediaQuery-4c1b1fa6.js.map} +1 -1
  216. package/esm/useScroll-881c7b04.js +76 -0
  217. package/esm/useScroll-881c7b04.js.map +1 -0
  218. package/package.json +2 -1
  219. package/types/blocks.d.ts +1 -0
  220. package/types/blocks.d.ts.map +1 -1
  221. package/types/components/base/icons/Cross.d.ts +2 -0
  222. package/types/components/base/icons/Cross.d.ts.map +1 -1
  223. package/types/components/base/icons/CrossBubble.d.ts +8 -0
  224. package/types/components/base/icons/CrossBubble.d.ts.map +1 -0
  225. package/types/components/base/icons/Icons.d.ts +3 -0
  226. package/types/components/base/icons/Icons.d.ts.map +1 -1
  227. package/types/components/base/icons/Magnifier.d.ts +2 -0
  228. package/types/components/base/icons/Magnifier.d.ts.map +1 -1
  229. package/types/components/blocks/FilterBar.d.ts +38 -0
  230. package/types/components/blocks/FilterBar.d.ts.map +1 -0
  231. package/types/components/blocks/POICard.d.ts.map +1 -1
  232. package/types/components/blocks/Portal.d.ts +8 -0
  233. package/types/components/blocks/Portal.d.ts.map +1 -0
  234. package/types/components/fields/Checkbox.d.ts +3 -1
  235. package/types/components/fields/Checkbox.d.ts.map +1 -1
  236. package/types/components/fields/FilterField.d.ts +1 -0
  237. package/types/components/fields/FilterField.d.ts.map +1 -1
  238. package/types/components/fields/MultiselectDropdown.d.ts +42 -0
  239. package/types/components/fields/MultiselectDropdown.d.ts.map +1 -0
  240. package/types/components/sections/Accordion.d.ts.map +1 -1
  241. package/types/components/sections/pois/PointOfInterestMap.d.ts +42 -1
  242. package/types/components/sections/pois/PointOfInterestMap.d.ts.map +1 -1
  243. package/types/components/sections/pois/PointOfInterestOverview.d.ts +41 -20
  244. package/types/components/sections/pois/PointOfInterestOverview.d.ts.map +1 -1
  245. package/types/components/sections/pois/filters.d.ts +10 -0
  246. package/types/components/sections/pois/filters.d.ts.map +1 -0
  247. package/types/components/sections/pois/partials/PoiFilterBar.d.ts +8 -0
  248. package/types/components/sections/pois/partials/PoiFilterBar.d.ts.map +1 -0
  249. package/types/components/sections/pois/partials/index.d.ts +3 -0
  250. package/types/components/sections/pois/partials/index.d.ts.map +1 -0
  251. package/types/fields.d.ts +1 -0
  252. package/types/fields.d.ts.map +1 -1
  253. package/types/sections.pois.d.ts +1 -0
  254. package/types/sections.pois.d.ts.map +1 -1
  255. package/types/utils/styles.d.ts +1 -0
  256. package/types/utils/styles.d.ts.map +1 -1
  257. package/types/utils/useLeafletMap.d.ts.map +1 -1
  258. package/cjs/Actions-c7b16449.js +0 -2
  259. package/cjs/Bdot-5f8e0450.js +0 -2
  260. package/cjs/Button-51ea72b7.js +0 -2
  261. package/cjs/ButtonGhost-628bbd60.js +0 -2
  262. package/cjs/Callout-5dd16679.js +0 -2
  263. package/cjs/Checkbox-1c34c7e6.js +0 -2
  264. package/cjs/Checkbox-1c34c7e6.js.map +0 -1
  265. package/cjs/ClockFilled-2483aa4a.js +0 -2
  266. package/cjs/ClockFilled-2483aa4a.js.map +0 -1
  267. package/cjs/Control-08d09950.js +0 -2
  268. package/cjs/Copy-ea6ab025.js +0 -2
  269. package/cjs/EventBlock-04e719a7.js +0 -2
  270. package/cjs/Filter-d6d90b8b.js +0 -2
  271. package/cjs/Filter-d6d90b8b.js.map +0 -1
  272. package/cjs/FilterField-cce38ffb.js +0 -2
  273. package/cjs/FilterField-cce38ffb.js.map +0 -1
  274. package/cjs/Grid-6f4f99bc.js +0 -2
  275. package/cjs/Image-c72f7a80.js +0 -2
  276. package/cjs/InfoList-71d3388a.js +0 -2
  277. package/cjs/LanguageSwitcher-8fdd22ba.js +0 -2
  278. package/cjs/LibThemeProvider-4823de57.js +0 -2
  279. package/cjs/Link-5a6f1633.js +0 -2
  280. package/cjs/Navigation-939e4d0e.js +0 -2
  281. package/cjs/POICard-e46f9041.js +0 -2
  282. package/cjs/POICard-e46f9041.js.map +0 -1
  283. package/cjs/Pointer-fde7b548.js +0 -2
  284. package/cjs/Section-e8e8cf81.js +0 -2
  285. package/cjs/SocialList-1d5f75a8.js +0 -2
  286. package/cjs/TableBlock-f2c59d9b.js +0 -2
  287. package/cjs/Tag-9238cf0c.js +0 -2
  288. package/cjs/Textarea-03bd2c34.js +0 -2
  289. package/cjs/Textfield-56996c98.js +0 -2
  290. package/cjs/Textfield-56996c98.js.map +0 -1
  291. package/cjs/VideoBlock-dea7de8a.js +0 -2
  292. package/cjs/VideoCard-f6c436ca.js +0 -2
  293. package/cjs/Wrapper-ff6854d7.js +0 -2
  294. package/cjs/navigation-bf154e6e.js +0 -2
  295. package/cjs/styles-3a495a2d.js +0 -2
  296. package/cjs/styles-3a495a2d.js.map +0 -1
  297. package/cjs/useCookieConsent-aa9f1104.js +0 -2
  298. package/cjs/useEqualSheetHeight-501f4c5f.js +0 -2
  299. package/cjs/useLazyInput-f71c221b.js +0 -2
  300. package/cjs/useLeafletMap-2e608b01.js +0 -2
  301. package/cjs/useMediaQuery-3d1054e5.js +0 -2
  302. package/esm/Checkbox-dd12facd.js.map +0 -1
  303. package/esm/ClockFilled-62515a8f.js.map +0 -1
  304. package/esm/Filter-2b5f5e53.js +0 -32
  305. package/esm/Filter-2b5f5e53.js.map +0 -1
  306. package/esm/FilterField-962ec61f.js +0 -129
  307. package/esm/FilterField-962ec61f.js.map +0 -1
  308. package/esm/POICard-96ec71d8.js +0 -116
  309. package/esm/POICard-96ec71d8.js.map +0 -1
  310. package/esm/Textfield-d2f201a9.js.map +0 -1
  311. package/esm/styles-da982973.js.map +0 -1
  312. package/esm/useCookieConsent-6b2d4d93.js.map +0 -1
  313. package/esm/useLeafletMap-84170d32.js.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={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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"}
package/cjs/hooks.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./useEqualSheetHeight-501f4c5f.js"),r=require("./useIE-aef9decc.js"),t=require("react"),n=require("./useMediaQuery-3d1054e5.js"),a=require("./useScrollTo-fdd665da.js"),s=require("./useUpdateEffect-4d233e2c.js"),o=require("./useMounted-0bba9869.js"),u=require("./useLazyInput-f71c221b.js"),i=require("./navigation-bf154e6e.js"),l=require("./ClockFilled-2483aa4a.js"),c=require("./hexRgbConverter-91b28aea.js"),f=require("./clamp-bd21d587.js"),d=require("./arrays-c272ed59.js"),p=require("./concat-f387d848.js"),m=require("./styles-3a495a2d.js"),g=require("./useLeafletMap-2e608b01.js"),v=require("./useGeolocation-d8946470.js"),x=require("./useObserverSupport-5ab320dd.js"),h=require("./urlParams-7525f638.js"),w=require("./useCookieConsent-aa9f1104.js");function y(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("react-dom/server");var _,S=y(t);exports.ScrollDirection=void 0,(_=exports.ScrollDirection||(exports.ScrollDirection={}))[_.UP=0]="UP",_[_.DOWN=1]="DOWN";var b=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,P=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,exports.useScrollTo=a.useScrollTo,exports.useUpdateEffect=s.useUpdateEffect,exports.useMounted=o.useMounted,exports.useDebounce=u.useDebounce,exports.useLazyInput=u.useLazyInput,exports.useTimeout=u.useTimeout,exports.getCurrentNavItem=i.getCurrentNavItem,exports.getCurrentNavPath=i.getCurrentNavPath,exports.useScrollThrottle=i.useScrollThrottle,exports.hexToRgba=c.hexToRgba,exports.clampValue=f.clampValue,exports.isEmptyArray=d.isEmptyArray,exports.isValidArray=d.isValidArray,exports.concat=p.concat,exports.printAnchorTag=p.printAnchorTag,exports.getSVGDataImg=m.getSVGDataImg,exports.useLeafletMap=g.useLeafletMap,exports.useGeolocation=v.useGeolocation,exports.useObserverSupport=x.useObserverSupport,exports.deleteUrlParam=h.deleteUrlParam,exports.getUrlParams=h.getUrlParams,exports.setUrlParam=h.setUrlParam,exports.selectors=w.selectors,exports.useCookieConsent=w.useCookieConsent,exports.canUseWebP=b,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=m.getGlobals(e).icons.linkIcons,s=".".concat((null==r?void 0:r.split(".").pop())||""),o=a.find((function(e){var r;return null===(r=e.patterns)||void 0===r?void 0:r.find((function(e){return e.match(s)}))}));return(null==o?void 0:o.iconChar)||(null===(n=null==o?void 0:o.iconUrl)||void 0===n?void 0:n.call(o,t))||""},exports.importFonts=function(e){return S.default.createElement(S.default.Fragment,null,e&&e.length>0&&S.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 S.default.createElement("link",{key:r,rel:"preconnect",href:e.rootPath,crossOrigin:"true"})})),null==e?void 0:e.map((function(e,r){return S.default.createElement("link",{key:r,rel:"preload",as:"style",href:e.sourcePath})})),S.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>")}}),S.default.createElement("noscript",null,null==e?void 0:e.map((function(e,r){return S.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 l.__spreadArray(l.__spreadArray([],r,!0),e,!0)})):a((function(r){return l.__spreadArray(l.__spreadArray([],r,!0),[e],!1)}))},filter:function(e){a((function(r){return r.filter(e)}))},update:function(e,r){a((function(t){return l.__spreadArray(l.__spreadArray(l.__spreadArray([],t.slice(0,e),!0),[r],!1),t.slice(e+1,t.length),!0)}))},remove:function(e){a((function(r){return l.__spreadArray(l.__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=l.__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),s=a[0],o=a[1],u=t.useState(!1),i=u[0],c=u[1],f=n.useMediaQuery(r),d=t.useState({small:[],medium:[],semilarge:[],large:[],xlarge:[],xxlarge:[],xxxLarge:[]}),p=d[0],m=d[1];return t.useEffect((function(){var r;if(s&&p&&f&&(p[f].length<e.length&&e.length>0)){var t=e.map((function(e){return e[f]}));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),l.__awaiter(void 0,void 0,void 0,(function(){var e,t,n,a;return l.__generator(this,(function(s){switch(s.label){case 0:e=function(e){var r;return l.__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[f].find((function(e){return e.id===r.i}))?e:l.__assign(l.__assign({},e),((t={})[f]=l.__spreadArray(l.__spreadArray([],e[f],!0),[{id:r.i,image:r.url}],!1),t))})),[2]}}))},t=0,n=r,s.label=1;case 1:return t<n.length?(a=n[t],[5,e(a)]):[3,4];case 2:s.sent(),s.label=3;case 3:return t++,[3,1];case 4:return[2]}}))}))}}),[f,e,s,p]),t.useEffect((function(){if(p&&f){var r=e.filter((function(e){return e[f]})).length;c(p[f].length>=r)}}),[f,e,p]),{loadedImages:f&&p[f],isLoaded:i,setReady:o}},exports.useInterval=function(e,r){var n=t.useRef(e),a=t.useRef();t.useEffect((function(){n.current=e}),[e]);var s=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]),o=t.useCallback((function(){a.current&&window.clearInterval(a.current)}),[]);t.useEffect((function(){return s(),o}),[r,s,o]);var u=t.useCallback((function(){o(),s()}),[o,s]);return{clear:o,reset:u}},exports.useItemHeight=function(){var e=t.useState(null),r=e[0],n=e[1],a=t.useState(0),s=a[0],o=a[1];return t.useEffect((function(){var e=function(){r&&o(r.offsetHeight)};return r&&(e(),window.addEventListener("resize",e)),function(){window.removeEventListener("resize",e)}}),[r]),{setElement:n,height:s}},exports.useParams=function(){var e=t.useState({}),r=e[0],n=e[1];t.useEffect((function(){E&&n(P())}),[]);var a=t.useCallback((function(e,t){if(E){var a=l.__assign({},r);a[e]=t;var s=new URLSearchParams(window.location.search);for(var o in a)s.set(o,encodeURIComponent(a[o]));n(P(s)),window.history.replaceState({},"","".concat(location.pathname,"?").concat(s.toString()+location.hash))}}),[r]);return{params:r,update:a}},exports.usePoster=function(e,r){var a=t.useState(),s=a[0],o=a[1],u=e.webp&&b()?e.webp:e,i=n.useMediaQuery(r||["small","medium","semilarge","large","xlarge"]);return t.useEffect((function(){i&&u[i]&&u[i]!==s&&o(u[i])}),[s,i,u]),s},exports.useScroll=function(e){var r=e.initialTopOffset,n=void 0===r?0:r,a=e.onLeftOffset,s=e.onEnterOffset,o=t.useState(n),u=o[0],i=o[1],l=t.useState(!0),c=l[0],f=l[1],d=t.useState(!0),p=d[0],m=d[1],g=t.useState(exports.ScrollDirection.DOWN),v=g[0],x=g[1],h=t.useRef(0);return t.useEffect((function(){if("undefined"!=typeof window){var e=function(){f(window.pageYOffset<=1),m(window.pageYOffset<=1+u),h.current&&(window.pageYOffset>1+u&&h.current<=1+u&&a&&a(),window.pageYOffset<=1+u&&h.current>1+u&&s&&s(),x((function(e){return window.pageYOffset<=1||window.pageYOffset>h.current?exports.ScrollDirection.DOWN:window.pageYOffset<h.current?exports.ScrollDirection.UP:e}))),h.current=window.pageYOffset};return e(),window.addEventListener("scroll",e),function(){window.removeEventListener("scroll",e)}}}),[h,a,s,v,u]),{isTop:c,isInOffset:p,scrollDirection:v,setTopOffset:i,topOffset: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-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};
2
2
  //# sourceMappingURL=hooks.js.map
package/cjs/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../src/utils/useScroll.ts","../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, useRef, useState } from 'react';\n\nexport enum ScrollDirection {\n UP,\n DOWN,\n}\n\nexport const useScroll = ({\n initialTopOffset = 0,\n onLeftOffset,\n onEnterOffset,\n}: {\n initialTopOffset?: number;\n onLeftOffset?: () => void;\n onEnterOffset?: () => void;\n}) => {\n const [topOffset, setTopOffset] = useState<number>(initialTopOffset);\n const [isTop, setIsTop] = useState<boolean>(true);\n const [isInOffset, setIsInOffset] = useState<boolean>(true);\n const [scrollDirection, setScrollDirection] = useState<ScrollDirection>(\n ScrollDirection.DOWN\n );\n const lastScrollPos = useRef<number>(0);\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n const handleScroll = () => {\n setIsTop(window.pageYOffset <= 1);\n setIsInOffset(window.pageYOffset <= 1 + topOffset);\n\n if (lastScrollPos.current) {\n // check if top offset is left\n if (\n window.pageYOffset > 1 + topOffset &&\n lastScrollPos.current <= 1 + topOffset\n ) {\n onLeftOffset && onLeftOffset();\n }\n\n // check if top offset was joined\n if (\n window.pageYOffset <= 1 + topOffset &&\n lastScrollPos.current > 1 + topOffset\n ) {\n onEnterOffset && onEnterOffset();\n }\n\n setScrollDirection((prev) => {\n if (window.pageYOffset <= 1) return ScrollDirection.DOWN;\n return window.pageYOffset > lastScrollPos.current\n ? ScrollDirection.DOWN\n : window.pageYOffset < lastScrollPos.current\n ? ScrollDirection.UP\n : prev;\n });\n }\n lastScrollPos.current = window.pageYOffset;\n };\n\n handleScroll();\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, [\n lastScrollPos,\n onLeftOffset,\n onEnterOffset,\n scrollDirection,\n topOffset,\n ]);\n\n return {\n isTop,\n isInOffset,\n scrollDirection,\n setTopOffset,\n topOffset,\n };\n};\n","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":["ScrollDirection","useScroll","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","initialTopOffset","onLeftOffset","onEnterOffset","topOffset","setTopOffset","_d","isTop","setIsTop","_e","isInOffset","setIsInOffset","_f","DOWN","scrollDirection","setScrollDirection","lastScrollPos","handleScroll","pageYOffset","UP","canTouch","setCanTouch","navigator","maxTouchPoints","msMaxTouchPoints"],"mappings":"08BAEYA,SAAAA,QAAZA,qBAAA,GAAYA,EAAAA,0BAAAA,QAAAA,gBAGX,KAFGA,EAAA,GAAA,GAAA,KACAA,EAAAA,EAAA,KAAA,GAAA,OAGSC,ICQAC,EAAa,WACtB,IAAKC,EAAAA,UAAW,OAAO,EAEvB,IAAMC,EAAOC,SAASC,cAAc,UAEpC,QAAMF,EAAKG,aAAcH,EAAKG,WAAW,QAE6B,GAA3DH,EAAKI,UAAU,cAAcC,QAAQ,oBCpB9CC,ICAAC,EACgB,oBAAXC,QAA0B,oBAAqBA,OAEpDC,EAAe,SAACC,GACZC,IAAAA,EAA8B,GAE9BC,EAAYC,OAAOC,YACrBJ,GAAU,IAAIK,gBAAgBP,OAAOQ,SAASC,SAGlD,IAAK,IAAMC,KAASN,EAAW,CAC3B,IAAIO,EAAQP,EAAUM,GACD,iBAAVC,IACPA,EAAQC,mBAAmBD,IAE/BR,EAAIO,GAASC,EAGjB,OAAOR,mxCCpBe,SACtBU,EAOAC,GAEA,OAAQA,GACJ,QACA,IAAK,QACMD,OAAAA,EAAQE,MAEnB,IAAK,SACD,OACIF,EAAQG,QACRH,EAAQI,WACRJ,EAAQK,OACRL,EAAQM,QACRN,EAAQE,MAGhB,IAAK,YACD,OACIF,EAAQI,WACRJ,EAAQK,OACRL,EAAQM,QACRN,EAAQG,QACRH,EAAQE,MAGhB,IAAK,QACD,OACIF,EAAQK,OACRL,EAAQM,QACRN,EAAQI,WACRJ,EAAQG,QACRH,EAAQE,MAGhB,IAAK,SACD,OACIF,EAAQM,QACRN,EAAQK,OACRL,EAAQI,WACRJ,EAAQG,QACRH,EAAQE,4BC7CG,SACvBK,EACAC,EACAC,SAEMC,EAAYC,EAAMC,WAACL,GAAOM,MAAMH,UAEhCI,EAAgB,IAAAC,QAAIP,MAAAA,OAAA,EAAAA,EAAMQ,MAAM,KAAKC,QAAS,IAC9CC,EAASR,EAAUS,MAAK,SAACC,SACpB,eAAAC,EAAAD,EAAKE,+BAAUH,MAAK,SAACI,GAAY,OAAAA,EAAQC,MAAMV,SAGnD,OAAAI,MAAAA,SAAAA,EAAQO,YAA2B,QAAfJ,EAAAH,MAAAA,OAAM,EAANA,EAAQQ,eAAO,IAAAL,OAAA,EAAAA,EAAAM,KAAAT,EAAGT,KAAe,wBCDrC,SAACmB,GAEpBC,OAAAA,EAAA,QAAAhD,cAACgD,UAAMC,SAAQ,KACVF,GAASA,EAAMG,OAAS,GACrBF,UACIhD,cAAA,QAAA,CAAAmD,wBAAyB,CACrBC,OAAQL,MAAAA,OAAA,EAAAA,EAAOM,QAAO,SAACC,EAAKC,SACxB,OAAIA,MAAAA,SAAAA,EAASC,WACTF,WAAOd,EAAAe,MAAAA,OAAA,EAAAA,EAASC,gCAAWH,QACvB,SAACI,EAASC,GAEN,OADAD,GAAW,8BAAAvB,OAA8BwB,EAAEC,KAAuB,oBAAAzB,OAAAwB,EAAEE,WAA2B,kBAAA1B,OAAAwB,EAAEG,oBAIrG,IAGMP,IACf,OAKdP,MAAAA,OAAK,EAALA,EAAOe,KAAI,SAACC,EAAMC,GAAM,OACrBhB,gCACIiB,IAAKD,EACLE,IAAI,aACJvC,KAAMoC,EAAKI,SACXC,YAAY,YAGnBrB,MAAAA,OAAK,EAALA,EAAOe,KAAI,SAACC,EAAMC,GAAM,OACrBhB,EAAA,QAAAhD,cAAA,OAAA,CAAMiE,IAAKD,EAAGE,IAAI,UAAUG,GAAG,QAAQ1C,KAAMoC,EAAKO,gBAGtDtB,EAAAA,QAAAhD,cAAA,QAAA,CACImD,wBAAyB,CACrBC,OAAQ,WAAAlB,OAAWa,MAAAA,OAAK,EAALA,EAAOM,QACtB,SAACkB,EAAMhB,GACKgB,OAAAA,EAAQ,kEAAArC,OACmBqB,EAAQe,WAAwD,oDAEvG,IACM,cAIlBtB,EAAA,QAAAhD,cAAA,WAAA,KACK+C,MAAAA,OAAA,EAAAA,EAAOe,KAAI,SAACC,EAAMC,GAAM,OACrBhB,gCAAMiB,IAAKD,EAAGE,IAAI,aAAavC,KAAMoC,EAAKO,oCC7D7C,SAAIE,GACX,IAAAhC,EAAoBiC,EAAAA,SAAmBD,GAAgB,IAAtDE,EAAKlC,EAAA,GAAEmC,OA8CP,MAAA,CACHD,MAAKA,EACLE,IAAKD,EACLE,KA/CS,SAACC,GACNC,MAAMC,QAAQF,GACdH,GAAS,SAACJ,GAAS,OAAAU,EAAAA,cAAAA,EAAAA,cAAA,GAAIV,GAAI,GAAKO,GAAO,MAEvCH,GAAS,SAACJ,GAAS,OAAAU,EAAAA,cAAAA,gBAAA,GAAIV,GAAI,GAAA,CAAEO,IAAO,OA4CxCI,OA7BW,SACXC,GAEAR,GAAS,SAACJ,GAAS,OAAAA,EAAKW,OAAOC,OA2B/BC,OAxBW,SAACC,EAAeC,GAC3BX,GAAS,SAACJ,GAAS,OACZU,EAAAA,cAAAA,gBAAAA,EAAAA,cAAA,GAAAV,EAAKgB,MAAM,EAAGF,IAAM,GAAA,CACvBC,IACG,GAAAf,EAAKgB,MAAMF,EAAQ,EAAGd,EAAKrB,SAHf,OAwBnBsC,OAjBW,SAACH,GACZV,GAAS,SAACJ,GAAS,OACZU,EAAAA,cAAAA,EAAAA,cAAA,GAAAV,EAAKgB,MAAM,EAAGF,IAAM,GACpBd,EAAKgB,MAAMF,EAAQ,EAAGd,EAAKrB,SAFf,OAiBnBuC,MAXU,WACVd,EAAS,KAWTvC,IA5CQ,WACR,IAAIsD,EAOJ,OALAf,GAAS,SAACJ,GACAoB,IAAAA,EAAIV,EAAAA,cAAA,GAAOV,GAAI,GAErB,OADAmB,EAASC,EAAKvD,MACPuD,KAEJD,2BChBc,SACzBE,EACAC,QAAA,IAAAA,IAAAA,EAAA,CAAyB,YAAa,UAEhC,IAAArD,EAAsBiC,EAAQA,UAAC,GAA9BqB,EAAOtD,EAAA,GAAEuD,EAAQvD,EAAA,GAClBwD,EAAwBvB,EAAQA,UAAC,GAAhCwB,EAAQD,EAAA,GAAEE,EAASF,EAAA,GACpBG,EAAYC,gBAAcP,GAC1BQ,EAAkC5B,EAAAA,SAErC,CACCpD,MAAO,GACPC,OAAQ,GACRC,UAAW,GACXC,MAAO,GACPC,OAAQ,GACR6E,QAAS,GACTC,SAAU,KATPC,EAAYH,EAAA,GAAEI,OAmEd,OAzCPC,EAAAA,WAAU,WAEF,IAK2BC,EAN/B,GAAIb,GAAWU,GAAgBL,IACPK,EAAaL,GAEjBjD,OAAS0C,EAAU1C,QAAU0C,EAAU1C,OAAS,GAAG,CACzD0D,IAAAA,EAAkBhB,EAAU9B,KAAI,SAAC+C,GAAQA,OAAAA,EAAIV,MAE5BQ,EArBb,SAACf,GAWnB,OAVgBA,EAAUV,QAAO,SAAC2B,GAAQ,OAAAA,KAAkB/C,KACxD,SAACgD,EAAK9C,GACF,OAAO,IAAI+C,SAAQ,SAACC,GAChB,IAAMH,EAAM,IAAIvG,OAAO2G,MACvBJ,EAAIC,IAAMA,EACVD,EAAIK,OAAS,WAAM,OAAAF,EAAI,CAAEG,IAAKL,EAAK9C,EAACA,WAqChCoD,CAAcR,GAtBWS,EAAAA,eAAA,OAAA,OAAA,GAAA,gGAClBC,gEACG,KAAA,EAAA,MAAA,CAAA,EAAMA,iBAAVC,EAAIvB,EAAUwB,OAEpBf,GAAgB,SAAClC,SAET,OAACA,EAAK4B,GAAW7D,MAAK,SAACmF,GAAM,OAAAA,EAAEC,KAAOH,EAAEvD,KAW9BO,EAVVoD,EAAAA,SAAAA,EAAAA,SAAA,GACOpD,KACF/B,EAAA,IAAA2D,sCACM5B,EAAK4B,IAAU,GAAA,CAClB,CACIuB,GAAIH,EAAEvD,EACN4D,MAAOL,EAAEJ,OAGnB,GAAA3E,gBAfUqF,EAAA,EAALC,EAAKnB,mBAAL,OAAAkB,YAARP,EAAIQ,EAAAD,QAAJP,KAAa,CAAA,EAAA,2CAALO,qCAwBhC,CAAC1B,EAAWP,EAAWE,EAASU,IAEnCE,EAAAA,WAAU,WACFF,GAAAA,GAAgBL,EAAW,CACrB4B,IAAAA,EAAWnC,EAAUV,QAAO,SAAC2B,GAAQA,OAAAA,EAAIV,MAAYjD,OAC3DgD,EAAUM,EAAaL,GAAWjD,QAAU6E,MAEjD,CAAC5B,EAAWP,EAAWY,IAEnB,CACHA,aAAcL,GAAaK,EAAaL,GACxCF,SAAQA,EACRF,SAAQA,wBChFF,SAAsBZ,EAAsB6C,GACtD,IAAMC,EAAcC,SAAO/C,GACrBgD,EAAcD,EAAAA,SAGpBxB,EAAAA,WAAU,WACNuB,EAAY1E,QAAU4B,IACvB,CAACA,IAEJ,IAAMP,EAAMwD,EAAAA,aAAY,WACpBD,EAAY5E,QAAUjD,OAAO+H,aACzB,WAAM,IAAA7F,EAAA,OAAuB,UAAvByF,EAAY1E,eAAW,IAAAf,OAAA,EAAAA,EAAAM,KAAAmF,KAC7BD,KAEL,CAACA,IAEEvC,EAAQ2C,EAAAA,aAAY,WACtBD,EAAY5E,SAAWjD,OAAOgI,cAAcH,EAAY5E,WACzD,IAEHmD,EAAAA,WAAU,WAEN,OADA9B,IACOa,IACR,CAACuC,EAAOpD,EAAKa,IAEhB,IAAM8C,EAAQH,EAAAA,aAAY,WACtB3C,IACAb,MACD,CAACa,EAAOb,IAEJ,MAAA,CAAEa,MAAKA,EAAE8C,MAAKA,0BC9BI,WACnB,IAAA/F,EAAwBiC,EAAQA,SAAqB,MAApDK,EAAOtC,EAAA,GAAEgG,EAAUhG,EAAA,GACpBwD,EAAsBvB,EAAQA,SAAS,GAAtCgE,EAAMzC,EAAA,GAAE0C,EAAS1C,EAAA,GAiBjB,OAfPU,EAAAA,WAAU,WACAiC,IAAAA,EAAa,WACX7D,GAAS4D,EAAU5D,EAAQ8D,eAQnC,OALI9D,IACA6D,IACArI,OAAOuI,iBAAiB,SAAUF,IAG/B,WACHrI,OAAOwI,oBAAoB,SAAUH,MAE1C,CAAC7D,IAEG,CACH0D,WAAUA,EACVC,OAAMA,sBPAI,WACR,IAAAjG,EAAsBiC,EAAQA,SAAyB,IAAtDjE,EAAMgC,EAAA,GAAEuG,EAASvG,EAAA,GAExBkE,EAAAA,WAAU,WACDrG,GAEL0I,EAAUxI,OACX,IAEG6E,IAAAA,EAASgD,EAAAA,aACX,SAACnE,EAAahD,GACN,GAACZ,EAAD,CAEJ,IAAM2I,EAASrB,EAAAA,SAAA,GAAQnH,GACvBwI,EAAU/E,GAAOhD,EAEXgI,IAAAA,EAAgB,IAAIpI,gBAAgBP,OAAOQ,SAASC,QAC1D,IAAK,IAAMC,KAASgI,EAChBC,EAAcrE,IAAI5D,EAAOkI,mBAAmBF,EAAUhI,KAG1D+H,EAAUxI,EAAa0I,IAEvB3I,OAAO6I,QAAQC,aACX,GACA,GACA,GAAAlH,OAAGpB,SAASuI,SACR,KAAAnH,OAAA+G,EAAcK,WAAaxI,SAASyI,UAIhD,CAAC/I,IAGE,MAAA,CAAEA,OAAMA,EAAE4E,OAAMA,sBF1BF,SACrBoE,EAGA3D,GAEMrD,IAAAA,EAAkCiC,EAAAA,WAAjCgF,EAAYjH,EAAA,GAAEkH,EAAelH,EAAA,GAE9BmH,EACFH,EAAYI,MAAQhK,IAAe4J,EAAYI,KAAOJ,EACpDrD,EAAYC,gBACdP,GAAO,CAAC,QAAS,SAAU,YAAa,QAAS,WAarD,OAVAa,EAAAA,WAAU,WAEFP,GACAwD,EAAaxD,IACbwD,EAAaxD,KAAesD,GAE5BC,EAAgBC,EAAaxD,MAElC,CAACsD,EAActD,EAAWwD,IAEtBF,qBDhDc,SAACjH,OACtBwD,EAAoBxD,EAAAqH,iBAApBA,OAAgB,IAAA7D,EAAG,EAACA,EACpB8D,EAAYtH,EAAAsH,aACZC,EAAavH,EAAAuH,cAMP1D,EAA4B5B,EAAQA,SAASoF,GAA5CG,EAAS3D,EAAA,GAAE4D,EAAY5D,EAAA,GACxB6D,EAAoBzF,EAAQA,UAAU,GAArC0F,EAAKD,EAAA,GAAEE,EAAQF,EAAA,GAChBG,EAA8B5F,EAAQA,UAAU,GAA/C6F,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAC1BG,EAAwC/F,EAAAA,SAC1C/E,QAAeA,gBAAC+K,MADbC,EAAeF,EAAA,GAAEG,OAGlBC,EAAgB1C,SAAe,GAmD9B,OAjDPxB,EAAAA,WAAU,WACN,GAAsB,oBAAXpG,OAAX,CACMuK,IAAAA,EAAe,WACjBT,EAAS9J,OAAOwK,aAAe,GAC/BP,EAAcjK,OAAOwK,aAAe,EAAId,GAEpCY,EAAcrH,UAGVjD,OAAOwK,YAAc,EAAId,GACzBY,EAAcrH,SAAW,EAAIyG,GAE7BF,GAAgBA,IAKhBxJ,OAAOwK,aAAe,EAAId,GAC1BY,EAAcrH,QAAU,EAAIyG,GAE5BD,GAAiBA,IAGrBY,GAAmB,SAACpG,GACZjE,OAAAA,OAAOwK,aAAe,GACnBxK,OAAOwK,YAAcF,EAAcrH,QADN7D,QAAAA,gBAAgB+K,KAG9CnK,OAAOwK,YAAcF,EAAcrH,QACnC7D,QAAAA,gBAAgBqL,GAChBxG,MAGdqG,EAAcrH,QAAUjD,OAAOwK,aAMnC,OAHAD,IACAvK,OAAOuI,iBAAiB,SAAUgC,GAE3B,WACHvK,OAAOwI,oBAAoB,SAAU+B,OAE1C,CACCD,EACAd,EACAC,EACAW,EACAV,IAGG,CACHG,MAAKA,EACLG,WAAUA,EACVI,gBAAeA,EACfT,aAAYA,EACZD,UAASA,qBE5EA,WACP,IAAAxH,EAA0BiC,EAAQA,UAAC,GAAlCuG,EAAQxI,EAAA,GAAEyI,EAAWzI,EAAA,GAS5B,OAPAkE,EAAAA,WAAU,WACNuE,EACI,iBAAkB3K,QACd4K,UAAUC,eAAiB,GAC1BD,UAAkBE,iBAAmB,KAE/C,IACIJ"}
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":"i/BAeaA,EAAa,WACtB,IAAKC,EAAAA,UAAW,OAAO,EAEvB,IAAMC,EAAOC,SAASC,cAAc,UAEpC,QAAMF,EAAKG,aAAcH,EAAKG,WAAW,QAE6B,GAA3DH,EAAKI,UAAU,cAAcC,QAAQ,oBCpB9CC,ICAAC,EACgB,oBAAXC,QAA0B,oBAAqBA,OAEpDC,EAAe,SAACC,GACZC,IAAAA,EAA8B,GAE9BC,EAAYC,OAAOC,YACrBJ,GAAU,IAAIK,gBAAgBP,OAAOQ,SAASC,SAGlD,IAAK,IAAMC,KAASN,EAAW,CAC3B,IAAIO,EAAQP,EAAUM,GACD,iBAAVC,IACPA,EAAQC,mBAAmBD,IAE/BR,EAAIO,GAASC,EAGjB,OAAOR,25CCpBe,SACtBU,EAOAC,GAEA,OAAQA,GACJ,QACA,IAAK,QACMD,OAAAA,EAAQE,MAEnB,IAAK,SACD,OACIF,EAAQG,QACRH,EAAQI,WACRJ,EAAQK,OACRL,EAAQM,QACRN,EAAQE,MAGhB,IAAK,YACD,OACIF,EAAQI,WACRJ,EAAQK,OACRL,EAAQM,QACRN,EAAQG,QACRH,EAAQE,MAGhB,IAAK,QACD,OACIF,EAAQK,OACRL,EAAQM,QACRN,EAAQI,WACRJ,EAAQG,QACRH,EAAQE,MAGhB,IAAK,SACD,OACIF,EAAQM,QACRN,EAAQK,OACRL,EAAQI,WACRJ,EAAQG,QACRH,EAAQE,4BC7CG,SACvBK,EACAC,EACAC,SAEMC,EAAYC,EAAMC,WAACL,GAAOM,MAAMH,UAEhCI,EAAgB,IAAAC,QAAIP,MAAAA,OAAA,EAAAA,EAAMQ,MAAM,KAAKC,QAAS,IAC9CC,EAASR,EAAUS,MAAK,SAACC,SACpB,eAAAC,EAAAD,EAAKE,+BAAUH,MAAK,SAACI,GAAY,OAAAA,EAAQC,MAAMV,SAGnD,OAAAI,MAAAA,SAAAA,EAAQO,YAA2B,QAAfJ,EAAAH,MAAAA,OAAM,EAANA,EAAQQ,eAAO,IAAAL,OAAA,EAAAA,EAAAM,KAAAT,EAAGT,KAAe,wBCDrC,SAACmB,GAEpBC,OAAAA,EAAA,QAAAhD,cAACgD,UAAMC,SAAQ,KACVF,GAASA,EAAMG,OAAS,GACrBF,UACIhD,cAAA,QAAA,CAAAmD,wBAAyB,CACrBC,OAAQL,MAAAA,OAAA,EAAAA,EAAOM,QAAO,SAACC,EAAKC,SACxB,OAAIA,MAAAA,SAAAA,EAASC,WACTF,WAAOd,EAAAe,MAAAA,OAAA,EAAAA,EAASC,gCAAWH,QACvB,SAACI,EAASC,GAEN,OADAD,GAAW,8BAAAvB,OAA8BwB,EAAEC,KAAuB,oBAAAzB,OAAAwB,EAAEE,WAA2B,kBAAA1B,OAAAwB,EAAEG,oBAIrG,IAGMP,IACf,OAKdP,MAAAA,OAAK,EAALA,EAAOe,KAAI,SAACC,EAAMC,GAAM,OACrBhB,gCACIiB,IAAKD,EACLE,IAAI,aACJvC,KAAMoC,EAAKI,SACXC,YAAY,YAGnBrB,MAAAA,OAAK,EAALA,EAAOe,KAAI,SAACC,EAAMC,GAAM,OACrBhB,EAAA,QAAAhD,cAAA,OAAA,CAAMiE,IAAKD,EAAGE,IAAI,UAAUG,GAAG,QAAQ1C,KAAMoC,EAAKO,gBAGtDtB,EAAAA,QAAAhD,cAAA,QAAA,CACImD,wBAAyB,CACrBC,OAAQ,WAAAlB,OAAWa,MAAAA,OAAK,EAALA,EAAOM,QACtB,SAACkB,EAAMhB,GACKgB,OAAAA,EAAQ,kEAAArC,OACmBqB,EAAQe,WAAwD,oDAEvG,IACM,cAIlBtB,EAAA,QAAAhD,cAAA,WAAA,KACK+C,MAAAA,OAAA,EAAAA,EAAOe,KAAI,SAACC,EAAMC,GAAM,OACrBhB,gCAAMiB,IAAKD,EAAGE,IAAI,aAAavC,KAAMoC,EAAKO,oCC7D7C,SAAIE,GACX,IAAAhC,EAAoBiC,EAAAA,SAAmBD,GAAgB,IAAtDE,EAAKlC,EAAA,GAAEmC,OA8CP,MAAA,CACHD,MAAKA,EACLE,IAAKD,EACLE,KA/CS,SAACC,GACNC,MAAMC,QAAQF,GACdH,GAAS,SAACJ,GAAS,OAAAU,EAAAA,cAAAA,EAAAA,cAAA,GAAIV,GAAI,GAAKO,GAAO,MAEvCH,GAAS,SAACJ,GAAS,OAAAU,EAAAA,cAAAA,gBAAA,GAAIV,GAAI,GAAA,CAAEO,IAAO,OA4CxCI,OA7BW,SACXC,GAEAR,GAAS,SAACJ,GAAS,OAAAA,EAAKW,OAAOC,OA2B/BC,OAxBW,SAACC,EAAeC,GAC3BX,GAAS,SAACJ,GAAS,OACZU,EAAAA,cAAAA,gBAAAA,EAAAA,cAAA,GAAAV,EAAKgB,MAAM,EAAGF,IAAM,GAAA,CACvBC,IACG,GAAAf,EAAKgB,MAAMF,EAAQ,EAAGd,EAAKrB,SAHf,OAwBnBsC,OAjBW,SAACH,GACZV,GAAS,SAACJ,GAAS,OACZU,EAAAA,cAAAA,EAAAA,cAAA,GAAAV,EAAKgB,MAAM,EAAGF,IAAM,GACpBd,EAAKgB,MAAMF,EAAQ,EAAGd,EAAKrB,SAFf,OAiBnBuC,MAXU,WACVd,EAAS,KAWTvC,IA5CQ,WACR,IAAIsD,EAOJ,OALAf,GAAS,SAACJ,GACAoB,IAAAA,EAAIV,EAAAA,cAAA,GAAOV,GAAI,GAErB,OADAmB,EAASC,EAAKvD,MACPuD,KAEJD,2BChBc,SACzBE,EACAC,QAAA,IAAAA,IAAAA,EAAA,CAAyB,YAAa,UAEhC,IAAArD,EAAsBiC,EAAQA,UAAC,GAA9BqB,EAAOtD,EAAA,GAAEuD,EAAQvD,EAAA,GAClBwD,EAAwBvB,EAAQA,UAAC,GAAhCwB,EAAQD,EAAA,GAAEE,EAASF,EAAA,GACpBG,EAAYC,gBAAcP,GAC1BQ,EAAkC5B,EAAAA,SAErC,CACCpD,MAAO,GACPC,OAAQ,GACRC,UAAW,GACXC,MAAO,GACPC,OAAQ,GACR6E,QAAS,GACTC,SAAU,KATPC,EAAYH,EAAA,GAAEI,OAmEd,OAzCPC,EAAAA,WAAU,WAEF,IAK2BC,EAN/B,GAAIb,GAAWU,GAAgBL,IACPK,EAAaL,GAEjBjD,OAAS0C,EAAU1C,QAAU0C,EAAU1C,OAAS,GAAG,CACzD0D,IAAAA,EAAkBhB,EAAU9B,KAAI,SAAC+C,GAAQA,OAAAA,EAAIV,MAE5BQ,EArBb,SAACf,GAWnB,OAVgBA,EAAUV,QAAO,SAAC2B,GAAQ,OAAAA,KAAkB/C,KACxD,SAACgD,EAAK9C,GACF,OAAO,IAAI+C,SAAQ,SAACC,GAChB,IAAMH,EAAM,IAAIvG,OAAO2G,MACvBJ,EAAIC,IAAMA,EACVD,EAAIK,OAAS,WAAM,OAAAF,EAAI,CAAEG,IAAKL,EAAK9C,EAACA,WAqChCoD,CAAcR,GAtBWS,EAAAA,eAAA,OAAA,OAAA,GAAA,gGAClBC,gEACG,KAAA,EAAA,MAAA,CAAA,EAAMA,iBAAVC,EAAIvB,EAAUwB,OAEpBf,GAAgB,SAAClC,SAET,OAACA,EAAK4B,GAAW7D,MAAK,SAACmF,GAAM,OAAAA,EAAEC,KAAOH,EAAEvD,KAW9BO,EAVVoD,EAAAA,SAAAA,EAAAA,SAAA,GACOpD,KACF/B,EAAA,IAAA2D,sCACM5B,EAAK4B,IAAU,GAAA,CAClB,CACIuB,GAAIH,EAAEvD,EACN4D,MAAOL,EAAEJ,OAGnB,GAAA3E,gBAfUqF,EAAA,EAALC,EAAKnB,mBAAL,OAAAkB,YAARP,EAAIQ,EAAAD,QAAJP,KAAa,CAAA,EAAA,2CAALO,qCAwBhC,CAAC1B,EAAWP,EAAWE,EAASU,IAEnCE,EAAAA,WAAU,WACFF,GAAAA,GAAgBL,EAAW,CACrB4B,IAAAA,EAAWnC,EAAUV,QAAO,SAAC2B,GAAQA,OAAAA,EAAIV,MAAYjD,OAC3DgD,EAAUM,EAAaL,GAAWjD,QAAU6E,MAEjD,CAAC5B,EAAWP,EAAWY,IAEnB,CACHA,aAAcL,GAAaK,EAAaL,GACxCF,SAAQA,EACRF,SAAQA,wBChFF,SAAsBZ,EAAsB6C,GACtD,IAAMC,EAAcC,SAAO/C,GACrBgD,EAAcD,EAAAA,SAGpBxB,EAAAA,WAAU,WACNuB,EAAY1E,QAAU4B,IACvB,CAACA,IAEJ,IAAMP,EAAMwD,EAAAA,aAAY,WACpBD,EAAY5E,QAAUjD,OAAO+H,aACzB,WAAM,IAAA7F,EAAA,OAAuB,UAAvByF,EAAY1E,eAAW,IAAAf,OAAA,EAAAA,EAAAM,KAAAmF,KAC7BD,KAEL,CAACA,IAEEvC,EAAQ2C,EAAAA,aAAY,WACtBD,EAAY5E,SAAWjD,OAAOgI,cAAcH,EAAY5E,WACzD,IAEHmD,EAAAA,WAAU,WAEN,OADA9B,IACOa,IACR,CAACuC,EAAOpD,EAAKa,IAEhB,IAAM8C,EAAQH,EAAAA,aAAY,WACtB3C,IACAb,MACD,CAACa,EAAOb,IAEJ,MAAA,CAAEa,MAAKA,EAAE8C,MAAKA,0BC9BI,WACnB,IAAA/F,EAAwBiC,EAAQA,SAAqB,MAApDK,EAAOtC,EAAA,GAAEgG,EAAUhG,EAAA,GACpBwD,EAAsBvB,EAAQA,SAAS,GAAtCgE,EAAMzC,EAAA,GAAE0C,EAAS1C,EAAA,GAiBjB,OAfPU,EAAAA,WAAU,WACAiC,IAAAA,EAAa,WACX7D,GAAS4D,EAAU5D,EAAQ8D,eAQnC,OALI9D,IACA6D,IACArI,OAAOuI,iBAAiB,SAAUF,IAG/B,WACHrI,OAAOwI,oBAAoB,SAAUH,MAE1C,CAAC7D,IAEG,CACH0D,WAAUA,EACVC,OAAMA,sBPAI,WACR,IAAAjG,EAAsBiC,EAAQA,SAAyB,IAAtDjE,EAAMgC,EAAA,GAAEuG,EAASvG,EAAA,GAExBkE,EAAAA,WAAU,WACDrG,GAEL0I,EAAUxI,OACX,IAEG6E,IAAAA,EAASgD,EAAAA,aACX,SAACnE,EAAahD,GACN,GAACZ,EAAD,CAEJ,IAAM2I,EAASrB,EAAAA,SAAA,GAAQnH,GACvBwI,EAAU/E,GAAOhD,EAEXgI,IAAAA,EAAgB,IAAIpI,gBAAgBP,OAAOQ,SAASC,QAC1D,IAAK,IAAMC,KAASgI,EAChBC,EAAcrE,IAAI5D,EAAOkI,mBAAmBF,EAAUhI,KAG1D+H,EAAUxI,EAAa0I,IAEvB3I,OAAO6I,QAAQC,aACX,GACA,GACA,GAAAlH,OAAGpB,SAASuI,SACR,KAAAnH,OAAA+G,EAAcK,WAAaxI,SAASyI,UAIhD,CAAC/I,IAGE,MAAA,CAAEA,OAAMA,EAAE4E,OAAMA,sBF1BF,SACrBoE,EAGA3D,GAEMrD,IAAAA,EAAkCiC,EAAAA,WAAjCgF,EAAYjH,EAAA,GAAEkH,EAAelH,EAAA,GAE9BmH,EACFH,EAAYI,MAAQhK,IAAe4J,EAAYI,KAAOJ,EACpDrD,EAAYC,gBACdP,GAAO,CAAC,QAAS,SAAU,YAAa,QAAS,WAarD,OAVAa,EAAAA,WAAU,WAEFP,GACAwD,EAAaxD,IACbwD,EAAaxD,KAAesD,GAE5BC,EAAgBC,EAAaxD,MAElC,CAACsD,EAActD,EAAWwD,IAEtBF,oBCrDM,WACP,IAAAjH,EAA0BiC,EAAQA,UAAC,GAAlCoF,EAAQrH,EAAA,GAAEsH,EAAWtH,EAAA,GAS5B,OAPAkE,EAAAA,WAAU,WACNoD,EACI,iBAAkBxJ,QACdyJ,UAAUC,eAAiB,GAC1BD,UAAkBE,iBAAmB,KAE/C,IACIJ"}
package/cjs/icons.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./ClockFilled-2483aa4a.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});exports.Icons=o;
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;
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-3a495a2d.js"),s=require("./LibThemeProvider-4823de57.js");require("./ClockFilled-2483aa4a.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;
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;
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ "use strict";var r=require("react"),e=require("./Filter-89286db9.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 i=u(r.subItems[n]);if(i.length>0)return e.__spreadArray([r],i,!0)}return[]},i=0;i<r.length;i++){var l=u(r[i]);if(l.length>0)return e.__spreadArray([],l,!0)}return[]},exports.useScrollThrottle=function(e,n){void 0===e&&(e=0);var t=r.useState(null),u=t[0],i=t[1],l=r.useRef(-1),o=r.useRef({scrollX:0,scrollY:0}),s=function(){"undefined"!=typeof window&&(o.current={scrollX:window.scrollX,scrollY:window.scrollY})};return r.useEffect((function(){if("undefined"!=typeof window){var r=function(){s(),-1===l.current&&(l.current=window.setTimeout((function(){null==n||n(o.current),i(o.current),l.current=-1}),e))};return s(),null==n||n(o.current),i(o.current),window.addEventListener("scroll",r),function(){window.removeEventListener("scroll",r)}}}),[n,e]),u};
2
+ //# sourceMappingURL=navigation-3f9d4ac4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-bf154e6e.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":"qGAQiC,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-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"}
package/cjs/navigation.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Navigation-939e4d0e.js"),n=require("./ClockFilled-2483aa4a.js"),a=require("react"),t=require("styled-components"),l=require("./styles-3a495a2d.js"),i=require("./SocialList-1d5f75a8.js"),r=require("./LanguageSwitcher-8fdd22ba.js"),o=require("./arrays-c272ed59.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("./LibThemeProvider-4823de57.js"),require("./useMediaQuery-3d1054e5.js"),require("./navigation-bf154e6e.js"),require("./Link-5a6f1633.js"),require("./clamp-bd21d587.js"),require("./Copy-ea6ab025.js"),require("./Image-c72f7a80.js"),require("react-dom/server");var s,u,g,p,m,c,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*l.spacings.nudge,l.spacings.spacer),N=function(e){var n=e.isInverted,a=e.langs,t=e.socials,l=o.isValidArray(t,!1),d=o.isValidArray(a,!1);return f.default.createElement(f.default.Fragment,null,(l||d)&&f.default.createElement(y,null,l&&f.default.createElement(i.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,l=n.navStates,i="large"===(null==l?void 0:l.size)&&"overContent"===(null==l?void 0:l.pageFlow);return f.default.createElement(e.BarBreadcrumbs,{isInverted:i,rootLink:a,rootLabel:t,navItems:l.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"])),l.spacings.nudge),k=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"])),l.spacings.nudge,l.mq.medium,2*l.spacings.nudge),B=x.default.div.withConfig({displayName:"NavBarMain__LanguageWrapper",componentId:"sc-4gwp8g-3"})(m||(m=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"])),l.mq.semilarge,3*l.spacings.nudge),C=function(a){var t,l,i,d,s,u,g=a.isInverted,p=a.logo,m=a.navStates,c=a.customToggle,v=a.langs,x=a.primaryAction,_=a.secondaryAction,y=void 0!==g?g:"large"===(null==m?void 0:m.size)&&"overContent"===(null==m?void 0:m.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==m?void 0:m.isMenuOpen,onClick:null==m?void 0:m.openMenu},c?c({isInverted:y}):f.default.createElement(n.MenuBurger,{ariaHidden:!0})),o.isValidArray(v,!1)&&f.default.createElement(B,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===(l=null==p?void 0:p.mobileInverted)||void 0===l?void 0:l.src)||"":(null===(i=null==p?void 0:p.mobile)||void 0===i?void 0:i.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(k,{takeSpace:!0,vAlign:"center"},_?_(n.__assign({isInverted:y},m)):void 0,x?x(n.__assign({isInverted:y},m)):void 0))},L=x.default(e.Column).withConfig({displayName:"NavBarTop__StyledCol",componentId:"sc-144no7d-0"})(c||(c=n.__makeTemplateObject(["\n &:not(:first-child) {\n margin-left: ","px;\n }\n"],["\n &:not(:first-child) {\n margin-left: ","px;\n }\n"])),l.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"])),l.mq.semilarge),q=function(e){var n=e.navLinks,a=e.languages,t=e.navStates,l="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(L,null,f.default.createElement(M,{isInverted:l,navLinks:n})),f.default.createElement(L,null,f.default.createElement(r.LanguageSwitcher,{isInverted:l,langs:a})))},w=Object.freeze({__proto__:null,MenuFooter:N,MenuHeader:e.MenuHeader,NavBarBottom:b,NavBarMain:C,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=C,exports.NavBarTopPartial=q,exports.NavPartials=w,exports.NavSkeletons=_;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Navigation-6abb6213.js"),n=require("./Filter-89286db9.js"),a=require("react"),t=require("styled-components"),i=require("./styles-13e5d9ac.js"),l=require("./SocialList-aec9a5c2.js"),r=require("./LanguageSwitcher-aa96cc7d.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-a0bc570d.js"),require("./Image-94820dfd.js"),require("react-dom/server");var s,u,c,g,p,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"})(c||(c=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"})(g||(g=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"})(p||(p=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,c=a.isInverted,g=a.logo,p=a.navStates,m=a.customToggle,v=a.langs,x=a.primaryAction,_=a.secondaryAction,y=void 0!==c?c:"large"===(null==p?void 0:p.size)&&"overContent"===(null==p?void 0:p.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==p?void 0:p.isMenuOpen,onClick:null==p?void 0:p.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==g?void 0:g.desktop)||void 0===t?void 0:t.src)&&f.default.createElement(j,{isInverted:y},f.default.createElement(e.BarLogo,{link:g.link,logo:{small:y?(null===(i=null==g?void 0:g.mobileInverted)||void 0===i?void 0:i.src)||"":(null===(l=null==g?void 0:g.mobile)||void 0===l?void 0:l.src)||"",semilarge:y?(null===(d=null==g?void 0:g.desktopInverted)||void 0===d?void 0:d.src)||"":(null===(s=null==g?void 0:g.desktop)||void 0===s?void 0:s.src)||"",alt:null===(u=null==g?void 0:g.desktop)||void 0===u?void 0:u.alt}})),f.default.createElement(B,{takeSpace:!0,vAlign:"center"},_?_(n.__assign({isInverted:y},p)):void 0,x?x(n.__assign({isInverted:y},p)):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