@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,26 +1,26 @@
1
- import { a as __makeTemplateObject, aa as ClockFilled, L as LocationPin, _ as __assign } from './Filter-19220970.js';
1
+ import { a as __makeTemplateObject, _ as __assign, ad as ClockFilled, L as LocationPin } from './ButtonLeft-a9a132f5.js';
2
2
  import React__default, { useCallback, 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 { C as Copy, H as Heading } from './Copy-fd9e25c0.js';
7
- import { L as Link } from './Link-6067a27f.js';
4
+ import { S as Section, m as mapToBgMode } from './Section-ca6daed2.js';
5
+ import { W as Wrapper } from './Wrapper-06db8e79.js';
6
+ import { C as Copy, H as Heading } from './Copy-5a18e01f.js';
7
+ import { L as Link } from './Link-d4a291af.js';
8
8
  import { i as isValidArray } from './arrays-65b644ef.js';
9
- import { g as getColors, s as spacings, c as getGlobals, m as mq } from './styles-1f1841ef.js';
10
- import { w as withLibTheme, u as useLibTheme } from './LibThemeProvider-fb1d35ac.js';
11
- import { u as useEqualSheetHeight } from './useEqualSheetHeight-60ff9de7.js';
12
- import { F as FilterField } from './FilterField-8e64b355.js';
9
+ import { g as getColors, s as spacings, c as getGlobals, m as mq } from './styles-f3ba5bae.js';
10
+ import { w as withLibTheme, u as useLibTheme } from './LibThemeProvider-48cad3e8.js';
11
+ import { u as useEqualSheetHeight } from './useEqualSheetHeight-80704864.js';
12
+ import { F as FilterField } from './FilterField-251b4dad.js';
13
13
  import { u as useUpdateEffect } from './useUpdateEffect-824c0c84.js';
14
14
  import { e as escapeRegExp } from './escape-cbff9c25.js';
15
- import { g as getUrlParams, s as setUrlParam, d as deleteUrlParam } from './urlParams-9cfdaf71.js';
15
+ import { g as getUrlParams, s as setUrlParam, d as deleteUrlParam } from './urlParams-e7114d3e.js';
16
16
  import { u as useMounted } from './useMounted-1e4cc87b.js';
17
- import { A as Actions } from './Actions-e29b5e75.js';
18
- import { c as concat } from './concat-ab3c66f2.js';
19
- import { g as generateJob } from './structuredData-abf610d8.js';
17
+ import { c as concat } from './concat-b6d6d978.js';
18
+ import { A as Actions } from './Actions-6859c932.js';
19
+ import { g as generateJob } from './structuredData-73bcbf07.js';
20
20
  import './clamp-12d37b65.js';
21
21
  import 'react-dom/server';
22
- import './useMediaQuery-4c1b1fa6.js';
23
- import './useLazyInput-0b6932aa.js';
22
+ import './useMediaQuery-c9fa1339.js';
23
+ import './useLazyInput-08ee63f4.js';
24
24
  import 'react-schemaorg';
25
25
 
26
26
  var View = styled.div.withConfig({
@@ -39,11 +39,12 @@ var View = styled.div.withConfig({
39
39
  return getGlobals(theme).sections.edgeRadius;
40
40
  }, function (_a) {
41
41
  var clickable = _a.clickable,
42
- isInverted = _a.isInverted;
43
- return clickable && css(templateObject_1$2 || (templateObject_1$2 = __makeTemplateObject(["\n transition: all 0.2s ease-in-out;\n cursor: pointer;\n\n &:hover {\n box-shadow: 0px 2px 6px\n ", ";\n\n color: ", ";\n }\n\n &:focus {\n box-shadow: 0px 2px 6px\n ", ";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ", ";\n }\n "], ["\n transition: all 0.2s ease-in-out;\n cursor: pointer;\n\n &:hover {\n box-shadow: 0px 2px 6px\n ", ";\n\n color: ", ";\n }\n\n &:focus {\n box-shadow: 0px 2px 6px\n ", ";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ", ";\n }\n "])), isInverted ? 'rgba(255, 255, 255, 0.7)' : 'rgba(0, 0, 0, 0.35)', function (_a) {
42
+ isInverted = _a.isInverted,
43
+ theme = _a.theme;
44
+ return clickable && css(templateObject_1$2 || (templateObject_1$2 = __makeTemplateObject(["\n transition: box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;\n cursor: pointer;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n box-shadow: 0px 2px 6px\n ", ";\n\n color: ", ";\n }\n }\n\n &:has(:focus-visible) {\n outline: 2px solid\n ", ";\n outline-offset: 2px;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ", ";\n }\n "], ["\n transition: box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;\n cursor: pointer;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n box-shadow: 0px 2px 6px\n ", ";\n\n color: ", ";\n }\n }\n\n &:has(:focus-visible) {\n outline: 2px solid\n ", ";\n outline-offset: 2px;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ", ";\n }\n "])), isInverted ? 'rgba(255, 255, 255, 0.7)' : 'rgba(0, 0, 0, 0.35)', function (_a) {
44
45
  var theme = _a.theme;
45
46
  return getColors(theme).primary.hover;
46
- }, isInverted ? 'rgba(255, 255, 255, 0.7)' : 'rgba(0, 0, 0, 0.3)', isInverted ? 'rgba(255, 255, 255, 0.7)' : 'rgba(0, 0, 0, 0.3)');
47
+ }, isInverted ? getColors(theme).primary.inverted : getColors(theme).primary.default, isInverted ? 'rgba(255, 255, 255, 0.7)' : 'rgba(0, 0, 0, 0.3)');
47
48
  }, mq.medium);
48
49
  var JobInfos$1 = styled(Copy).withConfig({
49
50
  displayName: "JobCard__JobInfos",
@@ -67,10 +68,16 @@ var MainLabel$1 = styled.div.withConfig({
67
68
  displayName: "JobCard__MainLabel",
68
69
  componentId: "sc-rrpaxu-4"
69
70
  })(templateObject_6$1 || (templateObject_6$1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n"], ["\n display: flex;\n align-items: center;\n"])));
70
- var ViewLink = styled(Link).withConfig({
71
- displayName: "JobCard__ViewLink",
71
+ var HeadingLink = styled(Link).withConfig({
72
+ displayName: "JobCard__HeadingLink",
72
73
  componentId: "sc-rrpaxu-5"
73
- })(templateObject_7$1 || (templateObject_7$1 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n && {\n margin: 0;\n }\n"], ["\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n && {\n margin: 0;\n }\n"])));
74
+ })(templateObject_7$1 || (templateObject_7$1 = __makeTemplateObject(["\n color: ", ";\n text-decoration: none;\n\n ", ":hover & {\n color: ", ";\n }\n\n &:focus-visible {\n outline: none;\n }\n\n &:before {\n content: '';\n position: absolute;\n inset: 0;\n }\n"], ["\n color: ", ";\n text-decoration: none;\n\n ", ":hover & {\n color: ", ";\n }\n\n &:focus-visible {\n outline: none;\n }\n\n &:before {\n content: '';\n position: absolute;\n inset: 0;\n }\n"])), function (_a) {
75
+ var theme = _a.theme;
76
+ return getColors(theme).primary.default;
77
+ }, View, function (_a) {
78
+ var theme = _a.theme;
79
+ return getColors(theme).primary.hover;
80
+ });
74
81
  var JobCard = React__default.forwardRef(function (_a, ref) {
75
82
  var _b, _c;
76
83
 
@@ -83,6 +90,8 @@ var JobCard = React__default.forwardRef(function (_a, ref) {
83
90
  allLocationsLabel = _a.allLocationsLabel,
84
91
  modelIcon = _a.modelIcon,
85
92
  locationIcon = _a.locationIcon,
93
+ employmentTypeAriaLabel = _a.employmentTypeAriaLabel,
94
+ locationAriaLabel = _a.locationAriaLabel,
86
95
  className = _a.className,
87
96
  link = _a.link;
88
97
  var hasEmploymentType = isValidArray(employmentTypes, false);
@@ -102,28 +111,34 @@ var JobCard = React__default.forwardRef(function (_a, ref) {
102
111
  }
103
112
  }
104
113
 
114
+ var employmentType = (_c = employmentTypes === null || employmentTypes === void 0 ? void 0 : employmentTypes.filter(function (type) {
115
+ return type.name;
116
+ }).map(function (type) {
117
+ return type.name;
118
+ })) === null || _c === void 0 ? void 0 : _c.join(', ');
105
119
  return React__default.createElement(View, {
106
120
  ref: ref,
107
121
  isInverted: isInverted,
108
122
  hasBg: hasBackground,
109
123
  className: className,
110
124
  clickable: !!link
111
- }, React__default.createElement(Heading, {
125
+ }, React__default.createElement(HeadingLink, __assign({}, link, {
126
+ ariaLabel: (link === null || link === void 0 ? void 0 : link.href) ? jobTitle : undefined
127
+ }), React__default.createElement(Heading, {
128
+ renderAs: "h3",
112
129
  textColor: "inherit",
113
130
  size: "heading-2",
114
131
  "data-sheet": "title",
115
132
  innerHTML: jobTitle,
116
133
  hyphens: true
117
- }), (hasEmploymentType || hasLocations) && React__default.createElement(JobInfos$1, {
134
+ })), (hasEmploymentType || hasLocations) && React__default.createElement(JobInfos$1, {
118
135
  type: "copy-b",
119
136
  "data-sheet": "info"
120
- }, hasEmploymentType && React__default.createElement(Info$1, null, React__default.createElement(Icon$1, null, modelIcon ? modelIcon() : React__default.createElement(ClockFilled, null)), React__default.createElement(MainLabel$1, null, (_c = employmentTypes === null || employmentTypes === void 0 ? void 0 : employmentTypes.filter(function (type) {
121
- return type.name;
122
- }).map(function (type) {
123
- return type.name;
124
- })) === null || _c === void 0 ? void 0 : _c.join(', '))), hasLocations && React__default.createElement(Info$1, null, React__default.createElement(Icon$1, null, locationIcon ? locationIcon() : React__default.createElement(LocationPin, null)), React__default.createElement(MainLabel$1, null, locationText))), link && React__default.createElement(ViewLink, __assign({}, link, {
125
- ariaLabel: (link === null || link === void 0 ? void 0 : link.href) ? jobTitle : undefined
126
- })));
137
+ }, hasEmploymentType && React__default.createElement(Info$1, null, React__default.createElement(Icon$1, null, modelIcon ? modelIcon() : React__default.createElement(ClockFilled, null)), React__default.createElement(MainLabel$1, {
138
+ "aria-label": employmentTypeAriaLabel || "Employment Type: ".concat(employmentType)
139
+ }, employmentType)), hasLocations && React__default.createElement(Info$1, null, React__default.createElement(Icon$1, null, locationIcon ? locationIcon() : React__default.createElement(LocationPin, null)), React__default.createElement(MainLabel$1, {
140
+ "aria-label": locationAriaLabel || "Locations: ".concat(locationText)
141
+ }, locationText))));
127
142
  });
128
143
  JobCard.displayName = 'JobCard';
129
144
  var templateObject_1$2, templateObject_2$2, templateObject_3$2, templateObject_4$1, templateObject_5$1, templateObject_6$1, templateObject_7$1;
@@ -266,11 +281,14 @@ var JobList = function (_a) {
266
281
  filterPlaceholder = _a.filterPlaceholder,
267
282
  hasFilter = _a.hasFilter,
268
283
  filterSubmitIcon = _a.filterSubmitIcon,
269
- filterClearIcon = _a.filterClearIcon;
284
+ filterClearIcon = _a.filterClearIcon,
285
+ _b = _a.listAriaLabel,
286
+ listAriaLabel = _b === void 0 ? 'List of job offers' : _b,
287
+ itemAriaLabel = _a.itemAriaLabel;
270
288
 
271
- var _b = useLibTheme(),
272
- colors = _b.colors,
273
- globals = _b.globals;
289
+ var _c = useLibTheme(),
290
+ colors = _c.colors,
291
+ globals = _c.globals;
274
292
 
275
293
  var filterName = globals.sections.jobFilterName;
276
294
  var isInverted = bgMode === 'inverted';
@@ -286,9 +304,9 @@ var JobList = function (_a) {
286
304
  }
287
305
  }).sheetRefs;
288
306
 
289
- var _c = React__default.useState(initialFilterQuery || ''),
290
- filterQuery = _c[0],
291
- setFilterQuery = _c[1];
307
+ var _d = React__default.useState(initialFilterQuery || ''),
308
+ filterQuery = _d[0],
309
+ setFilterQuery = _d[1];
292
310
 
293
311
  var isMounted = useMounted();
294
312
  var jobMatches = React__default.useMemo(function () {
@@ -372,11 +390,38 @@ var JobList = function (_a) {
372
390
  isInverted: isInverted,
373
391
  submitIcon: filterSubmitIcon,
374
392
  clearIcon: filterClearIcon
375
- }), React__default.createElement(List, null, jobMatches === null || jobMatches === void 0 ? void 0 : jobMatches.sort(function (a, b) {
393
+ }), React__default.createElement(List, {
394
+ "aria-label": listAriaLabel
395
+ }, jobMatches === null || jobMatches === void 0 ? void 0 : jobMatches.sort(function (a, b) {
376
396
  return a.priority - b.priority;
377
397
  }).map(function (match, i) {
398
+ var _a, _b, _c, _d;
399
+
400
+ var employmentType = (_b = (_a = match.item.employmentTypes) === null || _a === void 0 ? void 0 : _a.filter(function (type) {
401
+ return type.name;
402
+ }).map(function (type) {
403
+ return type.name;
404
+ })) === null || _b === void 0 ? void 0 : _b.join(', ');
405
+ var validLocations = (_c = match.item.locations) === null || _c === void 0 ? void 0 : _c.filter(function (loc) {
406
+ return loc.name;
407
+ });
408
+ var hasLocations = isValidArray(validLocations, false);
409
+ var locationText = '';
410
+
411
+ if (hasLocations) {
412
+ if (totalJobLocations !== undefined && validLocations.length >= totalJobLocations && allJobLocationsLabel) {
413
+ locationText = allJobLocationsLabel;
414
+ } else {
415
+ locationText = (_d = validLocations.map(function (loc) {
416
+ return loc.name;
417
+ })) === null || _d === void 0 ? void 0 : _d.join(', ');
418
+ }
419
+ }
420
+
421
+ var itemLabel = itemAriaLabel ? itemAriaLabel(match.item.jobTitle, employmentType || '', locationText) : "Job offer: ".concat(concat([match.item.jobTitle, employmentType, locationText], ', '));
378
422
  return React__default.createElement(Item, {
379
- key: i
423
+ key: i,
424
+ "aria-label": itemLabel
380
425
  }, React__default.createElement(JobCard, __assign({
381
426
  ref: cardRefs[i]
382
427
  }, match.item, {
@@ -438,7 +483,9 @@ var JobArticle = function (_a) {
438
483
  organization = _a.organization,
439
484
  datePosted = _a.datePosted,
440
485
  primaryAction = _a.primaryAction,
441
- secondaryAction = _a.secondaryAction;
486
+ secondaryAction = _a.secondaryAction,
487
+ ariaLabelEmploymentType = _a.ariaLabelEmploymentType,
488
+ ariaLabelLocation = _a.ariaLabelLocation;
442
489
  var colors = useLibTheme().colors;
443
490
  var isInverted = bgMode === 'inverted';
444
491
  var hasEmploymentType = isValidArray(employmentTypes, false);
@@ -471,6 +518,13 @@ var JobArticle = function (_a) {
471
518
  })) || [],
472
519
  datePosted: datePosted
473
520
  };
521
+ var employmentType = (_c = employmentTypes === null || employmentTypes === void 0 ? void 0 : employmentTypes.filter(function (type) {
522
+ return type.name;
523
+ }).map(function (type) {
524
+ return type.name;
525
+ })) === null || _c === void 0 ? void 0 : _c.join(', ');
526
+ var employmentTypeAriaLabel = ariaLabelEmploymentType ? ariaLabelEmploymentType(employmentType || '') : "Employment type: ".concat(employmentType || '');
527
+ var locationAriaLabel = ariaLabelLocation ? ariaLabelLocation(locationText || '') : "Location: ".concat(locationText || '');
474
528
  return React__default.createElement(Section, {
475
529
  addSeperation: true,
476
530
  anchorId: anchorId,
@@ -487,11 +541,11 @@ var JobArticle = function (_a) {
487
541
  type: "copy-b",
488
542
  "data-sheet": "info",
489
543
  isInverted: isInverted
490
- }, hasEmploymentType && React__default.createElement(Info, null, React__default.createElement(Icon, null, modelIcon ? modelIcon() : React__default.createElement(ClockFilled, null)), React__default.createElement(MainLabel, null, (_c = employmentTypes === null || employmentTypes === void 0 ? void 0 : employmentTypes.filter(function (type) {
491
- return type.name;
492
- }).map(function (type) {
493
- return type.name;
494
- })) === null || _c === void 0 ? void 0 : _c.join(', '))), hasLocations && React__default.createElement(Info, null, React__default.createElement(Icon, null, locationIcon ? locationIcon() : React__default.createElement(LocationPin, null)), React__default.createElement(MainLabel, null, locationText)))), abstract && React__default.createElement(Text, {
544
+ }, hasEmploymentType && React__default.createElement(Info, null, React__default.createElement(Icon, null, modelIcon ? modelIcon() : React__default.createElement(ClockFilled, null)), React__default.createElement(MainLabel, {
545
+ "aria-label": employmentTypeAriaLabel
546
+ }, employmentType)), hasLocations && React__default.createElement(Info, null, React__default.createElement(Icon, null, locationIcon ? locationIcon() : React__default.createElement(LocationPin, null)), React__default.createElement(MainLabel, {
547
+ "aria-label": locationAriaLabel
548
+ }, locationText)))), abstract && React__default.createElement(Text, {
495
549
  type: "copy-b",
496
550
  isInverted: isInverted
497
551
  }, abstract), description && React__default.createElement(Text, {
@@ -1 +1 @@
1
- {"version":3,"file":"sections.jobs.js","sources":["../src/components/blocks/JobCard.tsx","../src/components/sections/jobs/JobList.tsx","../src/components/sections/jobs/JobArticle.tsx"],"sourcesContent":["import ClockFilled from 'components/base/icons/ClockFilled';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { StructuredEmploymentType } from 'utils/structuredData';\nimport { getColors as color, getGlobals, mq, spacings } from 'utils/styles';\n\nconst View = styled.div<{\n isInverted?: boolean;\n hasBg?: boolean;\n clickable?: boolean;\n}>`\n position: relative;\n color: ${({ theme }) => color(theme).primary.default};\n background: ${({ theme, hasBg, isInverted }) =>\n isInverted\n ? color(theme).elementBg.medium\n : hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n\n padding: ${spacings.spacer}px;\n\n border-radius: ${({ theme }) => getGlobals(theme).sections.edgeRadius};\n\n ${({ clickable, isInverted }) =>\n clickable &&\n css`\n transition: all 0.2s ease-in-out;\n cursor: pointer;\n\n &:hover {\n box-shadow: 0px 2px 6px\n ${isInverted\n ? 'rgba(255, 255, 255, 0.7)'\n : 'rgba(0, 0, 0, 0.35)'};\n\n color: ${({ theme }) => color(theme).primary.hover};\n }\n\n &:focus {\n box-shadow: 0px 2px 6px\n ${isInverted\n ? 'rgba(255, 255, 255, 0.7)'\n : 'rgba(0, 0, 0, 0.3)'};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ${isInverted\n ? 'rgba(255, 255, 255, 0.7)'\n : 'rgba(0, 0, 0, 0.3)'};\n }\n `}\n\n @media ${mq.medium} {\n min-height: 440px;\n\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n }\n`;\n\nconst JobInfos = styled(Copy)`\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 4}px;\n }\n\n color: ${({ theme }) => color(theme).primary.default};\n\n ${View}:hover & {\n color: ${({ theme }) => color(theme).primary.hover};\n }\n`;\n\nconst Info = styled.div`\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Icon = styled.div`\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n`;\n\nconst MainLabel = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst ViewLink = styled(Link)`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n && {\n margin: 0;\n }\n`;\n\nexport interface JobLocation {\n name?: string;\n description?: string;\n streetAddress?: string;\n addressLocality?: string;\n addressRegion?: string;\n postalCode?: string;\n addressCountry?: string;\n}\n\nexport interface JobCardProps {\n /** Invert text and background color */\n isInverted?: boolean;\n\n /** For use on light backgrounds */\n hasBackground?: boolean;\n\n /** Job card title (richtext) */\n jobTitle: string;\n\n /** The employment type (important for structured data) */\n employmentTypes?: Array<{\n name: string;\n type: StructuredEmploymentType;\n }>;\n\n /** Injection function for job time model icon */\n modelIcon?: () => React.ReactNode;\n\n /** List of job locations */\n locations?: JobLocation[];\n\n /** Total amount all locations */\n totalLocations?: number;\n\n /** Label to show if all location selected */\n allLocationsLabel?: string;\n\n /** Injection function for job location icon */\n locationIcon?: () => React.ReactNode;\n\n /** Job card link */\n link?: LinkProps;\n}\n\nconst JobCard = React.forwardRef<\n HTMLDivElement,\n JobCardProps & {\n className?: string;\n }\n>(\n (\n {\n isInverted,\n hasBackground,\n jobTitle,\n employmentTypes,\n locations,\n totalLocations,\n allLocationsLabel,\n modelIcon,\n locationIcon,\n className,\n link,\n },\n ref\n ) => {\n const hasEmploymentType = isValidArray(employmentTypes, false);\n const validLocations = locations?.filter((loc) => loc.name);\n const hasLocations = isValidArray(validLocations, false);\n\n let locationText = '';\n\n if (hasLocations) {\n if (\n totalLocations !== undefined &&\n validLocations.length >= totalLocations &&\n allLocationsLabel\n ) {\n locationText = allLocationsLabel;\n } else {\n locationText = validLocations\n .map((loc) => loc.name)\n ?.join(', ');\n }\n }\n\n return (\n <View\n ref={ref}\n isInverted={isInverted}\n hasBg={hasBackground}\n className={className}\n clickable={!!link}\n >\n <Heading\n textColor=\"inherit\"\n size=\"heading-2\"\n data-sheet=\"title\"\n innerHTML={jobTitle}\n hyphens\n />\n {(hasEmploymentType || hasLocations) && (\n <JobInfos type=\"copy-b\" data-sheet=\"info\">\n {hasEmploymentType && (\n <Info>\n <Icon>\n {modelIcon ? modelIcon() : <ClockFilled />}\n </Icon>\n <MainLabel>\n {employmentTypes\n ?.filter((type) => type.name)\n .map((type) => type.name)\n ?.join(', ')}\n </MainLabel>\n </Info>\n )}\n {hasLocations && (\n <Info>\n <Icon>\n {locationIcon ? (\n locationIcon()\n ) : (\n <LocationPin />\n )}\n </Icon>\n <MainLabel>{locationText}</MainLabel>\n </Info>\n )}\n </JobInfos>\n )}\n {link && (\n <ViewLink\n {...link}\n ariaLabel={link?.href ? jobTitle : undefined}\n />\n )}\n </View>\n );\n }\n);\n\nJobCard.displayName = 'JobCard';\n\nexport default JobCard;\n","import React, { useCallback, useEffect } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport JobCard, { JobCardProps } from 'components/blocks/JobCard';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { mq, spacings } from 'utils/styles';\nimport FilterField from 'components/fields/FilterField';\nimport { isValidArray } from 'utils/arrays';\nimport useUpdateEffect from 'utils/useUpdateEffect';\nimport { escapeRegExp } from 'utils/escape';\nimport { deleteUrlParam, getUrlParams, setUrlParam } from 'utils/urlParams';\nimport useMounted from 'utils/useMounted';\n\nconst List = styled.ul`\n display: flex;\n flex-wrap: wrap;\n list-style: none;\n margin: 0;\n padding: 0;\n\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.nudge * 2}px;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n }\n`;\n\nconst Item = styled.li`\n flex: 0 1 100%;\n max-width: 100%;\n margin: 0;\n\n padding-top: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n\n @media ${mq.medium} {\n flex: 0 1 50%;\n max-width: 50%;\n\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n }\n\n @media ${mq.large} {\n flex: 0 1 33.33%;\n max-width: 33.33%;\n }\n`;\n\nconst Filter = styled(FilterField)`\n margin-top: ${spacings.nudge}px;\n margin-bottom: ${spacings.nudge * 5}px;\n\n min-width: 50%;\n`;\n\nexport interface CardProps extends JobCardProps {\n id: string;\n}\n\nexport type JobItem = Omit<\n CardProps,\n | 'isInverted'\n | 'hasBackground'\n | 'modelIcon'\n | 'locationIcon'\n | 'totalLocations'\n | 'allLocationsLabel'\n>;\n\nconst jobExactTitleFilter = (filterQuery: string) => (value: JobItem) => {\n const regex = new RegExp(filterQuery);\n return regex.test(value.jobTitle);\n};\n\nconst jobSoftTitleFilter = (filterQuery: string) => (value: JobItem) => {\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const perparedJobTitle = value.jobTitle.toLowerCase().replace(/\\s/g, '');\n\n const regex = new RegExp(preparedQuery);\n return regex.test(perparedJobTitle);\n};\n\nconst jobLocationNameFilter = (filterQuery: string) => (value: JobItem) => {\n if (!isValidArray(value.locations, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n const result = value.locations.find((location) => {\n const preparedName = location.name?.toLowerCase().replace(/\\s/g, '');\n\n return regex.test(preparedName || '');\n });\n\n return !!result;\n};\n\nconst jobTypesFilter = (filterQuery: string) => (value: JobItem) => {\n if (!isValidArray(value?.employmentTypes, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n return !!value.employmentTypes.find((type) => {\n if (!type.name) return false;\n const preparedText = type.name.toLowerCase().replace(/\\s/g, '');\n return regex.test(preparedText);\n });\n};\n\nconst removeMatchIntersections = (array: FilterMatch[], item?: JobItem[]) => {\n if (!item) return [];\n return item?.filter(\n (m) => !array.find((prioItem) => prioItem.item.id === m.id)\n );\n};\n\ninterface FilterMatch {\n item: JobItem;\n priority: number;\n}\n\nconst filterJobs = (filterQuery: string, jobs: JobItem[]) => {\n const prioList: FilterMatch[] = [];\n if (\n !isValidArray(\n jobs?.filter((job) => job.jobTitle !== undefined),\n false\n )\n ) {\n return prioList;\n }\n\n // PRIO 1 Filter: Exact name\n const exactNameMatches = jobs?.filter(jobExactTitleFilter(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 jobs?.filter(jobSoftTitleFilter(filterQuery))\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: Location\n const locationNameMatches = removeMatchIntersections(\n prioList,\n jobs?.filter(jobLocationNameFilter(filterQuery))\n );\n if (isValidArray(locationNameMatches, false)) {\n prioList.push(\n ...locationNameMatches.map((match) => ({\n item: match,\n priority: 3,\n }))\n );\n }\n\n // PRIO 4 Filter: Job Type\n const typeMatches = removeMatchIntersections(\n prioList,\n jobs?.filter(jobTypesFilter(filterQuery))\n );\n\n if (isValidArray(typeMatches, false)) {\n prioList.push(\n ...typeMatches.map((match) => ({\n item: match,\n priority: 4,\n }))\n );\n }\n\n return prioList;\n};\n\nconst JobList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of job item settings */\n jobs?: JobItem[];\n\n /** Total amount all locations */\n totalJobLocations?: number;\n\n /** Label to show if all location selected */\n allJobLocationsLabel?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Injection function for job time model icon */\n modelIcon?: () => React.ReactNode;\n\n /** Injection function for job location icon */\n locationIcon?: () => React.ReactNode;\n\n /** Initial filter query on component render */\n initialFilterQuery?: string;\n\n /** Filter placeholder */\n filterPlaceholder?: string;\n\n /** Show filter input field */\n hasFilter?: boolean;\n\n /** Injection function for filter submit icon */\n filterSubmitIcon?: (isInverted?: boolean) => React.ReactNode;\n\n /** Injection function for filter reset icon */\n filterClearIcon?: (isInverted?: boolean) => React.ReactNode;\n}> = ({\n anchorId,\n jobs,\n bgMode,\n modelIcon,\n locationIcon,\n totalJobLocations,\n allJobLocationsLabel,\n initialFilterQuery,\n filterPlaceholder,\n hasFilter,\n filterSubmitIcon,\n filterClearIcon,\n}) => {\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.jobFilterName;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const jobCount = jobs?.length || 0;\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: jobCount,\n identifiers: ['[data-sheet=\"title\"]', '[data-sheet=\"info\"]'],\n responsive: {\n small: 1,\n semilarge: 2,\n large: 3,\n },\n });\n\n const [filterQuery, setFilterQuery] = React.useState<string>(\n initialFilterQuery || ''\n );\n const isMounted = useMounted();\n\n const jobMatches: FilterMatch[] = React.useMemo(() => {\n const queryParts =\n filterQuery !== undefined\n ? filterQuery.split(' ').map((part) => part.trim())\n : [''];\n const searchMatches: Array<{\n match: FilterMatch;\n intersections: number;\n }> = [];\n\n // tracking matches of each query part\n for (const part of queryParts) {\n const matches = filterJobs(escapeRegExp(part), jobs || []);\n\n for (const match of matches) {\n const intersectionIndex = searchMatches.findIndex(\n (sItem) => sItem.match.item.id === match.item.id\n );\n\n if (intersectionIndex !== -1) {\n searchMatches[intersectionIndex].intersections += 1;\n } else {\n searchMatches.push({\n match,\n intersections: 1,\n });\n }\n }\n }\n\n // filter search matches by intersections so only matches with results for all search parts are shown\n return searchMatches\n .filter((m) => m.intersections >= queryParts.length)\n .map<FilterMatch>((m) => ({\n ...m.match,\n }));\n }, [filterQuery, jobs]);\n\n const getFilter = useCallback(() => {\n return getUrlParams()[filterName];\n }, [filterName]);\n\n useEffect(() => {\n const urlFilter = getFilter();\n\n if (\n urlFilter !== undefined &&\n urlFilter !== null &&\n typeof urlFilter === 'string'\n ) {\n setFilterQuery(urlFilter);\n }\n }, [getFilter]);\n\n useEffect(() => {\n if (isMounted) return;\n\n // set inital data into URL\n if (filterQuery) {\n setUrlParam(filterName, filterQuery);\n } else {\n deleteUrlParam(filterName);\n }\n }, [filterName, filterQuery, isMounted]);\n\n useUpdateEffect(() => {\n // set filters to URL params\n if (filterQuery) {\n setUrlParam(filterName, filterQuery);\n } else {\n deleteUrlParam(filterName);\n }\n }, [filterQuery]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {hasFilter && (\n <Filter\n placeholder={filterPlaceholder || 'Suche'}\n value={filterQuery}\n initialValue={initialFilterQuery}\n onSubmit={setFilterQuery}\n isInverted={isInverted}\n submitIcon={filterSubmitIcon}\n clearIcon={filterClearIcon}\n />\n )}\n <List>\n {jobMatches\n ?.sort((a, b) => a.priority - b.priority)\n .map((match, i) => (\n <Item key={i}>\n <JobCard\n ref={cardRefs[i]}\n {...match.item}\n isInverted={isInverted}\n hasBackground={hasBg}\n modelIcon={modelIcon}\n locationIcon={locationIcon}\n totalLocations={totalJobLocations}\n allLocationsLabel={allJobLocationsLabel}\n />\n </Item>\n ))}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const JobListComponent = JobList;\nexport default withLibTheme(JobList);\n","import ClockFilled from 'components/base/icons/ClockFilled';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Actions from 'components/blocks/Actions';\nimport { JobCardProps } from 'components/blocks/JobCard';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { concat } from 'utils/concat';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { generateJob, StructuredEmploymentType } from 'utils/structuredData';\nimport { spacings } from 'utils/styles';\n\nconst ArticleHead = styled.div`\n & + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst JobInfos = styled(Copy)`\n &:not(:first-child) {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst Info = styled.div`\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Icon = styled.span`\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n`;\n\nconst MainLabel = styled.span`\n display: flex;\n align-items: center;\n`;\n\nconst Text = styled(Copy)`\n & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst StyledActions = styled(Actions)`\n margin-top: ${spacings.spacer}px;\n`;\n\nexport interface OrganizationData {\n name?: string;\n url?: string;\n logo?: string;\n telephone?: string;\n email?: string;\n address?: {\n streetAddress?: string;\n addressLocality?: string;\n postalCode?: string;\n addressCountry?: string;\n };\n}\n\nexport type JobArticleProps = Omit<\n JobCardProps,\n 'isInverted' | 'hasBackground' | 'link'\n> & {\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Abstract text which summarizes the job */\n abstract?: string;\n\n /** Text that describes the job (richtext) */\n description?: string;\n\n /** The hiring organization (important for structured data) */\n organization?: OrganizationData;\n\n /** The date of posting the job tender (important for structured data) */\n datePosted?: Date;\n\n /** Function to inject primary action */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject secondary action */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n};\n\nconst JobArticle: React.FC<JobArticleProps> = ({\n anchorId,\n bgMode,\n jobTitle,\n employmentTypes,\n locations,\n totalLocations,\n allLocationsLabel,\n modelIcon,\n locationIcon,\n abstract,\n description,\n organization,\n datePosted,\n primaryAction,\n secondaryAction,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasEmploymentType = isValidArray(employmentTypes, false);\n const validLocations = locations?.filter((loc) => loc.name);\n const hasLocations = isValidArray(validLocations, false);\n\n let locationText = '';\n\n if (hasLocations) {\n if (\n totalLocations !== undefined &&\n validLocations.length >= totalLocations\n ) {\n locationText = allLocationsLabel || '';\n } else {\n locationText = validLocations.map((loc) => loc.name)?.join(', ');\n }\n }\n\n const jsonLd = {\n jobTitle, // title\n locations, // jobLocation\n jobDesc: concat([abstract, description], ' - '), // description\n organization: organization, // hiringOrganization\n directApply: primaryAction || secondaryAction ? true : false, // directApply\n employmentTypes:\n (employmentTypes\n ?.filter((el) => el.type)\n .map((el) => el.type) as StructuredEmploymentType[]) || [],\n datePosted, // datePosted\n };\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n {generateJob(jsonLd)}\n <Wrapper clampWidth=\"small\" addWhitespace>\n <ArticleHead>\n <Heading\n size=\"heading-2\"\n innerHTML={jobTitle}\n isInverted={isInverted}\n />\n {(hasEmploymentType || hasLocations) && (\n <JobInfos\n type=\"copy-b\"\n data-sheet=\"info\"\n isInverted={isInverted}\n >\n {hasEmploymentType && (\n <Info>\n <Icon>\n {modelIcon ? (\n modelIcon()\n ) : (\n <ClockFilled />\n )}\n </Icon>\n <MainLabel>\n {employmentTypes\n ?.filter((type) => type.name)\n .map((type) => type.name)\n ?.join(', ')}\n </MainLabel>\n </Info>\n )}\n\n {hasLocations && (\n <Info>\n <Icon>\n {locationIcon ? (\n locationIcon()\n ) : (\n <LocationPin />\n )}\n </Icon>\n <MainLabel>{locationText}</MainLabel>\n </Info>\n )}\n </JobInfos>\n )}\n </ArticleHead>\n {abstract && (\n <Text type=\"copy-b\" isInverted={isInverted}>\n {abstract}\n </Text>\n )}\n {description && (\n <Text innerHTML={description} isInverted={isInverted} />\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const JobArticleComponent = JobArticle;\nexport default withLibTheme(JobArticle);\n"],"names":["View","styled","div","templateObject_2","__makeTemplateObject","_a","theme","color","primary","default","hasBg","isInverted","elementBg","medium","light","spacings","spacer","getGlobals","sections","edgeRadius","clickable","css","templateObject_1","hover","mq","JobInfos","Copy","templateObject_3","nudge","Info","Icon","templateObject_5","MainLabel","templateObject_6","ViewLink","Link","templateObject_7","JobCard","React","forwardRef","ref","hasBackground","jobTitle","employmentTypes","locations","totalLocations","allLocationsLabel","modelIcon","locationIcon","className","link","hasEmploymentType","isValidArray","validLocations","filter","loc","name","hasLocations","locationText","undefined","length","map","_b","join","createElement","Heading","textColor","size","innerHTML","hyphens","type","ClockFilled","_c","LocationPin","__assign","ariaLabel","href","displayName","List","ul","Item","li","large","Filter","FilterField","jobExactTitleFilter","filterQuery","value","regex","RegExp","test","jobSoftTitleFilter","preparedQuery","toLowerCase","replace","perparedJobTitle","jobLocationNameFilter","result","find","location","preparedName","jobTypesFilter","preparedText","removeMatchIntersections","array","item","m","prioItem","id","filterJobs","jobs","prioList","job","exactNameMatches","push","apply","match","priority","nameMatches","locationNameMatches","typeMatches","JobList","anchorId","bgMode","totalJobLocations","allJobLocationsLabel","initialFilterQuery","filterPlaceholder","hasFilter","filterSubmitIcon","filterClearIcon","useLibTheme","colors","globals","filterName","jobFilterName","jobCount","cardRefs","useEqualSheetHeight","listLength","identifiers","responsive","small","semilarge","useState","setFilterQuery","isMounted","useMounted","jobMatches","useMemo","queryParts","split","part","trim","searchMatches","queryParts_1","_i","matches","escapeRegExp","intersectionIndex","findIndex","sItem","intersections","matches_1","getFilter","useCallback","getUrlParams","useEffect","urlFilter","setUrlParam","deleteUrlParam","useUpdateEffect","Section","addSeperation","bgColor","sectionBg","dark","mapToBgMode","Wrapper","addWhitespace","placeholder","initialValue","onSubmit","submitIcon","clearIcon","sort","a","b","i","key","withLibTheme","ArticleHead","span","templateObject_4","Text","StyledActions","Actions","JobArticle","abstract","description","organization","datePosted","primaryAction","secondaryAction","jsonLd","jobDesc","concat","directApply","el","generateJob","clampWidth","secondary"],"mappings":"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"}
1
+ {"version":3,"file":"sections.jobs.js","sources":["../src/components/blocks/JobCard.tsx","../src/components/sections/jobs/JobList.tsx","../src/components/sections/jobs/JobArticle.tsx"],"sourcesContent":["import ClockFilled from 'components/base/icons/ClockFilled';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { StructuredEmploymentType } from 'utils/structuredData';\nimport { getColors as color, getGlobals, mq, spacings } from 'utils/styles';\n\nconst View = styled.div<{\n isInverted?: boolean;\n hasBg?: boolean;\n clickable?: boolean;\n}>`\n position: relative;\n color: ${({ theme }) => color(theme).primary.default};\n background: ${({ theme, hasBg, isInverted }) =>\n isInverted\n ? color(theme).elementBg.medium\n : hasBg\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n\n padding: ${spacings.spacer}px;\n\n border-radius: ${({ theme }) => getGlobals(theme).sections.edgeRadius};\n\n ${({ clickable, isInverted, theme }) =>\n clickable &&\n css`\n transition: box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;\n cursor: pointer;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n box-shadow: 0px 2px 6px\n ${isInverted\n ? 'rgba(255, 255, 255, 0.7)'\n : 'rgba(0, 0, 0, 0.35)'};\n\n color: ${({ theme }) => color(theme).primary.hover};\n }\n }\n\n &:has(:focus-visible) {\n outline: 2px solid\n ${isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 2px;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ${isInverted\n ? 'rgba(255, 255, 255, 0.7)'\n : 'rgba(0, 0, 0, 0.3)'};\n }\n `}\n\n @media ${mq.medium} {\n min-height: 440px;\n\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n }\n`;\n\nconst JobInfos = styled(Copy)`\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 4}px;\n }\n\n color: ${({ theme }) => color(theme).primary.default};\n\n ${View}:hover & {\n color: ${({ theme }) => color(theme).primary.hover};\n }\n`;\n\nconst Info = styled.div`\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Icon = styled.div`\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n`;\n\nconst MainLabel = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst HeadingLink = styled(Link)`\n color: ${({ theme }) => color(theme).primary.default};\n text-decoration: none;\n\n ${View}:hover & {\n color: ${({ theme }) => color(theme).primary.hover};\n }\n\n &:focus-visible {\n outline: none;\n }\n\n &:before {\n content: '';\n position: absolute;\n inset: 0;\n }\n`;\n\nexport interface JobLocation {\n name?: string;\n description?: string;\n streetAddress?: string;\n addressLocality?: string;\n addressRegion?: string;\n postalCode?: string;\n addressCountry?: string;\n}\n\nexport interface JobCardProps {\n /** Invert text and background color */\n isInverted?: boolean;\n\n /** For use on light backgrounds */\n hasBackground?: boolean;\n\n /** Job card title (richtext) */\n jobTitle: string;\n\n /** The employment type (important for structured data) */\n employmentTypes?: Array<{\n name: string;\n type: StructuredEmploymentType;\n }>;\n\n /** Injection function for job time model icon */\n modelIcon?: () => React.ReactNode;\n\n /** List of job locations */\n locations?: JobLocation[];\n\n /** Total amount all locations */\n totalLocations?: number;\n\n /** Label to show if all location selected */\n allLocationsLabel?: string;\n\n /** Injection function for job location icon */\n locationIcon?: () => React.ReactNode;\n\n /** Job card link */\n link?: LinkProps;\n\n /** Employment type label for accessibility */\n employmentTypeAriaLabel?: string;\n\n /** Location label for accessibility */\n locationAriaLabel?: string;\n}\n\nconst JobCard = React.forwardRef<\n HTMLDivElement,\n JobCardProps & {\n className?: string;\n }\n>(\n (\n {\n isInverted,\n hasBackground,\n jobTitle,\n employmentTypes,\n locations,\n totalLocations,\n allLocationsLabel,\n modelIcon,\n locationIcon,\n employmentTypeAriaLabel,\n locationAriaLabel,\n className,\n link,\n },\n ref\n ) => {\n const hasEmploymentType = isValidArray(employmentTypes, false);\n const validLocations = locations?.filter((loc) => loc.name);\n const hasLocations = isValidArray(validLocations, false);\n\n let locationText = '';\n\n if (hasLocations) {\n if (\n totalLocations !== undefined &&\n validLocations.length >= totalLocations &&\n allLocationsLabel\n ) {\n locationText = allLocationsLabel;\n } else {\n locationText = validLocations\n .map((loc) => loc.name)\n ?.join(', ');\n }\n }\n\n const employmentType = employmentTypes\n ?.filter((type) => type.name)\n .map((type) => type.name)\n ?.join(', ');\n\n return (\n <View\n ref={ref}\n isInverted={isInverted}\n hasBg={hasBackground}\n className={className}\n clickable={!!link}\n >\n <HeadingLink\n {...link}\n ariaLabel={link?.href ? jobTitle : undefined}\n >\n <Heading\n renderAs=\"h3\"\n textColor=\"inherit\"\n size=\"heading-2\"\n data-sheet=\"title\"\n innerHTML={jobTitle}\n hyphens\n />\n </HeadingLink>\n {(hasEmploymentType || hasLocations) && (\n <JobInfos type=\"copy-b\" data-sheet=\"info\">\n {hasEmploymentType && (\n <Info>\n <Icon>\n {modelIcon ? modelIcon() : <ClockFilled />}\n </Icon>\n <MainLabel\n aria-label={\n employmentTypeAriaLabel ||\n `Employment Type: ${employmentType}`\n }\n >\n {employmentType}\n </MainLabel>\n </Info>\n )}\n {hasLocations && (\n <Info>\n <Icon>\n {locationIcon ? (\n locationIcon()\n ) : (\n <LocationPin />\n )}\n </Icon>\n <MainLabel\n aria-label={\n locationAriaLabel ||\n `Locations: ${locationText}`\n }\n >\n {locationText}\n </MainLabel>\n </Info>\n )}\n </JobInfos>\n )}\n </View>\n );\n }\n);\n\nJobCard.displayName = 'JobCard';\n\nexport default JobCard;\n","import React, { useCallback, useEffect } from 'react';\nimport styled from 'styled-components';\n\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport JobCard, { JobCardProps } from 'components/blocks/JobCard';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { useEqualSheetHeight } from 'utils/useEqualSheetHeight';\nimport { mq, spacings } from 'utils/styles';\nimport FilterField from 'components/fields/FilterField';\nimport { isValidArray } from 'utils/arrays';\nimport useUpdateEffect from 'utils/useUpdateEffect';\nimport { escapeRegExp } from 'utils/escape';\nimport { deleteUrlParam, getUrlParams, setUrlParam } from 'utils/urlParams';\nimport useMounted from 'utils/useMounted';\nimport { concat as cn } from 'utils/concat';\n\nconst List = styled.ul`\n display: flex;\n flex-wrap: wrap;\n list-style: none;\n margin: 0;\n padding: 0;\n\n margin-top: -${spacings.nudge * 2}px;\n margin-left: -${spacings.nudge * 2}px;\n\n @media ${mq.medium} {\n margin-top: -${spacings.spacer}px;\n margin-left: -${spacings.spacer}px;\n }\n`;\n\nconst Item = styled.li`\n flex: 0 1 100%;\n max-width: 100%;\n margin: 0;\n\n padding-top: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n\n @media ${mq.medium} {\n flex: 0 1 50%;\n max-width: 50%;\n\n padding-top: ${spacings.spacer}px;\n padding-left: ${spacings.spacer}px;\n }\n\n @media ${mq.large} {\n flex: 0 1 33.33%;\n max-width: 33.33%;\n }\n`;\n\nconst Filter = styled(FilterField)`\n margin-top: ${spacings.nudge}px;\n margin-bottom: ${spacings.nudge * 5}px;\n\n min-width: 50%;\n`;\n\nexport interface CardProps extends JobCardProps {\n id: string;\n}\n\nexport type JobItem = Omit<\n CardProps,\n | 'isInverted'\n | 'hasBackground'\n | 'modelIcon'\n | 'locationIcon'\n | 'totalLocations'\n | 'allLocationsLabel'\n>;\n\nconst jobExactTitleFilter = (filterQuery: string) => (value: JobItem) => {\n const regex = new RegExp(filterQuery);\n return regex.test(value.jobTitle);\n};\n\nconst jobSoftTitleFilter = (filterQuery: string) => (value: JobItem) => {\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const perparedJobTitle = value.jobTitle.toLowerCase().replace(/\\s/g, '');\n\n const regex = new RegExp(preparedQuery);\n return regex.test(perparedJobTitle);\n};\n\nconst jobLocationNameFilter = (filterQuery: string) => (value: JobItem) => {\n if (!isValidArray(value.locations, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n const result = value.locations.find((location) => {\n const preparedName = location.name?.toLowerCase().replace(/\\s/g, '');\n\n return regex.test(preparedName || '');\n });\n\n return !!result;\n};\n\nconst jobTypesFilter = (filterQuery: string) => (value: JobItem) => {\n if (!isValidArray(value?.employmentTypes, false)) return false;\n\n const preparedQuery = filterQuery.toLowerCase().replace(/\\s/g, '');\n const regex = new RegExp(preparedQuery);\n\n return !!value.employmentTypes.find((type) => {\n if (!type.name) return false;\n const preparedText = type.name.toLowerCase().replace(/\\s/g, '');\n return regex.test(preparedText);\n });\n};\n\nconst removeMatchIntersections = (array: FilterMatch[], item?: JobItem[]) => {\n if (!item) return [];\n return item?.filter(\n (m) => !array.find((prioItem) => prioItem.item.id === m.id)\n );\n};\n\ninterface FilterMatch {\n item: JobItem;\n priority: number;\n}\n\nconst filterJobs = (filterQuery: string, jobs: JobItem[]) => {\n const prioList: FilterMatch[] = [];\n if (\n !isValidArray(\n jobs?.filter((job) => job.jobTitle !== undefined),\n false\n )\n ) {\n return prioList;\n }\n\n // PRIO 1 Filter: Exact name\n const exactNameMatches = jobs?.filter(jobExactTitleFilter(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 jobs?.filter(jobSoftTitleFilter(filterQuery))\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: Location\n const locationNameMatches = removeMatchIntersections(\n prioList,\n jobs?.filter(jobLocationNameFilter(filterQuery))\n );\n if (isValidArray(locationNameMatches, false)) {\n prioList.push(\n ...locationNameMatches.map((match) => ({\n item: match,\n priority: 3,\n }))\n );\n }\n\n // PRIO 4 Filter: Job Type\n const typeMatches = removeMatchIntersections(\n prioList,\n jobs?.filter(jobTypesFilter(filterQuery))\n );\n\n if (isValidArray(typeMatches, false)) {\n prioList.push(\n ...typeMatches.map((match) => ({\n item: match,\n priority: 4,\n }))\n );\n }\n\n return prioList;\n};\n\nconst JobList: React.FC<{\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Array of job item settings */\n jobs?: JobItem[];\n\n /** Total amount all locations */\n totalJobLocations?: number;\n\n /** Label to show if all location selected */\n allJobLocationsLabel?: string;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n /** Injection function for job time model icon */\n modelIcon?: () => React.ReactNode;\n\n /** Injection function for job location icon */\n locationIcon?: () => React.ReactNode;\n\n /** Initial filter query on component render */\n initialFilterQuery?: string;\n\n /** Filter placeholder */\n filterPlaceholder?: string;\n\n /** Show filter input field */\n hasFilter?: boolean;\n\n /** Injection function for filter submit icon */\n filterSubmitIcon?: (isInverted?: boolean) => React.ReactNode;\n\n /** Injection function for filter reset icon */\n filterClearIcon?: (isInverted?: boolean) => React.ReactNode;\n\n /** Additional aria-label for the list */\n listAriaLabel?: string;\n\n /** Function to generate aria-label for each job item */\n itemAriaLabel?: (title: string, type: string, location: string) => string;\n}> = ({\n anchorId,\n jobs,\n bgMode,\n modelIcon,\n locationIcon,\n totalJobLocations,\n allJobLocationsLabel,\n initialFilterQuery,\n filterPlaceholder,\n hasFilter,\n filterSubmitIcon,\n filterClearIcon,\n listAriaLabel = 'List of job offers',\n itemAriaLabel,\n}) => {\n const { colors, globals } = useLibTheme();\n const filterName = globals.sections.jobFilterName;\n\n const isInverted = bgMode === 'inverted';\n const hasBg = bgMode === 'full';\n\n const jobCount = jobs?.length || 0;\n\n const { sheetRefs: cardRefs } = useEqualSheetHeight<HTMLDivElement>({\n listLength: jobCount,\n identifiers: ['[data-sheet=\"title\"]', '[data-sheet=\"info\"]'],\n responsive: {\n small: 1,\n semilarge: 2,\n large: 3,\n },\n });\n\n const [filterQuery, setFilterQuery] = React.useState<string>(\n initialFilterQuery || ''\n );\n const isMounted = useMounted();\n\n const jobMatches: FilterMatch[] = React.useMemo(() => {\n const queryParts =\n filterQuery !== undefined\n ? filterQuery.split(' ').map((part) => part.trim())\n : [''];\n const searchMatches: Array<{\n match: FilterMatch;\n intersections: number;\n }> = [];\n\n // tracking matches of each query part\n for (const part of queryParts) {\n const matches = filterJobs(escapeRegExp(part), jobs || []);\n\n for (const match of matches) {\n const intersectionIndex = searchMatches.findIndex(\n (sItem) => sItem.match.item.id === match.item.id\n );\n\n if (intersectionIndex !== -1) {\n searchMatches[intersectionIndex].intersections += 1;\n } else {\n searchMatches.push({\n match,\n intersections: 1,\n });\n }\n }\n }\n\n // filter search matches by intersections so only matches with results for all search parts are shown\n return searchMatches\n .filter((m) => m.intersections >= queryParts.length)\n .map<FilterMatch>((m) => ({\n ...m.match,\n }));\n }, [filterQuery, jobs]);\n\n const getFilter = useCallback(() => {\n return getUrlParams()[filterName];\n }, [filterName]);\n\n useEffect(() => {\n const urlFilter = getFilter();\n\n if (\n urlFilter !== undefined &&\n urlFilter !== null &&\n typeof urlFilter === 'string'\n ) {\n setFilterQuery(urlFilter);\n }\n }, [getFilter]);\n\n useEffect(() => {\n if (isMounted) return;\n\n // set inital data into URL\n if (filterQuery) {\n setUrlParam(filterName, filterQuery);\n } else {\n deleteUrlParam(filterName);\n }\n }, [filterName, filterQuery, isMounted]);\n\n useUpdateEffect(() => {\n // set filters to URL params\n if (filterQuery) {\n setUrlParam(filterName, filterQuery);\n } else {\n deleteUrlParam(filterName);\n }\n }, [filterQuery]);\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n <Wrapper addWhitespace>\n {hasFilter && (\n <Filter\n placeholder={filterPlaceholder || 'Suche'}\n value={filterQuery}\n initialValue={initialFilterQuery}\n onSubmit={setFilterQuery}\n isInverted={isInverted}\n submitIcon={filterSubmitIcon}\n clearIcon={filterClearIcon}\n />\n )}\n <List aria-label={listAriaLabel}>\n {jobMatches\n ?.sort((a, b) => a.priority - b.priority)\n .map((match, i) => {\n const employmentType = match.item.employmentTypes\n ?.filter((type) => type.name)\n .map((type) => type.name)\n ?.join(', ');\n\n const validLocations = match.item.locations?.filter(\n (loc) => loc.name\n );\n const hasLocations = isValidArray(\n validLocations,\n false\n );\n\n let locationText = '';\n\n if (hasLocations) {\n if (\n totalJobLocations !== undefined &&\n validLocations.length >=\n totalJobLocations &&\n allJobLocationsLabel\n ) {\n locationText = allJobLocationsLabel;\n } else {\n locationText = validLocations\n .map((loc) => loc.name)\n ?.join(', ');\n }\n }\n\n const itemLabel = itemAriaLabel\n ? itemAriaLabel(\n match.item.jobTitle,\n employmentType || '',\n locationText\n )\n : `Job offer: ${cn(\n [\n match.item.jobTitle,\n employmentType,\n locationText,\n ],\n ', '\n )}`;\n\n return (\n <Item key={i} aria-label={itemLabel}>\n <JobCard\n ref={cardRefs[i]}\n {...match.item}\n isInverted={isInverted}\n hasBackground={hasBg}\n modelIcon={modelIcon}\n locationIcon={locationIcon}\n totalLocations={totalJobLocations}\n allLocationsLabel={allJobLocationsLabel}\n />\n </Item>\n );\n })}\n </List>\n </Wrapper>\n </Section>\n );\n};\n\nexport const JobListComponent = JobList;\nexport default withLibTheme(JobList);\n","import ClockFilled from 'components/base/icons/ClockFilled';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport Section, { mapToBgMode } from 'components/base/Section';\nimport Wrapper from 'components/base/Wrapper';\nimport Actions from 'components/blocks/Actions';\nimport { JobCardProps } from 'components/blocks/JobCard';\nimport Copy from 'components/typography/Copy';\nimport Heading from 'components/typography/Heading';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\nimport { concat } from 'utils/concat';\nimport { useLibTheme, withLibTheme } from 'utils/LibThemeProvider';\nimport { generateJob, StructuredEmploymentType } from 'utils/structuredData';\nimport { spacings } from 'utils/styles';\n\nconst ArticleHead = styled.div`\n & + * {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst JobInfos = styled(Copy)`\n &:not(:first-child) {\n margin-top: ${spacings.spacer}px;\n }\n`;\n\nconst Info = styled.div`\n display: -ms-grid;\n display: grid;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Icon = styled.span`\n display: flex;\n align-items: center;\n\n & > * {\n height: 32px;\n width: 32px;\n }\n`;\n\nconst MainLabel = styled.span`\n display: flex;\n align-items: center;\n`;\n\nconst Text = styled(Copy)`\n & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst StyledActions = styled(Actions)`\n margin-top: ${spacings.spacer}px;\n`;\n\nexport interface OrganizationData {\n name?: string;\n url?: string;\n logo?: string;\n telephone?: string;\n email?: string;\n address?: {\n streetAddress?: string;\n addressLocality?: string;\n postalCode?: string;\n addressCountry?: string;\n };\n}\n\nexport type JobArticleProps = Omit<\n JobCardProps,\n 'isInverted' | 'hasBackground' | 'link'\n> & {\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Abstract text which summarizes the job */\n abstract?: string;\n\n /** Text that describes the job (richtext) */\n description?: string;\n\n /** The hiring organization (important for structured data) */\n organization?: OrganizationData;\n\n /** The date of posting the job tender (important for structured data) */\n datePosted?: Date;\n\n /** Function to inject primary action */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject secondary action */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Section background */\n bgMode?: 'full' | 'inverted';\n\n ariaLabelEmploymentType?: (type: string) => string;\n ariaLabelLocation?: (location: string) => string;\n};\n\nconst JobArticle: React.FC<JobArticleProps> = ({\n anchorId,\n bgMode,\n jobTitle,\n employmentTypes,\n locations,\n totalLocations,\n allLocationsLabel,\n modelIcon,\n locationIcon,\n abstract,\n description,\n organization,\n datePosted,\n primaryAction,\n secondaryAction,\n ariaLabelEmploymentType,\n ariaLabelLocation,\n}) => {\n const { colors } = useLibTheme();\n const isInverted = bgMode === 'inverted';\n const hasEmploymentType = isValidArray(employmentTypes, false);\n const validLocations = locations?.filter((loc) => loc.name);\n const hasLocations = isValidArray(validLocations, false);\n\n let locationText = '';\n\n if (hasLocations) {\n if (\n totalLocations !== undefined &&\n validLocations.length >= totalLocations\n ) {\n locationText = allLocationsLabel || '';\n } else {\n locationText = validLocations.map((loc) => loc.name)?.join(', ');\n }\n }\n\n const jsonLd = {\n jobTitle, // title\n locations, // jobLocation\n jobDesc: concat([abstract, description], ' - '), // description\n organization: organization, // hiringOrganization\n directApply: primaryAction || secondaryAction ? true : false, // directApply\n employmentTypes:\n (employmentTypes\n ?.filter((el) => el.type)\n .map((el) => el.type) as StructuredEmploymentType[]) || [],\n datePosted, // datePosted\n };\n\n const employmentType = employmentTypes\n ?.filter((type) => type.name)\n .map((type) => type.name)\n ?.join(', ');\n\n const employmentTypeAriaLabel = ariaLabelEmploymentType\n ? ariaLabelEmploymentType(employmentType || '')\n : `Employment type: ${employmentType || ''}`;\n\n const locationAriaLabel = ariaLabelLocation\n ? ariaLabelLocation(locationText || '')\n : `Location: ${locationText || ''}`;\n\n return (\n <Section\n addSeperation\n anchorId={anchorId}\n bgColor={\n isInverted\n ? colors.sectionBg.dark\n : bgMode\n ? colors.sectionBg.medium\n : colors.sectionBg.light\n }\n bgMode={mapToBgMode(bgMode, true)}\n >\n {generateJob(jsonLd)}\n <Wrapper clampWidth=\"small\" addWhitespace>\n <ArticleHead>\n <Heading\n size=\"heading-2\"\n innerHTML={jobTitle}\n isInverted={isInverted}\n />\n {(hasEmploymentType || hasLocations) && (\n <JobInfos\n type=\"copy-b\"\n data-sheet=\"info\"\n isInverted={isInverted}\n >\n {hasEmploymentType && (\n <Info>\n <Icon>\n {modelIcon ? (\n modelIcon()\n ) : (\n <ClockFilled />\n )}\n </Icon>\n <MainLabel\n aria-label={employmentTypeAriaLabel}\n >\n {employmentType}\n </MainLabel>\n </Info>\n )}\n\n {hasLocations && (\n <Info>\n <Icon>\n {locationIcon ? (\n locationIcon()\n ) : (\n <LocationPin />\n )}\n </Icon>\n <MainLabel aria-label={locationAriaLabel}>\n {locationText}\n </MainLabel>\n </Info>\n )}\n </JobInfos>\n )}\n </ArticleHead>\n {abstract && (\n <Text type=\"copy-b\" isInverted={isInverted}>\n {abstract}\n </Text>\n )}\n {description && (\n <Text innerHTML={description} isInverted={isInverted} />\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </Wrapper>\n </Section>\n );\n};\n\nexport const JobArticleComponent = JobArticle;\nexport default withLibTheme(JobArticle);\n"],"names":["View","styled","div","templateObject_2","__makeTemplateObject","_a","theme","color","primary","default","hasBg","isInverted","elementBg","medium","light","spacings","spacer","getGlobals","sections","edgeRadius","clickable","css","templateObject_1","hover","inverted","mq","JobInfos","Copy","templateObject_3","nudge","Info","Icon","templateObject_5","MainLabel","templateObject_6","HeadingLink","Link","templateObject_7","JobCard","React","forwardRef","ref","hasBackground","jobTitle","employmentTypes","locations","totalLocations","allLocationsLabel","modelIcon","locationIcon","employmentTypeAriaLabel","locationAriaLabel","className","link","hasEmploymentType","isValidArray","validLocations","filter","loc","name","hasLocations","locationText","undefined","length","map","_b","join","employmentType","_c","type","createElement","ariaLabel","href","Heading","renderAs","textColor","size","innerHTML","hyphens","ClockFilled","concat","LocationPin","displayName","List","ul","Item","li","large","Filter","FilterField","jobExactTitleFilter","filterQuery","value","regex","RegExp","test","jobSoftTitleFilter","preparedQuery","toLowerCase","replace","perparedJobTitle","jobLocationNameFilter","result","find","location","preparedName","jobTypesFilter","preparedText","removeMatchIntersections","array","item","m","prioItem","id","filterJobs","jobs","prioList","job","exactNameMatches","push","apply","match","priority","nameMatches","locationNameMatches","typeMatches","JobList","anchorId","bgMode","totalJobLocations","allJobLocationsLabel","initialFilterQuery","filterPlaceholder","hasFilter","filterSubmitIcon","filterClearIcon","listAriaLabel","itemAriaLabel","useLibTheme","colors","globals","filterName","jobFilterName","jobCount","cardRefs","useEqualSheetHeight","listLength","identifiers","responsive","small","semilarge","_d","useState","setFilterQuery","isMounted","useMounted","jobMatches","useMemo","queryParts","split","part","trim","searchMatches","queryParts_1","_i","matches","escapeRegExp","intersectionIndex","findIndex","sItem","intersections","matches_1","__assign","getFilter","useCallback","getUrlParams","useEffect","urlFilter","setUrlParam","deleteUrlParam","useUpdateEffect","Section","addSeperation","bgColor","sectionBg","dark","mapToBgMode","Wrapper","addWhitespace","placeholder","initialValue","onSubmit","submitIcon","clearIcon","sort","a","b","i","itemLabel","cn","key","withLibTheme","ArticleHead","span","templateObject_4","Text","StyledActions","Actions","JobArticle","abstract","description","organization","datePosted","primaryAction","secondaryAction","ariaLabelEmploymentType","ariaLabelLocation","jsonLd","jobDesc","directApply","el","generateJob","clampWidth","secondary"],"mappings":"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"}