@blateral/b.kit 2.8.4 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/cjs/Actions-2590a7b9.js +2 -0
  2. package/cjs/{Actions-c52a14e4.js.map → Actions-2590a7b9.js.map} +1 -1
  3. package/cjs/Bdot-35350767.js +2 -0
  4. package/cjs/{Bdot-62c8e349.js.map → Bdot-35350767.js.map} +1 -1
  5. package/cjs/Button-ddcdefd5.js +2 -0
  6. package/cjs/Button-ddcdefd5.js.map +1 -0
  7. package/cjs/ButtonGhost-22501467.js +2 -0
  8. package/cjs/ButtonGhost-22501467.js.map +1 -0
  9. package/cjs/ButtonLeft-7e1f216a.js +2 -0
  10. package/cjs/ButtonLeft-7e1f216a.js.map +1 -0
  11. package/cjs/Callout-86a61040.js +2 -0
  12. package/cjs/Callout-86a61040.js.map +1 -0
  13. package/cjs/Checkbox-d27880f4.js +2 -0
  14. package/cjs/Checkbox-d27880f4.js.map +1 -0
  15. package/cjs/Control-40e6d4ed.js +2 -0
  16. package/cjs/Control-40e6d4ed.js.map +1 -0
  17. package/cjs/Copy-1b9e33ba.js +2 -0
  18. package/cjs/Copy-1b9e33ba.js.map +1 -0
  19. package/cjs/EventBlock-7dde179c.js +2 -0
  20. package/cjs/EventBlock-7dde179c.js.map +1 -0
  21. package/cjs/FilterBar-238c2290.js +2 -0
  22. package/cjs/FilterBar-238c2290.js.map +1 -0
  23. package/cjs/FilterField-c8dc9450.js +2 -0
  24. package/cjs/{FilterField-d204feb1.js.map → FilterField-c8dc9450.js.map} +1 -1
  25. package/cjs/Grid-dab3343f.js +2 -0
  26. package/cjs/Grid-dab3343f.js.map +1 -0
  27. package/cjs/Image-14b2cb93.js +2 -0
  28. package/cjs/Image-14b2cb93.js.map +1 -0
  29. package/cjs/InfoList-b4f39949.js +2 -0
  30. package/cjs/InfoList-b4f39949.js.map +1 -0
  31. package/cjs/LanguageSwitcher-3ee77117.js +2 -0
  32. package/cjs/{LanguageSwitcher-c6fd04df.js.map → LanguageSwitcher-3ee77117.js.map} +1 -1
  33. package/cjs/LibThemeProvider-878ed68c.js +2 -0
  34. package/cjs/{LibThemeProvider-69109901.js.map → LibThemeProvider-878ed68c.js.map} +1 -1
  35. package/cjs/Link-6e728957.js +2 -0
  36. package/cjs/Link-6e728957.js.map +1 -0
  37. package/cjs/MultiselectDropdown-54cd988f.js +2 -0
  38. package/cjs/MultiselectDropdown-54cd988f.js.map +1 -0
  39. package/cjs/Navigation-2d3590a0.js +2 -0
  40. package/cjs/{Navigation-6c5d9dee.js.map → Navigation-2d3590a0.js.map} +1 -1
  41. package/cjs/PickerAction-ed288096.js +2 -0
  42. package/cjs/PickerAction-ed288096.js.map +1 -0
  43. package/cjs/Pointer-b8875387.js +2 -0
  44. package/cjs/Pointer-b8875387.js.map +1 -0
  45. package/cjs/Section-89240e41.js +2 -0
  46. package/cjs/Section-89240e41.js.map +1 -0
  47. package/cjs/SocialList-f2aca9d8.js +2 -0
  48. package/cjs/{SocialList-73af56b5.js.map → SocialList-f2aca9d8.js.map} +1 -1
  49. package/cjs/TableBlock-8f87c278.js +2 -0
  50. package/cjs/TableBlock-8f87c278.js.map +1 -0
  51. package/cjs/Tag-430477d0.js +2 -0
  52. package/cjs/Tag-430477d0.js.map +1 -0
  53. package/cjs/Textarea-51bea7d0.js +2 -0
  54. package/cjs/Textarea-51bea7d0.js.map +1 -0
  55. package/cjs/Textfield-4ff93649.js +2 -0
  56. package/cjs/Textfield-4ff93649.js.map +1 -0
  57. package/cjs/VideoBlock-087d79b8.js +2 -0
  58. package/cjs/{VideoBlock-0cae22f0.js.map → VideoBlock-087d79b8.js.map} +1 -1
  59. package/cjs/VideoCard-6e2ae7c1.js +2 -0
  60. package/cjs/VideoCard-6e2ae7c1.js.map +1 -0
  61. package/cjs/Wrapper-c755d727.js +2 -0
  62. package/cjs/{Wrapper-bca9463e.js.map → Wrapper-c755d727.js.map} +1 -1
  63. package/cjs/base.js +1 -1
  64. package/cjs/blocks.js +1 -1
  65. package/cjs/buttons.js +1 -1
  66. package/cjs/concat-8bd71a50.js +2 -0
  67. package/cjs/{concat-f387d848.js.map → concat-8bd71a50.js.map} +1 -1
  68. package/cjs/cookies.js +1 -1
  69. package/cjs/cookies.js.map +1 -1
  70. package/cjs/fields.js +1 -1
  71. package/cjs/fields.js.map +1 -1
  72. package/cjs/footer.js +1 -1
  73. package/cjs/footer.js.map +1 -1
  74. package/cjs/formFieldText-fcf0452b.js +2 -0
  75. package/cjs/formFieldText-fcf0452b.js.map +1 -0
  76. package/cjs/headers.js +1 -1
  77. package/cjs/headers.js.map +1 -1
  78. package/cjs/hooks.js +1 -1
  79. package/cjs/hooks.js.map +1 -1
  80. package/cjs/icons.js +1 -1
  81. package/cjs/index.js +1 -1
  82. package/cjs/navigation-ec5cddfc.js +2 -0
  83. package/cjs/{navigation-3f9d4ac4.js.map → navigation-ec5cddfc.js.map} +1 -1
  84. package/cjs/navigation.js +1 -1
  85. package/cjs/navigation.js.map +1 -1
  86. package/cjs/sections.dynamicform.js +1 -1
  87. package/cjs/sections.dynamicform.js.map +1 -1
  88. package/cjs/sections.events.js +1 -1
  89. package/cjs/sections.events.js.map +1 -1
  90. package/cjs/sections.forms.js +1 -1
  91. package/cjs/sections.forms.js.map +1 -1
  92. package/cjs/sections.jobs.js +1 -1
  93. package/cjs/sections.jobs.js.map +1 -1
  94. package/cjs/sections.js +1 -1
  95. package/cjs/sections.js.map +1 -1
  96. package/cjs/sections.news.js +1 -1
  97. package/cjs/sections.news.js.map +1 -1
  98. package/cjs/sections.pois.js +1 -1
  99. package/cjs/sections.pois.js.map +1 -1
  100. package/cjs/structuredData-7c33a463.js +2 -0
  101. package/cjs/structuredData-7c33a463.js.map +1 -0
  102. package/cjs/styles-271afb02.js +2 -0
  103. package/cjs/styles-271afb02.js.map +1 -0
  104. package/cjs/typography.js +1 -1
  105. package/cjs/{urlParams-7525f638.js → urlParams-c412d937.js} +2 -2
  106. package/cjs/{urlParams-7525f638.js.map → urlParams-c412d937.js.map} +1 -1
  107. package/cjs/useCookieConsent-674d004d.js +2 -0
  108. package/cjs/{useCookieConsent-665d91cf.js.map → useCookieConsent-674d004d.js.map} +1 -1
  109. package/cjs/useEqualSheetHeight-7eb7f276.js +2 -0
  110. package/cjs/{useEqualSheetHeight-f1c10ec5.js.map → useEqualSheetHeight-7eb7f276.js.map} +1 -1
  111. package/cjs/useLazyInput-1481445a.js +2 -0
  112. package/cjs/{useLazyInput-911b8eda.js.map → useLazyInput-1481445a.js.map} +1 -1
  113. package/cjs/useLeafletMap-145217ee.js +2 -0
  114. package/cjs/{useLeafletMap-514304b6.js.map → useLeafletMap-145217ee.js.map} +1 -1
  115. package/cjs/useMediaQuery-dd367f98.js +2 -0
  116. package/cjs/{useMediaQuery-619d7203.js.map → useMediaQuery-dd367f98.js.map} +1 -1
  117. package/esm/{Actions-e29b5e75.js → Actions-6859c932.js} +3 -3
  118. package/esm/{Actions-e29b5e75.js.map → Actions-6859c932.js.map} +1 -1
  119. package/esm/{Bdot-5e798e7e.js → Bdot-9e215df7.js} +3 -3
  120. package/esm/{Bdot-5e798e7e.js.map → Bdot-9e215df7.js.map} +1 -1
  121. package/esm/Button-1f634865.js +146 -0
  122. package/esm/Button-1f634865.js.map +1 -0
  123. package/esm/ButtonGhost-476c3826.js +146 -0
  124. package/esm/ButtonGhost-476c3826.js.map +1 -0
  125. package/esm/{Filter-19220970.js → ButtonLeft-a9a132f5.js} +362 -246
  126. package/esm/ButtonLeft-a9a132f5.js.map +1 -0
  127. package/esm/{Callout-46f0bef0.js → Callout-6436d270.js} +8 -6
  128. package/esm/Callout-6436d270.js.map +1 -0
  129. package/esm/{Checkbox-962fea67.js → Checkbox-e7fc7d28.js} +21 -11
  130. package/esm/Checkbox-e7fc7d28.js.map +1 -0
  131. package/esm/Control-84268468.js +44 -0
  132. package/esm/Control-84268468.js.map +1 -0
  133. package/esm/{Copy-fd9e25c0.js → Copy-5a18e01f.js} +27 -9
  134. package/esm/Copy-5a18e01f.js.map +1 -0
  135. package/esm/{EventBlock-12361860.js → EventBlock-0d010725.js} +62 -27
  136. package/esm/EventBlock-0d010725.js.map +1 -0
  137. package/esm/{FilterBar-8c258534.js → FilterBar-d6c1ef40.js} +38 -24
  138. package/esm/FilterBar-d6c1ef40.js.map +1 -0
  139. package/esm/{FilterField-8e64b355.js → FilterField-251b4dad.js} +5 -5
  140. package/esm/{FilterField-8e64b355.js.map → FilterField-251b4dad.js.map} +1 -1
  141. package/esm/{Grid-7b33e271.js → Grid-cbd5e68c.js} +19 -12
  142. package/esm/Grid-cbd5e68c.js.map +1 -0
  143. package/esm/{Image-c67870d4.js → Image-e2018d39.js} +15 -10
  144. package/esm/Image-e2018d39.js.map +1 -0
  145. package/esm/{InfoList-d853db58.js → InfoList-1be2ff46.js} +14 -7
  146. package/esm/InfoList-1be2ff46.js.map +1 -0
  147. package/esm/{LanguageSwitcher-c9aa594a.js → LanguageSwitcher-19482399.js} +5 -5
  148. package/esm/{LanguageSwitcher-c9aa594a.js.map → LanguageSwitcher-19482399.js.map} +1 -1
  149. package/esm/{LibThemeProvider-fb1d35ac.js → LibThemeProvider-48cad3e8.js} +3 -3
  150. package/esm/{LibThemeProvider-fb1d35ac.js.map → LibThemeProvider-48cad3e8.js.map} +1 -1
  151. package/esm/{Link-6067a27f.js → Link-d4a291af.js} +15 -8
  152. package/esm/Link-d4a291af.js.map +1 -0
  153. package/esm/{MultiselectDropdown-61a5a1a6.js → MultiselectDropdown-20b33522.js} +33 -13
  154. package/esm/MultiselectDropdown-20b33522.js.map +1 -0
  155. package/esm/{Navigation-6581bcdf.js → Navigation-d7e14d09.js} +10 -10
  156. package/esm/{Navigation-6581bcdf.js.map → Navigation-d7e14d09.js.map} +1 -1
  157. package/esm/PickerAction-704f2992.js +65 -0
  158. package/esm/PickerAction-704f2992.js.map +1 -0
  159. package/esm/Pointer-41c10bba.js +144 -0
  160. package/esm/Pointer-41c10bba.js.map +1 -0
  161. package/esm/{Section-bd61eb2f.js → Section-ca6daed2.js} +9 -5
  162. package/esm/Section-ca6daed2.js.map +1 -0
  163. package/esm/{SocialList-abaf970d.js → SocialList-d5adb772.js} +5 -5
  164. package/esm/{SocialList-abaf970d.js.map → SocialList-d5adb772.js.map} +1 -1
  165. package/esm/{TableBlock-a65315ca.js → TableBlock-5aad5dd2.js} +63 -115
  166. package/esm/TableBlock-5aad5dd2.js.map +1 -0
  167. package/esm/{Tag-217cd89b.js → Tag-f3f23d9b.js} +9 -13
  168. package/esm/Tag-f3f23d9b.js.map +1 -0
  169. package/esm/{Textarea-60503eb7.js → Textarea-af789d6e.js} +341 -252
  170. package/esm/Textarea-af789d6e.js.map +1 -0
  171. package/esm/{Textfield-e8f48b5f.js → Textfield-1f1ae077.js} +18 -6
  172. package/esm/Textfield-1f1ae077.js.map +1 -0
  173. package/esm/{VideoBlock-3f150172.js → VideoBlock-3c99c5fc.js} +12 -8
  174. package/esm/VideoBlock-3c99c5fc.js.map +1 -0
  175. package/esm/{VideoCard-aa60fbe5.js → VideoCard-dc103fce.js} +29 -24
  176. package/esm/VideoCard-dc103fce.js.map +1 -0
  177. package/esm/{Wrapper-95108115.js → Wrapper-06db8e79.js} +3 -3
  178. package/esm/{Wrapper-95108115.js.map → Wrapper-06db8e79.js.map} +1 -1
  179. package/esm/base.js +6 -6
  180. package/esm/blocks.js +22 -22
  181. package/esm/buttons.js +7 -6
  182. package/esm/buttons.js.map +1 -1
  183. package/esm/{concat-ab3c66f2.js → concat-b6d6d978.js} +2 -2
  184. package/esm/concat-b6d6d978.js.map +1 -0
  185. package/esm/cookies.js +57 -46
  186. package/esm/cookies.js.map +1 -1
  187. package/esm/fields.js +56 -123
  188. package/esm/fields.js.map +1 -1
  189. package/esm/footer.js +15 -13
  190. package/esm/footer.js.map +1 -1
  191. package/esm/{formFieldText-c6fcd370.js → formFieldText-af2106f9.js} +14 -8
  192. package/esm/formFieldText-af2106f9.js.map +1 -0
  193. package/esm/headers.js +21 -17
  194. package/esm/headers.js.map +1 -1
  195. package/esm/hooks.js +12 -12
  196. package/esm/icons.js +5 -2
  197. package/esm/icons.js.map +1 -1
  198. package/esm/index.js +3 -3
  199. package/esm/{navigation-5216dbad.js → navigation-d3d2bf2e.js} +2 -2
  200. package/esm/{navigation-5216dbad.js.map → navigation-d3d2bf2e.js.map} +1 -1
  201. package/esm/navigation.js +12 -12
  202. package/esm/sections.dynamicform.js +29 -33
  203. package/esm/sections.dynamicform.js.map +1 -1
  204. package/esm/sections.events.js +48 -30
  205. package/esm/sections.events.js.map +1 -1
  206. package/esm/sections.forms.js +11 -11
  207. package/esm/sections.jobs.js +99 -45
  208. package/esm/sections.jobs.js.map +1 -1
  209. package/esm/sections.js +537 -259
  210. package/esm/sections.js.map +1 -1
  211. package/esm/sections.news.js +155 -81
  212. package/esm/sections.news.js.map +1 -1
  213. package/esm/sections.pois.js +39 -34
  214. package/esm/sections.pois.js.map +1 -1
  215. package/esm/{structuredData-abf610d8.js → structuredData-73bcbf07.js} +32 -2
  216. package/esm/structuredData-73bcbf07.js.map +1 -0
  217. package/esm/{styles-1f1841ef.js → styles-f3ba5bae.js} +3 -2
  218. package/esm/styles-f3ba5bae.js.map +1 -0
  219. package/esm/typography.js +6 -6
  220. package/esm/{urlParams-9cfdaf71.js → urlParams-e7114d3e.js} +2 -2
  221. package/esm/{urlParams-9cfdaf71.js.map → urlParams-e7114d3e.js.map} +1 -1
  222. package/esm/{useCookieConsent-6661d419.js → useCookieConsent-4b667d40.js} +2 -2
  223. package/esm/{useCookieConsent-6661d419.js.map → useCookieConsent-4b667d40.js.map} +1 -1
  224. package/esm/{useEqualSheetHeight-60ff9de7.js → useEqualSheetHeight-80704864.js} +4 -4
  225. package/esm/{useEqualSheetHeight-60ff9de7.js.map → useEqualSheetHeight-80704864.js.map} +1 -1
  226. package/esm/{useLazyInput-0b6932aa.js → useLazyInput-08ee63f4.js} +2 -2
  227. package/esm/{useLazyInput-0b6932aa.js.map → useLazyInput-08ee63f4.js.map} +1 -1
  228. package/esm/{useLeafletMap-fa0ab7d4.js → useLeafletMap-f9050715.js} +2 -2
  229. package/esm/{useLeafletMap-fa0ab7d4.js.map → useLeafletMap-f9050715.js.map} +1 -1
  230. package/esm/{useMediaQuery-4c1b1fa6.js → useMediaQuery-c9fa1339.js} +3 -3
  231. package/esm/{useMediaQuery-4c1b1fa6.js.map → useMediaQuery-c9fa1339.js.map} +1 -1
  232. package/package.json +1 -1
  233. package/types/buttons.d.ts +1 -0
  234. package/types/buttons.d.ts.map +1 -1
  235. package/types/components/base/Grid.d.ts +3 -0
  236. package/types/components/base/Grid.d.ts.map +1 -1
  237. package/types/components/base/Section.d.ts +3 -1
  238. package/types/components/base/Section.d.ts.map +1 -1
  239. package/types/components/base/icons/ButtonLeft.d.ts +1 -2
  240. package/types/components/base/icons/ButtonLeft.d.ts.map +1 -1
  241. package/types/components/base/icons/ButtonRight.d.ts +1 -2
  242. package/types/components/base/icons/ButtonRight.d.ts.map +1 -1
  243. package/types/components/base/icons/CircleX.d.ts +10 -0
  244. package/types/components/base/icons/CircleX.d.ts.map +1 -0
  245. package/types/components/base/icons/Icons.d.ts +3 -0
  246. package/types/components/base/icons/Icons.d.ts.map +1 -1
  247. package/types/components/blocks/Alert.d.ts.map +1 -1
  248. package/types/components/blocks/CookieConsent.d.ts.map +1 -1
  249. package/types/components/blocks/EventBlock.d.ts +18 -11
  250. package/types/components/blocks/EventBlock.d.ts.map +1 -1
  251. package/types/components/blocks/Feature.d.ts +6 -2
  252. package/types/components/blocks/Feature.d.ts.map +1 -1
  253. package/types/components/blocks/Image.d.ts +2 -0
  254. package/types/components/blocks/Image.d.ts.map +1 -1
  255. package/types/components/blocks/InfoList.d.ts +5 -1
  256. package/types/components/blocks/InfoList.d.ts.map +1 -1
  257. package/types/components/blocks/JobCard.d.ts +4 -0
  258. package/types/components/blocks/JobCard.d.ts.map +1 -1
  259. package/types/components/blocks/NavBlock.d.ts.map +1 -1
  260. package/types/components/blocks/NewsCard.d.ts +20 -9
  261. package/types/components/blocks/NewsCard.d.ts.map +1 -1
  262. package/types/components/blocks/POICard.d.ts +7 -1
  263. package/types/components/blocks/POICard.d.ts.map +1 -1
  264. package/types/components/blocks/POIFacts.d.ts +1 -0
  265. package/types/components/blocks/POIFacts.d.ts.map +1 -1
  266. package/types/components/blocks/PriceTag.d.ts +9 -4
  267. package/types/components/blocks/PriceTag.d.ts.map +1 -1
  268. package/types/components/blocks/PromotionCard.d.ts +2 -2
  269. package/types/components/blocks/PromotionCard.d.ts.map +1 -1
  270. package/types/components/blocks/TableBlock.d.ts +2 -0
  271. package/types/components/blocks/TableBlock.d.ts.map +1 -1
  272. package/types/components/blocks/Tag.d.ts +1 -0
  273. package/types/components/blocks/Tag.d.ts.map +1 -1
  274. package/types/components/blocks/Title.d.ts +5 -0
  275. package/types/components/blocks/Title.d.ts.map +1 -1
  276. package/types/components/blocks/VideoBlock.d.ts +2 -0
  277. package/types/components/blocks/VideoBlock.d.ts.map +1 -1
  278. package/types/components/blocks/VideoCard.d.ts +2 -0
  279. package/types/components/blocks/VideoCard.d.ts.map +1 -1
  280. package/types/components/buttons/Button.d.ts +6 -1
  281. package/types/components/buttons/Button.d.ts.map +1 -1
  282. package/types/components/buttons/ButtonGhost.d.ts +6 -1
  283. package/types/components/buttons/ButtonGhost.d.ts.map +1 -1
  284. package/types/components/buttons/Control.d.ts.map +1 -1
  285. package/types/components/buttons/PickerAction.d.ts +14 -0
  286. package/types/components/buttons/PickerAction.d.ts.map +1 -0
  287. package/types/components/buttons/Pointer.d.ts +6 -2
  288. package/types/components/buttons/Pointer.d.ts.map +1 -1
  289. package/types/components/fields/Checkbox.d.ts +0 -1
  290. package/types/components/fields/Checkbox.d.ts.map +1 -1
  291. package/types/components/fields/CompactForm.d.ts.map +1 -1
  292. package/types/components/fields/Datepicker.d.ts +31 -13
  293. package/types/components/fields/Datepicker.d.ts.map +1 -1
  294. package/types/components/fields/FileUpload.d.ts.map +1 -1
  295. package/types/components/fields/FormField.d.ts +4 -1
  296. package/types/components/fields/FormField.d.ts.map +1 -1
  297. package/types/components/fields/LocationField.d.ts +1 -0
  298. package/types/components/fields/LocationField.d.ts.map +1 -1
  299. package/types/components/fields/MultiselectDropdown.d.ts.map +1 -1
  300. package/types/components/fields/Radio.d.ts +0 -1
  301. package/types/components/fields/Radio.d.ts.map +1 -1
  302. package/types/components/fields/SelectDropdown.d.ts.map +1 -1
  303. package/types/components/fields/Textarea.d.ts.map +1 -1
  304. package/types/components/fields/Textfield.d.ts.map +1 -1
  305. package/types/components/sections/Accordion.d.ts +6 -6
  306. package/types/components/sections/Accordion.d.ts.map +1 -1
  307. package/types/components/sections/AlertList.d.ts +10 -6
  308. package/types/components/sections/AlertList.d.ts.map +1 -1
  309. package/types/components/sections/CallToAction.d.ts +14 -9
  310. package/types/components/sections/CallToAction.d.ts.map +1 -1
  311. package/types/components/sections/CardList.d.ts +19 -14
  312. package/types/components/sections/CardList.d.ts.map +1 -1
  313. package/types/components/sections/ComparisonSlider.d.ts.map +1 -1
  314. package/types/components/sections/CrossPromotion.d.ts +11 -12
  315. package/types/components/sections/CrossPromotion.d.ts.map +1 -1
  316. package/types/components/sections/FactGrid.d.ts +4 -0
  317. package/types/components/sections/FactGrid.d.ts.map +1 -1
  318. package/types/components/sections/FactList.d.ts +13 -0
  319. package/types/components/sections/FactList.d.ts.map +1 -1
  320. package/types/components/sections/FeatureList.d.ts +4 -0
  321. package/types/components/sections/FeatureList.d.ts.map +1 -1
  322. package/types/components/sections/Gallery.d.ts +2 -0
  323. package/types/components/sections/Gallery.d.ts.map +1 -1
  324. package/types/components/sections/IconList.d.ts +4 -0
  325. package/types/components/sections/IconList.d.ts.map +1 -1
  326. package/types/components/sections/IndexList.d.ts +2 -0
  327. package/types/components/sections/IndexList.d.ts.map +1 -1
  328. package/types/components/sections/Map.d.ts +11 -24
  329. package/types/components/sections/Map.d.ts.map +1 -1
  330. package/types/components/sections/NavList.d.ts +2 -0
  331. package/types/components/sections/NavList.d.ts.map +1 -1
  332. package/types/components/sections/NumberList.d.ts +4 -0
  333. package/types/components/sections/NumberList.d.ts.map +1 -1
  334. package/types/components/sections/ParallaxBackground.d.ts.map +1 -1
  335. package/types/components/sections/PriceList.d.ts +18 -0
  336. package/types/components/sections/PriceList.d.ts.map +1 -1
  337. package/types/components/sections/PriceTable.d.ts +6 -2
  338. package/types/components/sections/PriceTable.d.ts.map +1 -1
  339. package/types/components/sections/Quote.d.ts.map +1 -1
  340. package/types/components/sections/RawVideo.d.ts +4 -0
  341. package/types/components/sections/RawVideo.d.ts.map +1 -1
  342. package/types/components/sections/SocialWall.d.ts +13 -12
  343. package/types/components/sections/SocialWall.d.ts.map +1 -1
  344. package/types/components/sections/Table.d.ts +11 -2
  345. package/types/components/sections/Table.d.ts.map +1 -1
  346. package/types/components/sections/Teaser.d.ts.map +1 -1
  347. package/types/components/sections/TeaserWide.d.ts.map +1 -1
  348. package/types/components/sections/Video.d.ts +2 -0
  349. package/types/components/sections/Video.d.ts.map +1 -1
  350. package/types/components/sections/events/EventDetail.d.ts +14 -14
  351. package/types/components/sections/events/EventDetail.d.ts.map +1 -1
  352. package/types/components/sections/events/EventList.d.ts +3 -16
  353. package/types/components/sections/events/EventList.d.ts.map +1 -1
  354. package/types/components/sections/events/EventOverview.d.ts +3 -15
  355. package/types/components/sections/events/EventOverview.d.ts.map +1 -1
  356. package/types/components/sections/form/DynamicForm.d.ts +9 -9
  357. package/types/components/sections/form/DynamicForm.d.ts.map +1 -1
  358. package/types/components/sections/form/renderer/datepickerRenderer.d.ts.map +1 -1
  359. package/types/components/sections/header/HeaderKenBurns.d.ts.map +1 -1
  360. package/types/components/sections/header/HeaderPoster.d.ts.map +1 -1
  361. package/types/components/sections/header/HeaderVideo.d.ts.map +1 -1
  362. package/types/components/sections/jobs/JobArticle.d.ts +4 -0
  363. package/types/components/sections/jobs/JobArticle.d.ts.map +1 -1
  364. package/types/components/sections/jobs/JobList.d.ts +8 -0
  365. package/types/components/sections/jobs/JobList.d.ts.map +1 -1
  366. package/types/components/sections/news/NewsAuthorCard.d.ts.map +1 -1
  367. package/types/components/sections/news/NewsFooter.d.ts +3 -16
  368. package/types/components/sections/news/NewsFooter.d.ts.map +1 -1
  369. package/types/components/sections/news/NewsImages.d.ts.map +1 -1
  370. package/types/components/sections/news/NewsIntro.d.ts.map +1 -1
  371. package/types/components/sections/news/NewsList.d.ts +3 -16
  372. package/types/components/sections/news/NewsList.d.ts.map +1 -1
  373. package/types/components/sections/news/NewsOverview.d.ts +3 -15
  374. package/types/components/sections/news/NewsOverview.d.ts.map +1 -1
  375. package/types/components/sections/news/NewsTable.d.ts +8 -0
  376. package/types/components/sections/news/NewsTable.d.ts.map +1 -1
  377. package/types/components/sections/news/NewsVideo.d.ts +4 -0
  378. package/types/components/sections/news/NewsVideo.d.ts.map +1 -1
  379. package/types/components/sections/pois/PointOfInterestOverview.d.ts +13 -12
  380. package/types/components/sections/pois/PointOfInterestOverview.d.ts.map +1 -1
  381. package/types/components/typography/Callout.d.ts +1 -0
  382. package/types/components/typography/Callout.d.ts.map +1 -1
  383. package/types/components/typography/Copy.d.ts +7 -1
  384. package/types/components/typography/Copy.d.ts.map +1 -1
  385. package/types/components/typography/Heading.d.ts +1 -0
  386. package/types/components/typography/Heading.d.ts.map +1 -1
  387. package/types/components/typography/Link.d.ts +3 -0
  388. package/types/components/typography/Link.d.ts.map +1 -1
  389. package/types/fields.d.ts +0 -1
  390. package/types/fields.d.ts.map +1 -1
  391. package/types/utils/structuredData.d.ts +14 -0
  392. package/types/utils/structuredData.d.ts.map +1 -1
  393. package/types/utils/styles.d.ts +1 -0
  394. package/types/utils/styles.d.ts.map +1 -1
  395. package/cjs/Actions-c52a14e4.js +0 -2
  396. package/cjs/Bdot-62c8e349.js +0 -2
  397. package/cjs/Button-1adf99b8.js +0 -2
  398. package/cjs/Button-1adf99b8.js.map +0 -1
  399. package/cjs/ButtonGhost-fbab8769.js +0 -2
  400. package/cjs/ButtonGhost-fbab8769.js.map +0 -1
  401. package/cjs/Callout-d84ca60b.js +0 -2
  402. package/cjs/Callout-d84ca60b.js.map +0 -1
  403. package/cjs/Checkbox-ddc9a87d.js +0 -2
  404. package/cjs/Checkbox-ddc9a87d.js.map +0 -1
  405. package/cjs/Control-e15e1572.js +0 -2
  406. package/cjs/Control-e15e1572.js.map +0 -1
  407. package/cjs/Copy-2a9d4b5d.js +0 -2
  408. package/cjs/Copy-2a9d4b5d.js.map +0 -1
  409. package/cjs/EventBlock-0b0f0dd3.js +0 -2
  410. package/cjs/EventBlock-0b0f0dd3.js.map +0 -1
  411. package/cjs/Filter-89286db9.js +0 -2
  412. package/cjs/Filter-89286db9.js.map +0 -1
  413. package/cjs/FilterBar-bfd9db6e.js +0 -2
  414. package/cjs/FilterBar-bfd9db6e.js.map +0 -1
  415. package/cjs/FilterField-d204feb1.js +0 -2
  416. package/cjs/Grid-1acefee9.js +0 -2
  417. package/cjs/Grid-1acefee9.js.map +0 -1
  418. package/cjs/Image-69a9c116.js +0 -2
  419. package/cjs/Image-69a9c116.js.map +0 -1
  420. package/cjs/InfoList-f040b8fb.js +0 -2
  421. package/cjs/InfoList-f040b8fb.js.map +0 -1
  422. package/cjs/LanguageSwitcher-c6fd04df.js +0 -2
  423. package/cjs/LibThemeProvider-69109901.js +0 -2
  424. package/cjs/Link-8951180c.js +0 -2
  425. package/cjs/Link-8951180c.js.map +0 -1
  426. package/cjs/MultiselectDropdown-d46ae36f.js +0 -2
  427. package/cjs/MultiselectDropdown-d46ae36f.js.map +0 -1
  428. package/cjs/Navigation-6c5d9dee.js +0 -2
  429. package/cjs/Pointer-0f69256f.js +0 -2
  430. package/cjs/Pointer-0f69256f.js.map +0 -1
  431. package/cjs/Section-c9a16ccc.js +0 -2
  432. package/cjs/Section-c9a16ccc.js.map +0 -1
  433. package/cjs/SocialList-73af56b5.js +0 -2
  434. package/cjs/TableBlock-532c7e1e.js +0 -2
  435. package/cjs/TableBlock-532c7e1e.js.map +0 -1
  436. package/cjs/Tag-232f7aa9.js +0 -2
  437. package/cjs/Tag-232f7aa9.js.map +0 -1
  438. package/cjs/Textarea-d30682bd.js +0 -2
  439. package/cjs/Textarea-d30682bd.js.map +0 -1
  440. package/cjs/Textfield-b3769184.js +0 -2
  441. package/cjs/Textfield-b3769184.js.map +0 -1
  442. package/cjs/VideoBlock-0cae22f0.js +0 -2
  443. package/cjs/VideoCard-c9d4f46a.js +0 -2
  444. package/cjs/VideoCard-c9d4f46a.js.map +0 -1
  445. package/cjs/Wrapper-bca9463e.js +0 -2
  446. package/cjs/concat-f387d848.js +0 -2
  447. package/cjs/formFieldText-21f5f620.js +0 -2
  448. package/cjs/formFieldText-21f5f620.js.map +0 -1
  449. package/cjs/navigation-3f9d4ac4.js +0 -2
  450. package/cjs/structuredData-0b1278a9.js +0 -2
  451. package/cjs/structuredData-0b1278a9.js.map +0 -1
  452. package/cjs/styles-13e5d9ac.js +0 -2
  453. package/cjs/styles-13e5d9ac.js.map +0 -1
  454. package/cjs/useCookieConsent-665d91cf.js +0 -2
  455. package/cjs/useEqualSheetHeight-f1c10ec5.js +0 -2
  456. package/cjs/useLazyInput-911b8eda.js +0 -2
  457. package/cjs/useLeafletMap-514304b6.js +0 -2
  458. package/cjs/useMediaQuery-619d7203.js +0 -2
  459. package/esm/Button-9a0dd9aa.js +0 -115
  460. package/esm/Button-9a0dd9aa.js.map +0 -1
  461. package/esm/ButtonGhost-fc9e7a75.js +0 -112
  462. package/esm/ButtonGhost-fc9e7a75.js.map +0 -1
  463. package/esm/Callout-46f0bef0.js.map +0 -1
  464. package/esm/Checkbox-962fea67.js.map +0 -1
  465. package/esm/Control-56ec7872.js +0 -52
  466. package/esm/Control-56ec7872.js.map +0 -1
  467. package/esm/Copy-fd9e25c0.js.map +0 -1
  468. package/esm/EventBlock-12361860.js.map +0 -1
  469. package/esm/Filter-19220970.js.map +0 -1
  470. package/esm/FilterBar-8c258534.js.map +0 -1
  471. package/esm/Grid-7b33e271.js.map +0 -1
  472. package/esm/Image-c67870d4.js.map +0 -1
  473. package/esm/InfoList-d853db58.js.map +0 -1
  474. package/esm/Link-6067a27f.js.map +0 -1
  475. package/esm/MultiselectDropdown-61a5a1a6.js.map +0 -1
  476. package/esm/Pointer-3e965d7b.js +0 -111
  477. package/esm/Pointer-3e965d7b.js.map +0 -1
  478. package/esm/Section-bd61eb2f.js.map +0 -1
  479. package/esm/TableBlock-a65315ca.js.map +0 -1
  480. package/esm/Tag-217cd89b.js.map +0 -1
  481. package/esm/Textarea-60503eb7.js.map +0 -1
  482. package/esm/Textfield-e8f48b5f.js.map +0 -1
  483. package/esm/VideoBlock-3f150172.js.map +0 -1
  484. package/esm/VideoCard-aa60fbe5.js.map +0 -1
  485. package/esm/concat-ab3c66f2.js.map +0 -1
  486. package/esm/formFieldText-c6fcd370.js.map +0 -1
  487. package/esm/structuredData-abf610d8.js.map +0 -1
  488. package/esm/styles-1f1841ef.js.map +0 -1
  489. package/types/components/fields/SearchInput.d.ts +0 -16
  490. package/types/components/fields/SearchInput.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation-6581bcdf.js","sources":["../src/utils/menuHooks.ts","../src/utils/usePageScroll.ts","../src/components/sections/navigation/skeletons/BarBreadCrumbs.tsx","../src/components/sections/navigation/skeletons/BarColumn.tsx","../src/components/sections/navigation/skeletons/BarLogo.tsx","../src/components/sections/navigation/skeletons/BarMenuToggle.tsx","../src/components/sections/navigation/skeletons/BarNavList.tsx","../src/components/sections/navigation/partials/MenuHeader.tsx","../src/components/sections/navigation/menu/variations/MenuFlyout.tsx","../src/components/sections/navigation/menu/Menu.tsx","../src/components/sections/navigation/NavBar.tsx","../src/components/sections/navigation/Navigation.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\ninterface Settings {\n openMenuIdent: string;\n closeMenuIdent: string;\n}\n\n/**\n * Hooks in to menu state to control it with keyboard inputs\n * @param initialMenuState\n * @param settings\n * @returns\n */\nexport const useMenuKeyboard = (\n initialMenuState: boolean,\n settings: Partial<Settings>\n) => {\n const [isMenuOpen, setIsMenuOpen] = useState(initialMenuState);\n const prevMenuState = useRef<boolean>(false);\n\n const [root, setRoot] = useState<HTMLElement | null>(null);\n const openBtnRef = useRef<HTMLButtonElement | null>(null);\n const closeBtnRef = useRef<HTMLButtonElement | null>(null);\n\n const defaultSettings: Settings = {\n openMenuIdent: 'button[aria-label=\"open menu\"]',\n closeMenuIdent: 'button[aria-label=\"close menu\"]',\n ...settings,\n };\n\n useEffect(() => {\n if (!root) return;\n\n // setting up menu toggle button refs\n if (!openBtnRef.current) {\n openBtnRef.current = root.querySelector(\n defaultSettings.openMenuIdent\n );\n }\n if (!closeBtnRef.current) {\n closeBtnRef.current = root.querySelector(\n defaultSettings.closeMenuIdent\n );\n }\n }, [\n defaultSettings.closeMenuIdent,\n defaultSettings.openMenuIdent,\n isMenuOpen,\n root,\n ]);\n\n useEffect(() => {\n const handleKeyDown = (ev: KeyboardEvent) => {\n if (ev.key === 'Escape' && isMenuOpen) {\n setIsMenuOpen(false);\n }\n };\n\n // settings focus if menu is open\n if (isMenuOpen) {\n closeBtnRef?.current?.focus();\n } else if (prevMenuState.current) {\n openBtnRef?.current?.focus();\n }\n\n prevMenuState.current = isMenuOpen;\n\n window.addEventListener('keydown', handleKeyDown);\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n };\n }, [isMenuOpen]);\n\n return {\n setRoot,\n isMenuOpen,\n setIsMenuOpen,\n };\n};\n","import { useEffect, useRef, useState } from 'react';\nimport useScrollThrottle from './useScrollThrottle';\n\nexport enum PageScrollDirection {\n UP,\n DOWN,\n}\n\ninterface ScrollSettings {\n /** Direction state change delay in pixels */\n directionOffset?: {\n up?: number;\n down?: number;\n };\n /** Set top offset area */\n offset?: number;\n /** On leave top offset callback */\n onLeftOffset?: (dir: PageScrollDirection) => void;\n /** Throttle timeout of resize event. Default: 200ms */\n resizeThrottleTimeout?: number;\n}\n\nconst usePageScroll = (settings?: ScrollSettings) => {\n const [isTop, setIsTop] = useState<boolean>(true);\n const [isInOffset, setIsInOffset] = useState<boolean>(true);\n const [leftOffsetFromTop, setLeftOffsetFromTop] = useState<boolean>(false);\n\n const lastScrollPos = useRef<number>(0);\n const pxSinceLastSwitch = useRef<number>(0);\n\n const [scrollDirection, setScrollDirection] = useState<PageScrollDirection>(\n PageScrollDirection.DOWN\n );\n\n const directionDownOffset = settings?.directionOffset?.down || 0;\n const directionUpOffset = settings?.directionOffset?.up || 0;\n\n // Throttle scroll event for perfomance\n const scrollState = useScrollThrottle(\n settings?.resizeThrottleTimeout !== undefined\n ? settings.resizeThrottleTimeout\n : 200\n );\n\n useEffect(() => {\n if (!scrollState) return;\n if (typeof window === 'undefined') return;\n\n const scrollY = scrollState.scrollY;\n const isTop = scrollY <= 0;\n\n // check if page is scroll on top\n setIsTop(isTop);\n\n // check offset\n if (settings?.offset && scrollY <= settings.offset) {\n setIsInOffset(true);\n } else {\n setIsInOffset((prev) => {\n if (prev) {\n settings?.onLeftOffset?.(scrollDirection);\n setLeftOffsetFromTop(true);\n }\n return false;\n });\n }\n\n /**\n * calculate direction changes\n */\n\n // get difference between current and last scrollY position\n const diff = scrollY - lastScrollPos.current;\n // get accumulated pixels since last direction change\n let absAccPx = Math.abs(pxSinceLastSwitch.current);\n\n // check if direction changed. if not iterate accumulated pixels value\n if (diff < 0 && pxSinceLastSwitch.current > 0) {\n pxSinceLastSwitch.current = 0;\n } else if (diff > 0 && pxSinceLastSwitch.current < 0) {\n pxSinceLastSwitch.current = 0;\n } else {\n pxSinceLastSwitch.current += diff;\n }\n\n // set current accumulated value\n absAccPx = Math.abs(pxSinceLastSwitch.current);\n\n // set direction states\n if (isTop) {\n setScrollDirection(PageScrollDirection.DOWN);\n } else if (diff < 0 && absAccPx >= directionUpOffset) {\n setScrollDirection(PageScrollDirection.UP);\n } else if (diff > 0 && absAccPx >= directionDownOffset) {\n setScrollDirection(PageScrollDirection.DOWN);\n }\n\n // save last scroll position\n lastScrollPos.current = scrollY;\n }, [\n directionDownOffset,\n directionUpOffset,\n scrollDirection,\n scrollState,\n settings,\n ]);\n\n useEffect(() => {\n // reset left offset flag on top\n if (isTop) setLeftOffsetFromTop(false);\n }, [isTop]);\n\n return {\n isTop,\n scrollDirection,\n isInOffset,\n leftOffsetFromTop,\n };\n};\n\nexport default usePageScroll;\n","import React, { FC, useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport { NavItem } from '../menu/Menu';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { spacings, getColors as color, mq } from 'utils/styles';\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport AngleLeft from 'components/base/icons/AngleLeft';\nimport { getCurrentNavPath } from 'utils/navigation';\n\nconst View = styled.nav`\n min-width: 0;\n`;\n\nconst List = styled.ul`\n display: flex;\n align-items: center;\n list-style: none;\n margin: 0;\n padding: 0;\n min-width: inherit;\n\n & > li:first-child {\n flex: 1 0 auto;\n }\n\n @media ${mq.semilarge} {\n & > li + li {\n margin-left: ${spacings.nudge}px;\n }\n }\n`;\n\nconst ListItem = styled.li<{ isCurrent?: boolean }>`\n display: ${({ isCurrent }) => (isCurrent ? 'flex' : 'none')};\n min-width: inherit;\n\n @media ${mq.semilarge} {\n display: flex;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n }\n`;\n\nconst NavLink = styled(Link)<{\n isInverted?: boolean;\n clamp?: boolean;\n showOnMobile?: boolean;\n showOnDesktop?: boolean;\n}>`\n display: ${({ showOnMobile }) => (showOnMobile ? 'inline-flex' : 'none')};\n align-items: center;\n max-width: ${({ clamp }) => clamp && '120px'};\n\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n ${copyStyle('copy', 'small')}\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n text-decoration: underline;\n\n & > * {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n }\n }\n\n @media ${mq.semilarge} {\n display: ${({ showOnDesktop }) =>\n showOnDesktop ? 'inline-block' : 'none'};\n }\n`;\n\nconst NavLabel = styled.span<{\n isInverted?: boolean;\n clamp?: boolean;\n showOnMobile?: boolean;\n showOnDesktop?: boolean;\n}>`\n display: ${({ showOnMobile }) => (showOnMobile ? 'inline-flex' : 'none')};\n align-items: center;\n max-width: ${({ clamp }) => clamp && '120px'};\n\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n ${copyStyle('copy', 'small')}\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n text-decoration: none;\n\n & > * {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n\n @media ${mq.semilarge} {\n display: ${({ showOnDesktop }) =>\n showOnDesktop ? 'inline-block' : 'none'};\n }\n`;\n\nconst Seperator = styled(Copy)`\n display: none;\n\n transition: color 0.2s ease-in-out;\n\n @media ${mq.semilarge} {\n display: inline-block;\n }\n`;\n\nconst BackIconContainer = styled.span`\n flex: 0 0 auto;\n`;\n\nconst BreadcrumbItem: FC<\n NavItem & {\n isInverted?: boolean;\n showOnMobile?: boolean;\n showOnDesktop?: boolean;\n children?: React.ReactNode;\n }\n> = ({ isInverted, label, link, showOnMobile, showOnDesktop, children }) => {\n if (link?.href) {\n return (\n <NavLink\n {...link}\n isInverted={isInverted}\n showOnMobile={showOnMobile}\n showOnDesktop={showOnDesktop}\n >\n {children || label}\n </NavLink>\n );\n } else {\n return (\n <NavLabel\n isInverted={isInverted}\n showOnMobile={showOnMobile}\n showOnDesktop={showOnDesktop}\n >\n {children || label}\n </NavLabel>\n );\n }\n};\n\nconst BarBreadcrumbs: FC<{\n isInverted?: boolean;\n rootLink?: LinkProps;\n rootLabel?: string;\n navItems?: Array<NavItem>;\n seperator?: (props: { isInverted?: boolean }) => React.ReactNode;\n back?: (props: { isInverted?: boolean }) => React.ReactNode;\n className?: string;\n}> = ({\n isInverted = false,\n rootLink,\n rootLabel,\n navItems,\n seperator,\n back,\n className,\n}) => {\n const currentNavPath = useMemo(() => {\n return getCurrentNavPath(\n navItems,\n rootLink?.href ? [rootLink?.href] : []\n );\n }, [navItems, rootLink?.href]);\n\n const rootItem: NavItem = {\n uid: 'root',\n label: rootLabel || 'Home',\n link: rootLink,\n };\n\n return (\n <View aria-label=\"breadcrumbs\" className={className}>\n <List>\n <ListItem>\n <BreadcrumbItem\n showOnDesktop\n isInverted={isInverted}\n {...rootItem}\n />\n </ListItem>\n\n {currentNavPath?.map((item, i) => {\n const isCurrent = i === currentNavPath.length - 1;\n const prev = i - 1 >= 0 ? currentNavPath[i - 1] : rootItem;\n\n return (\n <ListItem key={i} isCurrent={isCurrent}>\n <Seperator size=\"small\" isInverted={isInverted}>\n {seperator ? seperator({ isInverted }) : '/'}\n </Seperator>\n {isCurrent ? (\n <>\n {prev && (\n <BreadcrumbItem\n {...prev}\n showOnMobile\n isInverted={isInverted}\n >\n <BackIconContainer>\n {back ? (\n back({ isInverted })\n ) : (\n <AngleLeft />\n )}\n </BackIconContainer>\n <span>{prev.label}</span>\n </BreadcrumbItem>\n )}\n <BreadcrumbItem\n {...item}\n link={{}}\n showOnDesktop\n isInverted={isInverted}\n />\n </>\n ) : (\n <BreadcrumbItem\n {...item}\n showOnDesktop\n isInverted={isInverted}\n />\n )}\n </ListItem>\n );\n })}\n </List>\n </View>\n );\n};\n\nexport default BarBreadcrumbs;\n","import styled from 'styled-components';\nimport { spacings, getColors as color } from 'utils/styles';\n\nconst Column = styled.div<{\n isInverted?: boolean;\n takeSpace?: boolean;\n vAlign?: 'top' | 'center' | 'bottom';\n}>`\n flex: ${({ takeSpace }) => (takeSpace ? 1 : undefined)};\n\n padding: ${spacings.nudge}px 0;\n min-width: -webkit-min-content;\n align-self: ${({ vAlign }) => {\n switch (vAlign) {\n case 'center':\n return 'center';\n\n case 'bottom':\n return 'flex-end';\n\n case 'top':\n return 'flex-start';\n\n default:\n return undefined;\n }\n }};\n\n text-align: center;\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.inverted};\n\n &:first-child {\n text-align: left;\n }\n\n &:last-child {\n text-align: right;\n }\n\n &:not(:first-child):not(:last-child) {\n margin: 0 ${spacings.nudge * 2}px;\n }\n`;\n\nexport default Column;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport Link, { LinkProps } from 'components/typography/Link';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { getColors } from 'utils/styles';\n\nconst View = styled(Link)`\n display: block;\n display: flex;\n justify-content: center;\n min-width: 60px;\n max-width: 100%;\n max-height: 100%;\n\n &:focus {\n outline: 2px solid ${({ theme }) => getColors(theme).primary.default};\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst Logo = styled(Image)`\n width: auto;\n height: 100%;\n object-fit: contain;\n`;\n\nexport interface Logo {\n src?: string;\n alt?: string;\n}\n\nconst BarLogo: FC<{\n link?: Omit<LinkProps, 'coverSpace' | 'ratios'>;\n logo?: ImageProps;\n className?: string;\n}> = ({ link, logo, className }) => {\n return (\n <View {...link} className={className}>\n {logo?.small && (\n <Logo\n {...logo}\n coverSpace={false}\n ratios={undefined}\n showPlaceholder={false}\n />\n )}\n </View>\n );\n};\n\nexport default BarLogo;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport { getColors as color, spacings } from 'utils/styles';\n\nconst Toggle = styled.button<{ isInverted?: boolean }>`\n background: transparent;\n border: none;\n color: ${({ isInverted, theme }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n\n padding: ${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n outline: none;\n\n cursor: pointer;\n\n transition: color 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n }\n\n &:focus > * {\n outline: dotted 2px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 4px;\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n\n &:focus:not(:focus-visible) > * {\n outline: none;\n }\n`;\n\nconst BarMenuToggle: FC<{\n isInverted?: boolean;\n isExpanded?: boolean;\n onClick?: (ev?: React.SyntheticEvent<HTMLButtonElement>) => void;\n className?: string;\n children?: React.ReactNode;\n}> = ({ isInverted, isExpanded = false, onClick, children, className }) => {\n return (\n <Toggle\n isInverted={isInverted}\n aria-expanded={isExpanded}\n aria-label={isExpanded ? 'close menu' : 'open menu'}\n aria-haspopup=\"true\"\n aria-controls=\"mainMenu\"\n onClick={onClick}\n className={className}\n >\n {children}\n </Toggle>\n );\n};\n\nexport default BarMenuToggle;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport Link from 'components/typography/Link';\nimport { spacings, getColors as color } from 'utils/styles';\nimport { copyStyle } from 'components/typography/Copy';\nimport { NavItem } from '../menu/Menu';\n\nconst View = styled.nav<{ isInverted?: boolean }>`\n display: inline-flex;\n align-items: center;\n\n margin: 0 -${spacings.nudge}px;\n\n & > * + * {\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 3px;\n left: 0;\n height: 1em;\n width: 2px;\n background-color: ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n\n transition: background-color 0.2s ease-in-out;\n }\n }\n`;\n\nconst NavLink = styled(Link)<{ isInverted?: boolean; isActive?: boolean }>`\n display: inline-block;\n position: relative;\n padding: 0 ${spacings.nudge}px;\n\n ${copyStyle('copy', 'medium')}\n font-weight: ${({ isActive }) => isActive && '700'};\n\n color: ${({ isInverted, theme }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n text-decoration: none;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n text-decoration: underline;\n }\n }\n`;\n\nconst BarNavList: FC<{\n isInverted?: boolean;\n navLinks?: NavItem[];\n className?: string;\n}> = ({ isInverted, navLinks, className }) => {\n return (\n <View isInverted={isInverted} className={className}>\n {navLinks?.map((item, i) => (\n <NavLink\n key={i}\n {...item.link}\n isInverted={isInverted}\n isActive={item.isCurrent}\n >\n {item.label}\n </NavLink>\n ))}\n </View>\n );\n};\n\nexport default BarNavList;\n","import Cross from 'components/base/icons/Cross';\nimport React, { FC } from 'react';\n\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\nimport { NavMenuStates } from '../Navigation';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\nimport LanguageSwitcher, { Language } from 'components/blocks/LanguageSwitcher';\nimport { isValidArray } from 'utils/arrays';\n\nconst Header = styled.div`\n display: flex;\n align-items: center;\n\n padding: 0 ${spacings.nudge * 2}px;\n padding-top: ${spacings.nudge * 5}px;\n`;\n\nconst LanguageCol = styled.div`\n display: block;\n margin-left: ${spacings.nudge * 3}px;\n margin-top: 2px;\n`;\n\nconst MenuHeader: FC<{\n isInverted?: boolean;\n menuStates?: NavMenuStates;\n customToggle?: (props: { isInverted?: boolean }) => React.ReactNode;\n langs?: Language[];\n action?: (\n props: { isInverted?: boolean } & NavMenuStates\n ) => React.ReactNode;\n}> = ({ isInverted, customToggle, menuStates, langs, action }) => {\n return (\n <React.Fragment>\n <Header>\n <Skeletons.MenuToggle\n isInverted={isInverted}\n isExpanded={true}\n onClick={menuStates?.closeMenu}\n >\n {customToggle ? (\n customToggle({ isInverted })\n ) : (\n <Cross ariaHidden={true} />\n )}\n </Skeletons.MenuToggle>\n {isValidArray(langs, false) && (\n <LanguageCol>\n <LanguageSwitcher\n isInverted={isInverted}\n langs={langs}\n />\n </LanguageCol>\n )}\n {action && action({ isInverted, ...menuStates })}\n </Header>\n </React.Fragment>\n );\n};\n\nexport default MenuHeader;\n","import AngleRight from 'components/base/icons/AngleRight';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React, {\n FC,\n useState,\n useMemo,\n useRef,\n useEffect,\n forwardRef,\n} from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { clampValue } from 'utils/clamp';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport { getCurrentNavItem } from 'utils/navigation';\nimport {\n mq,\n spacings,\n getColors as color,\n getFonts as font,\n getGlobals as global,\n withRange,\n Fonts,\n} from 'utils/styles';\nimport { NavBarSize } from '../../NavBar';\nimport MenuHeader from '../../partials/MenuHeader';\nimport { MenuBaseProps, NavItem } from '../Menu';\nimport { css } from 'styled-components';\n\ntype NavigationFontType = keyof Fonts['navigation'];\n\nconst navigationStyle = (type: NavigationFontType) => css`\n font-family: ${({ theme }) => font(theme).navigation[type].family};\n font-weight: ${({ theme }) => font(theme).navigation[type].weight};\n font-style: ${({ theme }) => font(theme).navigation[type].style};\n ${({ theme }) => withRange(font(theme).navigation[type].size, 'font-size')}\n line-height: ${({ theme }) => font(theme).navigation[type].lineHeight};\n letter-spacing: ${({ theme }) =>\n font(theme).navigation[type].letterSpacing};\n text-transform: ${({ theme }) =>\n font(theme).navigation[type].textTransform};\n text-decoration: ${({ theme }) =>\n font(theme).navigation[type].textDecoration};\n`;\n\nconst Backdrop = styled.div<{ isOpen?: boolean; filter?: string }>`\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.5);\n opacity: ${({ isOpen }) => (isOpen ? 1 : 0)};\n pointer-events: ${({ isOpen }) => (isOpen ? 'all' : 'none')};\n z-index: 101;\n\n transition: opacity 0.3s ease-in-out;\n\n @supports ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {\n backdrop-filter: ${({ filter }) => filter};\n }\n`;\n\nconst Stage = styled.div<{ isOpen?: boolean; clampWidth?: 'content' | 'full' }>`\n position: fixed;\n top: 0;\n left: ${({ isOpen }) => (isOpen ? '50%' : '0px')};\n height: 100vh;\n width: 100vw;\n max-width: ${({ clampWidth }) =>\n clampWidth === 'content' ? spacings.wrapper : spacings.wrapperLarge}px;\n pointer-events: none;\n\n z-index: 102;\n\n transform: translate(${({ isOpen }) => (isOpen ? '-50%' : '-100%')}, 0px);\n\n transition: transform 0.4s ease-in-out, left 0.4s ease-in-out;\n will-change: transform;\n`;\n\nconst Flyout = styled.div<{ isOpen?: boolean }>`\n display: flex;\n flex-direction: column;\n visibility: visible;\n\n position: relative;\n width: 100%;\n height: 100%;\n background-color: ${({ theme }) => color(theme).elementBg.light};\n\n pointer-events: ${({ isOpen }) => (isOpen ? 'all' : 'none')};\n\n /** Animation to disable keyboard tabbing if flyout is closed */\n animation: ${({ isOpen }) => !isOpen && 'hideAnim 0s ease-in 2s forwards'};\n\n @media ${mq.medium} {\n width: 384px;\n }\n\n @media ${mq.large} {\n width: 460px;\n }\n\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 2px;\n height: 100%;\n width: 40vw;\n background-color: ${({ theme }) => color(theme).elementBg.light};\n z-index: -1;\n\n transform: translateX(-100%);\n }\n\n @keyframes hideAnim {\n to {\n visibility: hidden;\n }\n }\n`;\n\nexport const getMenuHeaderHeights = (\n theme: DefaultTheme,\n size?: NavBarSize\n): [number, number] => {\n const heights =\n size === 'large'\n ? global(theme).navigation.menu.headerHeight.large\n : global(theme).navigation.menu.headerHeight.small;\n\n // if second value is not defined use first array index value for both\n return [\n clampValue(heights[0], 0),\n clampValue(heights?.[1] === undefined ? heights[0] : heights[1], 0),\n ];\n};\n\nexport const hasMenuHeader = (theme: DefaultTheme) => {\n const largeHeights = getMenuHeaderHeights(theme, 'large');\n const smallHeights = getMenuHeaderHeights(theme, 'small');\n\n return (\n largeHeights[0] > 0 ||\n largeHeights[1] > 0 ||\n smallHeights[0] > 0 ||\n smallHeights[1] > 0\n );\n};\n\nconst Header = styled.div<{ navBarSize?: NavBarSize }>`\n flex: 0 0\n ${({ theme, navBarSize }) =>\n getMenuHeaderHeights(theme, navBarSize)[0]}px;\n height: ${({ theme, navBarSize }) =>\n getMenuHeaderHeights(theme, navBarSize)[0]}px;\n\n @media ${mq.semilarge} {\n height: ${({ theme, navBarSize }) =>\n getMenuHeaderHeights(theme, navBarSize)[1]}px;\n flex: 0 0\n ${({ theme, navBarSize }) =>\n getMenuHeaderHeights(theme, navBarSize)[1]}px;\n }\n`;\n\nconst ScrollContainer = styled.div`\n display: block;\n max-height: 100%;\n min-height: 0;\n`;\n\nconst ScrollArea = styled.div`\n display: block;\n width: 100vw;\n max-height: 100%;\n overflow: auto;\n -ms-overflow-style: none; /* for Internet Explorer, Edge */\n scrollbar-width: none; /* for Firefox */\n overflow-y: scroll;\n\n &::-webkit-scrollbar {\n display: none; /* for Chrome, Safari, and Opera */\n }\n\n & > *:last-child {\n margin-bottom: 120px;\n }\n\n @media ${mq.medium} {\n max-width: 100%;\n }\n`;\n\n//#region NAVIGATION\n//#region NAVIGATION.Containers\nconst NavView = styled.nav``;\n\nconst Navigation: FC<{ children?: React.ReactNode }> = ({ children }) => {\n return <NavView aria-label=\"menu\">{children}</NavView>;\n};\n\nconst NavList = styled.ul<{ hasNonFeaturedItems?: boolean }>`\n margin: 0;\n padding: 0;\n list-style: none;\n margin: ${spacings.nudge * 2}px 0;\n\n border-bottom: ${({ hasNonFeaturedItems, theme }) =>\n hasNonFeaturedItems && `solid 2px ${color(theme).elementBg.medium}`};\n`;\n\n// #endregion\n// #region NAVIGATION.NavItem\nconst NavItemView = styled.li<{ isActive?: boolean }>`\n flex: 0 0 80px;\n\n height: 100%;\n background-color: ${({ theme, isActive }) =>\n isActive\n ? color(theme).elementBg.medium\n : color(theme).elementBg.light};\n\n transition: background-color 0.2s ease-in-out;\n\n li + &:not([data-featured='true']) {\n border-top: solid 2px ${({ theme }) => color(theme).elementBg.medium};\n }\n\n li[data-featured='true'] + &:not([data-featured='true']) {\n margin-top: ${spacings.spacer}px;\n }\n\n &:not([data-featured='true']):first-child {\n border-top: solid 2px ${({ theme }) => color(theme).elementBg.medium};\n }\n\n @media ${mq.semilarge} {\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n background-color: ${({ theme }) => color(theme).elementBg.medium};\n }\n }\n`;\n\nconst NavItemContent = styled.span<{\n isCurrent?: boolean;\n isFeatured?: boolean;\n}>`\n display: flex;\n align-items: center;\n position: relative;\n min-height: 80px;\n\n padding: 0 ${spacings.nudge * 2}px;\n\n ${({ isFeatured }) => navigationStyle(isFeatured ? 'featured' : 'main')}\n color: ${({ theme, isFeatured }) =>\n isFeatured\n ? font(theme).navigation.featured.color\n : font(theme).navigation.main.color};\n text-decoration: ${({ isCurrent }) => (isCurrent ? 'underline' : 'none')};\n`;\n\nconst NavItemIcon = styled.span`\n display: flex;\n align-items: center;\n width: 48px;\n max-width: 48px;\n\n * {\n width: 100%;\n max-width: 48px;\n max-height: 80px;\n }\n`;\n\nconst NavItemLabel = styled.span`\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &:not(:first-child) {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst NavItemCollapse = styled.span`\n display: block;\n margin-left: auto;\n padding-left: ${spacings.nudge * 3}px;\n`;\n\nconst NavItemCollapseIcon = styled(AngleRight)<{ isCollapsed?: boolean }>`\n transform: ${({ isCollapsed }) => !isCollapsed && 'rotate(90deg)'};\n\n transition: transform 0.2s ease-in-out;\n\n @media ${mq.semilarge} {\n transform: rotate(0deg);\n }\n`;\n\nconst NavItemLink = styled(Link)`\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n &:focus {\n outline: solid 2px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst NavItemButton = styled.button`\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n background: none;\n border: none;\n border-bottom: solid 2px ${({ theme }) => color(theme).elementBg.light};\n width: 100%;\n cursor: pointer;\n outline: none;\n border-radius: 0px;\n\n &:focus {\n outline: solid 2px ${({ theme }) => color(theme).primary.default};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n @media ${mq.semilarge} {\n border-bottom: none;\n }\n`;\n\nconst SubNavList = styled.ul<{ isActive?: boolean; isIndented?: boolean }>`\n display: ${({ isActive }) => !isActive && 'none'};\n position: relative;\n margin: 0;\n padding: 0;\n padding-left: ${({ isIndented }) =>\n isIndented ? 48 + spacings.nudge * 4 : spacings.nudge * 2}px;\n padding-right: ${spacings.nudge * 2}px;\n list-style: none;\n\n max-height: 100%;\n overflow: auto;\n -ms-overflow-style: none; /* for Internet Explorer, Edge */\n scrollbar-width: none; /* for Firefox */\n overflow-y: scroll;\n\n &::-webkit-scrollbar {\n display: none; /* for Chrome, Safari, and Opera */\n }\n\n background-color: ${({ theme }) => color(theme).elementBg.medium};\n\n @media ${mq.semilarge} {\n position: absolute;\n top: 0;\n left: calc(100% - 1px);\n width: 100vw;\n height: 100%;\n max-width: 384px;\n padding-left: ${spacings.nudge * 3}px;\n }\n`;\n\nconst NavigationItem = forwardRef<\n HTMLLIElement,\n {\n isCurrent?: boolean;\n isActive?: boolean;\n isFeatured?: boolean;\n label?: string;\n link?: LinkProps;\n icon?: React.ReactNode;\n\n subNavTitle?: string;\n\n navBarSize?: NavBarSize;\n onItemClick?: () => void;\n collapseIcon?: (props: { isCollapsed?: boolean }) => React.ReactNode;\n canFocus?: boolean;\n children?: React.ReactNode;\n }\n>(\n (\n {\n isCurrent,\n isActive,\n isFeatured,\n label,\n link,\n icon,\n subNavTitle,\n navBarSize,\n onItemClick,\n collapseIcon,\n canFocus,\n children,\n },\n ref\n ) => {\n const hasSubItems = !!children && React.Children.count(children) > 0;\n\n return (\n <NavItemView\n ref={ref}\n isActive={isActive}\n data-featured={isFeatured}\n >\n <NavItemContent isCurrent={isCurrent} isFeatured={isFeatured}>\n {icon && <NavItemIcon>{icon}</NavItemIcon>}\n {label && <NavItemLabel>{label}</NavItemLabel>}\n {hasSubItems && (\n <NavItemCollapse>\n {collapseIcon ? (\n collapseIcon({\n isCollapsed: !isActive,\n })\n ) : (\n <NavItemCollapseIcon\n ariaHidden\n isCollapsed={!isActive}\n />\n )}\n </NavItemCollapse>\n )}\n {!hasSubItems && link?.href && (\n <NavItemLink\n {...link}\n ariaLabel={label}\n tabIndex={!canFocus ? -1 : undefined}\n />\n )}\n {hasSubItems && (\n <React.Fragment>\n <NavItemButton\n aria-label={label}\n aria-expanded={isActive}\n onClick={onItemClick}\n tabIndex={!canFocus ? -1 : undefined}\n />\n </React.Fragment>\n )}\n </NavItemContent>\n {hasSubItems && (\n <SubNavList isActive={isActive} isIndented={!!icon}>\n {link?.href && (\n <MenuNav.SubItem\n key=\"overview\"\n link={link}\n label={subNavTitle || 'Overview'}\n navBarSize={navBarSize}\n canFocus={canFocus}\n />\n )}\n {children}\n </SubNavList>\n )}\n </NavItemView>\n );\n }\n);\n\nNavigationItem.displayName = 'NavigationItem';\n\n//#endregion NAVIGATION.NavItem\n//#region NAVIGATION.SubNavItem\nconst SubNavItem = styled.li<{ navBarSize?: NavBarSize }>`\n display: flex;\n align-items: center;\n list-style: none;\n margin: 0;\n padding: 0;\n height: 56px;\n\n ${navigationStyle('main')}\n color: ${({ theme }) => font(theme).navigation.sub.color};\n\n @media ${mq.semilarge} {\n &:first-child {\n margin-top: ${({ theme, navBarSize }) =>\n getMenuHeaderHeights(theme, navBarSize)[1] +\n spacings.nudge * 2}px;\n }\n\n &:last-child {\n margin-bottom: ${spacings.spacer}px;\n }\n }\n`;\n\nconst SubNavLink = styled(Link)<{ isCurrent?: boolean }>`\n /* width: 100%; */\n padding: ${spacings.nudge}px 0;\n outline-color: ${({ theme }) => color(theme).primary.default};\n vertical-align: middle;\n\n ${navigationStyle('sub')}\n color: ${({ theme }) => font(theme).navigation.sub.color};\n text-decoration: ${({ isCurrent }) => (isCurrent ? 'underline' : 'none')};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n & > * {\n margin: 2px;\n }\n\n &:focus {\n outline: none;\n }\n\n &:focus > * {\n outline: dashed 1px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) > * {\n outline: none;\n }\n`;\n\nconst NavigationSubItem = forwardRef<\n HTMLLIElement,\n {\n isCurrent?: boolean;\n label: string;\n link?: LinkProps;\n navBarSize?: NavBarSize;\n canFocus?: boolean;\n }\n>(({ isCurrent, label, link, navBarSize, canFocus }, ref) => {\n return (\n <SubNavItem ref={ref} navBarSize={navBarSize}>\n <SubNavLink\n tabIndex={!canFocus ? -1 : undefined}\n isCurrent={isCurrent}\n {...link}\n >\n <span>{label}</span>\n </SubNavLink>\n </SubNavItem>\n );\n});\n\nNavigationSubItem.displayName = 'NavigationSubItem';\n//#endregion\n//#region NAVIGATION.SecondaryNavigation\nconst SecondaryNavList = styled.ul`\n display: block;\n list-style: none;\n padding: 0 ${spacings.nudge * 2}px;\n margin: ${spacings.spacer}px 0;\n\n li {\n display: flex;\n margin: 0;\n padding: 0;\n }\n`;\n\nconst SecondaryNavLink = styled(Link)<{ isCurrent?: boolean }>`\n display: inline-block;\n padding: ${spacings.nudge * 0.5}px 0;\n outline-color: ${({ theme }) => color(theme).primary.default};\n vertical-align: middle;\n\n ${navigationStyle('secondary')}\n color: ${({ theme }) => font(theme).navigation.secondary.color};\n text-decoration: ${({ isCurrent }) => (isCurrent ? 'underline' : 'none')};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &:focus {\n outline: dashed 2px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst SecondaryNavigation: FC<{\n items?: NavItem[];\n canFocus?: boolean;\n}> = ({ items, canFocus }) => {\n return items && items.length > 0 ? (\n <SecondaryNavList>\n {items\n ?.filter((n) => n.link?.href)\n .map((item, i) => (\n <li key={i}>\n <SecondaryNavLink\n isCurrent={item.isCurrent}\n href={item.link?.href}\n tabIndex={!canFocus ? -1 : undefined}\n >\n {item.label}\n </SecondaryNavLink>\n </li>\n ))}\n </SecondaryNavList>\n ) : null;\n};\n//#endregion\n\nconst MenuNav = {\n View: Navigation,\n List: NavList,\n Item: NavigationItem,\n SubItem: NavigationSubItem,\n SubList: SecondaryNavigation,\n};\n// #endregion\n\nexport interface FlyoutMenuProps {\n type: 'flyout';\n collapseIcon?: (props: { isCollapsed?: boolean }) => React.ReactNode;\n subNavTitle?: string;\n backdropFilter?: string;\n}\n\nconst menuFilter = (item: NavItem) =>\n !item.hideFromMenu && item.uid && item.label;\n\nconst MenuFlyout: FC<MenuBaseProps & FlyoutMenuProps> = ({\n isOpen,\n clampWidth,\n isIndexPage,\n mainNavigation,\n subNavigation,\n navBarSize,\n subNavTitle,\n backdropFilter = 'grayscale(1)',\n header,\n footer,\n onClose,\n collapseIcon,\n navItemsHeader,\n}) => {\n const { theme } = useLibTheme();\n const flyoutRef = useRef<HTMLDivElement>(null);\n const hasHeader = useMemo(() => hasMenuHeader(theme), [theme]);\n\n const mainList = useMemo(() => {\n const featured = mainNavigation?.filter((n) => n.isFeatured) || [];\n const main = mainNavigation?.filter((n) => !n.isFeatured) || [];\n\n return [...featured, ...main].filter(menuFilter);\n }, [mainNavigation]);\n\n const hasNonFeaturedItems = useMemo(() => {\n const main = mainNavigation?.filter((n) => !n.isFeatured) || [];\n return main && main.length > 0;\n }, [mainNavigation]);\n\n const subList = useMemo(() => {\n return subNavigation?.filter(menuFilter);\n }, [subNavigation]);\n\n const [activeItems, setActiveItems] = useState<string[]>(() => {\n const initial = getCurrentNavItem(mainList, true)?.root?.uid;\n return initial ? [initial] : [''];\n });\n const [currentNavEl, setCurrentNavEl] =\n useState<HTMLLIElement | null>(null);\n const [currentSubNavEl, setCurrentSubNavEl] =\n useState<HTMLLIElement | null>(null);\n\n const toggleActiveItem = (uid: string) => {\n setActiveItems((prev) => (prev.includes(uid) ? [] : [uid]));\n\n // if multiple nav items can be selected:\n // setActiveItems((prev) => {\n // const copy = [...prev];\n // const activeIndex = activeItems.indexOf(index);\n // if (activeIndex !== -1) {\n // copy.splice(activeIndex, 1);\n // } else {\n // copy.push(index);\n // }\n // return copy;\n // });\n };\n\n // check if flyout lost focus\n useEffect(() => {\n const handleFocus = (ev: FocusEvent) => {\n if (!flyoutRef.current || !ev.target) return;\n const isFlyoutChild = flyoutRef.current.contains(\n ev.target as Element\n );\n\n if (!isFlyoutChild) onClose && onClose();\n };\n\n if (isOpen) {\n document.addEventListener('focusin', handleFocus);\n } else {\n document.removeEventListener('focusin', handleFocus);\n }\n\n return () => {\n document.removeEventListener('focusin', handleFocus);\n };\n }, [isOpen, onClose]);\n\n // scroll to current nav items\n useEffect(() => {\n try {\n currentNavEl?.scrollIntoView({\n block: 'center',\n inline: 'start',\n });\n currentSubNavEl?.scrollIntoView({\n block: 'center',\n inline: 'start',\n });\n } catch (e) {\n // console.log(e);\n }\n }, [currentNavEl, currentSubNavEl]);\n\n return (\n <React.Fragment>\n <Backdrop\n isOpen={isOpen}\n filter={backdropFilter}\n onClick={onClose}\n />\n <Stage isOpen={isOpen} clampWidth={clampWidth}>\n <Flyout ref={flyoutRef} isOpen={isOpen}>\n {hasHeader && (\n <Header navBarSize={navBarSize}>\n {header ? (\n header({\n isOpen,\n mainNavigation: mainList,\n subNavigation: subList,\n isIndexPage,\n navBarSize,\n })\n ) : (\n <MenuHeader\n menuStates={{\n isOpen,\n mainNavigation,\n subNavigation,\n isIndexPage,\n navBarSize,\n }}\n />\n )}\n </Header>\n )}\n\n <ScrollContainer>\n <ScrollArea>\n {navItemsHeader &&\n navItemsHeader({\n isOpen,\n mainNavigation: mainList,\n subNavigation: subList,\n isIndexPage,\n navBarSize,\n })}\n <MenuNav.View>\n {isValidArray(mainList, false) && (\n <MenuNav.List\n id=\"mainMenu\"\n hasNonFeaturedItems={\n hasNonFeaturedItems\n }\n >\n {mainList.map((item) => {\n const isActive =\n activeItems.includes(item.uid);\n const hasCurrentSubItem =\n item?.subItems\n ? item.subItems.findIndex(\n (n) => n.isCurrent\n ) >= 0\n : false;\n\n const isCurrent =\n item.isCurrent ||\n hasCurrentSubItem;\n\n return (\n <MenuNav.Item\n key={item.uid}\n {...item}\n ref={\n isCurrent\n ? setCurrentNavEl\n : undefined\n }\n isActive={isActive}\n isCurrent={isCurrent}\n subNavTitle={subNavTitle}\n navBarSize={navBarSize}\n collapseIcon={collapseIcon}\n onItemClick={() =>\n toggleActiveItem(\n item.uid\n )\n }\n canFocus={isOpen}\n >\n {item?.subItems\n ?.filter(menuFilter)\n .map((subItem) => (\n <MenuNav.SubItem\n key={\n subItem.uid\n }\n ref={\n subItem.isCurrent\n ? setCurrentSubNavEl\n : undefined\n }\n {...subItem}\n navBarSize={\n navBarSize\n }\n canFocus={\n isOpen\n }\n />\n ))}\n </MenuNav.Item>\n );\n })}\n </MenuNav.List>\n )}\n {isValidArray(subList, false) && (\n <MenuNav.SubList\n items={subList}\n canFocus={isOpen}\n />\n )}\n </MenuNav.View>\n {footer\n ? footer({\n isOpen,\n mainNavigation: mainList,\n subNavigation: subList,\n isIndexPage,\n })\n : ''}\n </ScrollArea>\n </ScrollContainer>\n </Flyout>\n </Stage>\n </React.Fragment>\n );\n};\n\nexport default MenuFlyout;\n","import React, { FC } from 'react';\n\nimport { LinkProps } from 'components/typography/Link';\n\n/** Menu Variations */\nimport MenuFlyout, { FlyoutMenuProps } from './variations/MenuFlyout';\nimport { /* MenuLarge,*/ LargeMenuProps } from './variations/MenuLarge';\nimport { NavBarSize } from '../NavBar';\n\n/** Navigation item types */\n\nexport interface NavItem {\n uid: string;\n label: string;\n link?: LinkProps;\n isCurrent?: boolean;\n subItems?: NavItem[];\n isFeatured?: boolean;\n icon?: React.ReactNode;\n hideFromMenu?: boolean;\n}\n\n/** Menu base type */\nexport interface MenuStates {\n isOpen?: boolean;\n isIndexPage?: boolean;\n mainNavigation?: Array<NavItem>;\n subNavigation?: Array<NavItem>;\n navBarSize?: NavBarSize;\n}\n\nexport interface MenuBaseProps {\n isOpen?: boolean;\n clampWidth?: 'content' | 'full';\n isIndexPage?: boolean;\n mainNavigation?: Array<NavItem>;\n subNavigation?: Array<NavItem>;\n navBarSize?: NavBarSize;\n header?: (props: MenuStates) => React.ReactNode;\n footer?: (props: MenuStates) => React.ReactNode;\n navItemsHeader?: (menuStates: MenuStates) => React.ReactNode;\n onClose?: () => void;\n}\n\nexport type MenuTypeProps = FlyoutMenuProps | LargeMenuProps;\n\nconst Menu: FC<MenuBaseProps & { typeSettings?: MenuTypeProps }> = ({\n isOpen,\n clampWidth,\n isIndexPage,\n mainNavigation,\n subNavigation,\n navBarSize,\n header,\n footer,\n navItemsHeader,\n onClose,\n typeSettings,\n}) => {\n if (!typeSettings) {\n typeSettings = { type: 'flyout' };\n }\n\n switch (typeSettings?.type) {\n // case 'large': {\n // return (\n // <MenuLarge\n // isOpen={isOpen}\n // clampWidth={clampWidth}\n // isIndexPage={isIndexPage}\n // mainNavigation={mainNavigation}\n // subNavigation={subNavigation}\n // navBarSize={navBarSize}\n // header={header}\n // footer={footer}\n // navItemsHeader={navItemsHeader}\n // onClose={onClose}\n // {...(typeSettings as LargeMenuProps)}\n // />\n // );\n // }\n\n default:\n case 'flyout': {\n return (\n <MenuFlyout\n isOpen={isOpen}\n clampWidth={clampWidth}\n isIndexPage={isIndexPage}\n mainNavigation={mainNavigation}\n subNavigation={subNavigation}\n navBarSize={navBarSize}\n header={header}\n footer={footer}\n onClose={onClose}\n navItemsHeader={navItemsHeader}\n {...(typeSettings as FlyoutMenuProps)}\n />\n );\n }\n }\n};\n\nexport default Menu;\n","import React, { FC, useMemo } from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\nimport {\n spacings,\n mq,\n getGlobals as global,\n getColors as color,\n} from 'utils/styles';\nimport { clampValue } from 'utils/clamp';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\n\nexport const getTopHeights = (\n theme: DefaultTheme,\n size?: NavBarSize\n): [number, number] => {\n const heights =\n size === 'large'\n ? global(theme).navigation.navBar.topHeight.large\n : global(theme).navigation.navBar.topHeight.small;\n\n // if second value is not defined use first array index value for both\n return [\n clampValue(heights[0], 0),\n clampValue(heights?.[1] === undefined ? heights[0] : heights[1], 0),\n ];\n};\n\nexport const hasTopBar = (theme: DefaultTheme) => {\n const largeHeights = getTopHeights(theme, 'large');\n const smallHeights = getTopHeights(theme, 'small');\n\n return (\n largeHeights[0] > 0 ||\n largeHeights[1] > 0 ||\n smallHeights[0] > 0 ||\n smallHeights[1] > 0\n );\n};\n\nexport const getMainHeights = (\n theme: DefaultTheme,\n size?: NavBarSize\n): [number, number] => {\n const heights =\n size === 'large'\n ? global(theme).navigation.navBar.mainHeight.large\n : global(theme).navigation.navBar.mainHeight.small;\n\n // if second value is not defined use first array index value for both\n return [\n clampValue(heights[0], 0),\n clampValue(heights?.[1] === undefined ? heights[0] : heights[1], 0),\n ];\n};\n\nexport const getBottomHeights = (\n theme: DefaultTheme,\n size?: NavBarSize\n): [number, number] => {\n const heights =\n size === 'large'\n ? global(theme).navigation.navBar.bottomHeight.large\n : global(theme).navigation.navBar.bottomHeight.small;\n\n // if second value is not defined use first array index value for both\n return [\n clampValue(heights[0], 0),\n clampValue(heights?.[1] === undefined ? heights[0] : heights[1], 0),\n ];\n};\n\nexport const hasBottomBar = (theme: DefaultTheme) => {\n const largeHeights = getBottomHeights(theme, 'large');\n const smallHeights = getBottomHeights(theme, 'small');\n\n return (\n largeHeights[0] > 0 ||\n largeHeights[1] > 0 ||\n smallHeights[0] > 0 ||\n smallHeights[1] > 0\n );\n};\n\nexport type ExcludeType = 'top' | 'main' | 'bottom';\n\n/**\n * Get full height of navigation bar\n * @param theme Theme object\n * @param size Navigation bar size\n * @param exclude Exclude parts of the navbar for height calculation\n * @returns [mobile, desktop]\n */\nexport const getFullHeight = (\n theme: DefaultTheme,\n size?: NavBarSize,\n exclude?: ExcludeType[]\n): [number, number] => {\n const includeTop = exclude ? exclude.indexOf('top') === -1 : true;\n const includeMain = exclude ? exclude.indexOf('main') === -1 : true;\n const includeBottom = exclude ? exclude.indexOf('bottom') === -1 : true;\n\n const topHeights = includeTop ? getTopHeights(theme, size) : [0, 0];\n const mainHeights = includeMain ? getMainHeights(theme, size) : [0, 0];\n const bottomHeights = includeBottom\n ? getBottomHeights(theme, size)\n : [0, 0];\n\n // calculate mobile navbar height\n const mobile = topHeights[0] + mainHeights[0] + bottomHeights[0];\n\n // calculate desktop navbar height\n const desktop = topHeights[1] + mainHeights[1] + bottomHeights[1];\n\n return [mobile, desktop];\n};\n\nconst View = styled.div<{\n isOpen?: boolean;\n isSticky?: boolean;\n isAnimated?: boolean;\n bgGradient?: string;\n}>`\n position: ${({ isSticky }) => (isSticky ? 'fixed' : 'absolute')};\n top: 0;\n left: 0;\n right: 0;\n\n transform: ${({ isOpen }) => !isOpen && 'translate3d(0, -101%, 0)'};\n\n margin: 0 auto;\n /* max-width: ${spacings.wrapperLarge}px; */\n z-index: 100;\n\n ${({ isAnimated }) => `transition: ${\n isAnimated ? 'transform 0.3s ease-in-out, ' : ''\n }height 0.3s ease-in-out,\n opacity 0.3s ease-in-out;`}\n will-change: transform;\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: ${({ bgGradient }) => bgGradient || ''};\n margin: 0 auto;\n max-width: ${spacings.wrapperLarge}px;\n z-index: -1;\n }\n\n // print version\n @media print {\n position: relative;\n }\n`;\n\nconst Header = styled.div<{ size?: NavBarSize; background?: string }>`\n opacity: ${({ theme, size }) =>\n getTopHeights(theme, size)[0] > 0 ? 1 : 0};\n pointer-events: ${({ theme, size }) =>\n getTopHeights(theme, size)[0] > 0 ? 'all' : 'none'};\n overflow: ${({ theme, size }) =>\n getTopHeights(theme, size)[0] <= 0 && 'hidden'};\n\n background-color: ${({ background }) => background};\n color: ${({ theme, background }) =>\n background ? color(theme).text.default : color(theme).text.inverted};\n\n transition: background-color 0.2s ease-in-out;\n\n @media ${mq.semilarge} {\n opacity: ${({ theme, size }) =>\n getTopHeights(theme, size)[1] > 0 ? 1 : 0};\n pointer-events: ${({ theme, size }) =>\n getTopHeights(theme, size)[1] > 0 ? 'all' : 'none'};\n overflow: ${({ theme, size }) =>\n getTopHeights(theme, size)[1] <= 0 && 'hidden'};\n }\n`;\n\nconst Main = styled.div<{ background?: string }>`\n background-color: ${({ background }) => background};\n color: ${({ theme, background }) =>\n background ? color(theme).text.default : color(theme).text.inverted};\n\n transition: background-color 0.2s ease-in-out;\n`;\n\nconst Footer = styled.div<{ size?: NavBarSize; background?: string }>`\n opacity: ${({ theme, size }) =>\n getBottomHeights(theme, size)[0] > 0 ? 1 : 0};\n pointer-events: ${({ theme, size }) =>\n getBottomHeights(theme, size)[0] > 0 ? 'all' : 'none'};\n overflow: ${({ theme, size }) =>\n getBottomHeights(theme, size)[0] <= 0 && 'hidden'};\n\n background-color: ${({ background }) => background};\n color: ${({ theme, background }) =>\n background ? color(theme).text.default : color(theme).text.inverted};\n\n opacity: ${({ theme, size }) =>\n getBottomHeights(theme, size)[0] > 0 ? 1 : 0};\n\n transition: background-color 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media ${mq.semilarge} {\n opacity: ${({ theme, size }) =>\n getBottomHeights(theme, size)[1] > 0 ? 1 : 0};\n pointer-events: ${({ theme, size }) =>\n getBottomHeights(theme, size)[1] > 0 ? 'all' : 'none'};\n overflow: ${({ theme, size }) =>\n getBottomHeights(theme, size)[1] <= 0 && 'hidden'};\n\n opacity: ${({ theme, size }) =>\n getBottomHeights(theme, size)[1] > 0 ? 1 : 0};\n }\n`;\n\nconst TopContent = styled.div<{ size?: NavBarSize; clamp?: boolean }>`\n display: flex;\n justify-content: flex-end;\n position: relative;\n max-width: ${({ clamp }) =>\n clamp ? spacings.wrapper : spacings.wrapperLarge}px;\n padding: ${({ size, theme }) =>\n getTopHeights(theme, size)[0] > 0 && `0 ${spacings.nudge * 2}px`};\n margin: 0 auto;\n\n height: ${({ theme, size }) => getTopHeights(theme, size)[0]}px;\n\n transition: height 0.2s ease-in-out, padding-top 0.2s ease-in-out,\n padding-bottom 0.2s ease-in-out;\n will-change: height;\n\n @media ${mq.semilarge} {\n height: ${({ theme, size }) => getTopHeights(theme, size)[1]}px;\n padding: ${({ size, theme }) =>\n getTopHeights(theme, size)[1] > 0 && `0 ${spacings.nudge * 2}px`};\n }\n`;\n\nconst Content = styled.div<{ size?: NavBarSize; clamp?: boolean }>`\n display: flex;\n position: relative;\n max-width: ${({ clamp }) =>\n clamp ? spacings.wrapper : spacings.wrapperLarge}px;\n padding: 0 ${spacings.nudge * 2}px;\n margin: 0 auto;\n\n height: ${({ theme, size }) => getMainHeights(theme, size)[0]}px;\n\n transition: height 0.2s ease-in-out;\n will-change: height;\n\n @media ${mq.semilarge} {\n height: ${({ theme, size }) =>\n getMainHeights(theme, size)[1] || getMainHeights(theme, size)[0]}px;\n }\n`;\n\nconst BottomContent = styled.div<{ size?: NavBarSize; clamp?: boolean }>`\n display: flex;\n justify-content: flex-start;\n position: relative;\n max-width: ${({ clamp }) =>\n clamp ? spacings.wrapper : spacings.wrapperLarge}px;\n padding: 0 ${spacings.nudge * 2}px;\n margin: 0 auto;\n\n height: ${({ theme, size }) => getBottomHeights(theme, size)[0]}px;\n transition: 0.2s height ease-in-out;\n\n @media ${mq.semilarge} {\n height: ${({ theme, size }) => getBottomHeights(theme, size)[1]}px;\n padding: 0 ${spacings.nudge * 2}px;\n }\n`;\n\nconst BarSpacer = styled.div<{ hasHeader?: boolean; hasFooter?: boolean }>`\n height: ${({ theme, hasHeader, hasFooter }) => {\n const excludes: ExcludeType[] = [];\n if (!hasHeader) excludes.push('top');\n if (!hasFooter) excludes.push('bottom');\n\n return getFullHeight(theme, 'large', excludes)[0];\n }}px;\n\n @media ${mq.semilarge} {\n height: ${({ theme, hasHeader, hasFooter }) => {\n const excludes: ExcludeType[] = [];\n if (!hasHeader) excludes.push('top');\n if (!hasFooter) excludes.push('bottom');\n\n return getFullHeight(theme, 'large', excludes)[1];\n }}px;\n }\n\n // print version\n @media print {\n display: none;\n }\n`;\n\nexport type NavBarSize = 'small' | 'large';\n\nexport interface BarStates {\n size: NavBarSize;\n isOpen?: boolean;\n isSticky?: boolean;\n pageFlow?: PageFlow;\n}\n\nexport type PageFlow = 'overContent' | 'beforeContent';\n\nexport interface NavBarProps {\n size?: NavBarSize;\n isOpen?: boolean;\n isSticky?: boolean;\n isAnimated?: boolean;\n clampWidth?: 'content' | 'full';\n pageFlow?: PageFlow;\n\n topBg?: string;\n mainBg?: string;\n bottomBg?: string;\n /** Custom background value for NavBar with pageFlow === overContent and large size */\n onContentBg?: string;\n\n topBar?: ((props: BarStates) => React.ReactNode) | null;\n mainBar?: ((props: BarStates) => React.ReactNode) | null;\n bottomBar?: ((props: BarStates) => React.ReactNode) | null;\n}\n\nconst NavBar: FC<\n NavBarProps & {\n className?: string;\n }\n> = ({\n size = 'large',\n isOpen = false,\n isSticky = false,\n isAnimated = false,\n clampWidth = false,\n pageFlow = 'beforeContent',\n topBg,\n mainBg,\n bottomBg,\n onContentBg,\n topBar,\n mainBar,\n bottomBar,\n className,\n}) => {\n const { theme, colors } = useLibTheme();\n const clampContent = clampWidth === 'content';\n const isOverContent = pageFlow === 'overContent';\n\n const hasHeader = useMemo(\n () => hasTopBar(theme) && topBar !== null,\n [theme, topBar]\n );\n const hasFooter = useMemo(\n () => hasBottomBar(theme) && bottomBar !== null,\n [bottomBar, theme]\n );\n const showBg = useMemo(\n () => size === 'small' || (size === 'large' && !isOverContent),\n [isOverContent, size]\n );\n\n const topBackground = topBg || colors.elementBg.light;\n const mainBackground = mainBg || colors.elementBg.light;\n const bottomBackground = bottomBg || colors.elementBg.light;\n const onContentBackground =\n onContentBg ||\n 'linear-gradient(180deg,rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.2) 40%, rgba(0,0,0,0) 100%)';\n\n const topBarContent = useMemo(\n () =>\n topBar &&\n topBar({\n size,\n isOpen,\n isSticky,\n pageFlow,\n }),\n [isOpen, isSticky, pageFlow, size, topBar]\n );\n\n const mainBarContent = useMemo(\n () =>\n mainBar &&\n mainBar({\n size,\n isOpen,\n isSticky,\n pageFlow,\n }),\n [isOpen, isSticky, mainBar, pageFlow, size]\n );\n\n const bottomBarContent = useMemo(\n () =>\n bottomBar &&\n bottomBar({\n size,\n isOpen,\n isSticky,\n pageFlow,\n }),\n [bottomBar, isOpen, isSticky, pageFlow, size]\n );\n\n return (\n <React.Fragment>\n {pageFlow === 'beforeContent' && (\n <BarSpacer hasHeader={hasHeader} hasFooter={hasFooter} />\n )}\n <View\n isOpen={isOpen}\n isSticky={isSticky}\n isAnimated={isAnimated}\n bgGradient={\n size === 'large' && isOverContent\n ? onContentBackground\n : undefined\n }\n className={className}\n >\n {hasHeader && (\n <Header\n size={size}\n background={showBg ? topBackground : undefined}\n >\n <TopContent size={size} clamp={clampContent}>\n {topBarContent ? (\n topBarContent\n ) : (\n <Skeletons.Column isInverted>\n Top Nav\n </Skeletons.Column>\n )}\n </TopContent>\n </Header>\n )}\n {mainBar !== null && (\n <Main background={showBg ? mainBackground : undefined}>\n <Content size={size} clamp={clampContent}>\n {mainBarContent ? (\n mainBarContent\n ) : (\n <React.Fragment>\n <Skeletons.Column\n takeSpace\n isInverted={\n size === 'large' && isOverContent\n }\n >\n Left\n </Skeletons.Column>\n <Skeletons.Column\n isInverted={\n size === 'large' && isOverContent\n }\n >\n Center\n </Skeletons.Column>\n <Skeletons.Column\n takeSpace\n isInverted={\n size === 'large' && isOverContent\n }\n >\n Right\n </Skeletons.Column>\n </React.Fragment>\n )}\n </Content>\n </Main>\n )}\n {hasFooter && (\n <Footer\n size={size}\n background={showBg ? bottomBackground : undefined}\n >\n <BottomContent size={size} clamp={clampContent}>\n {bottomBarContent ? bottomBarContent : 'bottom bar'}\n </BottomContent>\n </Footer>\n )}\n </View>\n </React.Fragment>\n );\n};\n\nexport default NavBar;\n","import React, { FC, useEffect, useMemo, useState } from 'react';\nimport { DefaultTheme } from 'styled-components';\nimport {\n LibThemeProvider,\n ThemeMods,\n useLibTheme,\n} from 'utils/LibThemeProvider';\nimport { useMediaQueries } from 'utils/useMediaQuery';\nimport { useMenuKeyboard } from 'utils/menuHooks';\nimport usePageScroll, { PageScrollDirection } from 'utils/usePageScroll';\nimport Menu, { MenuStates, MenuTypeProps, NavItem } from './menu/Menu';\n\nimport NavBar, {\n getFullHeight,\n NavBarSize,\n BarStates,\n hasTopBar,\n hasBottomBar,\n ExcludeType,\n PageFlow,\n} from './NavBar';\n\n/**\n * Checks which navbar parts are defined in navigation.\n * With this values you can calculate each height by the Navbar component functions\n * @param ident Identification string from Navigation component\n * @returns\n */\nexport const getNavbarState = (ident: string) => {\n const navbarIdent = ident || '';\n\n let pageFlow: PageFlow | undefined = undefined;\n switch (true) {\n case navbarIdent.search('overContent') !== -1: {\n pageFlow = 'overContent';\n break;\n }\n\n case navbarIdent.search('beforeContent') !== -1: {\n pageFlow = 'beforeContent';\n break;\n }\n }\n\n return {\n hasTop: navbarIdent.search('top') !== -1,\n hasMain: navbarIdent.search('main') !== -1,\n hasBottom: navbarIdent.search('bottom') !== -1,\n pageFlow: pageFlow,\n isStickable: navbarIdent.search('stickable') !== -1,\n };\n};\n\n/** Generate Navbar identifier */\nexport const generateNavbarIdent = (props: {\n hasTop?: boolean;\n hasMain?: boolean;\n hasBottom?: boolean;\n pageFlow?: PageFlow;\n isStickable?: boolean;\n}): string => {\n if (!props) return '';\n const stateArray: string[] = [];\n\n if (props.hasTop) stateArray.push('top');\n if (props.hasMain) stateArray.push('main');\n if (props.hasBottom) stateArray.push('bottom');\n if (props.isStickable) stateArray.push('stickable');\n if (props.pageFlow) stateArray.push(props.pageFlow);\n\n return stateArray.join('-');\n};\n\n/**\n * Get full navbar heights\n * @param theme Theme object\n * @param ident Indentification string from Navigation component\n * @returns\n */\nexport const getFullNavbarHeights = (theme: DefaultTheme, ident: string) => {\n const { hasTop, hasBottom } = getNavbarState(ident || '');\n const excludes: ExcludeType[] = [];\n if (!hasTop) excludes.push('top');\n if (!hasBottom) excludes.push('bottom');\n\n return {\n large: getFullHeight(theme, 'large', excludes),\n small: getFullHeight(theme, 'small', excludes),\n };\n};\n\nexport interface NavBarStates extends BarStates {\n isMenuOpen?: boolean;\n openMenu?: () => void;\n closeMenu?: () => void;\n mainNavigation?: Array<NavItem>;\n subNavigation?: Array<NavItem>;\n isOnPageTop?: boolean;\n isInTopOffset?: boolean;\n}\n\nexport interface NavMenuStates extends MenuStates {\n isMenuOpen?: boolean;\n openMenu?: () => void;\n closeMenu?: () => void;\n navBarSize?: NavBarSize;\n}\n\nexport interface NavBarSettings {\n isStickable?: boolean;\n isCollapsible?: boolean;\n pageFlow?: 'overContent' | 'beforeContent';\n\n topBg?: string;\n mainBg?: string;\n bottomBg?: string;\n /** Custom background value for NavBar with pageFlow === overContent and large size */\n onContentBg?: string;\n\n topBar?: ((props: NavBarStates) => React.ReactNode) | null;\n mainBar?: ((props: NavBarStates) => React.ReactNode) | null;\n bottomBar?: ((props: NavBarStates) => React.ReactNode) | null;\n theme?: ThemeMods;\n}\n\nexport interface MenuSettings {\n isIndexPage?: boolean;\n mainNavigation?: Array<NavItem>;\n subNavigation?: Array<NavItem>;\n header?: (props: NavMenuStates) => React.ReactNode;\n footer?: (props: NavMenuStates) => React.ReactNode;\n navItemsHeader?: (props: NavMenuStates) => React.ReactNode;\n typeSettings: MenuTypeProps;\n\n theme?: ThemeMods;\n}\n\nexport interface NavigationProps {\n navBar?: NavBarSettings;\n menu?: MenuSettings;\n clampWidth?: 'content' | 'full';\n}\n\nconst Navigation: FC<NavigationProps> = ({\n clampWidth = 'content',\n navBar,\n menu,\n}) => {\n const isStickable = navBar?.isStickable || false;\n const isCollapsible = navBar?.isCollapsible || false;\n\n const mediaQueries = useMediaQueries();\n\n const { theme } = useLibTheme();\n\n /** Navigation bar states */\n const [isNavBarSticky, setIsNavBarSticky] = useState<boolean>(false);\n const [isNavBarOpen, setNavBarOpen] = useState<boolean>(true);\n const { isTop, scrollDirection, isInOffset, leftOffsetFromTop } =\n usePageScroll({\n directionOffset: { up: 40, down: 40 },\n offset: getFullHeight(theme, 'large')[\n mediaQueries.semilarge ? 1 : 0\n ],\n });\n\n const navbarSize = useMemo<NavBarSize>(() => {\n return isTop || isInOffset || !isStickable ? 'large' : 'small';\n }, [isTop, isInOffset, isStickable]);\n\n useEffect(() => {\n if (isStickable && isCollapsible) {\n setNavBarOpen(\n isTop ||\n isInOffset ||\n scrollDirection === PageScrollDirection.UP\n );\n }\n }, [scrollDirection, isTop, isStickable, isInOffset, isCollapsible]);\n\n useEffect(() => {\n if (!isStickable) return;\n if (\n !isCollapsible ||\n (leftOffsetFromTop && scrollDirection === PageScrollDirection.UP)\n ) {\n setIsNavBarSticky(true);\n } else if (isTop) {\n setIsNavBarSticky(false);\n }\n }, [isCollapsible, isStickable, isTop, leftOffsetFromTop, scrollDirection]);\n\n /** Menu states */\n const { isMenuOpen, setIsMenuOpen, setRoot } = useMenuKeyboard(false, {});\n\n const openMenu = () => {\n setIsMenuOpen(true);\n };\n\n const closeMenu = () => {\n setIsMenuOpen(false);\n };\n\n useEffect(() => {\n document.body.style.overflow = isMenuOpen ? 'hidden' : 'visible';\n }, [isMenuOpen]);\n\n const topBar = navBar?.topBar\n ? (props: BarStates) => {\n if (!navBar?.topBar) return '';\n return navBar.topBar({\n ...props,\n isMenuOpen,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n isOnPageTop: isTop,\n isInTopOffset: isInOffset,\n });\n }\n : navBar?.topBar;\n\n const mainBar = navBar?.mainBar\n ? (props: BarStates) => {\n if (!navBar?.mainBar) return '';\n return navBar.mainBar({\n ...props,\n isMenuOpen,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n isOnPageTop: isTop,\n isInTopOffset: isInOffset,\n });\n }\n : navBar?.mainBar;\n\n const bottomBar = navBar?.bottomBar\n ? (props: BarStates) => {\n if (!navBar?.bottomBar) return '';\n return navBar.bottomBar({\n ...props,\n isMenuOpen,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n isOnPageTop: isTop,\n isInTopOffset: isInOffset,\n });\n }\n : navBar?.bottomBar;\n\n const menuHeader = menu?.header\n ? (props: MenuStates) => {\n if (!menu?.header) return '';\n return menu?.header({\n ...props,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n navBarSize: navbarSize,\n });\n }\n : undefined;\n\n const menuFooter = menu?.footer\n ? (props: MenuStates) => {\n if (!menu?.footer) return '';\n return menu?.footer({\n ...props,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n navBarSize: navbarSize,\n });\n }\n : undefined;\n\n const menuNavItemsHeader = menu?.navItemsHeader\n ? (props: MenuStates) => {\n if (!menu?.navItemsHeader) return '';\n return menu?.navItemsHeader({\n ...props,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n navBarSize: navbarSize,\n });\n }\n : undefined;\n\n /**\n * Get ident string that shows if each navbar section is defined.\n * @returns Navbar ident string\n */\n const getNavBarIdent = (theme: DefaultTheme) => {\n const ident = generateNavbarIdent({\n hasTop: topBar !== null && hasTopBar(theme),\n hasMain: mainBar !== null,\n hasBottom: bottomBar !== null && hasBottomBar(theme),\n isStickable: navBar?.isStickable,\n pageFlow: navBar?.pageFlow,\n });\n\n return ident;\n };\n\n return (\n <header ref={setRoot} data-navbar-ident={getNavBarIdent(theme)}>\n <LibThemeProvider theme={navBar?.theme}>\n <NavBar\n isOpen={isNavBarOpen}\n isSticky={isNavBarSticky}\n isAnimated\n size={navbarSize}\n clampWidth={clampWidth}\n pageFlow={navBar?.pageFlow}\n topBar={topBar}\n mainBar={mainBar}\n bottomBar={bottomBar}\n topBg={navBar?.topBg}\n mainBg={navBar?.mainBg}\n bottomBg={navBar?.bottomBg}\n onContentBg={navBar?.onContentBg}\n />\n </LibThemeProvider>\n <LibThemeProvider theme={menu?.theme}>\n <Menu\n isOpen={isMenuOpen}\n clampWidth={clampWidth}\n isIndexPage={menu?.isIndexPage}\n mainNavigation={menu?.mainNavigation}\n subNavigation={menu?.subNavigation}\n typeSettings={menu?.typeSettings}\n navBarSize={navbarSize}\n header={menuHeader}\n footer={menuFooter}\n navItemsHeader={menuNavItemsHeader}\n onClose={closeMenu}\n />\n </LibThemeProvider>\n </header>\n );\n};\n\nexport default Navigation;\n"],"names":["useMenuKeyboard","initialMenuState","settings","_a","useState","isMenuOpen","setIsMenuOpen","prevMenuState","useRef","_b","root","setRoot","openBtnRef","closeBtnRef","defaultSettings","__assign","openMenuIdent","closeMenuIdent","useEffect","current","querySelector","handleKeyDown","ev","key","focus","window","addEventListener","removeEventListener","PageScrollDirection","usePageScroll","_c","isTop","setIsTop","_d","isInOffset","setIsInOffset","_e","leftOffsetFromTop","setLeftOffsetFromTop","lastScrollPos","pxSinceLastSwitch","_f","DOWN","scrollDirection","setScrollDirection","directionDownOffset","directionOffset","down","directionUpOffset","up","scrollState","useScrollThrottle","resizeThrottleTimeout","undefined","scrollY","offset","prev","onLeftOffset","call","diff","absAccPx","Math","abs","UP","View","styled","nav","templateObject_1","__makeTemplateObject","List","ul","templateObject_2","mq","semilarge","spacings","nudge","ListItem","li","templateObject_3","isCurrent","NavLink","Link","templateObject_4","showOnMobile","clamp","copyStyle","theme","isInverted","color","text","inverted","default","showOnDesktop","NavLabel","span","templateObject_5","Seperator","Copy","templateObject_6","BackIconContainer","templateObject_7","BreadcrumbItem","label","link","children","href","React","BarBreadcrumbs","rootLink","rootLabel","navItems","seperator","back","className","currentNavPath","useMemo","getCurrentNavPath","rootItem","uid","createElement","map","item","i","length","size","Fragment","AngleLeft","Column","div","takeSpace","vAlign","getColors","primary","Logo","Image","BarLogo","logo","small","coverSpace","ratios","showPlaceholder","Toggle","button","invertedHover","hover","BarMenuToggle","isExpanded","onClick","isActive","BarNavList","navLinks","Header","LanguageCol","MenuHeader","customToggle","menuStates","langs","action","Skeletons","closeMenu","Cross","ariaHidden","isValidArray","LanguageSwitcher","navigationStyle","type","css","font","navigation","family","weight","style","withRange","lineHeight","letterSpacing","textTransform","textDecoration","Backdrop","isOpen","filter","Stage","clampWidth","wrapper","wrapperLarge","Flyout","elementBg","light","medium","large","getMenuHeaderHeights","heights","global","menu","headerHeight","clampValue","hasMenuHeader","largeHeights","smallHeights","navBarSize","ScrollContainer","ScrollArea","NavView","templateObject_8","Navigation","NavList","templateObject_9","hasNonFeaturedItems","concat","NavItemView","templateObject_10","spacer","NavItemContent","templateObject_11","isFeatured","featured","main","NavItemIcon","templateObject_12","NavItemLabel","NavItemCollapse","NavItemCollapseIcon","AngleRight","templateObject_15","isCollapsed","NavItemLink","templateObject_16","NavItemButton","templateObject_17","SubNavList","templateObject_18","isIndented","NavigationItem","forwardRef","ref","icon","subNavTitle","onItemClick","collapseIcon","canFocus","hasSubItems","Children","count","ariaLabel","tabIndex","MenuNav","SubItem","displayName","SubNavItem","sub","SubNavLink","templateObject_20","NavigationSubItem","SecondaryNavList","templateObject_21","SecondaryNavLink","templateObject_22","secondary","SecondaryNavigation","items","n","Item","SubList","menuFilter","hideFromMenu","MenuFlyout","isIndexPage","mainNavigation","subNavigation","backdropFilter","header","footer","onClose","navItemsHeader","useLibTheme","flyoutRef","hasHeader","mainList","__spreadArray","subList","initial","getCurrentNavItem","activeItems","setActiveItems","currentNavEl","setCurrentNavEl","currentSubNavEl","setCurrentSubNavEl","toggleActiveItem","includes","handleFocus","target","isFlyoutChild","contains","document","scrollIntoView","block","inline","e","id","hasCurrentSubItem","subItems","findIndex","subItem","Menu","typeSettings","getTopHeights","navBar","topHeight","hasTopBar","getMainHeights","mainHeight","getBottomHeights","bottomHeight","hasBottomBar","getFullHeight","exclude","includeTop","indexOf","includeMain","includeBottom","topHeights","mainHeights","bottomHeights","mobile","desktop","isSticky","isAnimated","bgGradient","background","Main","Footer","TopContent","Content","BottomContent","BarSpacer","hasFooter","excludes","push","NavBar","_g","pageFlow","topBg","mainBg","bottomBg","onContentBg","topBar","mainBar","bottomBar","_h","colors","clampContent","isOverContent","showBg","topBackground","mainBackground","bottomBackground","onContentBackground","topBarContent","mainBarContent","bottomBarContent","getNavbarState","ident","navbarIdent","search","hasTop","hasMain","hasBottom","isStickable","generateNavbarIdent","props","stateArray","join","getFullNavbarHeights","isCollapsible","mediaQueries","useMediaQueries","isNavBarSticky","setIsNavBarSticky","isNavBarOpen","setNavBarOpen","navbarSize","openMenu","body","overflow","isOnPageTop","isInTopOffset","menuHeader","menuFooter","menuNavItemsHeader","getNavBarIdent","LibThemeProvider"],"mappings":"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"}
1
+ {"version":3,"file":"Navigation-d7e14d09.js","sources":["../src/utils/menuHooks.ts","../src/utils/usePageScroll.ts","../src/components/sections/navigation/skeletons/BarBreadCrumbs.tsx","../src/components/sections/navigation/skeletons/BarColumn.tsx","../src/components/sections/navigation/skeletons/BarLogo.tsx","../src/components/sections/navigation/skeletons/BarMenuToggle.tsx","../src/components/sections/navigation/skeletons/BarNavList.tsx","../src/components/sections/navigation/partials/MenuHeader.tsx","../src/components/sections/navigation/menu/variations/MenuFlyout.tsx","../src/components/sections/navigation/menu/Menu.tsx","../src/components/sections/navigation/NavBar.tsx","../src/components/sections/navigation/Navigation.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\ninterface Settings {\n openMenuIdent: string;\n closeMenuIdent: string;\n}\n\n/**\n * Hooks in to menu state to control it with keyboard inputs\n * @param initialMenuState\n * @param settings\n * @returns\n */\nexport const useMenuKeyboard = (\n initialMenuState: boolean,\n settings: Partial<Settings>\n) => {\n const [isMenuOpen, setIsMenuOpen] = useState(initialMenuState);\n const prevMenuState = useRef<boolean>(false);\n\n const [root, setRoot] = useState<HTMLElement | null>(null);\n const openBtnRef = useRef<HTMLButtonElement | null>(null);\n const closeBtnRef = useRef<HTMLButtonElement | null>(null);\n\n const defaultSettings: Settings = {\n openMenuIdent: 'button[aria-label=\"open menu\"]',\n closeMenuIdent: 'button[aria-label=\"close menu\"]',\n ...settings,\n };\n\n useEffect(() => {\n if (!root) return;\n\n // setting up menu toggle button refs\n if (!openBtnRef.current) {\n openBtnRef.current = root.querySelector(\n defaultSettings.openMenuIdent\n );\n }\n if (!closeBtnRef.current) {\n closeBtnRef.current = root.querySelector(\n defaultSettings.closeMenuIdent\n );\n }\n }, [\n defaultSettings.closeMenuIdent,\n defaultSettings.openMenuIdent,\n isMenuOpen,\n root,\n ]);\n\n useEffect(() => {\n const handleKeyDown = (ev: KeyboardEvent) => {\n if (ev.key === 'Escape' && isMenuOpen) {\n setIsMenuOpen(false);\n }\n };\n\n // settings focus if menu is open\n if (isMenuOpen) {\n closeBtnRef?.current?.focus();\n } else if (prevMenuState.current) {\n openBtnRef?.current?.focus();\n }\n\n prevMenuState.current = isMenuOpen;\n\n window.addEventListener('keydown', handleKeyDown);\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n };\n }, [isMenuOpen]);\n\n return {\n setRoot,\n isMenuOpen,\n setIsMenuOpen,\n };\n};\n","import { useEffect, useRef, useState } from 'react';\nimport useScrollThrottle from './useScrollThrottle';\n\nexport enum PageScrollDirection {\n UP,\n DOWN,\n}\n\ninterface ScrollSettings {\n /** Direction state change delay in pixels */\n directionOffset?: {\n up?: number;\n down?: number;\n };\n /** Set top offset area */\n offset?: number;\n /** On leave top offset callback */\n onLeftOffset?: (dir: PageScrollDirection) => void;\n /** Throttle timeout of resize event. Default: 200ms */\n resizeThrottleTimeout?: number;\n}\n\nconst usePageScroll = (settings?: ScrollSettings) => {\n const [isTop, setIsTop] = useState<boolean>(true);\n const [isInOffset, setIsInOffset] = useState<boolean>(true);\n const [leftOffsetFromTop, setLeftOffsetFromTop] = useState<boolean>(false);\n\n const lastScrollPos = useRef<number>(0);\n const pxSinceLastSwitch = useRef<number>(0);\n\n const [scrollDirection, setScrollDirection] = useState<PageScrollDirection>(\n PageScrollDirection.DOWN\n );\n\n const directionDownOffset = settings?.directionOffset?.down || 0;\n const directionUpOffset = settings?.directionOffset?.up || 0;\n\n // Throttle scroll event for perfomance\n const scrollState = useScrollThrottle(\n settings?.resizeThrottleTimeout !== undefined\n ? settings.resizeThrottleTimeout\n : 200\n );\n\n useEffect(() => {\n if (!scrollState) return;\n if (typeof window === 'undefined') return;\n\n const scrollY = scrollState.scrollY;\n const isTop = scrollY <= 0;\n\n // check if page is scroll on top\n setIsTop(isTop);\n\n // check offset\n if (settings?.offset && scrollY <= settings.offset) {\n setIsInOffset(true);\n } else {\n setIsInOffset((prev) => {\n if (prev) {\n settings?.onLeftOffset?.(scrollDirection);\n setLeftOffsetFromTop(true);\n }\n return false;\n });\n }\n\n /**\n * calculate direction changes\n */\n\n // get difference between current and last scrollY position\n const diff = scrollY - lastScrollPos.current;\n // get accumulated pixels since last direction change\n let absAccPx = Math.abs(pxSinceLastSwitch.current);\n\n // check if direction changed. if not iterate accumulated pixels value\n if (diff < 0 && pxSinceLastSwitch.current > 0) {\n pxSinceLastSwitch.current = 0;\n } else if (diff > 0 && pxSinceLastSwitch.current < 0) {\n pxSinceLastSwitch.current = 0;\n } else {\n pxSinceLastSwitch.current += diff;\n }\n\n // set current accumulated value\n absAccPx = Math.abs(pxSinceLastSwitch.current);\n\n // set direction states\n if (isTop) {\n setScrollDirection(PageScrollDirection.DOWN);\n } else if (diff < 0 && absAccPx >= directionUpOffset) {\n setScrollDirection(PageScrollDirection.UP);\n } else if (diff > 0 && absAccPx >= directionDownOffset) {\n setScrollDirection(PageScrollDirection.DOWN);\n }\n\n // save last scroll position\n lastScrollPos.current = scrollY;\n }, [\n directionDownOffset,\n directionUpOffset,\n scrollDirection,\n scrollState,\n settings,\n ]);\n\n useEffect(() => {\n // reset left offset flag on top\n if (isTop) setLeftOffsetFromTop(false);\n }, [isTop]);\n\n return {\n isTop,\n scrollDirection,\n isInOffset,\n leftOffsetFromTop,\n };\n};\n\nexport default usePageScroll;\n","import React, { FC, useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport { NavItem } from '../menu/Menu';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { spacings, getColors as color, mq } from 'utils/styles';\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport AngleLeft from 'components/base/icons/AngleLeft';\nimport { getCurrentNavPath } from 'utils/navigation';\n\nconst View = styled.nav`\n min-width: 0;\n`;\n\nconst List = styled.ul`\n display: flex;\n align-items: center;\n list-style: none;\n margin: 0;\n padding: 0;\n min-width: inherit;\n\n & > li:first-child {\n flex: 1 0 auto;\n }\n\n @media ${mq.semilarge} {\n & > li + li {\n margin-left: ${spacings.nudge}px;\n }\n }\n`;\n\nconst ListItem = styled.li<{ isCurrent?: boolean }>`\n display: ${({ isCurrent }) => (isCurrent ? 'flex' : 'none')};\n min-width: inherit;\n\n @media ${mq.semilarge} {\n display: flex;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n }\n`;\n\nconst NavLink = styled(Link)<{\n isInverted?: boolean;\n clamp?: boolean;\n showOnMobile?: boolean;\n showOnDesktop?: boolean;\n}>`\n display: ${({ showOnMobile }) => (showOnMobile ? 'inline-flex' : 'none')};\n align-items: center;\n max-width: ${({ clamp }) => clamp && '120px'};\n\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n ${copyStyle('copy', 'small')}\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n text-decoration: underline;\n\n & > * {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n }\n }\n\n @media ${mq.semilarge} {\n display: ${({ showOnDesktop }) =>\n showOnDesktop ? 'inline-block' : 'none'};\n }\n`;\n\nconst NavLabel = styled.span<{\n isInverted?: boolean;\n clamp?: boolean;\n showOnMobile?: boolean;\n showOnDesktop?: boolean;\n}>`\n display: ${({ showOnMobile }) => (showOnMobile ? 'inline-flex' : 'none')};\n align-items: center;\n max-width: ${({ clamp }) => clamp && '120px'};\n\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n ${copyStyle('copy', 'small')}\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n text-decoration: none;\n\n & > * {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n\n @media ${mq.semilarge} {\n display: ${({ showOnDesktop }) =>\n showOnDesktop ? 'inline-block' : 'none'};\n }\n`;\n\nconst Seperator = styled(Copy)`\n display: none;\n\n transition: color 0.2s ease-in-out;\n\n @media ${mq.semilarge} {\n display: inline-block;\n }\n`;\n\nconst BackIconContainer = styled.span`\n flex: 0 0 auto;\n`;\n\nconst BreadcrumbItem: FC<\n NavItem & {\n isInverted?: boolean;\n showOnMobile?: boolean;\n showOnDesktop?: boolean;\n children?: React.ReactNode;\n }\n> = ({ isInverted, label, link, showOnMobile, showOnDesktop, children }) => {\n if (link?.href) {\n return (\n <NavLink\n {...link}\n isInverted={isInverted}\n showOnMobile={showOnMobile}\n showOnDesktop={showOnDesktop}\n >\n {children || label}\n </NavLink>\n );\n } else {\n return (\n <NavLabel\n isInverted={isInverted}\n showOnMobile={showOnMobile}\n showOnDesktop={showOnDesktop}\n >\n {children || label}\n </NavLabel>\n );\n }\n};\n\nconst BarBreadcrumbs: FC<{\n isInverted?: boolean;\n rootLink?: LinkProps;\n rootLabel?: string;\n navItems?: Array<NavItem>;\n seperator?: (props: { isInverted?: boolean }) => React.ReactNode;\n back?: (props: { isInverted?: boolean }) => React.ReactNode;\n className?: string;\n}> = ({\n isInverted = false,\n rootLink,\n rootLabel,\n navItems,\n seperator,\n back,\n className,\n}) => {\n const currentNavPath = useMemo(() => {\n return getCurrentNavPath(\n navItems,\n rootLink?.href ? [rootLink?.href] : []\n );\n }, [navItems, rootLink?.href]);\n\n const rootItem: NavItem = {\n uid: 'root',\n label: rootLabel || 'Home',\n link: rootLink,\n };\n\n return (\n <View aria-label=\"breadcrumbs\" className={className}>\n <List>\n <ListItem>\n <BreadcrumbItem\n showOnDesktop\n isInverted={isInverted}\n {...rootItem}\n />\n </ListItem>\n\n {currentNavPath?.map((item, i) => {\n const isCurrent = i === currentNavPath.length - 1;\n const prev = i - 1 >= 0 ? currentNavPath[i - 1] : rootItem;\n\n return (\n <ListItem key={i} isCurrent={isCurrent}>\n <Seperator size=\"small\" isInverted={isInverted}>\n {seperator ? seperator({ isInverted }) : '/'}\n </Seperator>\n {isCurrent ? (\n <>\n {prev && (\n <BreadcrumbItem\n {...prev}\n showOnMobile\n isInverted={isInverted}\n >\n <BackIconContainer>\n {back ? (\n back({ isInverted })\n ) : (\n <AngleLeft />\n )}\n </BackIconContainer>\n <span>{prev.label}</span>\n </BreadcrumbItem>\n )}\n <BreadcrumbItem\n {...item}\n link={{}}\n showOnDesktop\n isInverted={isInverted}\n />\n </>\n ) : (\n <BreadcrumbItem\n {...item}\n showOnDesktop\n isInverted={isInverted}\n />\n )}\n </ListItem>\n );\n })}\n </List>\n </View>\n );\n};\n\nexport default BarBreadcrumbs;\n","import styled from 'styled-components';\nimport { spacings, getColors as color } from 'utils/styles';\n\nconst Column = styled.div<{\n isInverted?: boolean;\n takeSpace?: boolean;\n vAlign?: 'top' | 'center' | 'bottom';\n}>`\n flex: ${({ takeSpace }) => (takeSpace ? 1 : undefined)};\n\n padding: ${spacings.nudge}px 0;\n min-width: -webkit-min-content;\n align-self: ${({ vAlign }) => {\n switch (vAlign) {\n case 'center':\n return 'center';\n\n case 'bottom':\n return 'flex-end';\n\n case 'top':\n return 'flex-start';\n\n default:\n return undefined;\n }\n }};\n\n text-align: center;\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.inverted};\n\n &:first-child {\n text-align: left;\n }\n\n &:last-child {\n text-align: right;\n }\n\n &:not(:first-child):not(:last-child) {\n margin: 0 ${spacings.nudge * 2}px;\n }\n`;\n\nexport default Column;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport Link, { LinkProps } from 'components/typography/Link';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { getColors } from 'utils/styles';\n\nconst View = styled(Link)`\n display: block;\n display: flex;\n justify-content: center;\n min-width: 60px;\n max-width: 100%;\n max-height: 100%;\n\n &:focus {\n outline: 2px solid ${({ theme }) => getColors(theme).primary.default};\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst Logo = styled(Image)`\n width: auto;\n height: 100%;\n object-fit: contain;\n`;\n\nexport interface Logo {\n src?: string;\n alt?: string;\n}\n\nconst BarLogo: FC<{\n link?: Omit<LinkProps, 'coverSpace' | 'ratios'>;\n logo?: ImageProps;\n className?: string;\n}> = ({ link, logo, className }) => {\n return (\n <View {...link} className={className}>\n {logo?.small && (\n <Logo\n {...logo}\n coverSpace={false}\n ratios={undefined}\n showPlaceholder={false}\n />\n )}\n </View>\n );\n};\n\nexport default BarLogo;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport { getColors as color, spacings } from 'utils/styles';\n\nconst Toggle = styled.button<{ isInverted?: boolean }>`\n background: transparent;\n border: none;\n color: ${({ isInverted, theme }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n\n padding: ${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n outline: none;\n\n cursor: pointer;\n\n transition: color 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n }\n\n &:focus > * {\n outline: dotted 2px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 4px;\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n\n &:focus:not(:focus-visible) > * {\n outline: none;\n }\n`;\n\nconst BarMenuToggle: FC<{\n isInverted?: boolean;\n isExpanded?: boolean;\n onClick?: (ev?: React.SyntheticEvent<HTMLButtonElement>) => void;\n className?: string;\n children?: React.ReactNode;\n}> = ({ isInverted, isExpanded = false, onClick, children, className }) => {\n return (\n <Toggle\n isInverted={isInverted}\n aria-expanded={isExpanded}\n aria-label={isExpanded ? 'close menu' : 'open menu'}\n aria-haspopup=\"true\"\n aria-controls=\"mainMenu\"\n onClick={onClick}\n className={className}\n >\n {children}\n </Toggle>\n );\n};\n\nexport default BarMenuToggle;\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport Link from 'components/typography/Link';\nimport { spacings, getColors as color } from 'utils/styles';\nimport { copyStyle } from 'components/typography/Copy';\nimport { NavItem } from '../menu/Menu';\n\nconst View = styled.nav<{ isInverted?: boolean }>`\n display: inline-flex;\n align-items: center;\n\n margin: 0 -${spacings.nudge}px;\n\n & > * + * {\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 3px;\n left: 0;\n height: 1em;\n width: 2px;\n background-color: ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n\n transition: background-color 0.2s ease-in-out;\n }\n }\n`;\n\nconst NavLink = styled(Link)<{ isInverted?: boolean; isActive?: boolean }>`\n display: inline-block;\n position: relative;\n padding: 0 ${spacings.nudge}px;\n\n ${copyStyle('copy', 'medium')}\n font-weight: ${({ isActive }) => isActive && '700'};\n\n color: ${({ isInverted, theme }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n text-decoration: none;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ isInverted, theme }) =>\n isInverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n text-decoration: underline;\n }\n }\n`;\n\nconst BarNavList: FC<{\n isInverted?: boolean;\n navLinks?: NavItem[];\n className?: string;\n}> = ({ isInverted, navLinks, className }) => {\n return (\n <View isInverted={isInverted} className={className}>\n {navLinks?.map((item, i) => (\n <NavLink\n key={i}\n {...item.link}\n isInverted={isInverted}\n isActive={item.isCurrent}\n >\n {item.label}\n </NavLink>\n ))}\n </View>\n );\n};\n\nexport default BarNavList;\n","import Cross from 'components/base/icons/Cross';\nimport React, { FC } from 'react';\n\nimport styled from 'styled-components';\nimport { spacings } from 'utils/styles';\nimport { NavMenuStates } from '../Navigation';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\nimport LanguageSwitcher, { Language } from 'components/blocks/LanguageSwitcher';\nimport { isValidArray } from 'utils/arrays';\n\nconst Header = styled.div`\n display: flex;\n align-items: center;\n\n padding: 0 ${spacings.nudge * 2}px;\n padding-top: ${spacings.nudge * 5}px;\n`;\n\nconst LanguageCol = styled.div`\n display: block;\n margin-left: ${spacings.nudge * 3}px;\n margin-top: 2px;\n`;\n\nconst MenuHeader: FC<{\n isInverted?: boolean;\n menuStates?: NavMenuStates;\n customToggle?: (props: { isInverted?: boolean }) => React.ReactNode;\n langs?: Language[];\n action?: (\n props: { isInverted?: boolean } & NavMenuStates\n ) => React.ReactNode;\n}> = ({ isInverted, customToggle, menuStates, langs, action }) => {\n return (\n <React.Fragment>\n <Header>\n <Skeletons.MenuToggle\n isInverted={isInverted}\n isExpanded={true}\n onClick={menuStates?.closeMenu}\n >\n {customToggle ? (\n customToggle({ isInverted })\n ) : (\n <Cross ariaHidden={true} />\n )}\n </Skeletons.MenuToggle>\n {isValidArray(langs, false) && (\n <LanguageCol>\n <LanguageSwitcher\n isInverted={isInverted}\n langs={langs}\n />\n </LanguageCol>\n )}\n {action && action({ isInverted, ...menuStates })}\n </Header>\n </React.Fragment>\n );\n};\n\nexport default MenuHeader;\n","import AngleRight from 'components/base/icons/AngleRight';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React, {\n FC,\n useState,\n useMemo,\n useRef,\n useEffect,\n forwardRef,\n} from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { clampValue } from 'utils/clamp';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport { getCurrentNavItem } from 'utils/navigation';\nimport {\n mq,\n spacings,\n getColors as color,\n getFonts as font,\n getGlobals as global,\n withRange,\n Fonts,\n} from 'utils/styles';\nimport { NavBarSize } from '../../NavBar';\nimport MenuHeader from '../../partials/MenuHeader';\nimport { MenuBaseProps, NavItem } from '../Menu';\nimport { css } from 'styled-components';\n\ntype NavigationFontType = keyof Fonts['navigation'];\n\nconst navigationStyle = (type: NavigationFontType) => css`\n font-family: ${({ theme }) => font(theme).navigation[type].family};\n font-weight: ${({ theme }) => font(theme).navigation[type].weight};\n font-style: ${({ theme }) => font(theme).navigation[type].style};\n ${({ theme }) => withRange(font(theme).navigation[type].size, 'font-size')}\n line-height: ${({ theme }) => font(theme).navigation[type].lineHeight};\n letter-spacing: ${({ theme }) =>\n font(theme).navigation[type].letterSpacing};\n text-transform: ${({ theme }) =>\n font(theme).navigation[type].textTransform};\n text-decoration: ${({ theme }) =>\n font(theme).navigation[type].textDecoration};\n`;\n\nconst Backdrop = styled.div<{ isOpen?: boolean; filter?: string }>`\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.5);\n opacity: ${({ isOpen }) => (isOpen ? 1 : 0)};\n pointer-events: ${({ isOpen }) => (isOpen ? 'all' : 'none')};\n z-index: 101;\n\n transition: opacity 0.3s ease-in-out;\n\n @supports ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {\n backdrop-filter: ${({ filter }) => filter};\n }\n`;\n\nconst Stage = styled.div<{ isOpen?: boolean; clampWidth?: 'content' | 'full' }>`\n position: fixed;\n top: 0;\n left: ${({ isOpen }) => (isOpen ? '50%' : '0px')};\n height: 100vh;\n width: 100vw;\n max-width: ${({ clampWidth }) =>\n clampWidth === 'content' ? spacings.wrapper : spacings.wrapperLarge}px;\n pointer-events: none;\n\n z-index: 102;\n\n transform: translate(${({ isOpen }) => (isOpen ? '-50%' : '-100%')}, 0px);\n\n transition: transform 0.4s ease-in-out, left 0.4s ease-in-out;\n will-change: transform;\n`;\n\nconst Flyout = styled.div<{ isOpen?: boolean }>`\n display: flex;\n flex-direction: column;\n visibility: visible;\n\n position: relative;\n width: 100%;\n height: 100%;\n background-color: ${({ theme }) => color(theme).elementBg.light};\n\n pointer-events: ${({ isOpen }) => (isOpen ? 'all' : 'none')};\n\n /** Animation to disable keyboard tabbing if flyout is closed */\n animation: ${({ isOpen }) => !isOpen && 'hideAnim 0s ease-in 2s forwards'};\n\n @media ${mq.medium} {\n width: 384px;\n }\n\n @media ${mq.large} {\n width: 460px;\n }\n\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 2px;\n height: 100%;\n width: 40vw;\n background-color: ${({ theme }) => color(theme).elementBg.light};\n z-index: -1;\n\n transform: translateX(-100%);\n }\n\n @keyframes hideAnim {\n to {\n visibility: hidden;\n }\n }\n`;\n\nexport const getMenuHeaderHeights = (\n theme: DefaultTheme,\n size?: NavBarSize\n): [number, number] => {\n const heights =\n size === 'large'\n ? global(theme).navigation.menu.headerHeight.large\n : global(theme).navigation.menu.headerHeight.small;\n\n // if second value is not defined use first array index value for both\n return [\n clampValue(heights[0], 0),\n clampValue(heights?.[1] === undefined ? heights[0] : heights[1], 0),\n ];\n};\n\nexport const hasMenuHeader = (theme: DefaultTheme) => {\n const largeHeights = getMenuHeaderHeights(theme, 'large');\n const smallHeights = getMenuHeaderHeights(theme, 'small');\n\n return (\n largeHeights[0] > 0 ||\n largeHeights[1] > 0 ||\n smallHeights[0] > 0 ||\n smallHeights[1] > 0\n );\n};\n\nconst Header = styled.div<{ navBarSize?: NavBarSize }>`\n flex: 0 0\n ${({ theme, navBarSize }) =>\n getMenuHeaderHeights(theme, navBarSize)[0]}px;\n height: ${({ theme, navBarSize }) =>\n getMenuHeaderHeights(theme, navBarSize)[0]}px;\n\n @media ${mq.semilarge} {\n height: ${({ theme, navBarSize }) =>\n getMenuHeaderHeights(theme, navBarSize)[1]}px;\n flex: 0 0\n ${({ theme, navBarSize }) =>\n getMenuHeaderHeights(theme, navBarSize)[1]}px;\n }\n`;\n\nconst ScrollContainer = styled.div`\n display: block;\n max-height: 100%;\n min-height: 0;\n`;\n\nconst ScrollArea = styled.div`\n display: block;\n width: 100vw;\n max-height: 100%;\n overflow: auto;\n -ms-overflow-style: none; /* for Internet Explorer, Edge */\n scrollbar-width: none; /* for Firefox */\n overflow-y: scroll;\n\n &::-webkit-scrollbar {\n display: none; /* for Chrome, Safari, and Opera */\n }\n\n & > *:last-child {\n margin-bottom: 120px;\n }\n\n @media ${mq.medium} {\n max-width: 100%;\n }\n`;\n\n//#region NAVIGATION\n//#region NAVIGATION.Containers\nconst NavView = styled.nav``;\n\nconst Navigation: FC<{ children?: React.ReactNode }> = ({ children }) => {\n return <NavView aria-label=\"menu\">{children}</NavView>;\n};\n\nconst NavList = styled.ul<{ hasNonFeaturedItems?: boolean }>`\n margin: 0;\n padding: 0;\n list-style: none;\n margin: ${spacings.nudge * 2}px 0;\n\n border-bottom: ${({ hasNonFeaturedItems, theme }) =>\n hasNonFeaturedItems && `solid 2px ${color(theme).elementBg.medium}`};\n`;\n\n// #endregion\n// #region NAVIGATION.NavItem\nconst NavItemView = styled.li<{ isActive?: boolean }>`\n flex: 0 0 80px;\n\n height: 100%;\n background-color: ${({ theme, isActive }) =>\n isActive\n ? color(theme).elementBg.medium\n : color(theme).elementBg.light};\n\n transition: background-color 0.2s ease-in-out;\n\n li + &:not([data-featured='true']) {\n border-top: solid 2px ${({ theme }) => color(theme).elementBg.medium};\n }\n\n li[data-featured='true'] + &:not([data-featured='true']) {\n margin-top: ${spacings.spacer}px;\n }\n\n &:not([data-featured='true']):first-child {\n border-top: solid 2px ${({ theme }) => color(theme).elementBg.medium};\n }\n\n @media ${mq.semilarge} {\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n background-color: ${({ theme }) => color(theme).elementBg.medium};\n }\n }\n`;\n\nconst NavItemContent = styled.span<{\n isCurrent?: boolean;\n isFeatured?: boolean;\n}>`\n display: flex;\n align-items: center;\n position: relative;\n min-height: 80px;\n\n padding: 0 ${spacings.nudge * 2}px;\n\n ${({ isFeatured }) => navigationStyle(isFeatured ? 'featured' : 'main')}\n color: ${({ theme, isFeatured }) =>\n isFeatured\n ? font(theme).navigation.featured.color\n : font(theme).navigation.main.color};\n text-decoration: ${({ isCurrent }) => (isCurrent ? 'underline' : 'none')};\n`;\n\nconst NavItemIcon = styled.span`\n display: flex;\n align-items: center;\n width: 48px;\n max-width: 48px;\n\n * {\n width: 100%;\n max-width: 48px;\n max-height: 80px;\n }\n`;\n\nconst NavItemLabel = styled.span`\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &:not(:first-child) {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst NavItemCollapse = styled.span`\n display: block;\n margin-left: auto;\n padding-left: ${spacings.nudge * 3}px;\n`;\n\nconst NavItemCollapseIcon = styled(AngleRight)<{ isCollapsed?: boolean }>`\n transform: ${({ isCollapsed }) => !isCollapsed && 'rotate(90deg)'};\n\n transition: transform 0.2s ease-in-out;\n\n @media ${mq.semilarge} {\n transform: rotate(0deg);\n }\n`;\n\nconst NavItemLink = styled(Link)`\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n &:focus {\n outline: solid 2px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst NavItemButton = styled.button`\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n background: none;\n border: none;\n border-bottom: solid 2px ${({ theme }) => color(theme).elementBg.light};\n width: 100%;\n cursor: pointer;\n outline: none;\n border-radius: 0px;\n\n &:focus {\n outline: solid 2px ${({ theme }) => color(theme).primary.default};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n @media ${mq.semilarge} {\n border-bottom: none;\n }\n`;\n\nconst SubNavList = styled.ul<{ isActive?: boolean; isIndented?: boolean }>`\n display: ${({ isActive }) => !isActive && 'none'};\n position: relative;\n margin: 0;\n padding: 0;\n padding-left: ${({ isIndented }) =>\n isIndented ? 48 + spacings.nudge * 4 : spacings.nudge * 2}px;\n padding-right: ${spacings.nudge * 2}px;\n list-style: none;\n\n max-height: 100%;\n overflow: auto;\n -ms-overflow-style: none; /* for Internet Explorer, Edge */\n scrollbar-width: none; /* for Firefox */\n overflow-y: scroll;\n\n &::-webkit-scrollbar {\n display: none; /* for Chrome, Safari, and Opera */\n }\n\n background-color: ${({ theme }) => color(theme).elementBg.medium};\n\n @media ${mq.semilarge} {\n position: absolute;\n top: 0;\n left: calc(100% - 1px);\n width: 100vw;\n height: 100%;\n max-width: 384px;\n padding-left: ${spacings.nudge * 3}px;\n }\n`;\n\nconst NavigationItem = forwardRef<\n HTMLLIElement,\n {\n isCurrent?: boolean;\n isActive?: boolean;\n isFeatured?: boolean;\n label?: string;\n link?: LinkProps;\n icon?: React.ReactNode;\n\n subNavTitle?: string;\n\n navBarSize?: NavBarSize;\n onItemClick?: () => void;\n collapseIcon?: (props: { isCollapsed?: boolean }) => React.ReactNode;\n canFocus?: boolean;\n children?: React.ReactNode;\n }\n>(\n (\n {\n isCurrent,\n isActive,\n isFeatured,\n label,\n link,\n icon,\n subNavTitle,\n navBarSize,\n onItemClick,\n collapseIcon,\n canFocus,\n children,\n },\n ref\n ) => {\n const hasSubItems = !!children && React.Children.count(children) > 0;\n\n return (\n <NavItemView\n ref={ref}\n isActive={isActive}\n data-featured={isFeatured}\n >\n <NavItemContent isCurrent={isCurrent} isFeatured={isFeatured}>\n {icon && <NavItemIcon>{icon}</NavItemIcon>}\n {label && <NavItemLabel>{label}</NavItemLabel>}\n {hasSubItems && (\n <NavItemCollapse>\n {collapseIcon ? (\n collapseIcon({\n isCollapsed: !isActive,\n })\n ) : (\n <NavItemCollapseIcon\n ariaHidden\n isCollapsed={!isActive}\n />\n )}\n </NavItemCollapse>\n )}\n {!hasSubItems && link?.href && (\n <NavItemLink\n {...link}\n ariaLabel={label}\n tabIndex={!canFocus ? -1 : undefined}\n />\n )}\n {hasSubItems && (\n <React.Fragment>\n <NavItemButton\n aria-label={label}\n aria-expanded={isActive}\n onClick={onItemClick}\n tabIndex={!canFocus ? -1 : undefined}\n />\n </React.Fragment>\n )}\n </NavItemContent>\n {hasSubItems && (\n <SubNavList isActive={isActive} isIndented={!!icon}>\n {link?.href && (\n <MenuNav.SubItem\n key=\"overview\"\n link={link}\n label={subNavTitle || 'Overview'}\n navBarSize={navBarSize}\n canFocus={canFocus}\n />\n )}\n {children}\n </SubNavList>\n )}\n </NavItemView>\n );\n }\n);\n\nNavigationItem.displayName = 'NavigationItem';\n\n//#endregion NAVIGATION.NavItem\n//#region NAVIGATION.SubNavItem\nconst SubNavItem = styled.li<{ navBarSize?: NavBarSize }>`\n display: flex;\n align-items: center;\n list-style: none;\n margin: 0;\n padding: 0;\n height: 56px;\n\n ${navigationStyle('main')}\n color: ${({ theme }) => font(theme).navigation.sub.color};\n\n @media ${mq.semilarge} {\n &:first-child {\n margin-top: ${({ theme, navBarSize }) =>\n getMenuHeaderHeights(theme, navBarSize)[1] +\n spacings.nudge * 2}px;\n }\n\n &:last-child {\n margin-bottom: ${spacings.spacer}px;\n }\n }\n`;\n\nconst SubNavLink = styled(Link)<{ isCurrent?: boolean }>`\n /* width: 100%; */\n padding: ${spacings.nudge}px 0;\n outline-color: ${({ theme }) => color(theme).primary.default};\n vertical-align: middle;\n\n ${navigationStyle('sub')}\n color: ${({ theme }) => font(theme).navigation.sub.color};\n text-decoration: ${({ isCurrent }) => (isCurrent ? 'underline' : 'none')};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n & > * {\n margin: 2px;\n }\n\n &:focus {\n outline: none;\n }\n\n &:focus > * {\n outline: dashed 1px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) > * {\n outline: none;\n }\n`;\n\nconst NavigationSubItem = forwardRef<\n HTMLLIElement,\n {\n isCurrent?: boolean;\n label: string;\n link?: LinkProps;\n navBarSize?: NavBarSize;\n canFocus?: boolean;\n }\n>(({ isCurrent, label, link, navBarSize, canFocus }, ref) => {\n return (\n <SubNavItem ref={ref} navBarSize={navBarSize}>\n <SubNavLink\n tabIndex={!canFocus ? -1 : undefined}\n isCurrent={isCurrent}\n {...link}\n >\n <span>{label}</span>\n </SubNavLink>\n </SubNavItem>\n );\n});\n\nNavigationSubItem.displayName = 'NavigationSubItem';\n//#endregion\n//#region NAVIGATION.SecondaryNavigation\nconst SecondaryNavList = styled.ul`\n display: block;\n list-style: none;\n padding: 0 ${spacings.nudge * 2}px;\n margin: ${spacings.spacer}px 0;\n\n li {\n display: flex;\n margin: 0;\n padding: 0;\n }\n`;\n\nconst SecondaryNavLink = styled(Link)<{ isCurrent?: boolean }>`\n display: inline-block;\n padding: ${spacings.nudge * 0.5}px 0;\n outline-color: ${({ theme }) => color(theme).primary.default};\n vertical-align: middle;\n\n ${navigationStyle('secondary')}\n color: ${({ theme }) => font(theme).navigation.secondary.color};\n text-decoration: ${({ isCurrent }) => (isCurrent ? 'underline' : 'none')};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &:focus {\n outline: dashed 2px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 1px;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst SecondaryNavigation: FC<{\n items?: NavItem[];\n canFocus?: boolean;\n}> = ({ items, canFocus }) => {\n return items && items.length > 0 ? (\n <SecondaryNavList>\n {items\n ?.filter((n) => n.link?.href)\n .map((item, i) => (\n <li key={i}>\n <SecondaryNavLink\n isCurrent={item.isCurrent}\n href={item.link?.href}\n tabIndex={!canFocus ? -1 : undefined}\n >\n {item.label}\n </SecondaryNavLink>\n </li>\n ))}\n </SecondaryNavList>\n ) : null;\n};\n//#endregion\n\nconst MenuNav = {\n View: Navigation,\n List: NavList,\n Item: NavigationItem,\n SubItem: NavigationSubItem,\n SubList: SecondaryNavigation,\n};\n// #endregion\n\nexport interface FlyoutMenuProps {\n type: 'flyout';\n collapseIcon?: (props: { isCollapsed?: boolean }) => React.ReactNode;\n subNavTitle?: string;\n backdropFilter?: string;\n}\n\nconst menuFilter = (item: NavItem) =>\n !item.hideFromMenu && item.uid && item.label;\n\nconst MenuFlyout: FC<MenuBaseProps & FlyoutMenuProps> = ({\n isOpen,\n clampWidth,\n isIndexPage,\n mainNavigation,\n subNavigation,\n navBarSize,\n subNavTitle,\n backdropFilter = 'grayscale(1)',\n header,\n footer,\n onClose,\n collapseIcon,\n navItemsHeader,\n}) => {\n const { theme } = useLibTheme();\n const flyoutRef = useRef<HTMLDivElement>(null);\n const hasHeader = useMemo(() => hasMenuHeader(theme), [theme]);\n\n const mainList = useMemo(() => {\n const featured = mainNavigation?.filter((n) => n.isFeatured) || [];\n const main = mainNavigation?.filter((n) => !n.isFeatured) || [];\n\n return [...featured, ...main].filter(menuFilter);\n }, [mainNavigation]);\n\n const hasNonFeaturedItems = useMemo(() => {\n const main = mainNavigation?.filter((n) => !n.isFeatured) || [];\n return main && main.length > 0;\n }, [mainNavigation]);\n\n const subList = useMemo(() => {\n return subNavigation?.filter(menuFilter);\n }, [subNavigation]);\n\n const [activeItems, setActiveItems] = useState<string[]>(() => {\n const initial = getCurrentNavItem(mainList, true)?.root?.uid;\n return initial ? [initial] : [''];\n });\n const [currentNavEl, setCurrentNavEl] =\n useState<HTMLLIElement | null>(null);\n const [currentSubNavEl, setCurrentSubNavEl] =\n useState<HTMLLIElement | null>(null);\n\n const toggleActiveItem = (uid: string) => {\n setActiveItems((prev) => (prev.includes(uid) ? [] : [uid]));\n\n // if multiple nav items can be selected:\n // setActiveItems((prev) => {\n // const copy = [...prev];\n // const activeIndex = activeItems.indexOf(index);\n // if (activeIndex !== -1) {\n // copy.splice(activeIndex, 1);\n // } else {\n // copy.push(index);\n // }\n // return copy;\n // });\n };\n\n // check if flyout lost focus\n useEffect(() => {\n const handleFocus = (ev: FocusEvent) => {\n if (!flyoutRef.current || !ev.target) return;\n const isFlyoutChild = flyoutRef.current.contains(\n ev.target as Element\n );\n\n if (!isFlyoutChild) onClose && onClose();\n };\n\n if (isOpen) {\n document.addEventListener('focusin', handleFocus);\n } else {\n document.removeEventListener('focusin', handleFocus);\n }\n\n return () => {\n document.removeEventListener('focusin', handleFocus);\n };\n }, [isOpen, onClose]);\n\n // scroll to current nav items\n useEffect(() => {\n try {\n currentNavEl?.scrollIntoView({\n block: 'center',\n inline: 'start',\n });\n currentSubNavEl?.scrollIntoView({\n block: 'center',\n inline: 'start',\n });\n } catch (e) {\n // console.log(e);\n }\n }, [currentNavEl, currentSubNavEl]);\n\n return (\n <React.Fragment>\n <Backdrop\n isOpen={isOpen}\n filter={backdropFilter}\n onClick={onClose}\n />\n <Stage isOpen={isOpen} clampWidth={clampWidth}>\n <Flyout ref={flyoutRef} isOpen={isOpen}>\n {hasHeader && (\n <Header navBarSize={navBarSize}>\n {header ? (\n header({\n isOpen,\n mainNavigation: mainList,\n subNavigation: subList,\n isIndexPage,\n navBarSize,\n })\n ) : (\n <MenuHeader\n menuStates={{\n isOpen,\n mainNavigation,\n subNavigation,\n isIndexPage,\n navBarSize,\n }}\n />\n )}\n </Header>\n )}\n\n <ScrollContainer>\n <ScrollArea>\n {navItemsHeader &&\n navItemsHeader({\n isOpen,\n mainNavigation: mainList,\n subNavigation: subList,\n isIndexPage,\n navBarSize,\n })}\n <MenuNav.View>\n {isValidArray(mainList, false) && (\n <MenuNav.List\n id=\"mainMenu\"\n hasNonFeaturedItems={\n hasNonFeaturedItems\n }\n >\n {mainList.map((item) => {\n const isActive =\n activeItems.includes(item.uid);\n const hasCurrentSubItem =\n item?.subItems\n ? item.subItems.findIndex(\n (n) => n.isCurrent\n ) >= 0\n : false;\n\n const isCurrent =\n item.isCurrent ||\n hasCurrentSubItem;\n\n return (\n <MenuNav.Item\n key={item.uid}\n {...item}\n ref={\n isCurrent\n ? setCurrentNavEl\n : undefined\n }\n isActive={isActive}\n isCurrent={isCurrent}\n subNavTitle={subNavTitle}\n navBarSize={navBarSize}\n collapseIcon={collapseIcon}\n onItemClick={() =>\n toggleActiveItem(\n item.uid\n )\n }\n canFocus={isOpen}\n >\n {item?.subItems\n ?.filter(menuFilter)\n .map((subItem) => (\n <MenuNav.SubItem\n key={\n subItem.uid\n }\n ref={\n subItem.isCurrent\n ? setCurrentSubNavEl\n : undefined\n }\n {...subItem}\n navBarSize={\n navBarSize\n }\n canFocus={\n isOpen\n }\n />\n ))}\n </MenuNav.Item>\n );\n })}\n </MenuNav.List>\n )}\n {isValidArray(subList, false) && (\n <MenuNav.SubList\n items={subList}\n canFocus={isOpen}\n />\n )}\n </MenuNav.View>\n {footer\n ? footer({\n isOpen,\n mainNavigation: mainList,\n subNavigation: subList,\n isIndexPage,\n })\n : ''}\n </ScrollArea>\n </ScrollContainer>\n </Flyout>\n </Stage>\n </React.Fragment>\n );\n};\n\nexport default MenuFlyout;\n","import React, { FC } from 'react';\n\nimport { LinkProps } from 'components/typography/Link';\n\n/** Menu Variations */\nimport MenuFlyout, { FlyoutMenuProps } from './variations/MenuFlyout';\nimport { /* MenuLarge,*/ LargeMenuProps } from './variations/MenuLarge';\nimport { NavBarSize } from '../NavBar';\n\n/** Navigation item types */\n\nexport interface NavItem {\n uid: string;\n label: string;\n link?: LinkProps;\n isCurrent?: boolean;\n subItems?: NavItem[];\n isFeatured?: boolean;\n icon?: React.ReactNode;\n hideFromMenu?: boolean;\n}\n\n/** Menu base type */\nexport interface MenuStates {\n isOpen?: boolean;\n isIndexPage?: boolean;\n mainNavigation?: Array<NavItem>;\n subNavigation?: Array<NavItem>;\n navBarSize?: NavBarSize;\n}\n\nexport interface MenuBaseProps {\n isOpen?: boolean;\n clampWidth?: 'content' | 'full';\n isIndexPage?: boolean;\n mainNavigation?: Array<NavItem>;\n subNavigation?: Array<NavItem>;\n navBarSize?: NavBarSize;\n header?: (props: MenuStates) => React.ReactNode;\n footer?: (props: MenuStates) => React.ReactNode;\n navItemsHeader?: (menuStates: MenuStates) => React.ReactNode;\n onClose?: () => void;\n}\n\nexport type MenuTypeProps = FlyoutMenuProps | LargeMenuProps;\n\nconst Menu: FC<MenuBaseProps & { typeSettings?: MenuTypeProps }> = ({\n isOpen,\n clampWidth,\n isIndexPage,\n mainNavigation,\n subNavigation,\n navBarSize,\n header,\n footer,\n navItemsHeader,\n onClose,\n typeSettings,\n}) => {\n if (!typeSettings) {\n typeSettings = { type: 'flyout' };\n }\n\n switch (typeSettings?.type) {\n // case 'large': {\n // return (\n // <MenuLarge\n // isOpen={isOpen}\n // clampWidth={clampWidth}\n // isIndexPage={isIndexPage}\n // mainNavigation={mainNavigation}\n // subNavigation={subNavigation}\n // navBarSize={navBarSize}\n // header={header}\n // footer={footer}\n // navItemsHeader={navItemsHeader}\n // onClose={onClose}\n // {...(typeSettings as LargeMenuProps)}\n // />\n // );\n // }\n\n default:\n case 'flyout': {\n return (\n <MenuFlyout\n isOpen={isOpen}\n clampWidth={clampWidth}\n isIndexPage={isIndexPage}\n mainNavigation={mainNavigation}\n subNavigation={subNavigation}\n navBarSize={navBarSize}\n header={header}\n footer={footer}\n onClose={onClose}\n navItemsHeader={navItemsHeader}\n {...(typeSettings as FlyoutMenuProps)}\n />\n );\n }\n }\n};\n\nexport default Menu;\n","import React, { FC, useMemo } from 'react';\nimport styled, { DefaultTheme } from 'styled-components';\nimport {\n spacings,\n mq,\n getGlobals as global,\n getColors as color,\n} from 'utils/styles';\nimport { clampValue } from 'utils/clamp';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport * as Skeletons from 'components/sections/navigation/skeletons/index';\n\nexport const getTopHeights = (\n theme: DefaultTheme,\n size?: NavBarSize\n): [number, number] => {\n const heights =\n size === 'large'\n ? global(theme).navigation.navBar.topHeight.large\n : global(theme).navigation.navBar.topHeight.small;\n\n // if second value is not defined use first array index value for both\n return [\n clampValue(heights[0], 0),\n clampValue(heights?.[1] === undefined ? heights[0] : heights[1], 0),\n ];\n};\n\nexport const hasTopBar = (theme: DefaultTheme) => {\n const largeHeights = getTopHeights(theme, 'large');\n const smallHeights = getTopHeights(theme, 'small');\n\n return (\n largeHeights[0] > 0 ||\n largeHeights[1] > 0 ||\n smallHeights[0] > 0 ||\n smallHeights[1] > 0\n );\n};\n\nexport const getMainHeights = (\n theme: DefaultTheme,\n size?: NavBarSize\n): [number, number] => {\n const heights =\n size === 'large'\n ? global(theme).navigation.navBar.mainHeight.large\n : global(theme).navigation.navBar.mainHeight.small;\n\n // if second value is not defined use first array index value for both\n return [\n clampValue(heights[0], 0),\n clampValue(heights?.[1] === undefined ? heights[0] : heights[1], 0),\n ];\n};\n\nexport const getBottomHeights = (\n theme: DefaultTheme,\n size?: NavBarSize\n): [number, number] => {\n const heights =\n size === 'large'\n ? global(theme).navigation.navBar.bottomHeight.large\n : global(theme).navigation.navBar.bottomHeight.small;\n\n // if second value is not defined use first array index value for both\n return [\n clampValue(heights[0], 0),\n clampValue(heights?.[1] === undefined ? heights[0] : heights[1], 0),\n ];\n};\n\nexport const hasBottomBar = (theme: DefaultTheme) => {\n const largeHeights = getBottomHeights(theme, 'large');\n const smallHeights = getBottomHeights(theme, 'small');\n\n return (\n largeHeights[0] > 0 ||\n largeHeights[1] > 0 ||\n smallHeights[0] > 0 ||\n smallHeights[1] > 0\n );\n};\n\nexport type ExcludeType = 'top' | 'main' | 'bottom';\n\n/**\n * Get full height of navigation bar\n * @param theme Theme object\n * @param size Navigation bar size\n * @param exclude Exclude parts of the navbar for height calculation\n * @returns [mobile, desktop]\n */\nexport const getFullHeight = (\n theme: DefaultTheme,\n size?: NavBarSize,\n exclude?: ExcludeType[]\n): [number, number] => {\n const includeTop = exclude ? exclude.indexOf('top') === -1 : true;\n const includeMain = exclude ? exclude.indexOf('main') === -1 : true;\n const includeBottom = exclude ? exclude.indexOf('bottom') === -1 : true;\n\n const topHeights = includeTop ? getTopHeights(theme, size) : [0, 0];\n const mainHeights = includeMain ? getMainHeights(theme, size) : [0, 0];\n const bottomHeights = includeBottom\n ? getBottomHeights(theme, size)\n : [0, 0];\n\n // calculate mobile navbar height\n const mobile = topHeights[0] + mainHeights[0] + bottomHeights[0];\n\n // calculate desktop navbar height\n const desktop = topHeights[1] + mainHeights[1] + bottomHeights[1];\n\n return [mobile, desktop];\n};\n\nconst View = styled.div<{\n isOpen?: boolean;\n isSticky?: boolean;\n isAnimated?: boolean;\n bgGradient?: string;\n}>`\n position: ${({ isSticky }) => (isSticky ? 'fixed' : 'absolute')};\n top: 0;\n left: 0;\n right: 0;\n\n transform: ${({ isOpen }) => !isOpen && 'translate3d(0, -101%, 0)'};\n\n margin: 0 auto;\n /* max-width: ${spacings.wrapperLarge}px; */\n z-index: 100;\n\n ${({ isAnimated }) => `transition: ${\n isAnimated ? 'transform 0.3s ease-in-out, ' : ''\n }height 0.3s ease-in-out,\n opacity 0.3s ease-in-out;`}\n will-change: transform;\n\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: ${({ bgGradient }) => bgGradient || ''};\n margin: 0 auto;\n max-width: ${spacings.wrapperLarge}px;\n z-index: -1;\n }\n\n // print version\n @media print {\n position: relative;\n }\n`;\n\nconst Header = styled.div<{ size?: NavBarSize; background?: string }>`\n opacity: ${({ theme, size }) =>\n getTopHeights(theme, size)[0] > 0 ? 1 : 0};\n pointer-events: ${({ theme, size }) =>\n getTopHeights(theme, size)[0] > 0 ? 'all' : 'none'};\n overflow: ${({ theme, size }) =>\n getTopHeights(theme, size)[0] <= 0 && 'hidden'};\n\n background-color: ${({ background }) => background};\n color: ${({ theme, background }) =>\n background ? color(theme).text.default : color(theme).text.inverted};\n\n transition: background-color 0.2s ease-in-out;\n\n @media ${mq.semilarge} {\n opacity: ${({ theme, size }) =>\n getTopHeights(theme, size)[1] > 0 ? 1 : 0};\n pointer-events: ${({ theme, size }) =>\n getTopHeights(theme, size)[1] > 0 ? 'all' : 'none'};\n overflow: ${({ theme, size }) =>\n getTopHeights(theme, size)[1] <= 0 && 'hidden'};\n }\n`;\n\nconst Main = styled.div<{ background?: string }>`\n background-color: ${({ background }) => background};\n color: ${({ theme, background }) =>\n background ? color(theme).text.default : color(theme).text.inverted};\n\n transition: background-color 0.2s ease-in-out;\n`;\n\nconst Footer = styled.div<{ size?: NavBarSize; background?: string }>`\n opacity: ${({ theme, size }) =>\n getBottomHeights(theme, size)[0] > 0 ? 1 : 0};\n pointer-events: ${({ theme, size }) =>\n getBottomHeights(theme, size)[0] > 0 ? 'all' : 'none'};\n overflow: ${({ theme, size }) =>\n getBottomHeights(theme, size)[0] <= 0 && 'hidden'};\n\n background-color: ${({ background }) => background};\n color: ${({ theme, background }) =>\n background ? color(theme).text.default : color(theme).text.inverted};\n\n opacity: ${({ theme, size }) =>\n getBottomHeights(theme, size)[0] > 0 ? 1 : 0};\n\n transition: background-color 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media ${mq.semilarge} {\n opacity: ${({ theme, size }) =>\n getBottomHeights(theme, size)[1] > 0 ? 1 : 0};\n pointer-events: ${({ theme, size }) =>\n getBottomHeights(theme, size)[1] > 0 ? 'all' : 'none'};\n overflow: ${({ theme, size }) =>\n getBottomHeights(theme, size)[1] <= 0 && 'hidden'};\n\n opacity: ${({ theme, size }) =>\n getBottomHeights(theme, size)[1] > 0 ? 1 : 0};\n }\n`;\n\nconst TopContent = styled.div<{ size?: NavBarSize; clamp?: boolean }>`\n display: flex;\n justify-content: flex-end;\n position: relative;\n max-width: ${({ clamp }) =>\n clamp ? spacings.wrapper : spacings.wrapperLarge}px;\n padding: ${({ size, theme }) =>\n getTopHeights(theme, size)[0] > 0 && `0 ${spacings.nudge * 2}px`};\n margin: 0 auto;\n\n height: ${({ theme, size }) => getTopHeights(theme, size)[0]}px;\n\n transition: height 0.2s ease-in-out, padding-top 0.2s ease-in-out,\n padding-bottom 0.2s ease-in-out;\n will-change: height;\n\n @media ${mq.semilarge} {\n height: ${({ theme, size }) => getTopHeights(theme, size)[1]}px;\n padding: ${({ size, theme }) =>\n getTopHeights(theme, size)[1] > 0 && `0 ${spacings.nudge * 2}px`};\n }\n`;\n\nconst Content = styled.div<{ size?: NavBarSize; clamp?: boolean }>`\n display: flex;\n position: relative;\n max-width: ${({ clamp }) =>\n clamp ? spacings.wrapper : spacings.wrapperLarge}px;\n padding: 0 ${spacings.nudge * 2}px;\n margin: 0 auto;\n\n height: ${({ theme, size }) => getMainHeights(theme, size)[0]}px;\n\n transition: height 0.2s ease-in-out;\n will-change: height;\n\n @media ${mq.semilarge} {\n height: ${({ theme, size }) =>\n getMainHeights(theme, size)[1] || getMainHeights(theme, size)[0]}px;\n }\n`;\n\nconst BottomContent = styled.div<{ size?: NavBarSize; clamp?: boolean }>`\n display: flex;\n justify-content: flex-start;\n position: relative;\n max-width: ${({ clamp }) =>\n clamp ? spacings.wrapper : spacings.wrapperLarge}px;\n padding: 0 ${spacings.nudge * 2}px;\n margin: 0 auto;\n\n height: ${({ theme, size }) => getBottomHeights(theme, size)[0]}px;\n transition: 0.2s height ease-in-out;\n\n @media ${mq.semilarge} {\n height: ${({ theme, size }) => getBottomHeights(theme, size)[1]}px;\n padding: 0 ${spacings.nudge * 2}px;\n }\n`;\n\nconst BarSpacer = styled.div<{ hasHeader?: boolean; hasFooter?: boolean }>`\n height: ${({ theme, hasHeader, hasFooter }) => {\n const excludes: ExcludeType[] = [];\n if (!hasHeader) excludes.push('top');\n if (!hasFooter) excludes.push('bottom');\n\n return getFullHeight(theme, 'large', excludes)[0];\n }}px;\n\n @media ${mq.semilarge} {\n height: ${({ theme, hasHeader, hasFooter }) => {\n const excludes: ExcludeType[] = [];\n if (!hasHeader) excludes.push('top');\n if (!hasFooter) excludes.push('bottom');\n\n return getFullHeight(theme, 'large', excludes)[1];\n }}px;\n }\n\n // print version\n @media print {\n display: none;\n }\n`;\n\nexport type NavBarSize = 'small' | 'large';\n\nexport interface BarStates {\n size: NavBarSize;\n isOpen?: boolean;\n isSticky?: boolean;\n pageFlow?: PageFlow;\n}\n\nexport type PageFlow = 'overContent' | 'beforeContent';\n\nexport interface NavBarProps {\n size?: NavBarSize;\n isOpen?: boolean;\n isSticky?: boolean;\n isAnimated?: boolean;\n clampWidth?: 'content' | 'full';\n pageFlow?: PageFlow;\n\n topBg?: string;\n mainBg?: string;\n bottomBg?: string;\n /** Custom background value for NavBar with pageFlow === overContent and large size */\n onContentBg?: string;\n\n topBar?: ((props: BarStates) => React.ReactNode) | null;\n mainBar?: ((props: BarStates) => React.ReactNode) | null;\n bottomBar?: ((props: BarStates) => React.ReactNode) | null;\n}\n\nconst NavBar: FC<\n NavBarProps & {\n className?: string;\n }\n> = ({\n size = 'large',\n isOpen = false,\n isSticky = false,\n isAnimated = false,\n clampWidth = false,\n pageFlow = 'beforeContent',\n topBg,\n mainBg,\n bottomBg,\n onContentBg,\n topBar,\n mainBar,\n bottomBar,\n className,\n}) => {\n const { theme, colors } = useLibTheme();\n const clampContent = clampWidth === 'content';\n const isOverContent = pageFlow === 'overContent';\n\n const hasHeader = useMemo(\n () => hasTopBar(theme) && topBar !== null,\n [theme, topBar]\n );\n const hasFooter = useMemo(\n () => hasBottomBar(theme) && bottomBar !== null,\n [bottomBar, theme]\n );\n const showBg = useMemo(\n () => size === 'small' || (size === 'large' && !isOverContent),\n [isOverContent, size]\n );\n\n const topBackground = topBg || colors.elementBg.light;\n const mainBackground = mainBg || colors.elementBg.light;\n const bottomBackground = bottomBg || colors.elementBg.light;\n const onContentBackground =\n onContentBg ||\n 'linear-gradient(180deg,rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.2) 40%, rgba(0,0,0,0) 100%)';\n\n const topBarContent = useMemo(\n () =>\n topBar &&\n topBar({\n size,\n isOpen,\n isSticky,\n pageFlow,\n }),\n [isOpen, isSticky, pageFlow, size, topBar]\n );\n\n const mainBarContent = useMemo(\n () =>\n mainBar &&\n mainBar({\n size,\n isOpen,\n isSticky,\n pageFlow,\n }),\n [isOpen, isSticky, mainBar, pageFlow, size]\n );\n\n const bottomBarContent = useMemo(\n () =>\n bottomBar &&\n bottomBar({\n size,\n isOpen,\n isSticky,\n pageFlow,\n }),\n [bottomBar, isOpen, isSticky, pageFlow, size]\n );\n\n return (\n <React.Fragment>\n {pageFlow === 'beforeContent' && (\n <BarSpacer hasHeader={hasHeader} hasFooter={hasFooter} />\n )}\n <View\n isOpen={isOpen}\n isSticky={isSticky}\n isAnimated={isAnimated}\n bgGradient={\n size === 'large' && isOverContent\n ? onContentBackground\n : undefined\n }\n className={className}\n >\n {hasHeader && (\n <Header\n size={size}\n background={showBg ? topBackground : undefined}\n >\n <TopContent size={size} clamp={clampContent}>\n {topBarContent ? (\n topBarContent\n ) : (\n <Skeletons.Column isInverted>\n Top Nav\n </Skeletons.Column>\n )}\n </TopContent>\n </Header>\n )}\n {mainBar !== null && (\n <Main background={showBg ? mainBackground : undefined}>\n <Content size={size} clamp={clampContent}>\n {mainBarContent ? (\n mainBarContent\n ) : (\n <React.Fragment>\n <Skeletons.Column\n takeSpace\n isInverted={\n size === 'large' && isOverContent\n }\n >\n Left\n </Skeletons.Column>\n <Skeletons.Column\n isInverted={\n size === 'large' && isOverContent\n }\n >\n Center\n </Skeletons.Column>\n <Skeletons.Column\n takeSpace\n isInverted={\n size === 'large' && isOverContent\n }\n >\n Right\n </Skeletons.Column>\n </React.Fragment>\n )}\n </Content>\n </Main>\n )}\n {hasFooter && (\n <Footer\n size={size}\n background={showBg ? bottomBackground : undefined}\n >\n <BottomContent size={size} clamp={clampContent}>\n {bottomBarContent ? bottomBarContent : 'bottom bar'}\n </BottomContent>\n </Footer>\n )}\n </View>\n </React.Fragment>\n );\n};\n\nexport default NavBar;\n","import React, { FC, useEffect, useMemo, useState } from 'react';\nimport { DefaultTheme } from 'styled-components';\nimport {\n LibThemeProvider,\n ThemeMods,\n useLibTheme,\n} from 'utils/LibThemeProvider';\nimport { useMediaQueries } from 'utils/useMediaQuery';\nimport { useMenuKeyboard } from 'utils/menuHooks';\nimport usePageScroll, { PageScrollDirection } from 'utils/usePageScroll';\nimport Menu, { MenuStates, MenuTypeProps, NavItem } from './menu/Menu';\n\nimport NavBar, {\n getFullHeight,\n NavBarSize,\n BarStates,\n hasTopBar,\n hasBottomBar,\n ExcludeType,\n PageFlow,\n} from './NavBar';\n\n/**\n * Checks which navbar parts are defined in navigation.\n * With this values you can calculate each height by the Navbar component functions\n * @param ident Identification string from Navigation component\n * @returns\n */\nexport const getNavbarState = (ident: string) => {\n const navbarIdent = ident || '';\n\n let pageFlow: PageFlow | undefined = undefined;\n switch (true) {\n case navbarIdent.search('overContent') !== -1: {\n pageFlow = 'overContent';\n break;\n }\n\n case navbarIdent.search('beforeContent') !== -1: {\n pageFlow = 'beforeContent';\n break;\n }\n }\n\n return {\n hasTop: navbarIdent.search('top') !== -1,\n hasMain: navbarIdent.search('main') !== -1,\n hasBottom: navbarIdent.search('bottom') !== -1,\n pageFlow: pageFlow,\n isStickable: navbarIdent.search('stickable') !== -1,\n };\n};\n\n/** Generate Navbar identifier */\nexport const generateNavbarIdent = (props: {\n hasTop?: boolean;\n hasMain?: boolean;\n hasBottom?: boolean;\n pageFlow?: PageFlow;\n isStickable?: boolean;\n}): string => {\n if (!props) return '';\n const stateArray: string[] = [];\n\n if (props.hasTop) stateArray.push('top');\n if (props.hasMain) stateArray.push('main');\n if (props.hasBottom) stateArray.push('bottom');\n if (props.isStickable) stateArray.push('stickable');\n if (props.pageFlow) stateArray.push(props.pageFlow);\n\n return stateArray.join('-');\n};\n\n/**\n * Get full navbar heights\n * @param theme Theme object\n * @param ident Indentification string from Navigation component\n * @returns\n */\nexport const getFullNavbarHeights = (theme: DefaultTheme, ident: string) => {\n const { hasTop, hasBottom } = getNavbarState(ident || '');\n const excludes: ExcludeType[] = [];\n if (!hasTop) excludes.push('top');\n if (!hasBottom) excludes.push('bottom');\n\n return {\n large: getFullHeight(theme, 'large', excludes),\n small: getFullHeight(theme, 'small', excludes),\n };\n};\n\nexport interface NavBarStates extends BarStates {\n isMenuOpen?: boolean;\n openMenu?: () => void;\n closeMenu?: () => void;\n mainNavigation?: Array<NavItem>;\n subNavigation?: Array<NavItem>;\n isOnPageTop?: boolean;\n isInTopOffset?: boolean;\n}\n\nexport interface NavMenuStates extends MenuStates {\n isMenuOpen?: boolean;\n openMenu?: () => void;\n closeMenu?: () => void;\n navBarSize?: NavBarSize;\n}\n\nexport interface NavBarSettings {\n isStickable?: boolean;\n isCollapsible?: boolean;\n pageFlow?: 'overContent' | 'beforeContent';\n\n topBg?: string;\n mainBg?: string;\n bottomBg?: string;\n /** Custom background value for NavBar with pageFlow === overContent and large size */\n onContentBg?: string;\n\n topBar?: ((props: NavBarStates) => React.ReactNode) | null;\n mainBar?: ((props: NavBarStates) => React.ReactNode) | null;\n bottomBar?: ((props: NavBarStates) => React.ReactNode) | null;\n theme?: ThemeMods;\n}\n\nexport interface MenuSettings {\n isIndexPage?: boolean;\n mainNavigation?: Array<NavItem>;\n subNavigation?: Array<NavItem>;\n header?: (props: NavMenuStates) => React.ReactNode;\n footer?: (props: NavMenuStates) => React.ReactNode;\n navItemsHeader?: (props: NavMenuStates) => React.ReactNode;\n typeSettings: MenuTypeProps;\n\n theme?: ThemeMods;\n}\n\nexport interface NavigationProps {\n navBar?: NavBarSettings;\n menu?: MenuSettings;\n clampWidth?: 'content' | 'full';\n}\n\nconst Navigation: FC<NavigationProps> = ({\n clampWidth = 'content',\n navBar,\n menu,\n}) => {\n const isStickable = navBar?.isStickable || false;\n const isCollapsible = navBar?.isCollapsible || false;\n\n const mediaQueries = useMediaQueries();\n\n const { theme } = useLibTheme();\n\n /** Navigation bar states */\n const [isNavBarSticky, setIsNavBarSticky] = useState<boolean>(false);\n const [isNavBarOpen, setNavBarOpen] = useState<boolean>(true);\n const { isTop, scrollDirection, isInOffset, leftOffsetFromTop } =\n usePageScroll({\n directionOffset: { up: 40, down: 40 },\n offset: getFullHeight(theme, 'large')[\n mediaQueries.semilarge ? 1 : 0\n ],\n });\n\n const navbarSize = useMemo<NavBarSize>(() => {\n return isTop || isInOffset || !isStickable ? 'large' : 'small';\n }, [isTop, isInOffset, isStickable]);\n\n useEffect(() => {\n if (isStickable && isCollapsible) {\n setNavBarOpen(\n isTop ||\n isInOffset ||\n scrollDirection === PageScrollDirection.UP\n );\n }\n }, [scrollDirection, isTop, isStickable, isInOffset, isCollapsible]);\n\n useEffect(() => {\n if (!isStickable) return;\n if (\n !isCollapsible ||\n (leftOffsetFromTop && scrollDirection === PageScrollDirection.UP)\n ) {\n setIsNavBarSticky(true);\n } else if (isTop) {\n setIsNavBarSticky(false);\n }\n }, [isCollapsible, isStickable, isTop, leftOffsetFromTop, scrollDirection]);\n\n /** Menu states */\n const { isMenuOpen, setIsMenuOpen, setRoot } = useMenuKeyboard(false, {});\n\n const openMenu = () => {\n setIsMenuOpen(true);\n };\n\n const closeMenu = () => {\n setIsMenuOpen(false);\n };\n\n useEffect(() => {\n document.body.style.overflow = isMenuOpen ? 'hidden' : 'visible';\n }, [isMenuOpen]);\n\n const topBar = navBar?.topBar\n ? (props: BarStates) => {\n if (!navBar?.topBar) return '';\n return navBar.topBar({\n ...props,\n isMenuOpen,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n isOnPageTop: isTop,\n isInTopOffset: isInOffset,\n });\n }\n : navBar?.topBar;\n\n const mainBar = navBar?.mainBar\n ? (props: BarStates) => {\n if (!navBar?.mainBar) return '';\n return navBar.mainBar({\n ...props,\n isMenuOpen,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n isOnPageTop: isTop,\n isInTopOffset: isInOffset,\n });\n }\n : navBar?.mainBar;\n\n const bottomBar = navBar?.bottomBar\n ? (props: BarStates) => {\n if (!navBar?.bottomBar) return '';\n return navBar.bottomBar({\n ...props,\n isMenuOpen,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n isOnPageTop: isTop,\n isInTopOffset: isInOffset,\n });\n }\n : navBar?.bottomBar;\n\n const menuHeader = menu?.header\n ? (props: MenuStates) => {\n if (!menu?.header) return '';\n return menu?.header({\n ...props,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n navBarSize: navbarSize,\n });\n }\n : undefined;\n\n const menuFooter = menu?.footer\n ? (props: MenuStates) => {\n if (!menu?.footer) return '';\n return menu?.footer({\n ...props,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n navBarSize: navbarSize,\n });\n }\n : undefined;\n\n const menuNavItemsHeader = menu?.navItemsHeader\n ? (props: MenuStates) => {\n if (!menu?.navItemsHeader) return '';\n return menu?.navItemsHeader({\n ...props,\n openMenu,\n closeMenu,\n mainNavigation: menu?.mainNavigation,\n subNavigation: menu?.subNavigation,\n navBarSize: navbarSize,\n });\n }\n : undefined;\n\n /**\n * Get ident string that shows if each navbar section is defined.\n * @returns Navbar ident string\n */\n const getNavBarIdent = (theme: DefaultTheme) => {\n const ident = generateNavbarIdent({\n hasTop: topBar !== null && hasTopBar(theme),\n hasMain: mainBar !== null,\n hasBottom: bottomBar !== null && hasBottomBar(theme),\n isStickable: navBar?.isStickable,\n pageFlow: navBar?.pageFlow,\n });\n\n return ident;\n };\n\n return (\n <header ref={setRoot} data-navbar-ident={getNavBarIdent(theme)}>\n <LibThemeProvider theme={navBar?.theme}>\n <NavBar\n isOpen={isNavBarOpen}\n isSticky={isNavBarSticky}\n isAnimated\n size={navbarSize}\n clampWidth={clampWidth}\n pageFlow={navBar?.pageFlow}\n topBar={topBar}\n mainBar={mainBar}\n bottomBar={bottomBar}\n topBg={navBar?.topBg}\n mainBg={navBar?.mainBg}\n bottomBg={navBar?.bottomBg}\n onContentBg={navBar?.onContentBg}\n />\n </LibThemeProvider>\n <LibThemeProvider theme={menu?.theme}>\n <Menu\n isOpen={isMenuOpen}\n clampWidth={clampWidth}\n isIndexPage={menu?.isIndexPage}\n mainNavigation={menu?.mainNavigation}\n subNavigation={menu?.subNavigation}\n typeSettings={menu?.typeSettings}\n navBarSize={navbarSize}\n header={menuHeader}\n footer={menuFooter}\n navItemsHeader={menuNavItemsHeader}\n onClose={closeMenu}\n />\n </LibThemeProvider>\n </header>\n );\n};\n\nexport default Navigation;\n"],"names":["useMenuKeyboard","initialMenuState","settings","_a","useState","isMenuOpen","setIsMenuOpen","prevMenuState","useRef","_b","root","setRoot","openBtnRef","closeBtnRef","defaultSettings","__assign","openMenuIdent","closeMenuIdent","useEffect","current","querySelector","handleKeyDown","ev","key","focus","window","addEventListener","removeEventListener","PageScrollDirection","usePageScroll","_c","isTop","setIsTop","_d","isInOffset","setIsInOffset","_e","leftOffsetFromTop","setLeftOffsetFromTop","lastScrollPos","pxSinceLastSwitch","_f","DOWN","scrollDirection","setScrollDirection","directionDownOffset","directionOffset","down","directionUpOffset","up","scrollState","useScrollThrottle","resizeThrottleTimeout","undefined","scrollY","offset","prev","onLeftOffset","call","diff","absAccPx","Math","abs","UP","View","styled","nav","templateObject_1","__makeTemplateObject","List","ul","templateObject_2","mq","semilarge","spacings","nudge","ListItem","li","templateObject_3","isCurrent","NavLink","Link","templateObject_4","showOnMobile","clamp","copyStyle","theme","isInverted","color","text","inverted","default","showOnDesktop","NavLabel","span","templateObject_5","Seperator","Copy","templateObject_6","BackIconContainer","templateObject_7","BreadcrumbItem","label","link","children","href","React","BarBreadcrumbs","rootLink","rootLabel","navItems","seperator","back","className","currentNavPath","useMemo","getCurrentNavPath","rootItem","uid","createElement","map","item","i","length","size","Fragment","AngleLeft","Column","div","takeSpace","vAlign","getColors","primary","Logo","Image","BarLogo","logo","small","coverSpace","ratios","showPlaceholder","Toggle","button","invertedHover","hover","BarMenuToggle","isExpanded","onClick","isActive","BarNavList","navLinks","Header","LanguageCol","MenuHeader","customToggle","menuStates","langs","action","Skeletons","closeMenu","Cross","ariaHidden","isValidArray","LanguageSwitcher","navigationStyle","type","css","font","navigation","family","weight","style","withRange","lineHeight","letterSpacing","textTransform","textDecoration","Backdrop","isOpen","filter","Stage","clampWidth","wrapper","wrapperLarge","Flyout","elementBg","light","medium","large","getMenuHeaderHeights","heights","global","menu","headerHeight","clampValue","hasMenuHeader","largeHeights","smallHeights","navBarSize","ScrollContainer","ScrollArea","NavView","templateObject_8","Navigation","NavList","templateObject_9","hasNonFeaturedItems","concat","NavItemView","templateObject_10","spacer","NavItemContent","templateObject_11","isFeatured","featured","main","NavItemIcon","templateObject_12","NavItemLabel","NavItemCollapse","NavItemCollapseIcon","AngleRight","templateObject_15","isCollapsed","NavItemLink","templateObject_16","NavItemButton","templateObject_17","SubNavList","templateObject_18","isIndented","NavigationItem","forwardRef","ref","icon","subNavTitle","onItemClick","collapseIcon","canFocus","hasSubItems","Children","count","ariaLabel","tabIndex","MenuNav","SubItem","displayName","SubNavItem","sub","SubNavLink","templateObject_20","NavigationSubItem","SecondaryNavList","templateObject_21","SecondaryNavLink","templateObject_22","secondary","SecondaryNavigation","items","n","Item","SubList","menuFilter","hideFromMenu","MenuFlyout","isIndexPage","mainNavigation","subNavigation","backdropFilter","header","footer","onClose","navItemsHeader","useLibTheme","flyoutRef","hasHeader","mainList","__spreadArray","subList","initial","getCurrentNavItem","activeItems","setActiveItems","currentNavEl","setCurrentNavEl","currentSubNavEl","setCurrentSubNavEl","toggleActiveItem","includes","handleFocus","target","isFlyoutChild","contains","document","scrollIntoView","block","inline","e","id","hasCurrentSubItem","subItems","findIndex","subItem","Menu","typeSettings","getTopHeights","navBar","topHeight","hasTopBar","getMainHeights","mainHeight","getBottomHeights","bottomHeight","hasBottomBar","getFullHeight","exclude","includeTop","indexOf","includeMain","includeBottom","topHeights","mainHeights","bottomHeights","mobile","desktop","isSticky","isAnimated","bgGradient","background","Main","Footer","TopContent","Content","BottomContent","BarSpacer","hasFooter","excludes","push","NavBar","_g","pageFlow","topBg","mainBg","bottomBg","onContentBg","topBar","mainBar","bottomBar","_h","colors","clampContent","isOverContent","showBg","topBackground","mainBackground","bottomBackground","onContentBackground","topBarContent","mainBarContent","bottomBarContent","getNavbarState","ident","navbarIdent","search","hasTop","hasMain","hasBottom","isStickable","generateNavbarIdent","props","stateArray","join","getFullNavbarHeights","isCollapsible","mediaQueries","useMediaQueries","isNavBarSticky","setIsNavBarSticky","isNavBarOpen","setNavBarOpen","navbarSize","openMenu","body","overflow","isOnPageTop","isInTopOffset","menuHeader","menuFooter","menuNavItemsHeader","getNavBarIdent","LibThemeProvider"],"mappings":"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"}