@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,37 +1,37 @@
1
- import { a as __makeTemplateObject, _ as __assign, h as Magnifier, ab as CrossBubble, f as Cross, ac as Filter, e as __spreadArray, L as LocationPin, a9 as CurrentLocation, $ as MyLocation, k as __awaiter, l as __generator } from './Filter-19220970.js';
1
+ import { a as __makeTemplateObject, _ as __assign, j as Magnifier, ae as CrossBubble, h as Cross, af as Filter, e as __spreadArray, L as LocationPin, ac as CurrentLocation, a2 as MyLocation, m as __awaiter, n as __generator } from './ButtonLeft-a9a132f5.js';
2
2
  import React__default, { useMemo, useState, useEffect } from 'react';
3
3
  import styled, { css } from 'styled-components';
4
- import { S as Section, m as mapToBgMode } from './Section-bd61eb2f.js';
5
- import { W as Wrapper } from './Wrapper-95108115.js';
6
- import { I as Image } from './Image-c67870d4.js';
7
- import { H as Heading, C as Copy } from './Copy-fd9e25c0.js';
8
- import { s as spacings, m as mq, g as getColors, w as withRange, c as getGlobals, f as getSVGDataImg } from './styles-1f1841ef.js';
9
- import { w as withLibTheme, u as useLibTheme } from './LibThemeProvider-fb1d35ac.js';
10
- import { G as Grid } from './Grid-7b33e271.js';
11
- import { I as InfoList } from './InfoList-d853db58.js';
12
- import { P as POIFacts, F as FilterBar, a as POICard } from './FilterBar-8c258534.js';
4
+ import { S as Section, m as mapToBgMode } from './Section-ca6daed2.js';
5
+ import { W as Wrapper } from './Wrapper-06db8e79.js';
6
+ import { I as Image } from './Image-e2018d39.js';
7
+ import { H as Heading, C as Copy } from './Copy-5a18e01f.js';
8
+ import { s as spacings, m as mq, g as getColors, w as withRange, c as getGlobals, f as getSVGDataImg } from './styles-f3ba5bae.js';
9
+ import { w as withLibTheme, u as useLibTheme } from './LibThemeProvider-48cad3e8.js';
10
+ import { G as Grid } from './Grid-cbd5e68c.js';
11
+ import { I as InfoList } from './InfoList-1be2ff46.js';
12
+ import { P as POIFacts, F as FilterBar, a as POICard } from './FilterBar-d6c1ef40.js';
13
13
  import { i as isValidArray } from './arrays-65b644ef.js';
14
- import { s as setUrlParam, d as deleteUrlParam } from './urlParams-9cfdaf71.js';
14
+ import { s as setUrlParam, d as deleteUrlParam } from './urlParams-e7114d3e.js';
15
15
  import './useScroll-881c7b04.js';
16
16
  import 'react-dom/server';
17
17
  import { e as escapeRegExp } from './escape-cbff9c25.js';
18
- import { u as useLeafletMap } from './useLeafletMap-fa0ab7d4.js';
19
- import { g as generateNavbarIdent, a as getFullNavbarHeights } from './Navigation-6581bcdf.js';
18
+ import { u as useLeafletMap } from './useLeafletMap-f9050715.js';
19
+ import { g as generateNavbarIdent, a as getFullNavbarHeights } from './Navigation-d7e14d09.js';
20
20
  import { u as useGeolocation } from './useGeolocation-f9f073cc.js';
21
- import './concat-ab3c66f2.js';
21
+ import './concat-b6d6d978.js';
22
22
  import './clamp-12d37b65.js';
23
- import './FilterField-8e64b355.js';
24
- import './useLazyInput-0b6932aa.js';
25
- import './MultiselectDropdown-61a5a1a6.js';
26
- import './formFieldText-c6fcd370.js';
23
+ import './FilterField-251b4dad.js';
24
+ import './useLazyInput-08ee63f4.js';
25
+ import './MultiselectDropdown-20b33522.js';
26
+ import './formFieldText-af2106f9.js';
27
27
  import './useMounted-1e4cc87b.js';
28
- import './Checkbox-962fea67.js';
28
+ import './Checkbox-e7fc7d28.js';
29
29
  import 'react-dom';
30
- import './Pointer-3e965d7b.js';
31
- import './useMediaQuery-4c1b1fa6.js';
32
- import './navigation-5216dbad.js';
33
- import './Link-6067a27f.js';
34
- import './LanguageSwitcher-c9aa594a.js';
30
+ import './Pointer-41c10bba.js';
31
+ import './useMediaQuery-c9fa1339.js';
32
+ import './navigation-d3d2bf2e.js';
33
+ import './Link-d4a291af.js';
34
+ import './LanguageSwitcher-19482399.js';
35
35
 
36
36
  var StyledImage = styled(Image).withConfig({
37
37
  displayName: "PointOfInterestDetail__StyledImage",
@@ -349,10 +349,10 @@ var POISection = styled(Section).withConfig({
349
349
  displayName: "PointOfInterestOverview__POISection",
350
350
  componentId: "sc-epctuk-0"
351
351
  })(templateObject_1$1 || (templateObject_1$1 = __makeTemplateObject(["\n overflow: visible;\n"], ["\n overflow: visible;\n"])));
352
- var Content = styled.div.withConfig({
352
+ var Content = styled.ul.withConfig({
353
353
  displayName: "PointOfInterestOverview__Content",
354
354
  componentId: "sc-epctuk-1"
355
- })(templateObject_2$1 || (templateObject_2$1 = __makeTemplateObject(["\n & > * + * {\n margin-top: ", "px;\n }\n\n @media ", " {\n & > * + * {\n margin-top: ", "px;\n }\n }\n"], ["\n & > * + * {\n margin-top: ", "px;\n }\n\n @media ", " {\n & > * + * {\n margin-top: ", "px;\n }\n }\n"])), spacings.nudge * 5, mq.large, spacings.nudge * 3);
355
+ })(templateObject_2$1 || (templateObject_2$1 = __makeTemplateObject(["\n list-style: none;\n margin: 0;\n padding: 0;\n\n & > * + * {\n margin-top: ", "px;\n }\n\n @media ", " {\n & > * + * {\n margin-top: ", "px;\n }\n }\n"], ["\n list-style: none;\n margin: 0;\n padding: 0;\n\n & > * + * {\n margin-top: ", "px;\n }\n\n @media ", " {\n & > * + * {\n margin-top: ", "px;\n }\n }\n"])), spacings.nudge * 5, mq.large, spacings.nudge * 3);
356
356
  var PoiOverviewFilterBar = styled(PoiFilterBar).withConfig({
357
357
  displayName: "PointOfInterestOverview__PoiOverviewFilterBar",
358
358
  componentId: "sc-epctuk-2"
@@ -373,23 +373,25 @@ var PointOfInterestOverview = function (_a) {
373
373
  pois = _a.pois,
374
374
  initialPoiFilters = _a.initialPoiFilters,
375
375
  poiFilters = _a.poiFilters,
376
- customPoiFilters = _a.customPoiFilters;
376
+ customPoiFilters = _a.customPoiFilters,
377
+ _c = _a.listAriaLabel,
378
+ listAriaLabel = _c === void 0 ? 'List of card items with points of interest' : _c;
377
379
 
378
- var _c = useLibTheme(),
379
- colors = _c.colors,
380
- globals = _c.globals;
380
+ var _d = useLibTheme(),
381
+ colors = _d.colors,
382
+ globals = _d.globals;
381
383
 
382
384
  var filterName = globals.sections.poiFilterName;
383
385
  var factFiltername = globals.sections.poiFactFilterName;
384
386
  var isInverted = bgMode === 'inverted';
385
387
  var hasBg = bgMode === 'full';
386
388
 
387
- var _d = useState(initialPoiFilters || {
389
+ var _e = useState(initialPoiFilters || {
388
390
  categoryFilter: [],
389
391
  textFilter: ''
390
392
  }),
391
- filters = _d[0],
392
- setFilters = _d[1];
393
+ filters = _e[0],
394
+ setFilters = _e[1];
393
395
 
394
396
  var categories = useMemo(function () {
395
397
  return pois === null || pois === void 0 ? void 0 : pois.reduce(function (acc, poi) {
@@ -456,12 +458,15 @@ var PointOfInterestOverview = function (_a) {
456
458
  filterIcon: poiFilters === null || poiFilters === void 0 ? void 0 : poiFilters.filterIcon,
457
459
  indicator: poiFilters === null || poiFilters === void 0 ? void 0 : poiFilters.indicator,
458
460
  isInverted: isInverted
459
- }) : null, React__default.createElement(Content, null, (_b = poiMatches === null || poiMatches === void 0 ? void 0 : poiMatches.sort(function (a, b) {
461
+ }) : null, React__default.createElement(Content, {
462
+ "aria-label": listAriaLabel
463
+ }, (_b = poiMatches === null || poiMatches === void 0 ? void 0 : poiMatches.sort(function (a, b) {
460
464
  return a.priority - b.priority;
461
465
  })) === null || _b === void 0 ? void 0 : _b.map(function (poi, i) {
462
466
  return React__default.createElement(POICard, __assign({
463
467
  key: i
464
468
  }, poi.item, {
469
+ renderAs: "li",
465
470
  isInverted: isInverted
466
471
  }));
467
472
  }))));
@@ -1 +1 @@
1
- {"version":3,"file":"sections.pois.js","sources":["../src/components/sections/pois/PointOfInterestDetail.tsx","../src/components/sections/pois/filters.ts","../src/components/sections/pois/partials/PoiFilterBar.tsx","../src/components/sections/pois/PointOfInterestOverview.tsx","../src/components/sections/pois/PointOfInterestMap.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport { spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\nimport InfoList, { InfoGroup } from 'components/blocks/InfoList';\nimport POIFacts from 'components/blocks/POIFacts';\nimport { isValidArray } from 'utils/arrays';\n\nconst StyledImage = styled(Image)`\n &:not(:last-child) {\n margin-bottom: ${spacings.spacer}px;\n }\n`;\n\nconst Facts = styled(POIFacts)`\n max-width: 880px;\n`;\n\nconst PoiTitle = styled(Heading)`\n max-width: 880px;\n\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst PoiText = styled(Copy)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst PointOfInterestDetail: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** POI image */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /** POI title */\n title?: string;\n\n /** POI intro text */\n intro?: string;\n\n /** POI text (richtext) */\n text?: string;\n\n /** Array of POI facts */\n facts?: string[];\n\n /** Additional POI infos */\n infos?: InfoGroup[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n\n /** Function to inject custom feature node */\n customFact?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n image,\n title,\n intro,\n text,\n facts,\n infos,\n bgMode,\n customFact,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const hasInfos = useMemo(() => {\n return isValidArray(\n infos?.filter((info) => isValidArray(info.items, false)),\n false\n );\n }, [infos]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {image?.small && (\n <StyledImage\n {...image}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n />\n )}\n <Grid.Row\n gutter={spacings.nudge * 5}\n semilarge={{ gutter: spacings.spacer }}\n >\n <Grid.Col semilarge={{ span: hasInfos ? 5.7 / 8 : 1 }}>\n {title && (\n <PoiTitle size=\"heading-2\" isInverted={isInverted}>\n {title}\n </PoiTitle>\n )}\n {isValidArray(facts, false) && (\n <Facts\n isInverted={isInverted}\n facts={facts}\n customFact={customFact}\n />\n )}\n {intro && (\n <PoiText\n size=\"medium\"\n type=\"copy-b\"\n isInverted={isInverted}\n innerHTML={intro}\n />\n )}\n {text && (\n <PoiText\n size=\"medium\"\n isInverted={isInverted}\n innerHTML={text}\n />\n )}\n </Grid.Col>\n {hasInfos && (\n <Grid.Col semilarge={{ span: 2.3 / 8 }}>\n <InfoList isInverted={isInverted} items={infos} />\n </Grid.Col>\n )}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PointOfInterestDetailComponent = PointOfInterestDetail;\nexport default withLibTheme(PointOfInterestDetail);\n","import { POICardProps } from 'components/blocks/POICard';\nimport { isValidArray } from 'hooks';\nimport { escapeRegExp } from 'utils/escape';\n\nexport type POIData = Pick<\n POICardProps,\n 'name' | 'facts' | 'infos' | 'shortDescription'\n> & { id: string };\n\nexport interface FilterMatch {\n item: POIData;\n priority: number;\n}\n\nconst poiExactNameFilter =\n <T extends POIData>(filterQuery: string) =>\n (value: T) => {\n const regex = new RegExp(filterQuery);\n return regex.test(value.name);\n };\n\nconst poiSoftNameFilter =\n <T extends POIData>(filterQuery: string) =>\n (value: T) => {\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const preparedName = value.name.toLowerCase().replace(/\\s/g, '');\n\n const regex = new RegExp(preparedQuery);\n return regex.test(preparedName);\n };\n\nconst poiFactFilter =\n (filterQuery: string) =>\n <T extends POIData>(value: T) => {\n if (!isValidArray(value.facts, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n const result = value.facts.find((fact) => {\n const preparedFact = fact.toLowerCase().replace(/\\s/g, '');\n return regex.test(preparedFact);\n });\n\n return !!result;\n };\n\nconst poiInfoFilter =\n (filterQuery: string) =>\n <T extends POIData>(value: T) => {\n if (!isValidArray(value?.infos, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n return !!value.infos.find((info) => {\n if (!info.text) return false;\n const preparedText = info.text.toLowerCase().replace(/\\s/g, '');\n return regex.test(preparedText);\n });\n };\n\nconst poiDescriptionFilter =\n (filterQuery: string) =>\n <T extends POIData>(value: T) => {\n if (!value.shortDescription) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const preparedDesc = value.shortDescription\n .toLowerCase()\n .replace(/\\s/g, '');\n\n const regex = new RegExp(preparedQuery);\n return regex.test(preparedDesc);\n };\n\nconst removeMatchIntersections = <T extends POIData>(\n array: FilterMatch[],\n item?: T[]\n) => {\n if (!item) return [];\n return item?.filter(\n (m) => !array.find((prioItem) => prioItem.item.id === m.id)\n );\n};\n\nconst filterPois = <T extends POIData>(filterQuery: string, pois: T[]) => {\n const prioList: FilterMatch[] = [];\n if (\n !isValidArray(\n pois?.filter((poi) => poi.id !== undefined),\n false\n )\n ) {\n return prioList;\n }\n\n // PRIO 1 Filter: Exact name\n const exactNameMatches = pois?.filter(poiExactNameFilter(filterQuery));\n if (isValidArray(exactNameMatches, false)) {\n prioList.push(\n ...exactNameMatches.map((match) => ({\n item: match,\n priority: 1,\n }))\n );\n }\n\n // PRIO 2 Filter: Name\n const nameMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiSoftNameFilter(filterQuery))\n );\n\n if (isValidArray(nameMatches, false)) {\n prioList.push(\n ...nameMatches.map((match) => ({\n item: match,\n priority: 2,\n }))\n );\n }\n\n // PRIO 3 Filter: Facts\n const factMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiFactFilter(filterQuery))\n );\n\n if (isValidArray(factMatches, false)) {\n prioList.push(\n ...factMatches.map((match) => ({\n item: match,\n priority: 3,\n }))\n );\n }\n\n // PRIO 4 Filter: Description\n const infoMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiInfoFilter(filterQuery))\n );\n\n if (isValidArray(infoMatches, false)) {\n prioList.push(\n ...infoMatches.map((match) => ({\n item: match,\n priority: 4,\n }))\n );\n }\n\n // PRIO 5 Filter: Description\n const descMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiDescriptionFilter(filterQuery))\n );\n\n if (isValidArray(descMatches, false)) {\n prioList.push(\n ...descMatches.map((match) => ({\n item: match,\n priority: 5,\n }))\n );\n }\n\n return prioList;\n};\n\nexport const getFilterMatches = <T extends POIData>(\n filterQuery: string,\n categoryFilters: string[],\n items: T[]\n) => {\n const searchMatches: Map<string, FilterMatch> = new Map();\n\n if (!filterQuery && !categoryFilters.length) {\n for (const item of items) {\n searchMatches.set(item.id, {\n item,\n priority: 0,\n });\n }\n }\n\n for (const item of items) {\n if (item.facts?.some((fact) => categoryFilters.includes(fact))) {\n searchMatches.set(item.id, {\n item,\n priority: 1,\n });\n }\n }\n\n // tracking matches of each query part\n const matches = filterQuery\n ? filterPois(escapeRegExp(filterQuery), items || [])\n : [];\n\n for (const match of matches) {\n if (searchMatches.has(match.item.id)) continue;\n searchMatches.set(match.item.id, match);\n }\n\n return searchMatches;\n};\n","import Cross from 'components/base/icons/Cross';\nimport CrossBubble from 'components/base/icons/CrossBubble';\nimport Filter from 'components/base/icons/Filter';\nimport Magnifier from 'components/base/icons/Magnifier';\nimport FilterBar, { FilterBarProps } from 'components/blocks/FilterBar';\nimport React, { FC } from 'react';\n\nconst PoiFilterBar: FC<\n FilterBarProps & { isInverted?: boolean; className?: string }\n> = ({\n hasBorders,\n value,\n onChange,\n textFilter,\n categoryFilter,\n mobileSubmitLabel,\n closeIcon,\n toggleLabel,\n filterIcon,\n indicator,\n isInverted,\n className,\n}) => {\n return (\n <FilterBar\n isInverted={isInverted}\n hasBorders={hasBorders}\n value={value}\n onChange={onChange}\n textFilter={\n textFilter\n ? {\n placeholder: textFilter.placeholder || 'Search...',\n icon: textFilter.icon\n ? textFilter.icon\n : () => <Magnifier width={18} height={18} />,\n submitIcon: textFilter.submitIcon\n ? textFilter.submitIcon\n : () => null,\n clearIcon: textFilter.clearIcon\n ? textFilter.clearIcon\n : () => <CrossBubble />,\n }\n : undefined\n }\n categoryFilter={\n categoryFilter\n ? {\n label: categoryFilter.label || 'Categories',\n items: categoryFilter.items || [],\n resetLabel:\n categoryFilter.resetLabel || 'reset selection',\n }\n : undefined\n }\n mobileSubmitLabel={mobileSubmitLabel || 'Apply filters'}\n closeIcon={closeIcon ? closeIcon : () => <Cross />}\n toggleLabel={toggleLabel || 'Search & Filter'}\n filterIcon={filterIcon ? filterIcon : () => <Filter />}\n indicator={indicator}\n className={className}\n />\n );\n};\n\nexport default PoiFilterBar;\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { Info } from 'components/blocks/InfoList';\nimport POICard, { POICardProps } from 'components/blocks/POICard';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { mq, spacings, getColors as color } from 'utils/styles';\nimport { deleteUrlParam, setUrlParam } from 'utils/urlParams';\nimport { FilterState } from 'components/blocks/FilterBar';\nimport { getFilterMatches } from './filters';\nimport * as PoiPartials from 'components/sections/pois/partials';\n\nconst POISection = styled(Section)`\n overflow: visible;\n`;\n\nconst Content = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge * 5}px;\n }\n\n @media ${mq.large} {\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n }\n`;\n\nconst PoiOverviewFilterBar = styled(PoiPartials.PoiFilterBar)`\n // margin to show prevent section overflow outline\n margin-top: 2px;\n border: solid 1px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n border-radius: ${({ theme }) => theme.globals.sections.edgeRadius};\n\n &:not(:last-child) {\n margin-bottom: ${spacings.nudge * 5}px;\n }\n\n @media ${mq.medium} {\n border: none;\n }\n`;\n\ninterface CardProps extends POICardProps {\n id: string;\n infos?: Array<Info & { allowFiltering?: boolean }>;\n}\n\nexport type PointOfInterestOverviewItem = Omit<CardProps, 'isInverted'>;\n\nexport interface PoiOverviewFilters {\n toggleLabel?: string;\n mobileSubmitLabel?: string;\n categoryFilter?: {\n label?: string;\n resetLabel?: string;\n };\n textFilter?: {\n placeholder?: string;\n icon?: (isInverted?: boolean) => React.ReactNode;\n submitIcon?: (isInverted?: boolean) => React.ReactNode;\n clearIcon?: (isInverted?: boolean) => React.ReactNode;\n };\n closeIcon?: (isInverted?: boolean) => React.ReactNode;\n filterIcon?: (isInverted?: boolean) => React.ReactNode;\n indicator?: (props: {\n isOpen: boolean;\n isDisabled?: boolean;\n }) => React.ReactNode;\n}\n\nconst PointOfInterestOverview: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of POI card settings */\n pois?: PointOfInterestOverviewItem[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Initial POI filter states */\n initialPoiFilters?: FilterState;\n\n /** POI filter settings */\n poiFilters?: PoiOverviewFilters;\n customPoiFilters?: (props: {\n pois: PointOfInterestOverviewItem[];\n filters: FilterState;\n setFilters: React.Dispatch<React.SetStateAction<FilterState>>;\n settings?: PoiOverviewFilters;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n bgMode,\n pois,\n initialPoiFilters,\n poiFilters,\n customPoiFilters,\n}) => {\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.poiFilterName;\n const factFiltername = globals.sections.poiFactFilterName;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const [filters, setFilters] = useState<FilterState>(\n initialPoiFilters || {\n categoryFilter: [],\n textFilter: '',\n }\n );\n\n const categories = useMemo(() => {\n return pois?.reduce<string[]>((acc, poi) => {\n const newCategories = [...acc];\n\n for (const fact of poi.facts || []) {\n if (!newCategories.includes(fact)) {\n newCategories.push(fact);\n }\n }\n\n return newCategories;\n }, []);\n }, [pois]);\n\n const poiMatches = useMemo(() => {\n const matches =\n getFilterMatches<PointOfInterestOverviewItem>(\n filters?.textFilter || '',\n filters?.categoryFilter || [],\n pois || []\n ) || pois;\n\n return Array.from(matches).map((m) => m[1]);\n }, [filters?.textFilter, filters?.categoryFilter, pois]);\n\n useEffect(() => {\n if (filters.textFilter) {\n setUrlParam(filterName, filters.textFilter);\n } else {\n deleteUrlParam(filterName);\n }\n\n if (isValidArray(filters.categoryFilter, false)) {\n setUrlParam(factFiltername, filters.categoryFilter.join(','));\n } else {\n deleteUrlParam(factFiltername);\n }\n }, [\n filterName,\n factFiltername,\n filters.textFilter,\n filters.categoryFilter,\n ]);\n\n return (\n <POISection\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {poiFilters ? (\n customPoiFilters ? (\n customPoiFilters?.({\n filters,\n setFilters,\n pois: pois || [],\n settings: poiFilters,\n })\n ) : (\n <PoiOverviewFilterBar\n hasBorders\n value={filters}\n onChange={setFilters}\n textFilter={poiFilters?.textFilter || undefined}\n categoryFilter={\n poiFilters?.categoryFilter\n ? {\n ...poiFilters.categoryFilter,\n items: categories?.map(\n (cat) =>\n ({\n value: cat,\n label: cat,\n } || [])\n ),\n }\n : undefined\n }\n mobileSubmitLabel={poiFilters?.mobileSubmitLabel}\n closeIcon={poiFilters?.closeIcon}\n toggleLabel={poiFilters?.toggleLabel}\n filterIcon={poiFilters?.filterIcon}\n indicator={poiFilters?.indicator}\n isInverted={isInverted}\n />\n )\n ) : null}\n <Content>\n {poiMatches\n ?.sort((a, b) => a.priority - b.priority)\n ?.map((poi, i) => (\n <POICard\n key={i}\n {...poi.item}\n isInverted={isInverted}\n />\n ))}\n </Content>\n </Wrapper>\n </POISection>\n );\n};\n\nexport const PointOfInterestOverviewComponent = PointOfInterestOverview;\nexport default withLibTheme(PointOfInterestOverview);\n","import React, { FC, useEffect, useMemo, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Section from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport useLeafletMap, { LeafletMapMarker } from 'utils/useLeafletMap';\nimport {\n mq,\n withRange,\n getColors as color,\n getGlobals as global,\n spacings,\n} from 'utils/styles';\nimport {\n generateNavbarIdent as genIdent,\n getFullNavbarHeights as getNavHeight,\n} from '../navigation/Navigation';\nimport { getSVGDataImg as getSVGData } from 'utils/dataURI';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport Copy from 'components/typography/Copy';\nimport { isValidArray } from 'utils/arrays';\nimport POIFacts from 'components/blocks/POIFacts';\nimport InfoList, { Info } from 'components/blocks/InfoList';\nimport useGeolocation from 'utils/useGeolocation';\nimport CurrentLocation from 'components/base/icons/CurrentLocation';\nimport Cross from 'components/base/icons/Cross';\nimport MyLocation from 'components/base/icons/MyLocation';\nimport { FilterState } from 'components/blocks/FilterBar';\nimport { getFilterMatches } from './filters';\n\nimport * as PoiPartials from 'components/sections/pois/partials';\nimport { deleteUrlParam, setUrlParam } from 'hooks';\n\nconst genHeightStyles = () => css`\n // Doing some crazy shit to calculate curent navbar height in CSS\n ${({ theme }) => {\n // navbar main only\n const mainIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n });\n\n // navbar main and top\n const mainTopIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasTop: true,\n });\n\n // navbar main and bottom\n const mainBottomIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasBottom: true,\n });\n\n // full navbar with all bars\n const fullIdent = genIdent({\n pageFlow: 'beforeContent',\n hasTop: true,\n hasMain: true,\n hasBottom: true,\n });\n\n const navMainHeight = getNavHeight(theme, mainIdent).large;\n const navMainTopHeight = getNavHeight(theme, mainTopIdent).large;\n const navMainBottomHeight = getNavHeight(theme, mainBottomIdent).large;\n const navFullHeight = getNavHeight(theme, fullIdent).large;\n\n const mapToSelector = (idents: string[]) => {\n return idents.map((id) => `[data-navbar-ident*='${id}']`).join('');\n };\n\n const refHeight = '100vh';\n\n return css`\n ${Map} {\n height: ${refHeight};\n }\n\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainHeight[0]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainTopHeight[0]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainBottomHeight[0]}px);\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navFullHeight[0]}px);\n }\n }\n\n @media ${mq.semilarge} {\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainHeight[1]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainTopHeight[1]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(\n ${refHeight} - ${navMainBottomHeight[1]}px\n );\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navFullHeight[1]}px);\n }\n }\n }\n `;\n }}\n`;\n\nconst PoiMapSection = styled(Section)<{ isLarge?: boolean }>`\n position: relative;\n ${({ isLarge }) => isLarge && genHeightStyles()}\n\n header + & {\n ${withRange([0], 'padding-top')}\n ${withRange([0], 'margin-top')}\n }\n`;\n\nconst MapContainer = styled.div`\n position: relative;\n`;\n\nconst Map = styled.div<{ isLarge?: boolean }>`\n min-height: 360px;\n height: 360px;\n max-height: 1300px;\n z-index: 0;\n\n @media ${mq.medium} {\n height: 600px;\n min-height: 600px;\n }\n`;\n\nconst RequestGeolocationBtn = styled.button`\n background-color: transparent;\n border: none;\n padding: ${spacings.nudge}px;\n cursor: pointer;\n\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n opacity: 0.6;\n }\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n transform: scale(1.012);\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n & > * {\n width: 30px;\n height: 30px;\n }\n`;\n\nconst CardStage = styled.div`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 10;\n\n display: flex;\n align-items: flex-end;\n justify-content: flex-end;\n\n pointer-events: all;\n background-color: rgba(255, 255, 255, 0.8);\n\n @media ${mq.medium} {\n position: absolute;\n background-color: transparent;\n padding: ${spacings.nudge * 2}px;\n padding-bottom: ${spacings.nudge * 3}px;\n\n pointer-events: none;\n }\n`;\n\nconst MapCardView = styled.div`\n max-height: 100%;\n width: 100%;\n padding: ${spacings.nudge * 2}px;\n overflow: auto;\n\n background: ${({ theme }) => color(theme).elementBg.light};\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);\n pointer-events: all;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.medium} {\n max-width: 400px;\n }\n`;\n\nconst MapCardHeader = styled.header`\n display: flex;\n align-items: center;\n`;\n\nconst CloseBtn = styled.button`\n display: inline-block;\n border: none;\n background-color: transparent;\n cursor: pointer;\n margin-left: auto;\n padding: ${spacings.nudge}px;\n\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n opacity: 0.6;\n }\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n transform: scale(1.012);\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n`;\n\nconst Overlay = styled.div`\n position: absolute;\n top: ${spacings.nudge * 2}px;\n left: ${spacings.nudge * 2}px;\n width: 100%;\n\n display: flex;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst MapCard: FC<{\n name?: string;\n facts?: string[];\n description?: string;\n infos?: Info[];\n\n action?: React.ReactNode;\n onClose?: () => void;\n customFact?: (props: { key: React.Key; name: string }) => React.ReactNode;\n customClose?: React.ReactNode;\n\n className?: string;\n}> = ({\n name,\n facts,\n description,\n infos,\n action,\n customFact,\n customClose,\n onClose,\n className,\n}) => {\n const { colors } = useLibTheme();\n\n return (\n <MapCardView className={className}>\n <MapCardHeader>\n {name && (\n <Copy type=\"copy-b\" size=\"big\">\n {name}\n </Copy>\n )}\n <CloseBtn onClick={onClose}>\n {customClose || <Cross iconColor={colors.text.default} />}\n </CloseBtn>\n </MapCardHeader>\n {isValidArray(facts, false) && (\n <POIFacts facts={facts} customFact={customFact} />\n )}\n {description && (\n <Copy type=\"copy\" size=\"small\" innerHTML={description} />\n )}\n {isValidArray(infos, false) && (\n <InfoList\n items={[\n {\n items: infos,\n },\n ]}\n />\n )}\n {action && action}\n </MapCardView>\n );\n};\n\nexport interface LocationIcon {\n url: string;\n size: [number, number];\n anchor: [number, number];\n\n sizeActive: [number, number];\n anchorActive: [number, number];\n}\n\nexport interface MapPOI {\n /** Unique ID */\n id: string;\n\n /** Latitude and Longitude of item position */\n position: [number, number];\n\n /** Marker icon settings */\n icon?: LocationIcon;\n\n /** POI name */\n name: string;\n\n /** POI short description text */\n description?: string;\n\n /** Array of POI facts */\n facts?: string[];\n\n /** Array of additional POI informations */\n infos?: Info[];\n\n /** Function to inject custom action node */\n action?: React.ReactNode;\n}\n\nexport interface PoiMapFilters {\n toggleLabel?: string;\n mobileSubmitLabel?: string;\n categoryFilter?: {\n label?: string;\n resetLabel?: string;\n };\n textFilter?: {\n placeholder?: string;\n icon?: (isInverted?: boolean) => React.ReactNode;\n submitIcon?: (isInverted?: boolean) => React.ReactNode;\n clearIcon?: (isInverted?: boolean) => React.ReactNode;\n };\n closeIcon?: (isInverted?: boolean) => React.ReactNode;\n filterIcon?: (isInverted?: boolean) => React.ReactNode;\n indicator?: (props: {\n isOpen: boolean;\n isDisabled?: boolean;\n }) => React.ReactNode;\n}\n\nconst PointOfInterestMap: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Size mode */\n size?: 'default' | 'large';\n\n /** Array of POI card settings */\n pois?: MapPOI[];\n\n /** Use geolocation for own position */\n showOwnPosition?: boolean;\n\n /** Map tile provider */\n provider?: string;\n\n /** Map attribution text (richtext) */\n attribution?: string;\n\n /** Initial center of the map */\n center?: [number, number];\n\n /** Initial map zoom */\n zoom?: number;\n\n /** Min map zoom */\n minZoom?: number;\n\n /** Max map zoom */\n maxZoom?: number;\n\n /** Zoom if map jumps to location */\n flyToZoom?: number;\n\n /** Initial location */\n initialPointOfInterest?: string;\n\n /** Show all markers on first load */\n allMarkersOnInit?: boolean;\n\n /** Restrict map to bounds of markers area */\n restrictToMarkersArea?: boolean;\n\n /** Map container padding for show all markers */\n fitBoundsPadding?: [number, number];\n\n /** Function to inject custom fact node into MapCard */\n customFact?: (props: { key: React.Key; name: string }) => React.ReactNode;\n\n /** Custom current position marker */\n currentPosMarker?: LocationIcon;\n\n /** Custom card close icon */\n customCardClose?: React.ReactNode;\n\n /** Custom icon for my location request button */\n customLocationRequest?: React.ReactNode;\n\n /** Initial POI filter states */\n initialPoiFilters?: FilterState;\n\n /** POI filter settings */\n poiFilters?: PoiMapFilters;\n customPoiFilters?: (props: {\n pois: MapPOI[];\n filters: FilterState;\n setFilters: React.Dispatch<React.SetStateAction<FilterState>>;\n settings?: PoiMapFilters;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n size,\n pois,\n initialPointOfInterest = '',\n provider,\n attribution,\n center = [51.505, -0.09],\n zoom = 5,\n fitBoundsPadding,\n allMarkersOnInit = false,\n restrictToMarkersArea = true,\n showOwnPosition,\n flyToZoom,\n customFact,\n currentPosMarker,\n customCardClose,\n customLocationRequest,\n initialPoiFilters,\n poiFilters,\n customPoiFilters,\n}) => {\n const isLarge = size === 'large';\n const { colors, globals } = useLibTheme();\n\n const [activePoiId, setActivePoiId] = useState<string>(\n initialPointOfInterest || ''\n );\n const [isDirty, setIsDirty] = useState<boolean>(false);\n\n const [filters, setFilters] = useState<FilterState>(\n initialPoiFilters || {\n categoryFilter: [],\n textFilter: '',\n }\n );\n\n const categories = useMemo(() => {\n return pois?.reduce<string[]>((acc, poi) => {\n const newCategories = [...acc];\n\n for (const fact of poi.facts || []) {\n if (!newCategories.includes(fact)) {\n newCategories.push(fact);\n }\n }\n\n return newCategories;\n }, []);\n }, [pois]);\n\n const activePois = useMemo(() => {\n const matches =\n getFilterMatches<MapPOI>(\n filters?.textFilter || '',\n filters?.categoryFilter || [],\n pois || []\n ) || pois;\n\n return Array.from(matches).map((m) => m[1].item) as MapPOI[];\n }, [filters?.textFilter, filters?.categoryFilter, pois]);\n\n const activePOI = useMemo(() => {\n return activePois?.find((poi) => poi.id === activePoiId);\n }, [activePoiId, activePois]);\n\n const {\n isSupported: isGeolocationSupported,\n location,\n reset: resetGeolocation,\n // error,\n } = useGeolocation(true, false);\n\n const mapMarkers = useMemo(() => {\n const defaultMarker: LocationIcon = {\n size: [28, 28],\n anchor: [14, 28],\n sizeActive: [70, 70],\n anchorActive: [35, 70],\n url: getSVGData(<LocationPin />),\n };\n\n // marker of own position\n const defaultPosMarker: LocationIcon = {\n size: [24, 24],\n anchor: [12, 12],\n sizeActive: [24, 24],\n anchorActive: [12, 12],\n url: getSVGData(<CurrentLocation iconColor=\"#5383EC\" />),\n };\n\n const markers: LeafletMapMarker[] =\n activePois\n ?.filter((poi) => poi.id !== undefined)\n ?.map(({ id, position, icon }) => ({\n id,\n position,\n icon: icon || defaultMarker,\n isInteractive: true,\n })) || [];\n\n if (\n isGeolocationSupported &&\n location?.coords.latitude &&\n location?.coords.longitude\n ) {\n markers.push({\n id: 'my-current-position-123456789',\n position: [location.coords.latitude, location.coords.longitude],\n icon: currentPosMarker || defaultPosMarker,\n });\n }\n\n return markers;\n }, [\n currentPosMarker,\n isGeolocationSupported,\n location?.coords.latitude,\n location?.coords.longitude,\n activePois,\n ]);\n\n const {\n isLoaded,\n setContainer: setMapContainer,\n flyToActive,\n showAllMarkers,\n flyToPosition,\n getCurrentZoom,\n } = useLeafletMap({\n url: provider,\n attribution,\n center,\n zoom,\n activeMarkerId: activePoiId,\n markers: mapMarkers,\n fitBoundsPadding,\n restrictToMarkersArea,\n showZoomControls: true,\n zoomControlPosition: 'bottomleft',\n onMarkerClick: (markerId) => {\n setActivePoiId((prev) => {\n if (prev === markerId) {\n return '';\n }\n return markerId;\n });\n },\n });\n\n useEffect(() => {\n if (isLoaded && !isDirty) {\n if (allMarkersOnInit) showAllMarkers();\n } else {\n const currentZoom = getCurrentZoom();\n let zoom = flyToZoom;\n if (flyToZoom !== undefined && currentZoom > flyToZoom) {\n zoom = currentZoom;\n }\n\n flyToActive(zoom);\n }\n }, [\n activePoiId,\n allMarkersOnInit,\n flyToActive,\n flyToZoom,\n getCurrentZoom,\n initialPointOfInterest,\n isDirty,\n isLoaded,\n showAllMarkers,\n ]);\n\n useEffect(() => {\n if (!isDirty && activePoiId !== initialPointOfInterest) {\n setIsDirty(true);\n }\n }, [activePoiId, initialPointOfInterest, isDirty]);\n\n const handleLocationRequest = async () => {\n if (location?.coords?.latitude && location?.coords?.longitude) {\n const currentZoom = getCurrentZoom();\n let zoom = flyToZoom;\n if (flyToZoom !== undefined && currentZoom > flyToZoom) {\n zoom = currentZoom;\n }\n\n flyToPosition(\n [location.coords.latitude, location.coords.longitude],\n zoom\n );\n } else {\n try {\n const position = await resetGeolocation();\n if (position) showAllMarkers();\n } catch (err) {\n // console.log(err);\n }\n }\n };\n\n const filterName = globals.sections.poiFilterName;\n const factFiltername = globals.sections.poiFactFilterName;\n\n useEffect(() => {\n if (filters.textFilter) {\n setUrlParam(filterName, filters.textFilter);\n } else {\n deleteUrlParam(filterName);\n }\n\n if (isValidArray(filters.categoryFilter, false)) {\n setUrlParam(factFiltername, filters.categoryFilter.join(','));\n } else {\n deleteUrlParam(factFiltername);\n }\n }, [\n filterName,\n factFiltername,\n filters.textFilter,\n filters.categoryFilter,\n ]);\n\n useEffect(() => {\n setActivePoiId('');\n setIsDirty(false);\n }, [filters]);\n\n return (\n <PoiMapSection\n anchorId={anchorId}\n bgColor=\"image\"\n bgMode=\"full\"\n isLarge={isLarge}\n >\n <Wrapper clampWidth={isLarge ? 'large' : 'normal'}>\n <MapContainer>\n <Map ref={setMapContainer} isLarge={size === 'large'} />\n {(showOwnPosition || poiFilters) && (\n <Overlay>\n {showOwnPosition && (\n <RequestGeolocationBtn\n onClick={handleLocationRequest}\n >\n {customLocationRequest || (\n <MyLocation\n iconColor={colors.text.default}\n />\n )}\n </RequestGeolocationBtn>\n )}\n {poiFilters ? (\n customPoiFilters ? (\n customPoiFilters({\n filters,\n setFilters,\n pois: pois || [],\n settings: poiFilters,\n })\n ) : (\n <PoiPartials.PoiFilterBar\n value={filters}\n onChange={setFilters}\n textFilter={\n poiFilters?.textFilter || undefined\n }\n categoryFilter={\n poiFilters?.categoryFilter\n ? {\n ...poiFilters.categoryFilter,\n items: categories?.map(\n (cat) =>\n ({\n value: cat,\n label: cat,\n } || [])\n ),\n }\n : undefined\n }\n mobileSubmitLabel={\n poiFilters?.mobileSubmitLabel\n }\n closeIcon={poiFilters?.closeIcon}\n toggleLabel={poiFilters?.toggleLabel}\n filterIcon={poiFilters?.filterIcon}\n indicator={poiFilters?.indicator}\n />\n )\n ) : null}\n </Overlay>\n )}\n {activePOI && activePOI.name && (\n <CardStage\n onClick={(ev) => {\n if (ev.target !== ev.currentTarget) return;\n setActivePoiId('');\n }}\n >\n <MapCard\n {...activePOI}\n onClose={() => setActivePoiId('')}\n customFact={customFact}\n customClose={customCardClose}\n />\n </CardStage>\n )}\n </MapContainer>\n </Wrapper>\n </PoiMapSection>\n );\n};\n\nexport const PointOfInterestMapComponent = PointOfInterestMap;\nexport default withLibTheme(PointOfInterestMap);\n"],"names":["StyledImage","styled","Image","templateObject_1","__makeTemplateObject","spacings","spacer","Facts","POIFacts","templateObject_2","PoiTitle","Heading","templateObject_3","nudge","PoiText","Copy","templateObject_4","PointOfInterestDetail","_a","anchorId","image","title","intro","text","facts","infos","bgMode","customFact","colors","useLibTheme","isInverted","hasBg","hasInfos","useMemo","isValidArray","filter","info","items","React","createElement","Section","addSeperation","bgColor","sectionBg","dark","medium","light","mapToBgMode","Wrapper","addWhitespace","small","coverSpace","allowEdgeRadius","Grid","Row","gutter","semilarge","Col","span","size","type","innerHTML","InfoList","withLibTheme","poiExactNameFilter","filterQuery","value","regex","RegExp","test","name","poiSoftNameFilter","preparedQuery","toLowerCase","replace","preparedName","poiFactFilter","result","find","fact","preparedFact","poiInfoFilter","preparedText","poiDescriptionFilter","shortDescription","preparedDesc","removeMatchIntersections","array","item","m","prioItem","id","filterPois","pois","prioList","poi","undefined","exactNameMatches","push","apply","map","match","priority","nameMatches","factMatches","infoMatches","descMatches","getFilterMatches","categoryFilters","searchMatches","Map","length","items_1","_i","set","items_2","_b","some","includes","matches","escapeRegExp","matches_1","_c","has","PoiFilterBar","hasBorders","onChange","textFilter","categoryFilter","mobileSubmitLabel","closeIcon","toggleLabel","filterIcon","indicator","className","FilterBar","placeholder","icon","Magnifier","width","height","submitIcon","clearIcon","CrossBubble","label","resetLabel","Cross","Filter","POISection","Content","div","mq","large","PoiOverviewFilterBar","PoiPartials","theme","color","elementBg","globals","sections","edgeRadius","PointOfInterestOverview","initialPoiFilters","poiFilters","customPoiFilters","filterName","poiFilterName","factFiltername","poiFactFilterName","_d","useState","filters","setFilters","categories","reduce","acc","newCategories","__spreadArray","poiMatches","Array","from","useEffect","setUrlParam","deleteUrlParam","join","settings","cat","sort","a","b","i","POICard","__assign","key","genHeightStyles","css","mainIdent","genIdent","pageFlow","hasMain","mainTopIdent","hasTop","mainBottomIdent","hasBottom","fullIdent","navMainHeight","getNavHeight","navMainTopHeight","navMainBottomHeight","navFullHeight","mapToSelector","idents","concat","refHeight","split","PoiMapSection","isLarge","withRange","MapContainer","templateObject_5","RequestGeolocationBtn","button","primary","default","CardStage","templateObject_7","MapCardView","global","MapCardHeader","header","templateObject_9","CloseBtn","Overlay","templateObject_11","MapCard","description","action","customClose","onClose","onClick","iconColor","PointOfInterestMap","initialPointOfInterest","provider","attribution","center","zoom","fitBoundsPadding","_e","allMarkersOnInit","_f","restrictToMarkersArea","showOwnPosition","flyToZoom","currentPosMarker","customCardClose","customLocationRequest","_g","_h","activePoiId","setActivePoiId","_j","isDirty","setIsDirty","_k","activePois","activePOI","_l","useGeolocation","isGeolocationSupported","isSupported","location","resetGeolocation","mapMarkers","defaultMarker","anchor","sizeActive","anchorActive","url","getSVGData","LocationPin","defaultPosMarker","CurrentLocation","markers","position","isInteractive","coords","latitude","longitude","_m","useLeafletMap","activeMarkerId","showZoomControls","zoomControlPosition","onMarkerClick","markerId","prev","isLoaded","setMapContainer","setContainer","flyToActive","showAllMarkers","flyToPosition","getCurrentZoom","currentZoom","zoom_1","handleLocationRequest","__awaiter","zoom_2","sent","clampWidth","ref","MyLocation","ev","target","currentTarget"],"mappings":"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"}
1
+ {"version":3,"file":"sections.pois.js","sources":["../src/components/sections/pois/PointOfInterestDetail.tsx","../src/components/sections/pois/filters.ts","../src/components/sections/pois/partials/PoiFilterBar.tsx","../src/components/sections/pois/PointOfInterestOverview.tsx","../src/components/sections/pois/PointOfInterestMap.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport { spacings } from 'utils/styles';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport Grid from 'components/base/Grid';\nimport InfoList, { InfoGroup } from 'components/blocks/InfoList';\nimport POIFacts from 'components/blocks/POIFacts';\nimport { isValidArray } from 'utils/arrays';\n\nconst StyledImage = styled(Image)`\n &:not(:last-child) {\n margin-bottom: ${spacings.spacer}px;\n }\n`;\n\nconst Facts = styled(POIFacts)`\n max-width: 880px;\n`;\n\nconst PoiTitle = styled(Heading)`\n max-width: 880px;\n\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst PoiText = styled(Copy)`\n max-width: 880px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst PointOfInterestDetail: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** POI image */\n image?: Omit<ImageProps, 'coverSpace'>;\n\n /** POI title */\n title?: string;\n\n /** POI intro text */\n intro?: string;\n\n /** POI text (richtext) */\n text?: string;\n\n /** Array of POI facts */\n facts?: string[];\n\n /** Additional POI infos */\n infos?: InfoGroup[];\n\n /** Section background */\n bgMode?: 'inverted' | 'full';\n\n /** Function to inject custom feature node */\n customFact?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n image,\n title,\n intro,\n text,\n facts,\n infos,\n bgMode,\n customFact,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n const hasInfos = useMemo(() => {\n return isValidArray(\n infos?.filter((info) => isValidArray(info.items, false)),\n false\n );\n }, [infos]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {image?.small && (\n <StyledImage\n {...image}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n />\n )}\n <Grid.Row\n gutter={spacings.nudge * 5}\n semilarge={{ gutter: spacings.spacer }}\n >\n <Grid.Col semilarge={{ span: hasInfos ? 5.7 / 8 : 1 }}>\n {title && (\n <PoiTitle size=\"heading-2\" isInverted={isInverted}>\n {title}\n </PoiTitle>\n )}\n {isValidArray(facts, false) && (\n <Facts\n isInverted={isInverted}\n facts={facts}\n customFact={customFact}\n />\n )}\n {intro && (\n <PoiText\n size=\"medium\"\n type=\"copy-b\"\n isInverted={isInverted}\n innerHTML={intro}\n />\n )}\n {text && (\n <PoiText\n size=\"medium\"\n isInverted={isInverted}\n innerHTML={text}\n />\n )}\n </Grid.Col>\n {hasInfos && (\n <Grid.Col semilarge={{ span: 2.3 / 8 }}>\n <InfoList isInverted={isInverted} items={infos} />\n </Grid.Col>\n )}\n </Grid.Row>\n </Wrapper>\n </Section>\n );\n};\n\nexport const PointOfInterestDetailComponent = PointOfInterestDetail;\nexport default withLibTheme(PointOfInterestDetail);\n","import { POICardProps } from 'components/blocks/POICard';\nimport { isValidArray } from 'hooks';\nimport { escapeRegExp } from 'utils/escape';\n\nexport type POIData = Pick<\n POICardProps,\n 'name' | 'facts' | 'infos' | 'shortDescription'\n> & { id: string };\n\nexport interface FilterMatch {\n item: POIData;\n priority: number;\n}\n\nconst poiExactNameFilter =\n <T extends POIData>(filterQuery: string) =>\n (value: T) => {\n const regex = new RegExp(filterQuery);\n return regex.test(value.name);\n };\n\nconst poiSoftNameFilter =\n <T extends POIData>(filterQuery: string) =>\n (value: T) => {\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const preparedName = value.name.toLowerCase().replace(/\\s/g, '');\n\n const regex = new RegExp(preparedQuery);\n return regex.test(preparedName);\n };\n\nconst poiFactFilter =\n (filterQuery: string) =>\n <T extends POIData>(value: T) => {\n if (!isValidArray(value.facts, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n const result = value.facts.find((fact) => {\n const preparedFact = fact.toLowerCase().replace(/\\s/g, '');\n return regex.test(preparedFact);\n });\n\n return !!result;\n };\n\nconst poiInfoFilter =\n (filterQuery: string) =>\n <T extends POIData>(value: T) => {\n if (!isValidArray(value?.infos, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n return !!value.infos.find((info) => {\n if (!info.text) return false;\n const preparedText = info.text.toLowerCase().replace(/\\s/g, '');\n return regex.test(preparedText);\n });\n };\n\nconst poiDescriptionFilter =\n (filterQuery: string) =>\n <T extends POIData>(value: T) => {\n if (!value.shortDescription) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const preparedDesc = value.shortDescription\n .toLowerCase()\n .replace(/\\s/g, '');\n\n const regex = new RegExp(preparedQuery);\n return regex.test(preparedDesc);\n };\n\nconst removeMatchIntersections = <T extends POIData>(\n array: FilterMatch[],\n item?: T[]\n) => {\n if (!item) return [];\n return item?.filter(\n (m) => !array.find((prioItem) => prioItem.item.id === m.id)\n );\n};\n\nconst filterPois = <T extends POIData>(filterQuery: string, pois: T[]) => {\n const prioList: FilterMatch[] = [];\n if (\n !isValidArray(\n pois?.filter((poi) => poi.id !== undefined),\n false\n )\n ) {\n return prioList;\n }\n\n // PRIO 1 Filter: Exact name\n const exactNameMatches = pois?.filter(poiExactNameFilter(filterQuery));\n if (isValidArray(exactNameMatches, false)) {\n prioList.push(\n ...exactNameMatches.map((match) => ({\n item: match,\n priority: 1,\n }))\n );\n }\n\n // PRIO 2 Filter: Name\n const nameMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiSoftNameFilter(filterQuery))\n );\n\n if (isValidArray(nameMatches, false)) {\n prioList.push(\n ...nameMatches.map((match) => ({\n item: match,\n priority: 2,\n }))\n );\n }\n\n // PRIO 3 Filter: Facts\n const factMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiFactFilter(filterQuery))\n );\n\n if (isValidArray(factMatches, false)) {\n prioList.push(\n ...factMatches.map((match) => ({\n item: match,\n priority: 3,\n }))\n );\n }\n\n // PRIO 4 Filter: Description\n const infoMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiInfoFilter(filterQuery))\n );\n\n if (isValidArray(infoMatches, false)) {\n prioList.push(\n ...infoMatches.map((match) => ({\n item: match,\n priority: 4,\n }))\n );\n }\n\n // PRIO 5 Filter: Description\n const descMatches = removeMatchIntersections(\n prioList,\n pois?.filter(poiDescriptionFilter(filterQuery))\n );\n\n if (isValidArray(descMatches, false)) {\n prioList.push(\n ...descMatches.map((match) => ({\n item: match,\n priority: 5,\n }))\n );\n }\n\n return prioList;\n};\n\nexport const getFilterMatches = <T extends POIData>(\n filterQuery: string,\n categoryFilters: string[],\n items: T[]\n) => {\n const searchMatches: Map<string, FilterMatch> = new Map();\n\n if (!filterQuery && !categoryFilters.length) {\n for (const item of items) {\n searchMatches.set(item.id, {\n item,\n priority: 0,\n });\n }\n }\n\n for (const item of items) {\n if (item.facts?.some((fact) => categoryFilters.includes(fact))) {\n searchMatches.set(item.id, {\n item,\n priority: 1,\n });\n }\n }\n\n // tracking matches of each query part\n const matches = filterQuery\n ? filterPois(escapeRegExp(filterQuery), items || [])\n : [];\n\n for (const match of matches) {\n if (searchMatches.has(match.item.id)) continue;\n searchMatches.set(match.item.id, match);\n }\n\n return searchMatches;\n};\n","import Cross from 'components/base/icons/Cross';\nimport CrossBubble from 'components/base/icons/CrossBubble';\nimport Filter from 'components/base/icons/Filter';\nimport Magnifier from 'components/base/icons/Magnifier';\nimport FilterBar, { FilterBarProps } from 'components/blocks/FilterBar';\nimport React, { FC } from 'react';\n\nconst PoiFilterBar: FC<\n FilterBarProps & { isInverted?: boolean; className?: string }\n> = ({\n hasBorders,\n value,\n onChange,\n textFilter,\n categoryFilter,\n mobileSubmitLabel,\n closeIcon,\n toggleLabel,\n filterIcon,\n indicator,\n isInverted,\n className,\n}) => {\n return (\n <FilterBar\n isInverted={isInverted}\n hasBorders={hasBorders}\n value={value}\n onChange={onChange}\n textFilter={\n textFilter\n ? {\n placeholder: textFilter.placeholder || 'Search...',\n icon: textFilter.icon\n ? textFilter.icon\n : () => <Magnifier width={18} height={18} />,\n submitIcon: textFilter.submitIcon\n ? textFilter.submitIcon\n : () => null,\n clearIcon: textFilter.clearIcon\n ? textFilter.clearIcon\n : () => <CrossBubble />,\n }\n : undefined\n }\n categoryFilter={\n categoryFilter\n ? {\n label: categoryFilter.label || 'Categories',\n items: categoryFilter.items || [],\n resetLabel:\n categoryFilter.resetLabel || 'reset selection',\n }\n : undefined\n }\n mobileSubmitLabel={mobileSubmitLabel || 'Apply filters'}\n closeIcon={closeIcon ? closeIcon : () => <Cross />}\n toggleLabel={toggleLabel || 'Search & Filter'}\n filterIcon={filterIcon ? filterIcon : () => <Filter />}\n indicator={indicator}\n className={className}\n />\n );\n};\n\nexport default PoiFilterBar;\n","import Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { Info } from 'components/blocks/InfoList';\nimport POICard, { POICardProps } from 'components/blocks/POICard';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { mq, spacings, getColors as color } from 'utils/styles';\nimport { deleteUrlParam, setUrlParam } from 'utils/urlParams';\nimport { FilterState } from 'components/blocks/FilterBar';\nimport { getFilterMatches } from './filters';\nimport * as PoiPartials from 'components/sections/pois/partials';\n\nconst POISection = styled(Section)`\n overflow: visible;\n`;\n\nconst Content = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n\n & > * + * {\n margin-top: ${spacings.nudge * 5}px;\n }\n\n @media ${mq.large} {\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n }\n`;\n\nconst PoiOverviewFilterBar = styled(PoiPartials.PoiFilterBar)`\n // margin to show prevent section overflow outline\n margin-top: 2px;\n border: solid 1px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n border-radius: ${({ theme }) => theme.globals.sections.edgeRadius};\n\n &:not(:last-child) {\n margin-bottom: ${spacings.nudge * 5}px;\n }\n\n @media ${mq.medium} {\n border: none;\n }\n`;\n\ninterface CardProps extends POICardProps {\n id: string;\n infos?: Array<Info & { allowFiltering?: boolean }>;\n}\n\nexport type PointOfInterestOverviewItem = Omit<CardProps, 'isInverted'>;\n\nexport interface PoiOverviewFilters {\n toggleLabel?: string;\n mobileSubmitLabel?: string;\n categoryFilter?: {\n label?: string;\n resetLabel?: string;\n };\n textFilter?: {\n placeholder?: string;\n icon?: (isInverted?: boolean) => React.ReactNode;\n submitIcon?: (isInverted?: boolean) => React.ReactNode;\n clearIcon?: (isInverted?: boolean) => React.ReactNode;\n };\n closeIcon?: (isInverted?: boolean) => React.ReactNode;\n filterIcon?: (isInverted?: boolean) => React.ReactNode;\n indicator?: (props: {\n isOpen: boolean;\n isDisabled?: boolean;\n }) => React.ReactNode;\n}\n\nexport interface PointOfInterestCustomFilterFnProps {\n pois: PointOfInterestOverviewItem[];\n filters: FilterState;\n setFilters: React.Dispatch<React.SetStateAction<FilterState>>;\n settings?: PoiOverviewFilters;\n}\nexport type PointOfInterestCustomFilterFn = (\n props: PointOfInterestCustomFilterFnProps\n) => React.ReactNode;\n\nconst PointOfInterestOverview: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of POI card settings */\n pois?: PointOfInterestOverviewItem[];\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Initial POI filter states */\n initialPoiFilters?: FilterState;\n\n /** POI filter settings */\n poiFilters?: PoiOverviewFilters;\n customPoiFilters?: PointOfInterestCustomFilterFn;\n\n /** Custom POI filter function */\n listAriaLabel?: string;\n}> = ({\n anchorId,\n bgMode,\n pois,\n initialPoiFilters,\n poiFilters,\n customPoiFilters,\n listAriaLabel = 'List of card items with points of interest',\n}) => {\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.poiFilterName;\n const factFiltername = globals.sections.poiFactFilterName;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const [filters, setFilters] = useState<FilterState>(\n initialPoiFilters || {\n categoryFilter: [],\n textFilter: '',\n }\n );\n\n const categories = useMemo(() => {\n return pois?.reduce<string[]>((acc, poi) => {\n const newCategories = [...acc];\n\n for (const fact of poi.facts || []) {\n if (!newCategories.includes(fact)) {\n newCategories.push(fact);\n }\n }\n\n return newCategories;\n }, []);\n }, [pois]);\n\n const poiMatches = useMemo(() => {\n const matches =\n getFilterMatches<PointOfInterestOverviewItem>(\n filters?.textFilter || '',\n filters?.categoryFilter || [],\n pois || []\n ) || pois;\n\n return Array.from(matches).map((m) => m[1]);\n }, [filters?.textFilter, filters?.categoryFilter, pois]);\n\n useEffect(() => {\n if (filters.textFilter) {\n setUrlParam(filterName, filters.textFilter);\n } else {\n deleteUrlParam(filterName);\n }\n\n if (isValidArray(filters.categoryFilter, false)) {\n setUrlParam(factFiltername, filters.categoryFilter.join(','));\n } else {\n deleteUrlParam(factFiltername);\n }\n }, [\n filterName,\n factFiltername,\n filters.textFilter,\n filters.categoryFilter,\n ]);\n\n return (\n <POISection\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : hasBg\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {poiFilters ? (\n customPoiFilters ? (\n customPoiFilters?.({\n filters,\n setFilters,\n pois: pois || [],\n settings: poiFilters,\n })\n ) : (\n <PoiOverviewFilterBar\n hasBorders\n value={filters}\n onChange={setFilters}\n textFilter={poiFilters?.textFilter || undefined}\n categoryFilter={\n poiFilters?.categoryFilter\n ? {\n ...poiFilters.categoryFilter,\n items: categories?.map(\n (cat) =>\n ({\n value: cat,\n label: cat,\n } || [])\n ),\n }\n : undefined\n }\n mobileSubmitLabel={poiFilters?.mobileSubmitLabel}\n closeIcon={poiFilters?.closeIcon}\n toggleLabel={poiFilters?.toggleLabel}\n filterIcon={poiFilters?.filterIcon}\n indicator={poiFilters?.indicator}\n isInverted={isInverted}\n />\n )\n ) : null}\n <Content aria-label={listAriaLabel}>\n {poiMatches\n ?.sort((a, b) => a.priority - b.priority)\n ?.map((poi, i) => (\n <POICard\n key={i}\n {...poi.item}\n renderAs=\"li\"\n isInverted={isInverted}\n />\n ))}\n </Content>\n </Wrapper>\n </POISection>\n );\n};\n\nexport const PointOfInterestOverviewComponent = PointOfInterestOverview;\nexport default withLibTheme(PointOfInterestOverview);\n","import React, { FC, useEffect, useMemo, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Section from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport useLeafletMap, { LeafletMapMarker } from 'utils/useLeafletMap';\nimport {\n mq,\n withRange,\n getColors as color,\n getGlobals as global,\n spacings,\n} from 'utils/styles';\nimport {\n generateNavbarIdent as genIdent,\n getFullNavbarHeights as getNavHeight,\n} from '../navigation/Navigation';\nimport { getSVGDataImg as getSVGData } from 'utils/dataURI';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport Copy from 'components/typography/Copy';\nimport { isValidArray } from 'utils/arrays';\nimport POIFacts from 'components/blocks/POIFacts';\nimport InfoList, { Info } from 'components/blocks/InfoList';\nimport useGeolocation from 'utils/useGeolocation';\nimport CurrentLocation from 'components/base/icons/CurrentLocation';\nimport Cross from 'components/base/icons/Cross';\nimport MyLocation from 'components/base/icons/MyLocation';\nimport { FilterState } from 'components/blocks/FilterBar';\nimport { getFilterMatches } from './filters';\n\nimport * as PoiPartials from 'components/sections/pois/partials';\nimport { deleteUrlParam, setUrlParam } from 'hooks';\n\nconst genHeightStyles = () => css`\n // Doing some crazy shit to calculate curent navbar height in CSS\n ${({ theme }) => {\n // navbar main only\n const mainIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n });\n\n // navbar main and top\n const mainTopIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasTop: true,\n });\n\n // navbar main and bottom\n const mainBottomIdent = genIdent({\n pageFlow: 'beforeContent',\n hasMain: true,\n hasBottom: true,\n });\n\n // full navbar with all bars\n const fullIdent = genIdent({\n pageFlow: 'beforeContent',\n hasTop: true,\n hasMain: true,\n hasBottom: true,\n });\n\n const navMainHeight = getNavHeight(theme, mainIdent).large;\n const navMainTopHeight = getNavHeight(theme, mainTopIdent).large;\n const navMainBottomHeight = getNavHeight(theme, mainBottomIdent).large;\n const navFullHeight = getNavHeight(theme, fullIdent).large;\n\n const mapToSelector = (idents: string[]) => {\n return idents.map((id) => `[data-navbar-ident*='${id}']`).join('');\n };\n\n const refHeight = '100vh';\n\n return css`\n ${Map} {\n height: ${refHeight};\n }\n\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainHeight[0]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainTopHeight[0]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainBottomHeight[0]}px);\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navFullHeight[0]}px);\n }\n }\n\n @media ${mq.semilarge} {\n // with main navbar element\n header${mapToSelector(mainIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainHeight[1]}px);\n }\n }\n\n // with main and top navbar elements\n header${mapToSelector(mainTopIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navMainTopHeight[1]}px);\n }\n }\n\n // with main and bottom navbar elements\n header${mapToSelector(mainBottomIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(\n ${refHeight} - ${navMainBottomHeight[1]}px\n );\n }\n }\n\n // with all navbar elements\n header${mapToSelector(fullIdent.split('-'))} ~ & {\n ${Map} {\n height: calc(${refHeight} - ${navFullHeight[1]}px);\n }\n }\n }\n `;\n }}\n`;\n\nconst PoiMapSection = styled(Section)<{ isLarge?: boolean }>`\n position: relative;\n ${({ isLarge }) => isLarge && genHeightStyles()}\n\n header + & {\n ${withRange([0], 'padding-top')}\n ${withRange([0], 'margin-top')}\n }\n`;\n\nconst MapContainer = styled.div`\n position: relative;\n`;\n\nconst Map = styled.div<{ isLarge?: boolean }>`\n min-height: 360px;\n height: 360px;\n max-height: 1300px;\n z-index: 0;\n\n @media ${mq.medium} {\n height: 600px;\n min-height: 600px;\n }\n`;\n\nconst RequestGeolocationBtn = styled.button`\n background-color: transparent;\n border: none;\n padding: ${spacings.nudge}px;\n cursor: pointer;\n\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n opacity: 0.6;\n }\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n transform: scale(1.012);\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n & > * {\n width: 30px;\n height: 30px;\n }\n`;\n\nconst CardStage = styled.div`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 10;\n\n display: flex;\n align-items: flex-end;\n justify-content: flex-end;\n\n pointer-events: all;\n background-color: rgba(255, 255, 255, 0.8);\n\n @media ${mq.medium} {\n position: absolute;\n background-color: transparent;\n padding: ${spacings.nudge * 2}px;\n padding-bottom: ${spacings.nudge * 3}px;\n\n pointer-events: none;\n }\n`;\n\nconst MapCardView = styled.div`\n max-height: 100%;\n width: 100%;\n padding: ${spacings.nudge * 2}px;\n overflow: auto;\n\n background: ${({ theme }) => color(theme).elementBg.light};\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.3);\n pointer-events: all;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.medium} {\n max-width: 400px;\n }\n`;\n\nconst MapCardHeader = styled.header`\n display: flex;\n align-items: center;\n`;\n\nconst CloseBtn = styled.button`\n display: inline-block;\n border: none;\n background-color: transparent;\n cursor: pointer;\n margin-left: auto;\n padding: ${spacings.nudge}px;\n\n transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n opacity: 0.6;\n }\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n transform: scale(1.012);\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n`;\n\nconst Overlay = styled.div`\n position: absolute;\n top: ${spacings.nudge * 2}px;\n left: ${spacings.nudge * 2}px;\n width: 100%;\n\n display: flex;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst MapCard: FC<{\n name?: string;\n facts?: string[];\n description?: string;\n infos?: Info[];\n\n action?: React.ReactNode;\n onClose?: () => void;\n customFact?: (props: { key: React.Key; name: string }) => React.ReactNode;\n customClose?: React.ReactNode;\n\n className?: string;\n}> = ({\n name,\n facts,\n description,\n infos,\n action,\n customFact,\n customClose,\n onClose,\n className,\n}) => {\n const { colors } = useLibTheme();\n\n return (\n <MapCardView className={className}>\n <MapCardHeader>\n {name && (\n <Copy type=\"copy-b\" size=\"big\">\n {name}\n </Copy>\n )}\n <CloseBtn onClick={onClose}>\n {customClose || <Cross iconColor={colors.text.default} />}\n </CloseBtn>\n </MapCardHeader>\n {isValidArray(facts, false) && (\n <POIFacts facts={facts} customFact={customFact} />\n )}\n {description && (\n <Copy type=\"copy\" size=\"small\" innerHTML={description} />\n )}\n {isValidArray(infos, false) && (\n <InfoList\n items={[\n {\n items: infos,\n },\n ]}\n />\n )}\n {action && action}\n </MapCardView>\n );\n};\n\nexport interface LocationIcon {\n url: string;\n size: [number, number];\n anchor: [number, number];\n\n sizeActive: [number, number];\n anchorActive: [number, number];\n}\n\nexport interface MapPOI {\n /** Unique ID */\n id: string;\n\n /** Latitude and Longitude of item position */\n position: [number, number];\n\n /** Marker icon settings */\n icon?: LocationIcon;\n\n /** POI name */\n name: string;\n\n /** POI short description text */\n description?: string;\n\n /** Array of POI facts */\n facts?: string[];\n\n /** Array of additional POI informations */\n infos?: Info[];\n\n /** Function to inject custom action node */\n action?: React.ReactNode;\n}\n\nexport interface PoiMapFilters {\n toggleLabel?: string;\n mobileSubmitLabel?: string;\n categoryFilter?: {\n label?: string;\n resetLabel?: string;\n };\n textFilter?: {\n placeholder?: string;\n icon?: (isInverted?: boolean) => React.ReactNode;\n submitIcon?: (isInverted?: boolean) => React.ReactNode;\n clearIcon?: (isInverted?: boolean) => React.ReactNode;\n };\n closeIcon?: (isInverted?: boolean) => React.ReactNode;\n filterIcon?: (isInverted?: boolean) => React.ReactNode;\n indicator?: (props: {\n isOpen: boolean;\n isDisabled?: boolean;\n }) => React.ReactNode;\n}\n\nconst PointOfInterestMap: FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Size mode */\n size?: 'default' | 'large';\n\n /** Array of POI card settings */\n pois?: MapPOI[];\n\n /** Use geolocation for own position */\n showOwnPosition?: boolean;\n\n /** Map tile provider */\n provider?: string;\n\n /** Map attribution text (richtext) */\n attribution?: string;\n\n /** Initial center of the map */\n center?: [number, number];\n\n /** Initial map zoom */\n zoom?: number;\n\n /** Min map zoom */\n minZoom?: number;\n\n /** Max map zoom */\n maxZoom?: number;\n\n /** Zoom if map jumps to location */\n flyToZoom?: number;\n\n /** Initial location */\n initialPointOfInterest?: string;\n\n /** Show all markers on first load */\n allMarkersOnInit?: boolean;\n\n /** Restrict map to bounds of markers area */\n restrictToMarkersArea?: boolean;\n\n /** Map container padding for show all markers */\n fitBoundsPadding?: [number, number];\n\n /** Function to inject custom fact node into MapCard */\n customFact?: (props: { key: React.Key; name: string }) => React.ReactNode;\n\n /** Custom current position marker */\n currentPosMarker?: LocationIcon;\n\n /** Custom card close icon */\n customCardClose?: React.ReactNode;\n\n /** Custom icon for my location request button */\n customLocationRequest?: React.ReactNode;\n\n /** Initial POI filter states */\n initialPoiFilters?: FilterState;\n\n /** POI filter settings */\n poiFilters?: PoiMapFilters;\n customPoiFilters?: (props: {\n pois: MapPOI[];\n filters: FilterState;\n setFilters: React.Dispatch<React.SetStateAction<FilterState>>;\n settings?: PoiMapFilters;\n }) => React.ReactNode;\n}> = ({\n anchorId,\n size,\n pois,\n initialPointOfInterest = '',\n provider,\n attribution,\n center = [51.505, -0.09],\n zoom = 5,\n fitBoundsPadding,\n allMarkersOnInit = false,\n restrictToMarkersArea = true,\n showOwnPosition,\n flyToZoom,\n customFact,\n currentPosMarker,\n customCardClose,\n customLocationRequest,\n initialPoiFilters,\n poiFilters,\n customPoiFilters,\n}) => {\n const isLarge = size === 'large';\n const { colors, globals } = useLibTheme();\n\n const [activePoiId, setActivePoiId] = useState<string>(\n initialPointOfInterest || ''\n );\n const [isDirty, setIsDirty] = useState<boolean>(false);\n\n const [filters, setFilters] = useState<FilterState>(\n initialPoiFilters || {\n categoryFilter: [],\n textFilter: '',\n }\n );\n\n const categories = useMemo(() => {\n return pois?.reduce<string[]>((acc, poi) => {\n const newCategories = [...acc];\n\n for (const fact of poi.facts || []) {\n if (!newCategories.includes(fact)) {\n newCategories.push(fact);\n }\n }\n\n return newCategories;\n }, []);\n }, [pois]);\n\n const activePois = useMemo(() => {\n const matches =\n getFilterMatches<MapPOI>(\n filters?.textFilter || '',\n filters?.categoryFilter || [],\n pois || []\n ) || pois;\n\n return Array.from(matches).map((m) => m[1].item) as MapPOI[];\n }, [filters?.textFilter, filters?.categoryFilter, pois]);\n\n const activePOI = useMemo(() => {\n return activePois?.find((poi) => poi.id === activePoiId);\n }, [activePoiId, activePois]);\n\n const {\n isSupported: isGeolocationSupported,\n location,\n reset: resetGeolocation,\n // error,\n } = useGeolocation(true, false);\n\n const mapMarkers = useMemo(() => {\n const defaultMarker: LocationIcon = {\n size: [28, 28],\n anchor: [14, 28],\n sizeActive: [70, 70],\n anchorActive: [35, 70],\n url: getSVGData(<LocationPin />),\n };\n\n // marker of own position\n const defaultPosMarker: LocationIcon = {\n size: [24, 24],\n anchor: [12, 12],\n sizeActive: [24, 24],\n anchorActive: [12, 12],\n url: getSVGData(<CurrentLocation iconColor=\"#5383EC\" />),\n };\n\n const markers: LeafletMapMarker[] =\n activePois\n ?.filter((poi) => poi.id !== undefined)\n ?.map(({ id, position, icon }) => ({\n id,\n position,\n icon: icon || defaultMarker,\n isInteractive: true,\n })) || [];\n\n if (\n isGeolocationSupported &&\n location?.coords.latitude &&\n location?.coords.longitude\n ) {\n markers.push({\n id: 'my-current-position-123456789',\n position: [location.coords.latitude, location.coords.longitude],\n icon: currentPosMarker || defaultPosMarker,\n });\n }\n\n return markers;\n }, [\n currentPosMarker,\n isGeolocationSupported,\n location?.coords.latitude,\n location?.coords.longitude,\n activePois,\n ]);\n\n const {\n isLoaded,\n setContainer: setMapContainer,\n flyToActive,\n showAllMarkers,\n flyToPosition,\n getCurrentZoom,\n } = useLeafletMap({\n url: provider,\n attribution,\n center,\n zoom,\n activeMarkerId: activePoiId,\n markers: mapMarkers,\n fitBoundsPadding,\n restrictToMarkersArea,\n showZoomControls: true,\n zoomControlPosition: 'bottomleft',\n onMarkerClick: (markerId) => {\n setActivePoiId((prev) => {\n if (prev === markerId) {\n return '';\n }\n return markerId;\n });\n },\n });\n\n useEffect(() => {\n if (isLoaded && !isDirty) {\n if (allMarkersOnInit) showAllMarkers();\n } else {\n const currentZoom = getCurrentZoom();\n let zoom = flyToZoom;\n if (flyToZoom !== undefined && currentZoom > flyToZoom) {\n zoom = currentZoom;\n }\n\n flyToActive(zoom);\n }\n }, [\n activePoiId,\n allMarkersOnInit,\n flyToActive,\n flyToZoom,\n getCurrentZoom,\n initialPointOfInterest,\n isDirty,\n isLoaded,\n showAllMarkers,\n ]);\n\n useEffect(() => {\n if (!isDirty && activePoiId !== initialPointOfInterest) {\n setIsDirty(true);\n }\n }, [activePoiId, initialPointOfInterest, isDirty]);\n\n const handleLocationRequest = async () => {\n if (location?.coords?.latitude && location?.coords?.longitude) {\n const currentZoom = getCurrentZoom();\n let zoom = flyToZoom;\n if (flyToZoom !== undefined && currentZoom > flyToZoom) {\n zoom = currentZoom;\n }\n\n flyToPosition(\n [location.coords.latitude, location.coords.longitude],\n zoom\n );\n } else {\n try {\n const position = await resetGeolocation();\n if (position) showAllMarkers();\n } catch (err) {\n // console.log(err);\n }\n }\n };\n\n const filterName = globals.sections.poiFilterName;\n const factFiltername = globals.sections.poiFactFilterName;\n\n useEffect(() => {\n if (filters.textFilter) {\n setUrlParam(filterName, filters.textFilter);\n } else {\n deleteUrlParam(filterName);\n }\n\n if (isValidArray(filters.categoryFilter, false)) {\n setUrlParam(factFiltername, filters.categoryFilter.join(','));\n } else {\n deleteUrlParam(factFiltername);\n }\n }, [\n filterName,\n factFiltername,\n filters.textFilter,\n filters.categoryFilter,\n ]);\n\n useEffect(() => {\n setActivePoiId('');\n setIsDirty(false);\n }, [filters]);\n\n return (\n <PoiMapSection\n anchorId={anchorId}\n bgColor=\"image\"\n bgMode=\"full\"\n isLarge={isLarge}\n >\n <Wrapper clampWidth={isLarge ? 'large' : 'normal'}>\n <MapContainer>\n <Map ref={setMapContainer} isLarge={size === 'large'} />\n {(showOwnPosition || poiFilters) && (\n <Overlay>\n {showOwnPosition && (\n <RequestGeolocationBtn\n onClick={handleLocationRequest}\n >\n {customLocationRequest || (\n <MyLocation\n iconColor={colors.text.default}\n />\n )}\n </RequestGeolocationBtn>\n )}\n {poiFilters ? (\n customPoiFilters ? (\n customPoiFilters({\n filters,\n setFilters,\n pois: pois || [],\n settings: poiFilters,\n })\n ) : (\n <PoiPartials.PoiFilterBar\n value={filters}\n onChange={setFilters}\n textFilter={\n poiFilters?.textFilter || undefined\n }\n categoryFilter={\n poiFilters?.categoryFilter\n ? {\n ...poiFilters.categoryFilter,\n items: categories?.map(\n (cat) =>\n ({\n value: cat,\n label: cat,\n } || [])\n ),\n }\n : undefined\n }\n mobileSubmitLabel={\n poiFilters?.mobileSubmitLabel\n }\n closeIcon={poiFilters?.closeIcon}\n toggleLabel={poiFilters?.toggleLabel}\n filterIcon={poiFilters?.filterIcon}\n indicator={poiFilters?.indicator}\n />\n )\n ) : null}\n </Overlay>\n )}\n {activePOI && activePOI.name && (\n <CardStage\n onClick={(ev) => {\n if (ev.target !== ev.currentTarget) return;\n setActivePoiId('');\n }}\n >\n <MapCard\n {...activePOI}\n onClose={() => setActivePoiId('')}\n customFact={customFact}\n customClose={customCardClose}\n />\n </CardStage>\n )}\n </MapContainer>\n </Wrapper>\n </PoiMapSection>\n );\n};\n\nexport const PointOfInterestMapComponent = PointOfInterestMap;\nexport default withLibTheme(PointOfInterestMap);\n"],"names":["StyledImage","styled","Image","templateObject_1","__makeTemplateObject","spacings","spacer","Facts","POIFacts","templateObject_2","PoiTitle","Heading","templateObject_3","nudge","PoiText","Copy","templateObject_4","PointOfInterestDetail","_a","anchorId","image","title","intro","text","facts","infos","bgMode","customFact","colors","useLibTheme","isInverted","hasBg","hasInfos","useMemo","isValidArray","filter","info","items","React","createElement","Section","addSeperation","bgColor","sectionBg","dark","medium","light","mapToBgMode","Wrapper","addWhitespace","small","coverSpace","allowEdgeRadius","Grid","Row","gutter","semilarge","Col","span","size","type","innerHTML","InfoList","withLibTheme","poiExactNameFilter","filterQuery","value","regex","RegExp","test","name","poiSoftNameFilter","preparedQuery","toLowerCase","replace","preparedName","poiFactFilter","result","find","fact","preparedFact","poiInfoFilter","preparedText","poiDescriptionFilter","shortDescription","preparedDesc","removeMatchIntersections","array","item","m","prioItem","id","filterPois","pois","prioList","poi","undefined","exactNameMatches","push","apply","map","match","priority","nameMatches","factMatches","infoMatches","descMatches","getFilterMatches","categoryFilters","searchMatches","Map","length","items_1","_i","set","items_2","_b","some","includes","matches","escapeRegExp","matches_1","_c","has","PoiFilterBar","hasBorders","onChange","textFilter","categoryFilter","mobileSubmitLabel","closeIcon","toggleLabel","filterIcon","indicator","className","FilterBar","placeholder","icon","Magnifier","width","height","submitIcon","clearIcon","CrossBubble","label","resetLabel","Cross","Filter","POISection","Content","ul","mq","large","PoiOverviewFilterBar","PoiPartials","theme","color","elementBg","globals","sections","edgeRadius","PointOfInterestOverview","initialPoiFilters","poiFilters","customPoiFilters","listAriaLabel","_d","filterName","poiFilterName","factFiltername","poiFactFilterName","_e","useState","filters","setFilters","categories","reduce","acc","newCategories","__spreadArray","poiMatches","Array","from","useEffect","setUrlParam","deleteUrlParam","join","settings","cat","sort","a","b","i","POICard","__assign","key","renderAs","genHeightStyles","css","mainIdent","genIdent","pageFlow","hasMain","mainTopIdent","hasTop","mainBottomIdent","hasBottom","fullIdent","navMainHeight","getNavHeight","navMainTopHeight","navMainBottomHeight","navFullHeight","mapToSelector","idents","concat","refHeight","split","PoiMapSection","isLarge","withRange","MapContainer","div","templateObject_5","RequestGeolocationBtn","button","primary","default","CardStage","templateObject_7","MapCardView","global","MapCardHeader","header","templateObject_9","CloseBtn","Overlay","templateObject_11","MapCard","description","action","customClose","onClose","onClick","iconColor","PointOfInterestMap","initialPointOfInterest","provider","attribution","center","zoom","fitBoundsPadding","allMarkersOnInit","_f","restrictToMarkersArea","showOwnPosition","flyToZoom","currentPosMarker","customCardClose","customLocationRequest","_g","_h","activePoiId","setActivePoiId","_j","isDirty","setIsDirty","_k","activePois","activePOI","_l","useGeolocation","isGeolocationSupported","isSupported","location","resetGeolocation","mapMarkers","defaultMarker","anchor","sizeActive","anchorActive","url","getSVGData","LocationPin","defaultPosMarker","CurrentLocation","markers","position","isInteractive","coords","latitude","longitude","_m","useLeafletMap","activeMarkerId","showZoomControls","zoomControlPosition","onMarkerClick","markerId","prev","isLoaded","setMapContainer","setContainer","flyToActive","showAllMarkers","flyToPosition","getCurrentZoom","currentZoom","zoom_1","handleLocationRequest","__awaiter","zoom_2","sent","clampWidth","ref","MyLocation","ev","target","currentTarget"],"mappings":"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"}