@oiz/stzh-components 3.8.0-beta1 → 3.8.0

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 (298) hide show
  1. package/dist/cjs/{app-globals-02553278.js → app-globals-0e887dd2.js} +2 -2
  2. package/dist/cjs/{app-globals-02553278.js.map → app-globals-0e887dd2.js.map} +1 -1
  3. package/dist/cjs/{axios-69bcb71f.js → axios-bd44344d.js} +51 -96
  4. package/dist/cjs/axios-bd44344d.js.map +1 -0
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/stzh-accordion_3.cjs.entry.js +2 -7
  7. package/dist/cjs/stzh-accordion_3.cjs.entry.js.map +1 -1
  8. package/dist/cjs/stzh-badge_3.cjs.entry.js +1 -1
  9. package/dist/cjs/stzh-badge_3.cjs.entry.js.map +1 -1
  10. package/dist/cjs/stzh-bathstatus-list.cjs.entry.js +1 -1
  11. package/dist/cjs/stzh-checkboxgroup.cjs.entry.js +12 -11
  12. package/dist/cjs/stzh-checkboxgroup.cjs.entry.js.map +1 -1
  13. package/dist/cjs/stzh-chipselect.cjs.entry.js +1 -1
  14. package/dist/cjs/stzh-chipselect.cjs.entry.js.map +1 -1
  15. package/dist/cjs/stzh-components.cjs.js +2 -2
  16. package/dist/cjs/stzh-contact.cjs.entry.js +2 -8
  17. package/dist/cjs/stzh-contact.cjs.entry.js.map +1 -1
  18. package/dist/cjs/stzh-datalist_2.cjs.entry.js +1 -1
  19. package/dist/cjs/stzh-datalist_2.cjs.entry.js.map +1 -1
  20. package/dist/cjs/stzh-dialog.cjs.entry.js +1 -1
  21. package/dist/cjs/stzh-dialog.cjs.entry.js.map +1 -1
  22. package/dist/cjs/stzh-dropdown.cjs.entry.js +1 -1
  23. package/dist/cjs/stzh-dropdown.cjs.entry.js.map +1 -1
  24. package/dist/cjs/stzh-eventdata.cjs.entry.js +1 -1
  25. package/dist/cjs/stzh-eventdata.cjs.entry.js.map +1 -1
  26. package/dist/cjs/stzh-microsite-teaserlist.cjs.entry.js +3 -2
  27. package/dist/cjs/stzh-microsite-teaserlist.cjs.entry.js.map +1 -1
  28. package/dist/cjs/stzh-poilist.cjs.entry.js +1 -1
  29. package/dist/cjs/stzh-progressbar.cjs.entry.js +23 -0
  30. package/dist/cjs/stzh-progressbar.cjs.entry.js.map +1 -1
  31. package/dist/cjs/stzh-search.cjs.entry.js +2 -2
  32. package/dist/cjs/stzh-search.cjs.entry.js.map +1 -1
  33. package/dist/cjs/stzh-upload.cjs.entry.js +23 -10
  34. package/dist/cjs/stzh-upload.cjs.entry.js.map +1 -1
  35. package/dist/cjs/stzh-vbz-majorticker.cjs.entry.js +1 -1
  36. package/dist/cjs/stzh-vbz-ticker.cjs.entry.js +1 -1
  37. package/dist/collection/assets/i18n/de.json +9 -5
  38. package/dist/collection/assets/i18n/en.json +9 -5
  39. package/dist/collection/components/stzh-accordion/stzh-accordion.e2e.js +1 -0
  40. package/dist/collection/components/stzh-accordion/stzh-accordion.e2e.js.map +1 -1
  41. package/dist/collection/components/stzh-accordion/stzh-accordion.stories.js +86 -0
  42. package/dist/collection/components/stzh-accordion-item/stzh-accordion-item.js +2 -7
  43. package/dist/collection/components/stzh-accordion-item/stzh-accordion-item.js.map +1 -1
  44. package/dist/collection/components/stzh-button/stzh-button.css +13 -4
  45. package/dist/collection/components/stzh-button/stzh-button.e2e.js +6 -3
  46. package/dist/collection/components/stzh-button/stzh-button.e2e.js.map +1 -1
  47. package/dist/collection/components/stzh-button/stzh-button.stories.js +191 -15
  48. package/dist/collection/components/stzh-checkboxgroup/stzh-checkboxgroup.js +31 -14
  49. package/dist/collection/components/stzh-checkboxgroup/stzh-checkboxgroup.js.map +1 -1
  50. package/dist/collection/components/stzh-chip/stzh-chip.stories.js +11 -0
  51. package/dist/collection/components/stzh-chipselect/stzh-chipselect.css +1 -6
  52. package/dist/collection/components/stzh-contact/stzh-contact.css +11 -0
  53. package/dist/collection/components/stzh-contact/stzh-contact.js +1 -7
  54. package/dist/collection/components/stzh-contact/stzh-contact.js.map +1 -1
  55. package/dist/collection/components/stzh-datalist/stzh-datalist.e2e.js +1 -0
  56. package/dist/collection/components/stzh-datalist/stzh-datalist.e2e.js.map +1 -1
  57. package/dist/collection/components/stzh-datalist/stzh-datalist.stories.js +32 -0
  58. package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.css +2 -1
  59. package/dist/collection/components/stzh-datepicker/stzh-datepicker.stories.js +1 -1
  60. package/dist/collection/components/stzh-dialog/stzh-dialog.css +2 -1
  61. package/dist/collection/components/stzh-dropdown/stzh-dropdown.css +8 -1
  62. package/dist/collection/components/stzh-dropdown/stzh-dropdown.stories.js +107 -5
  63. package/dist/collection/components/stzh-eventdata/stzh-eventdata.css +0 -5
  64. package/dist/collection/components/stzh-input/stzh-input.stories.js +1 -1
  65. package/dist/collection/components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.js +3 -2
  66. package/dist/collection/components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.js.map +1 -1
  67. package/dist/collection/components/stzh-progressbar/stzh-progressbar.js +27 -2
  68. package/dist/collection/components/stzh-progressbar/stzh-progressbar.js.map +1 -1
  69. package/dist/collection/components/stzh-search/stzh-search.js +1 -1
  70. package/dist/collection/components/stzh-search/stzh-search.js.map +1 -1
  71. package/dist/collection/components/stzh-search/stzh-search.stories.js +51 -83
  72. package/dist/collection/components/stzh-skiplink/stzh-skiplink.stories.js +0 -1
  73. package/dist/collection/components/stzh-upload/models/stzh-photographing-url-details.dto.js.map +1 -1
  74. package/dist/collection/components/stzh-upload/stzh-upload.css +5 -0
  75. package/dist/collection/components/stzh-upload/stzh-upload.js +26 -10
  76. package/dist/collection/components/stzh-upload/stzh-upload.js.map +1 -1
  77. package/dist/collection/components/stzh-upload/stzh-upload.localization.js.map +1 -1
  78. package/dist/collection/components/stzh-upload/stzh-upload.stories.js +3 -1
  79. package/dist/components/index.js +1 -1
  80. package/dist/components/{p-ed75de26.js → p-16940157.js} +3 -3
  81. package/dist/components/{p-ed75de26.js.map → p-16940157.js.map} +1 -1
  82. package/dist/components/{p-2fe2c81f.js → p-1d21ac10.js} +3 -3
  83. package/dist/components/{p-2fe2c81f.js.map → p-1d21ac10.js.map} +1 -1
  84. package/dist/components/{p-16892790.js → p-345a1e99.js} +51 -96
  85. package/dist/components/p-345a1e99.js.map +1 -0
  86. package/dist/components/{p-3aefa2e3.js → p-37367a31.js} +5 -5
  87. package/dist/components/{p-3aefa2e3.js.map → p-37367a31.js.map} +1 -1
  88. package/dist/components/{p-74755a90.js → p-408a1562.js} +2 -2
  89. package/dist/components/{p-74755a90.js.map → p-408a1562.js.map} +1 -1
  90. package/dist/components/{p-7e9f4f9f.js → p-497e2db0.js} +2 -2
  91. package/dist/components/{p-7e9f4f9f.js.map → p-497e2db0.js.map} +1 -1
  92. package/dist/components/p-4d000b5b.js +265 -0
  93. package/dist/components/p-4d000b5b.js.map +1 -0
  94. package/dist/components/{p-866cf184.js → p-4e5ccabd.js} +2 -2
  95. package/dist/components/{p-866cf184.js.map → p-4e5ccabd.js.map} +1 -1
  96. package/dist/components/{p-bd7d15a6.js → p-541e8c61.js} +2 -2
  97. package/dist/components/{p-bd7d15a6.js.map → p-541e8c61.js.map} +1 -1
  98. package/dist/components/{p-d4aabf9c.js → p-60b9f94a.js} +3 -3
  99. package/dist/components/p-60b9f94a.js.map +1 -0
  100. package/dist/components/{p-82c163e4.js → p-62e6cd61.js} +3 -3
  101. package/dist/components/{p-82c163e4.js.map → p-62e6cd61.js.map} +1 -1
  102. package/dist/components/{p-13c3319c.js → p-6956beb9.js} +2 -2
  103. package/dist/components/{p-13c3319c.js.map → p-6956beb9.js.map} +1 -1
  104. package/dist/components/{p-2a870524.js → p-6c754f8f.js} +3 -8
  105. package/dist/components/p-6c754f8f.js.map +1 -0
  106. package/dist/components/{p-9b0832ca.js → p-70f62e8e.js} +3 -3
  107. package/dist/components/{p-9b0832ca.js.map → p-70f62e8e.js.map} +1 -1
  108. package/dist/components/{p-c9ddf923.js → p-8ed7a61b.js} +2 -2
  109. package/dist/components/{p-c9ddf923.js.map → p-8ed7a61b.js.map} +1 -1
  110. package/dist/components/{p-3890d846.js → p-96416f66.js} +3 -3
  111. package/dist/components/p-96416f66.js.map +1 -0
  112. package/dist/components/{p-435e0ef4.js → p-c73125e2.js} +3 -3
  113. package/dist/components/{p-435e0ef4.js.map → p-c73125e2.js.map} +1 -1
  114. package/dist/components/{p-d1623b2e.js → p-dd072a49.js} +2 -2
  115. package/dist/components/{p-d1623b2e.js.map → p-dd072a49.js.map} +1 -1
  116. package/dist/components/{p-4039ba55.js → p-e5edc56d.js} +2 -2
  117. package/dist/components/{p-4039ba55.js.map → p-e5edc56d.js.map} +1 -1
  118. package/dist/components/{p-e0e4416e.js → p-ebbe78de.js} +2 -2
  119. package/dist/components/p-ebbe78de.js.map +1 -0
  120. package/dist/components/{p-e197115b.js → p-fa14b406.js} +2 -2
  121. package/dist/components/{p-e197115b.js.map → p-fa14b406.js.map} +1 -1
  122. package/dist/components/stzh-accordion-item.js +1 -1
  123. package/dist/components/stzh-actionset.js +1 -1
  124. package/dist/components/stzh-amount.js +3 -3
  125. package/dist/components/stzh-appointments.js +5 -5
  126. package/dist/components/stzh-archivelist.js +1 -1
  127. package/dist/components/stzh-banner.js +1 -1
  128. package/dist/components/stzh-bathstatus-list.js +1 -1
  129. package/dist/components/stzh-button.js +1 -1
  130. package/dist/components/stzh-calendar.js +1 -1
  131. package/dist/components/stzh-card-searchresult.js +3 -3
  132. package/dist/components/stzh-card-superteaser.js +3 -3
  133. package/dist/components/stzh-card.js +1 -1
  134. package/dist/components/stzh-checkboxgroup.js +13 -12
  135. package/dist/components/stzh-checkboxgroup.js.map +1 -1
  136. package/dist/components/stzh-chipselect.js +1 -1
  137. package/dist/components/stzh-contact.js +2 -8
  138. package/dist/components/stzh-contact.js.map +1 -1
  139. package/dist/components/stzh-datalist-item.js +1 -1
  140. package/dist/components/stzh-datalist.js +1 -1
  141. package/dist/components/stzh-datamessagelist-item.js +1 -1
  142. package/dist/components/stzh-datatable.js +7 -7
  143. package/dist/components/stzh-datepicker.js +1 -1
  144. package/dist/components/stzh-dialog.js +1 -1
  145. package/dist/components/stzh-disturber.js +1 -1
  146. package/dist/components/stzh-dropdown.js +1 -1
  147. package/dist/components/stzh-eventdata.js +1 -1
  148. package/dist/components/stzh-eventdata.js.map +1 -1
  149. package/dist/components/stzh-feedreader.js +2 -2
  150. package/dist/components/stzh-gallery.js +1 -1
  151. package/dist/components/stzh-geo-ref-data.js +6 -6
  152. package/dist/components/stzh-ghettobox.js +1 -1
  153. package/dist/components/stzh-header.js +1 -1
  154. package/dist/components/stzh-http-error.js +1 -1
  155. package/dist/components/stzh-iframe.js +1 -1
  156. package/dist/components/stzh-input.js +1 -1
  157. package/dist/components/stzh-message.js +1 -1
  158. package/dist/components/stzh-microsite-teaserlist.js +7 -6
  159. package/dist/components/stzh-microsite-teaserlist.js.map +1 -1
  160. package/dist/components/stzh-monthyearpicker.js +1 -1
  161. package/dist/components/stzh-offline-indicator.js +3 -3
  162. package/dist/components/stzh-pagebottom.js +2 -2
  163. package/dist/components/stzh-pagination.js +1 -1
  164. package/dist/components/stzh-panorama.js +2 -2
  165. package/dist/components/stzh-poilist.js +4 -4
  166. package/dist/components/stzh-progressbar.js +26 -2
  167. package/dist/components/stzh-progressbar.js.map +1 -1
  168. package/dist/components/stzh-readspeaker.js +1 -1
  169. package/dist/components/stzh-saptcha.js +2 -2
  170. package/dist/components/stzh-search.js +6 -6
  171. package/dist/components/stzh-search.js.map +1 -1
  172. package/dist/components/stzh-share.js +1 -1
  173. package/dist/components/stzh-sitemap.js +3 -3
  174. package/dist/components/stzh-timepicker.js +1 -1
  175. package/dist/components/stzh-toast.js +1 -1
  176. package/dist/components/stzh-toastbar.js +1 -1
  177. package/dist/components/stzh-upload.js +31 -15
  178. package/dist/components/stzh-upload.js.map +1 -1
  179. package/dist/components/stzh-vbz-majorticker.js +3 -3
  180. package/dist/components/stzh-vbz-ticker.js +1 -1
  181. package/dist/components/stzh-youtube.js +2 -2
  182. package/dist/esm/{app-globals-30dc1fec.js → app-globals-1e3146bc.js} +2 -2
  183. package/dist/esm/{app-globals-30dc1fec.js.map → app-globals-1e3146bc.js.map} +1 -1
  184. package/dist/esm/{axios-e0a35239.js → axios-0cc95004.js} +51 -96
  185. package/dist/esm/axios-0cc95004.js.map +1 -0
  186. package/dist/esm/loader.js +2 -2
  187. package/dist/esm/stzh-accordion_3.entry.js +2 -7
  188. package/dist/esm/stzh-accordion_3.entry.js.map +1 -1
  189. package/dist/esm/stzh-badge_3.entry.js +1 -1
  190. package/dist/esm/stzh-badge_3.entry.js.map +1 -1
  191. package/dist/esm/stzh-bathstatus-list.entry.js +1 -1
  192. package/dist/esm/stzh-checkboxgroup.entry.js +12 -11
  193. package/dist/esm/stzh-checkboxgroup.entry.js.map +1 -1
  194. package/dist/esm/stzh-chipselect.entry.js +1 -1
  195. package/dist/esm/stzh-chipselect.entry.js.map +1 -1
  196. package/dist/esm/stzh-components.js +2 -2
  197. package/dist/esm/stzh-contact.entry.js +2 -8
  198. package/dist/esm/stzh-contact.entry.js.map +1 -1
  199. package/dist/esm/stzh-datalist_2.entry.js +1 -1
  200. package/dist/esm/stzh-datalist_2.entry.js.map +1 -1
  201. package/dist/esm/stzh-dialog.entry.js +1 -1
  202. package/dist/esm/stzh-dialog.entry.js.map +1 -1
  203. package/dist/esm/stzh-dropdown.entry.js +1 -1
  204. package/dist/esm/stzh-dropdown.entry.js.map +1 -1
  205. package/dist/esm/stzh-eventdata.entry.js +1 -1
  206. package/dist/esm/stzh-eventdata.entry.js.map +1 -1
  207. package/dist/esm/stzh-microsite-teaserlist.entry.js +3 -2
  208. package/dist/esm/stzh-microsite-teaserlist.entry.js.map +1 -1
  209. package/dist/esm/stzh-poilist.entry.js +1 -1
  210. package/dist/esm/stzh-progressbar.entry.js +24 -1
  211. package/dist/esm/stzh-progressbar.entry.js.map +1 -1
  212. package/dist/esm/stzh-search.entry.js +2 -2
  213. package/dist/esm/stzh-search.entry.js.map +1 -1
  214. package/dist/esm/stzh-upload.entry.js +23 -10
  215. package/dist/esm/stzh-upload.entry.js.map +1 -1
  216. package/dist/esm/stzh-vbz-majorticker.entry.js +1 -1
  217. package/dist/esm/stzh-vbz-ticker.entry.js +1 -1
  218. package/dist/stzh-components/assets/i18n/de.json +9 -5
  219. package/dist/stzh-components/assets/i18n/en.json +9 -5
  220. package/dist/stzh-components/p-129faf7d.entry.js +2 -0
  221. package/dist/stzh-components/p-129faf7d.entry.js.map +1 -0
  222. package/dist/stzh-components/{p-68dee00d.entry.js → p-23678dfc.entry.js} +2 -2
  223. package/dist/stzh-components/{p-68dee00d.entry.js.map → p-23678dfc.entry.js.map} +1 -1
  224. package/dist/stzh-components/p-345a1e99.js +2 -0
  225. package/dist/stzh-components/p-345a1e99.js.map +1 -0
  226. package/dist/stzh-components/{p-e5a451a0.entry.js → p-646958e0.entry.js} +2 -2
  227. package/dist/stzh-components/{p-025a5c2e.entry.js → p-66c866e5.entry.js} +2 -2
  228. package/dist/stzh-components/p-66c866e5.entry.js.map +1 -0
  229. package/dist/stzh-components/{p-232d017c.entry.js → p-6a3db3bd.entry.js} +2 -2
  230. package/dist/stzh-components/p-6a3db3bd.entry.js.map +1 -0
  231. package/dist/stzh-components/{p-ef38e1fe.entry.js → p-6f9626d1.entry.js} +2 -2
  232. package/dist/stzh-components/p-6f9626d1.entry.js.map +1 -0
  233. package/dist/stzh-components/p-75143e35.entry.js +2 -0
  234. package/dist/stzh-components/p-75143e35.entry.js.map +1 -0
  235. package/dist/stzh-components/{p-8aab9098.entry.js → p-7c5e34db.entry.js} +2 -2
  236. package/dist/stzh-components/{p-b2986e24.entry.js → p-809076ff.entry.js} +2 -2
  237. package/dist/stzh-components/p-84cedd61.entry.js +2 -0
  238. package/dist/stzh-components/p-84cedd61.entry.js.map +1 -0
  239. package/dist/stzh-components/{p-5bafa548.entry.js → p-84f8307b.entry.js} +2 -2
  240. package/dist/stzh-components/p-84f8307b.entry.js.map +1 -0
  241. package/dist/stzh-components/{p-7b2bd184.entry.js → p-8856651e.entry.js} +2 -2
  242. package/dist/stzh-components/{p-7b2bd184.entry.js.map → p-8856651e.entry.js.map} +1 -1
  243. package/dist/stzh-components/p-8c5fb0e2.entry.js +2 -0
  244. package/dist/stzh-components/{p-f156650a.entry.js.map → p-8c5fb0e2.entry.js.map} +1 -1
  245. package/dist/stzh-components/p-9f91ca1f.entry.js +2 -0
  246. package/dist/stzh-components/p-9f91ca1f.entry.js.map +1 -0
  247. package/dist/stzh-components/p-d41803d1.js +2 -0
  248. package/dist/stzh-components/{p-64ba89a2.js.map → p-d41803d1.js.map} +1 -1
  249. package/dist/stzh-components/{p-6f0cf6e3.entry.js → p-d97fbf1f.entry.js} +2 -2
  250. package/dist/stzh-components/p-fa4595c8.entry.js +2 -0
  251. package/dist/stzh-components/p-fa4595c8.entry.js.map +1 -0
  252. package/dist/stzh-components/p-fcc75797.entry.js +2 -0
  253. package/dist/stzh-components/p-fcc75797.entry.js.map +1 -0
  254. package/dist/stzh-components/stzh-components.esm.js +1 -1
  255. package/dist/stzh-components/stzh-components.esm.js.map +1 -1
  256. package/dist/types/components/stzh-accordion-item/stzh-accordion-item.d.ts +0 -1
  257. package/dist/types/components/stzh-checkboxgroup/stzh-checkboxgroup.d.ts +3 -3
  258. package/dist/types/components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.d.ts +2 -2
  259. package/dist/types/components/stzh-progressbar/stzh-progressbar.d.ts +4 -0
  260. package/dist/types/components/stzh-upload/models/stzh-photographing-url-details.dto.d.ts +1 -0
  261. package/dist/types/components/stzh-upload/stzh-upload.d.ts +3 -0
  262. package/dist/types/components/stzh-upload/stzh-upload.localization.d.ts +2 -0
  263. package/dist/types/components.d.ts +8 -0
  264. package/dist/vscode-data.json +4 -0
  265. package/package.json +9 -5
  266. package/dist/cjs/axios-69bcb71f.js.map +0 -1
  267. package/dist/components/p-16892790.js.map +0 -1
  268. package/dist/components/p-20c7b76b.js +0 -265
  269. package/dist/components/p-20c7b76b.js.map +0 -1
  270. package/dist/components/p-2a870524.js.map +0 -1
  271. package/dist/components/p-3890d846.js.map +0 -1
  272. package/dist/components/p-d4aabf9c.js.map +0 -1
  273. package/dist/components/p-e0e4416e.js.map +0 -1
  274. package/dist/esm/axios-e0a35239.js.map +0 -1
  275. package/dist/stzh-components/p-025a5c2e.entry.js.map +0 -1
  276. package/dist/stzh-components/p-11abc40a.entry.js +0 -2
  277. package/dist/stzh-components/p-11abc40a.entry.js.map +0 -1
  278. package/dist/stzh-components/p-16892790.js +0 -2
  279. package/dist/stzh-components/p-16892790.js.map +0 -1
  280. package/dist/stzh-components/p-232d017c.entry.js.map +0 -1
  281. package/dist/stzh-components/p-5ac0220a.entry.js +0 -2
  282. package/dist/stzh-components/p-5ac0220a.entry.js.map +0 -1
  283. package/dist/stzh-components/p-5bafa548.entry.js.map +0 -1
  284. package/dist/stzh-components/p-64ba89a2.js +0 -2
  285. package/dist/stzh-components/p-95427be2.entry.js +0 -2
  286. package/dist/stzh-components/p-95427be2.entry.js.map +0 -1
  287. package/dist/stzh-components/p-973c5df2.entry.js +0 -2
  288. package/dist/stzh-components/p-973c5df2.entry.js.map +0 -1
  289. package/dist/stzh-components/p-aff2ca5f.entry.js +0 -2
  290. package/dist/stzh-components/p-aff2ca5f.entry.js.map +0 -1
  291. package/dist/stzh-components/p-da2c88a2.entry.js +0 -2
  292. package/dist/stzh-components/p-da2c88a2.entry.js.map +0 -1
  293. package/dist/stzh-components/p-ef38e1fe.entry.js.map +0 -1
  294. package/dist/stzh-components/p-f156650a.entry.js +0 -2
  295. /package/dist/stzh-components/{p-e5a451a0.entry.js.map → p-646958e0.entry.js.map} +0 -0
  296. /package/dist/stzh-components/{p-8aab9098.entry.js.map → p-7c5e34db.entry.js.map} +0 -0
  297. /package/dist/stzh-components/{p-b2986e24.entry.js.map → p-809076ff.entry.js.map} +0 -0
  298. /package/dist/stzh-components/{p-6f0cf6e3.entry.js.map → p-d97fbf1f.entry.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h, a as Host, g as getElement } from './index-e3050b18.js';
2
2
 
3
- const stzhEventdataCss = ".sc-stzh-eventdata-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-eventdata-h,[stzh-hidden].sc-stzh-eventdata-h{display:none}.sc-stzh-eventdata-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-eventdata-h *.sc-stzh-eventdata,.sc-stzh-eventdata-h *.sc-stzh-eventdata::before,.sc-stzh-eventdata-h *.sc-stzh-eventdata::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-eventdata-h .has-focus.sc-stzh-eventdata{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-eventdata-h .stzh-fylingfocus-focused.sc-stzh-eventdata{outline-style:none !important}.sc-stzh-eventdata-h .stzh-fylingfocus-focused.sc-stzh-eventdata::-moz-focus-inner{border:0 !important}.stzh-eventdata.sc-stzh-eventdata{display:flex;flex-direction:column;row-gap:var(--stzh-space-xsmall);column-gap:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-eventdata.sc-stzh-eventdata{flex-direction:row}}.stzh-eventdata__label.sc-stzh-eventdata{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy);font-size:var(--stzh-font-curve-p1-default-font-size, var(--stzh-font-milli-font-size));line-height:var(--stzh-font-curve-p1-default-text-line-height, var(--stzh-font-milli-text-line-height));letter-spacing:var(--stzh-font-curve-p1-default-text-letter-spacing);flex-shrink:0}@media screen and (min-width: 900px){.stzh-eventdata__label.sc-stzh-eventdata{font-size:var(--stzh-font-curve-p1-medium-font-size, var(--stzh-font-centi-font-size));line-height:var(--stzh-font-curve-p1-medium-text-line-height, var(--stzh-font-centi-text-line-height));letter-spacing:var(--stzh-font-curve-p1-medium-text-letter-spacing)}}@media screen and (min-width: 600px){.stzh-eventdata__label.sc-stzh-eventdata{min-width:10rem}}@media screen and (min-width: 900px){.stzh-eventdata__label.sc-stzh-eventdata{min-width:10.875rem}}@media screen and (min-width: 1260px){.stzh-eventdata__label.sc-stzh-eventdata{min-width:11.375rem}}.stzh-eventdata__content.sc-stzh-eventdata{flex-grow:1;display:flex;flex-direction:column;row-gap:var(--stzh-space-xsmall)}";
3
+ const stzhEventdataCss = ".sc-stzh-eventdata-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-eventdata-h,[stzh-hidden].sc-stzh-eventdata-h{display:none}.sc-stzh-eventdata-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-eventdata-h *.sc-stzh-eventdata,.sc-stzh-eventdata-h *.sc-stzh-eventdata::before,.sc-stzh-eventdata-h *.sc-stzh-eventdata::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-eventdata-h .has-focus.sc-stzh-eventdata{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-eventdata-h .stzh-fylingfocus-focused.sc-stzh-eventdata{outline-style:none !important}.sc-stzh-eventdata-h .stzh-fylingfocus-focused.sc-stzh-eventdata::-moz-focus-inner{border:0 !important}.stzh-eventdata.sc-stzh-eventdata{display:flex;flex-direction:column;row-gap:var(--stzh-space-xsmall);column-gap:var(--stzh-space-medium)}.stzh-eventdata__label.sc-stzh-eventdata{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy);font-size:var(--stzh-font-curve-p1-default-font-size, var(--stzh-font-milli-font-size));line-height:var(--stzh-font-curve-p1-default-text-line-height, var(--stzh-font-milli-text-line-height));letter-spacing:var(--stzh-font-curve-p1-default-text-letter-spacing);flex-shrink:0}@media screen and (min-width: 900px){.stzh-eventdata__label.sc-stzh-eventdata{font-size:var(--stzh-font-curve-p1-medium-font-size, var(--stzh-font-centi-font-size));line-height:var(--stzh-font-curve-p1-medium-text-line-height, var(--stzh-font-centi-text-line-height));letter-spacing:var(--stzh-font-curve-p1-medium-text-letter-spacing)}}@media screen and (min-width: 600px){.stzh-eventdata__label.sc-stzh-eventdata{min-width:10rem}}@media screen and (min-width: 900px){.stzh-eventdata__label.sc-stzh-eventdata{min-width:10.875rem}}@media screen and (min-width: 1260px){.stzh-eventdata__label.sc-stzh-eventdata{min-width:11.375rem}}.stzh-eventdata__content.sc-stzh-eventdata{flex-grow:1;display:flex;flex-direction:column;row-gap:var(--stzh-space-xsmall)}";
4
4
 
5
5
  const StzhEventdata = class {
6
6
  constructor(hostRef) {
@@ -1 +1 @@
1
- {"file":"stzh-eventdata.entry.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,iiFAAiiF;;MCiB7iF,aAAa;;;iBAEA,EAAE;;EAI1B,MAAM;IACJ,MAAM,OAAO,GAAG;MACd,gBAAgB,EAAE,IAAI;KACvB,CAAC;IAEF,QACE,EAAC,IAAI,QACH,WAAK,KAAK,EAAE,OAAO,IACjB,WAAK,KAAK,EAAC,uBAAuB,IAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,YAAM,IAAI,EAAC,OAAO,GAAQ,CACjD,EACN,WAAK,KAAK,EAAC,yBAAyB,IAClC,eAAa,CACT,CACF,CACD,EACP;GACH;;;;;;;","names":[],"sources":["src/components/stzh-eventdata/stzh-eventdata.scss?tag=stzh-eventdata&encapsulation=scoped","src/components/stzh-eventdata/stzh-eventdata.tsx"],"sourcesContent":[":host {\n\n}\n\n.stzh-eventdata {\n display: flex;\n flex-direction: column;\n row-gap: space('xsmall');\n column-gap: space('medium');\n\n @include mq($from: small) {\n flex-direction: row;\n }\n\n &__label {\n @include font('heavy');\n @include fontCurve('p1');\n flex-shrink: 0;\n\n @include mq($from: small) {\n min-width: 160px;\n }\n\n @include mq($from: medium) {\n min-width: 174px;\n }\n\n @include mq($from: large) {\n min-width: 182px;\n }\n }\n\n &__content {\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n row-gap: space('xsmall');\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n} from \"@stencil/core\";\n\n/**\n * @slot - Slot for multiple elements\n * @slot label - Slot for label (alternative for label property)\n */\n@Component({\n tag: \"stzh-eventdata\",\n styleUrl: \"stzh-eventdata.scss\",\n scoped: true\n})\nexport class StzhEventdata {\n /** Label (use label slot as alternative) */\n @Prop() label: string = \"\";\n\n @Element() element: HTMLStzhEventdataElement;\n\n render() {\n const classes = {\n \"stzh-eventdata\": true\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"stzh-eventdata__label\">\n {this.label ? this.label : <slot name=\"label\"></slot>}\n </div>\n <div class=\"stzh-eventdata__content\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"stzh-eventdata.entry.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,s8EAAs8E;;MCiBl9E,aAAa;;;iBAEA,EAAE;;EAI1B,MAAM;IACJ,MAAM,OAAO,GAAG;MACd,gBAAgB,EAAE,IAAI;KACvB,CAAC;IAEF,QACE,EAAC,IAAI,QACH,WAAK,KAAK,EAAE,OAAO,IACjB,WAAK,KAAK,EAAC,uBAAuB,IAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,YAAM,IAAI,EAAC,OAAO,GAAQ,CACjD,EACN,WAAK,KAAK,EAAC,yBAAyB,IAClC,eAAa,CACT,CACF,CACD,EACP;GACH;;;;;;;","names":[],"sources":["src/components/stzh-eventdata/stzh-eventdata.scss?tag=stzh-eventdata&encapsulation=scoped","src/components/stzh-eventdata/stzh-eventdata.tsx"],"sourcesContent":[":host {\n\n}\n\n.stzh-eventdata {\n display: flex;\n flex-direction: column;\n row-gap: space('xsmall');\n column-gap: space('medium');\n\n &__label {\n @include font('heavy');\n @include fontCurve('p1');\n flex-shrink: 0;\n\n @include mq($from: small) {\n min-width: 160px;\n }\n\n @include mq($from: medium) {\n min-width: 174px;\n }\n\n @include mq($from: large) {\n min-width: 182px;\n }\n }\n\n &__content {\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n row-gap: space('xsmall');\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n} from \"@stencil/core\";\n\n/**\n * @slot - Slot for multiple elements\n * @slot label - Slot for label (alternative for label property)\n */\n@Component({\n tag: \"stzh-eventdata\",\n styleUrl: \"stzh-eventdata.scss\",\n scoped: true\n})\nexport class StzhEventdata {\n /** Label (use label slot as alternative) */\n @Prop() label: string = \"\";\n\n @Element() element: HTMLStzhEventdataElement;\n\n render() {\n const classes = {\n \"stzh-eventdata\": true\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"stzh-eventdata__label\">\n {this.label ? this.label : <slot name=\"label\"></slot>}\n </div>\n <div class=\"stzh-eventdata__content\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, a as Host, g as getElement } from './index-e3050b18.js';
2
- import { a as axios } from './axios-e0a35239.js';
2
+ import { a as axios } from './axios-0cc95004.js';
3
3
 
4
4
  const stzhMicrositeTeaserlistCss = ".sc-stzh-microsite-teaserlist-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-microsite-teaserlist-h,[stzh-hidden].sc-stzh-microsite-teaserlist-h{display:none}.sc-stzh-microsite-teaserlist-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-microsite-teaserlist-h *.sc-stzh-microsite-teaserlist,.sc-stzh-microsite-teaserlist-h *.sc-stzh-microsite-teaserlist::before,.sc-stzh-microsite-teaserlist-h *.sc-stzh-microsite-teaserlist::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-microsite-teaserlist-h .has-focus.sc-stzh-microsite-teaserlist{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-microsite-teaserlist-h .stzh-fylingfocus-focused.sc-stzh-microsite-teaserlist{outline-style:none !important}.sc-stzh-microsite-teaserlist-h .stzh-fylingfocus-focused.sc-stzh-microsite-teaserlist::-moz-focus-inner{border:0 !important}.stzh-microsite-teaserlist__filter.sc-stzh-microsite-teaserlist{margin-bottom:var(--stzh-space-large)}@media screen and (min-width: 600px){.stzh-microsite-teaserlist__filter.sc-stzh-microsite-teaserlist{margin-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 900px){.stzh-microsite-teaserlist__filter.sc-stzh-microsite-teaserlist{margin-bottom:var(--stzh-space-xxlarge)}}@media screen and (min-width: 1260px){.stzh-microsite-teaserlist__filter.sc-stzh-microsite-teaserlist{margin-bottom:var(--stzh-space-xxxlarge)}}.stzh-microsite-teaserlist__show-more.sc-stzh-microsite-teaserlist{margin-top:var(--stzh-space-large);display:grid}@media screen and (min-width: 600px){.stzh-microsite-teaserlist__show-more.sc-stzh-microsite-teaserlist{margin-top:var(--stzh-space-xlarge)}}@media screen and (min-width: 900px){.stzh-microsite-teaserlist__show-more.sc-stzh-microsite-teaserlist{margin-top:var(--stzh-space-xxlarge)}}@media screen and (min-width: 1260px){.stzh-microsite-teaserlist__show-more.sc-stzh-microsite-teaserlist{margin-top:var(--stzh-space-xxxlarge)}}@media screen and (min-width: 600px){.stzh-microsite-teaserlist__show-more.sc-stzh-microsite-teaserlist{justify-content:center}}";
5
5
 
@@ -47,6 +47,7 @@ const StzhMicrositeTeaserlist = class {
47
47
  "label": tag.name,
48
48
  "value": tag.id,
49
49
  "variant": "filter",
50
+ "size": "large",
50
51
  "counter": ((tag.id)
51
52
  ? this.items.filter(item => item.tags.indexOf(tag.id) > -1).length
52
53
  : this.items.length).toString()
@@ -71,7 +72,7 @@ const StzhMicrositeTeaserlist = class {
71
72
  }
72
73
  render() {
73
74
  const classes = {
74
- "stzh-microsite-teaserlist": true,
75
+ "stzh-microsite-teaserlist": true
75
76
  };
76
77
  return (h(Host, null, h("div", { class: classes }, this._tagChips.length > 0 &&
77
78
  h("stzh-chipselect", { "hide-optional": true, "label-hidden": true, class: "stzh-microsite-teaserlist__filter", label: this.localization.tagsLabel, data: this._tagChips, onStzhChange: this.handleChange }), h("stzh-cardlist", { layout: "teasers" }, this._filteredSlicedItems.map((item) => h("stzh-card", { href: item.link }, item.image &&
@@ -1 +1 @@
1
- {"file":"stzh-microsite-teaserlist.entry.js","mappings":"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","names":[],"sources":["src/components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.scss?tag=stzh-microsite-teaserlist&encapsulation=scoped","src/components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.tsx"],"sourcesContent":[":host {\n}\n\n.stzh-microsite-teaserlist {\n &__filter {\n @include spaceCurve('margin-bottom', 'medium');\n }\n\n &__show-more {\n @include spaceCurve('margin-top', 'medium');\n display: grid;\n\n @include mq($from: small) {\n justify-content: center;\n }\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Watch,\n State\n} from \"@stencil/core\";\n\nimport axios from 'axios';\n\nimport { StzhMicrositeTeaserlistLocalizedText } from './stzh-microsite-teaserlist.localization';\n\nimport {\n StzhMicrositeTeaserlistTag,\n StzhMicrositeTeaserlistItem,\n StzhChipselectItem,\n StzhChipselectChangeEvent\n} from \"../../index\";\n\n/**\n * @see https://www.stadt-zuerich.ch/site/fuer-zueri/de/index.html\n * @see https://www.stadt-zuerich.ch/site/iazh/de/index.html\n */\n@Component({\n tag: \"stzh-microsite-teaserlist\",\n styleUrl: \"stzh-microsite-teaserlist.scss\",\n scoped: true\n})\nexport class StzhMicrositeTeaserlist {\n /** Translation strings */\n @Prop() localization: StzhMicrositeTeaserlistLocalizedText;\n\n /** API URL (`{lang}` is replaced in the URL) */\n @Prop() api: string;\n\n /** Tags */\n @Prop() tags: string | StzhMicrositeTeaserlistTag[] = [];\n private _tags: StzhMicrositeTeaserlistTag[] = [];\n private _tagChips: StzhChipselectItem[] = [];\n\n /** Numbers of items currently shown */\n @Prop({ mutable: true }) showItems: number = 6;\n private _initialShowItems: number;\n\n /** Numbers of item shown with each load more action */\n @Prop() stepItems: number = 6;\n\n @Element() element: HTMLStzhMicrositeTeaserlistElement;\n\n /** Active filter */\n @State() activeFilter: string = \"\";\n\n @State() items: StzhMicrositeTeaserlistItem[] = [];\n private _filteredItems: StzhMicrositeTeaserlistItem[] = [];\n private _filteredSlicedItems: StzhMicrositeTeaserlistItem[] = [];\n private _showMoreLink: boolean = false;\n\n @Watch(\"items\")\n @Watch(\"showItems\")\n @Watch(\"activeFilter\")\n async filterHandler() {\n this._filteredItems = this.items\n .filter((item) => {\n // return (this.activeFilter[0] !== \"\") ? item.tags.some(tag => this.activeFilters.indexOf(tag) > -1) : true;\n return (this.activeFilter !== \"\") ? item.tags.some(tag => this.activeFilter === tag) : true;\n });\n\n this._filteredSlicedItems = this._filteredItems\n .slice(0, this.showItems)\n\n this._showMoreLink = this.showItems < this._filteredItems.length;\n }\n\n @Watch(\"items\")\n @Watch(\"tags\")\n async tagsWatcher() {\n if (typeof this.tags === \"string\") {\n this._tags = JSON.parse(this.tags);\n } else {\n this._tags = this.tags;\n }\n\n this._tagChips = this._tags.map((tag) => ({\n \"label\": tag.name,\n \"value\": tag.id,\n \"variant\": \"filter\",\n \"counter\": ((tag.id)\n ? this.items.filter(item => item.tags.indexOf(tag.id) > -1).length\n : this.items.length).toString()\n }));\n }\n\n @Watch(\"api\")\n async apiWatcher(newValue: string) {\n if (!newValue) {\n return;\n }\n\n let apiUrl = this.api.replace(/\\{lang\\}/, this.localization.$locale)\n\n // load data from API\n const { data } = await axios.get(apiUrl);\n\n this.items = data.items;\n this.showItems = this._initialShowItems;\n }\n\n private handleChange = (event: CustomEvent<StzhChipselectChangeEvent>) => {\n this.showItems = this._initialShowItems;\n this.activeFilter = typeof event.detail.value === \"string\" ? event.detail.value : event.detail.value[0] || \"\";\n }\n\n private handleMoreClick = () => {\n this.showItems = this.showItems + this.stepItems;\n }\n\n async componentWillLoad() {\n this._initialShowItems = this.showItems;\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"microsite-teaserlist\");\n }\n\n await this.apiWatcher(this.api);\n }\n\n render() {\n const classes = {\n \"stzh-microsite-teaserlist\": true,\n };\n\n return (\n <Host>\n <div class={classes}>\n {this._tagChips.length > 0 &&\n <stzh-chipselect\n hide-optional\n label-hidden\n class=\"stzh-microsite-teaserlist__filter\"\n label={this.localization.tagsLabel}\n data={this._tagChips}\n onStzhChange={this.handleChange}\n ></stzh-chipselect>\n }\n\n <stzh-cardlist layout=\"teasers\">\n {this._filteredSlicedItems.map((item) =>\n <stzh-card href={item.link}>\n {item.image &&\n <stzh-ratio slot=\"image\">\n <img src={item.image} />\n </stzh-ratio>\n }\n {item.title &&\n <div slot=\"heading\">{item.title}</div>\n }\n {/* <stzh-clamp slot=\"heading\" lines={2}>{item.title}</stzh-clamp> */}\n {item.description &&\n <div slot=\"content\">{item.description}</div>\n }\n {/* <stzh-clamp slot=\"content\" lines={3}>{item.description}</stzh-clamp> */}\n </stzh-card>\n )}\n </stzh-cardlist>\n\n {this._showMoreLink &&\n <div class=\"stzh-microsite-teaserlist__show-more\">\n <stzh-button\n variant=\"secondary\"\n label={this.localization.showMore}\n onClick={this.handleMoreClick}\n ></stzh-button>\n </div>\n }\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"stzh-microsite-teaserlist.entry.js","mappings":"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","names":[],"sources":["src/components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.scss?tag=stzh-microsite-teaserlist&encapsulation=scoped","src/components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.tsx"],"sourcesContent":[":host {\n}\n\n.stzh-microsite-teaserlist {\n &__filter {\n @include spaceCurve('margin-bottom', 'medium');\n }\n\n &__show-more {\n @include spaceCurve('margin-top', 'medium');\n display: grid;\n\n @include mq($from: small) {\n justify-content: center;\n }\n }\n}\n","import { Component, Element, h, Host, Prop, State, Watch } from \"@stencil/core\";\n\nimport axios from \"axios\";\n\nimport { StzhChipselectChangeEvent, StzhChipselectItem, StzhMicrositeTeaserlistItem, StzhMicrositeTeaserlistTag } from \"../../index\";\n\nimport { StzhMicrositeTeaserlistLocalizedText } from \"./stzh-microsite-teaserlist.localization\";\n\n/**\n * @see https://www.stadt-zuerich.ch/site/fuer-zueri/de/index.html\n * @see https://www.stadt-zuerich.ch/site/iazh/de/index.html\n */\n@Component({\n tag: \"stzh-microsite-teaserlist\",\n styleUrl: \"stzh-microsite-teaserlist.scss\",\n scoped: true\n})\nexport class StzhMicrositeTeaserlist {\n /** Translation strings */\n @Prop() localization: StzhMicrositeTeaserlistLocalizedText;\n\n /** API URL (`{lang}` is replaced in the URL) */\n @Prop() api: string;\n\n /** Tags */\n @Prop() tags: string | StzhMicrositeTeaserlistTag[] = [];\n private _tags: StzhMicrositeTeaserlistTag[] = [];\n private _tagChips: StzhChipselectItem[] = [];\n\n /** Numbers of items currently shown */\n @Prop({ mutable: true }) showItems: number = 6;\n private _initialShowItems: number;\n\n /** Numbers of item shown with each load more action */\n @Prop() stepItems: number = 6;\n\n @Element() element: HTMLStzhMicrositeTeaserlistElement;\n\n /** Active filter */\n @State() activeFilter: string = \"\";\n\n @State() items: StzhMicrositeTeaserlistItem[] = [];\n private _filteredItems: StzhMicrositeTeaserlistItem[] = [];\n private _filteredSlicedItems: StzhMicrositeTeaserlistItem[] = [];\n private _showMoreLink: boolean = false;\n\n @Watch(\"items\")\n @Watch(\"showItems\")\n @Watch(\"activeFilter\")\n async filterHandler() {\n this._filteredItems = this.items\n .filter((item) => {\n // return (this.activeFilter[0] !== \"\") ? item.tags.some(tag => this.activeFilters.indexOf(tag) > -1) : true;\n return (this.activeFilter !== \"\") ? item.tags.some(tag => this.activeFilter === tag) : true;\n });\n\n this._filteredSlicedItems = this._filteredItems\n .slice(0, this.showItems);\n\n this._showMoreLink = this.showItems < this._filteredItems.length;\n }\n\n @Watch(\"items\")\n @Watch(\"tags\")\n async tagsWatcher() {\n if (typeof this.tags === \"string\") {\n this._tags = JSON.parse(this.tags);\n } else {\n this._tags = this.tags;\n }\n\n this._tagChips = this._tags.map((tag) => ({\n \"label\": tag.name,\n \"value\": tag.id,\n \"variant\": \"filter\",\n \"size\": \"large\",\n \"counter\": ((tag.id)\n ? this.items.filter(item => item.tags.indexOf(tag.id) > -1).length\n : this.items.length).toString()\n }));\n }\n\n @Watch(\"api\")\n async apiWatcher(newValue: string) {\n if (!newValue) {\n return;\n }\n\n let apiUrl = this.api.replace(/\\{lang\\}/, this.localization.$locale);\n\n // load data from API\n const { data } = await axios.get(apiUrl);\n\n this.items = data.items;\n this.showItems = this._initialShowItems;\n }\n\n private handleChange = (event: CustomEvent<StzhChipselectChangeEvent>) => {\n this.showItems = this._initialShowItems;\n this.activeFilter = typeof event.detail.value === \"string\" ? event.detail.value : event.detail.value[0] || \"\";\n };\n\n private handleMoreClick = () => {\n this.showItems = this.showItems + this.stepItems;\n };\n\n async componentWillLoad() {\n this._initialShowItems = this.showItems;\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"microsite-teaserlist\");\n }\n\n await this.apiWatcher(this.api);\n }\n\n render() {\n const classes = {\n \"stzh-microsite-teaserlist\": true\n };\n\n return (\n <Host>\n <div class={classes}>\n {this._tagChips.length > 0 &&\n <stzh-chipselect\n hide-optional\n label-hidden\n class=\"stzh-microsite-teaserlist__filter\"\n label={this.localization.tagsLabel}\n data={this._tagChips}\n onStzhChange={this.handleChange}\n ></stzh-chipselect>\n }\n\n <stzh-cardlist layout=\"teasers\">\n {this._filteredSlicedItems.map((item) =>\n <stzh-card href={item.link}>\n {item.image &&\n <stzh-ratio slot=\"image\">\n <img src={item.image} />\n </stzh-ratio>\n }\n {item.title &&\n <div slot=\"heading\">{item.title}</div>\n }\n {/* <stzh-clamp slot=\"heading\" lines={2}>{item.title}</stzh-clamp> */}\n {item.description &&\n <div slot=\"content\">{item.description}</div>\n }\n {/* <stzh-clamp slot=\"content\" lines={3}>{item.description}</stzh-clamp> */}\n </stzh-card>\n )}\n </stzh-cardlist>\n\n {this._showMoreLink &&\n <div class=\"stzh-microsite-teaserlist__show-more\">\n <stzh-button\n variant=\"secondary\"\n label={this.localization.showMore}\n onClick={this.handleMoreClick}\n ></stzh-button>\n </div>\n }\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, F as Fragment, a as Host, g as getElement } from './index-e3050b18.js';
2
- import { a as axios } from './axios-e0a35239.js';
2
+ import { a as axios } from './axios-0cc95004.js';
3
3
 
4
4
  const stzhPoilistCss = ".sc-stzh-poilist-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-poilist-h,[stzh-hidden].sc-stzh-poilist-h{display:none}.sc-stzh-poilist-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-poilist-h *.sc-stzh-poilist,.sc-stzh-poilist-h *.sc-stzh-poilist::before,.sc-stzh-poilist-h *.sc-stzh-poilist::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-poilist-h .has-focus.sc-stzh-poilist{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-poilist-h .stzh-fylingfocus-focused.sc-stzh-poilist{outline-style:none !important}.sc-stzh-poilist-h .stzh-fylingfocus-focused.sc-stzh-poilist::-moz-focus-inner{border:0 !important}.stzh-poilist__header.sc-stzh-poilist{margin-bottom:var(--stzh-space-xsmall);display:flex;justify-content:space-between;align-items:center}@media screen and (min-width: 600px){.stzh-poilist__header.sc-stzh-poilist{margin-bottom:var(--stzh-space-small)}}@media screen and (min-width: 900px){.stzh-poilist__header.sc-stzh-poilist{margin-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-poilist__header.sc-stzh-poilist{margin-bottom:var(--stzh-space-xlarge)}}.stzh-poilist__header.sc-stzh-poilist stzh-text.sc-stzh-poilist{--color:var(--stzh-color-grey80);font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy)}.stzh-poilist__show-more.sc-stzh-poilist{margin-top:var(--stzh-space-large);display:grid}@media screen and (min-width: 600px){.stzh-poilist__show-more.sc-stzh-poilist{margin-top:var(--stzh-space-xlarge)}}@media screen and (min-width: 900px){.stzh-poilist__show-more.sc-stzh-poilist{margin-top:var(--stzh-space-xxlarge)}}@media screen and (min-width: 1260px){.stzh-poilist__show-more.sc-stzh-poilist{margin-top:var(--stzh-space-xxxlarge)}}@media screen and (min-width: 600px){.stzh-poilist__show-more.sc-stzh-poilist{justify-content:center}}.stzh-poilist.sc-stzh-poilist stzh-dropdown.sc-stzh-poilist{--color:var(--stzh-color-primary90);--icon-color:var(--stzh-color-primary90);--icon-angle-color:var(--stzh-color-primary90)}";
5
5
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, a as Host, g as getElement } from './index-e3050b18.js';
1
+ import { r as registerInstance, f as forceUpdate, h, a as Host, g as getElement } from './index-e3050b18.js';
2
2
  import { m as media, a as addMediaChangeListener, r as removeMediaChangeListener } from './media-utils-d80f83d2.js';
3
3
 
4
4
  const stzhProgressbarCss = ".sc-stzh-progressbar-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-progressbar-h,[stzh-hidden].sc-stzh-progressbar-h{display:none}.sc-stzh-progressbar-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-progressbar-h *.sc-stzh-progressbar,.sc-stzh-progressbar-h *.sc-stzh-progressbar::before,.sc-stzh-progressbar-h *.sc-stzh-progressbar::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-progressbar-h .has-focus.sc-stzh-progressbar{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-progressbar-h .stzh-fylingfocus-focused.sc-stzh-progressbar{outline-style:none !important}.sc-stzh-progressbar-h .stzh-fylingfocus-focused.sc-stzh-progressbar::-moz-focus-inner{border:0 !important}.sc-stzh-progressbar-h{min-width:calc(var(--steps) * 1.6875rem * 2)}@media screen and (min-width: 600px){.sc-stzh-progressbar-h{min-width:calc(var(--steps) * 1.9375rem * 2)}}.stzh-progressbar.sc-stzh-progressbar{position:relative;z-index:0;overflow:hidden}.stzh-progressbar__items.sc-stzh-progressbar{display:flex;flex-wrap:nowrap}.stzh-progressbar__item.sc-stzh-progressbar{flex-grow:1;flex-shrink:1;flex-basis:0}";
@@ -48,6 +48,19 @@ const StzhProgressbar = class {
48
48
  return Object.assign(Object.assign({}, step), this.getItemAttributes(index));
49
49
  });
50
50
  }
51
+ onIndexChange() {
52
+ this.indexWatcher(this.index);
53
+ this.setCurrentSteps();
54
+ forceUpdate(this.element);
55
+ }
56
+ indexWatcher(newIndex) {
57
+ if (typeof newIndex === "string") {
58
+ this.index = JSON.parse(newIndex);
59
+ }
60
+ else {
61
+ this.index = newIndex;
62
+ }
63
+ }
51
64
  stepsWatcher() {
52
65
  this.setCurrentSteps();
53
66
  }
@@ -101,10 +114,19 @@ const StzhProgressbar = class {
101
114
  }
102
115
  async componentWillLoad() {
103
116
  this.dataWatcher(this.data);
117
+ this.indexWatcher(this.index);
104
118
  if (!this.localization) {
105
119
  this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, "progressbar");
106
120
  }
107
121
  }
122
+ async componentShouldUpdate() {
123
+ this.dataWatcher(this.data);
124
+ this.indexWatcher(this.index);
125
+ }
126
+ async componentDidUpdate() {
127
+ this.dataWatcher(this.data);
128
+ this.indexWatcher(this.index);
129
+ }
108
130
  connectedCallback() {
109
131
  this.setCurrentSteps();
110
132
  addMediaChangeListener(this.setCurrentSteps);
@@ -123,6 +145,7 @@ const StzhProgressbar = class {
123
145
  }
124
146
  get element() { return getElement(this); }
125
147
  static get watchers() { return {
148
+ "index": ["onIndexChange"],
126
149
  "steps": ["stepsWatcher"],
127
150
  "stepsSmall": ["stepsWatcher"],
128
151
  "stepsMedium": ["stepsWatcher"],
@@ -1 +1 @@
1
- {"file":"stzh-progressbar.entry.js","mappings":"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","names":[],"sources":["src/components/stzh-progressbar/stzh-progressbar.scss?tag=stzh-progressbar&encapsulation=scoped","src/components/stzh-progressbar/stzh-progressbar.tsx"],"sourcesContent":[":host {\n min-width: calc(var(--steps) * #{$progressbarItemDottedSize} * 2);\n\n @include mq($from: small) {\n min-width: calc(var(--steps) * #{$progressbarItemDottedSizeSmallUp} * 2);\n }\n}\n\n.stzh-progressbar {\n position: relative;\n z-index: 0; // create new stacking context\n\toverflow: hidden;\n\n &__items {\n display: flex;\n flex-wrap: nowrap;\n }\n\n &__item {\n /* flex the bullets to always have the same size */\n\t\tflex-grow: 1;\n\t\tflex-shrink: 1;\n\t\tflex-basis: 0;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Watch,\n Method\n} from \"@stencil/core\";\n\nimport {\n StzhProgressbarDataItem\n} from '../../index';\n\nimport { addMediaChangeListener, removeMediaChangeListener, media } from \"../../utils/media-utils\";\nimport { StzhProgressbarLocalizedText } from \"./stzh-progressbar.localization\"\n\n/**\n * @slot - Slot for any text content\n */\n@Component({\n tag: \"stzh-progressbar\",\n styleUrl: \"stzh-progressbar.scss\",\n scoped: true\n})\nexport class StzhProgressbar {\n /** Translation strings */\n @Prop() localization: StzhProgressbarLocalizedText;\n\n /**\n * Step data (JSON array with objects that have `label` attribute and optional:\n * - `disabled`, if step should be disabled\n * - `icon`, if icon instead of step number should be displayed):\n * - `analyticsId`, for Adobe Analytics, rendered as `s-object-id` (default is `label`)\n *\n * ```\n * {\n * \"label\": \"Step Label\"\n * \"icon\": \"clock\",\n * \"disabled\": true\n * }\n * ```\n */\n @Prop() data: StzhProgressbarDataItem[] | string = [];\n private _data: StzhProgressbarDataItem[];\n\n /** Index of the item that be active */\n @Prop() index: number = 0;\n\n /** Number of steps to show below small breakpoint */\n @Prop() steps: number = 5;\n\n /** Number of steps to show above small breakpoint */\n @Prop() stepsSmall: number = 6;\n\n /** Number of steps to show above medium breakpoint */\n @Prop() stepsMedium: number = 0;\n\n /** Number of steps to show above large breakpoint */\n @Prop() stepsLarge: number = 0;\n\n /** Number of steps to show above ultra breakpoint */\n @Prop() stepsUltra: number = 0;\n\n /** Whether all the progressbar-items are clickable (overrides item.clickDisabled in data property). */\n @Prop() clickDisabled: boolean = false;\n\n @State() currentSteps: number;\n\n @Element() element: HTMLStzhProgressbarElement;\n\n /**\n * Return infos about rendered progressbar items.\n * Array of objects including: hide (whether step is hidden)\n * / passed (whether step has been passed)\n * / current (whether step is currently active)\n * / dotted (whether step has dotted style active)\n * / first|last (whether step is first or last)\n * / label\n */\n @Method()\n async getItemData() {\n return this._data.map((step, index) => {\n return {\n ...step,\n ...this.getItemAttributes(index)\n }\n });\n }\n\n @Watch(\"steps\")\n @Watch(\"stepsSmall\")\n @Watch(\"stepsMedium\")\n @Watch(\"stepsLarge\")\n @Watch(\"stepsUltra\")\n stepsWatcher() {\n this.setCurrentSteps();\n }\n\n @Watch(\"data\")\n dataWatcher(newValue: any[] | string) {\n if (typeof newValue === \"string\") {\n this._data = JSON.parse(newValue);\n }\n else {\n this._data = newValue;\n }\n\n this.lastItemIndex = this._data.length - 1;\n this.maxStepIndex = this.currentSteps - 1;\n this.withinLastFewSteps = this.index >= this._data.length - this.maxStepIndex;\n }\n\n private lastItemIndex: number;\n private maxStepIndex: number;\n private withinLastFewSteps: boolean;\n\n private getItemAttributes(itemIndex: number): any {\n const item = {} as HTMLStzhProgressbarItemElement;\n\n item.step = itemIndex + 1;\n item.first = itemIndex === 0;\n item.last = itemIndex === this.lastItemIndex;\n item.current = itemIndex === this.index;\n item.passed = itemIndex < this.index;\n\n const stepItemFromData = this._data[itemIndex];\n item.incomplete = stepItemFromData.incomplete;\n\n // hide overflowings if more items than max steps in DOM\n if (this._data.length > this.currentSteps) {\n // add dots to last item if current index is below the last few items\n if (itemIndex === this.lastItemIndex && !this.withinLastFewSteps) {\n item.dotted = true;\n }\n\n if (this.index < 2) {\n // hide overflowing items on the right\n item.hide = itemIndex > this.maxStepIndex - 1 && itemIndex < this.lastItemIndex;\n } else {\n // add dots to first item if current item is third or above\n if (itemIndex === 0) {\n item.dotted = true;\n }\n\n let substract = this.index;\n\n // if is within the last elements, calculate how much previous\n // should be shown to stay on 5 visible elements\n if (this.withinLastFewSteps) {\n substract = this._data.length - this.maxStepIndex;\n }\n\n // hide overflowing items on left and right side\n item.hide = itemIndex > 0 && itemIndex < substract\n || itemIndex > this.index + (this.currentSteps - 3) && itemIndex < this.lastItemIndex;\n }\n }\n\n return item;\n }\n\n private setCurrentSteps = () => {\n if (media(\"ultra\").matches && this.stepsUltra) {\n this.currentSteps = this.stepsUltra;\n } else if (media(\"large\").matches && this.stepsLarge) {\n this.currentSteps = this.stepsLarge;\n } else if (media(\"medium\").matches && this.stepsMedium) {\n this.currentSteps = this.stepsMedium;\n } else if (media(\"small\").matches && this.stepsSmall) {\n this.currentSteps = this.stepsSmall;\n } else {\n this.currentSteps = this.steps;\n }\n }\n\n async componentWillLoad() {\n this.dataWatcher(this.data);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"progressbar\");\n }\n }\n\n connectedCallback() {\n this.setCurrentSteps();\n addMediaChangeListener(this.setCurrentSteps);\n }\n\n disconnectedCallback() {\n removeMediaChangeListener(this.setCurrentSteps);\n }\n\n render() {\n const classes = {\n \"stzh-progressbar\": true,\n [`stzh-progressbar--index-${this.index}`]: !!this.index\n };\n\n return (\n <Host\n style={{\n '--steps': this.currentSteps ? this.currentSteps.toString() : null,\n }}\n >\n <div class={classes}>\n <div\n class=\"stzh-progressbar__items\"\n role=\"list\"\n aria-label={this.localization.label}\n >\n {this._data.map((step, index) =>\n <stzh-progressbar-item\n {...this.getItemAttributes(index)}\n icon={step.icon}\n disabled={step.disabled}\n label={step.label}\n click-disabled={step.clickDisabled !== undefined ? step.clickDisabled : this.clickDisabled}\n class=\"stzh-progressbar__item\"\n ></stzh-progressbar-item>\n )}\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"stzh-progressbar.entry.js","mappings":"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","names":[],"sources":["src/components/stzh-progressbar/stzh-progressbar.scss?tag=stzh-progressbar&encapsulation=scoped","src/components/stzh-progressbar/stzh-progressbar.tsx"],"sourcesContent":[":host {\n min-width: calc(var(--steps) * #{$progressbarItemDottedSize} * 2);\n\n @include mq($from: small) {\n min-width: calc(var(--steps) * #{$progressbarItemDottedSizeSmallUp} * 2);\n }\n}\n\n.stzh-progressbar {\n position: relative;\n z-index: 0; // create new stacking context\n\toverflow: hidden;\n\n &__items {\n display: flex;\n flex-wrap: nowrap;\n }\n\n &__item {\n /* flex the bullets to always have the same size */\n\t\tflex-grow: 1;\n\t\tflex-shrink: 1;\n\t\tflex-basis: 0;\n }\n}\n","import {\n Component,\n forceUpdate,\n Host,\n h,\n Prop,\n State,\n Element,\n Watch,\n Method\n} from \"@stencil/core\";\n\nimport {\n StzhProgressbarDataItem\n} from '../../index';\n\nimport { addMediaChangeListener, removeMediaChangeListener, media } from \"../../utils/media-utils\";\nimport { StzhProgressbarLocalizedText } from \"./stzh-progressbar.localization\"\n\n/**\n * @slot - Slot for any text content\n */\n@Component({\n tag: \"stzh-progressbar\",\n styleUrl: \"stzh-progressbar.scss\",\n scoped: true\n})\nexport class StzhProgressbar {\n /** Translation strings */\n @Prop() localization: StzhProgressbarLocalizedText;\n\n /**\n * Step data (JSON array with objects that have `label` attribute and optional:\n * - `disabled`, if step should be disabled\n * - `icon`, if icon instead of step number should be displayed):\n * - `analyticsId`, for Adobe Analytics, rendered as `s-object-id` (default is `label`)\n *\n * ```\n * {\n * \"label\": \"Step Label\"\n * \"icon\": \"clock\",\n * \"disabled\": true\n * }\n * ```\n */\n @Prop() data: StzhProgressbarDataItem[] | string = [];\n private _data: StzhProgressbarDataItem[];\n\n /** Index of the item that be active */\n @Prop({ reflect: true }) index: number = 0;\n\n /** Number of steps to show below small breakpoint */\n @Prop() steps: number = 5;\n\n /** Number of steps to show above small breakpoint */\n @Prop() stepsSmall: number = 6;\n\n /** Number of steps to show above medium breakpoint */\n @Prop() stepsMedium: number = 0;\n\n /** Number of steps to show above large breakpoint */\n @Prop() stepsLarge: number = 0;\n\n /** Number of steps to show above ultra breakpoint */\n @Prop() stepsUltra: number = 0;\n\n /** Whether all the progressbar-items are clickable (overrides item.clickDisabled in data property). */\n @Prop() clickDisabled: boolean = false;\n\n @State() currentSteps: number;\n\n @Element() element: HTMLStzhProgressbarElement;\n\n /**\n * Return infos about rendered progressbar items.\n * Array of objects including: hide (whether step is hidden)\n * / passed (whether step has been passed)\n * / current (whether step is currently active)\n * / dotted (whether step has dotted style active)\n * / first|last (whether step is first or last)\n * / label\n */\n @Method()\n async getItemData() {\n return this._data.map((step, index) => {\n return {\n ...step,\n ...this.getItemAttributes(index)\n }\n });\n }\n\n @Watch(\"index\")\n onIndexChange() {\n this.indexWatcher(this.index);\n this.setCurrentSteps();\n forceUpdate(this.element);\n }\n\n indexWatcher(newIndex: string | number) {\n if (typeof newIndex === \"string\") {\n this.index = JSON.parse(newIndex);\n }\n else {\n this.index = newIndex;\n }\n }\n\n @Watch(\"steps\")\n @Watch(\"stepsSmall\")\n @Watch(\"stepsMedium\")\n @Watch(\"stepsLarge\")\n @Watch(\"stepsUltra\")\n stepsWatcher() {\n this.setCurrentSteps();\n }\n\n @Watch(\"data\")\n dataWatcher(newValue: any[] | string) {\n if (typeof newValue === \"string\") {\n this._data = JSON.parse(newValue);\n }\n else {\n this._data = newValue;\n }\n\n this.lastItemIndex = this._data.length - 1;\n this.maxStepIndex = this.currentSteps - 1;\n this.withinLastFewSteps = this.index >= this._data.length - this.maxStepIndex;\n }\n\n private lastItemIndex: number;\n private maxStepIndex: number;\n private withinLastFewSteps: boolean;\n\n private getItemAttributes(itemIndex: number): any {\n const item = {} as HTMLStzhProgressbarItemElement;\n\n item.step = itemIndex + 1;\n item.first = itemIndex === 0;\n item.last = itemIndex === this.lastItemIndex;\n item.current = itemIndex === this.index;\n item.passed = itemIndex < this.index;\n\n const stepItemFromData = this._data[itemIndex];\n item.incomplete = stepItemFromData.incomplete;\n\n // hide overflowings if more items than max steps in DOM\n if (this._data.length > this.currentSteps) {\n // add dots to last item if current index is below the last few items\n if (itemIndex === this.lastItemIndex && !this.withinLastFewSteps) {\n item.dotted = true;\n }\n\n if (this.index < 2) {\n // hide overflowing items on the right\n item.hide = itemIndex > this.maxStepIndex - 1 && itemIndex < this.lastItemIndex;\n } else {\n // add dots to first item if current item is third or above\n if (itemIndex === 0) {\n item.dotted = true;\n }\n\n let substract = this.index;\n\n // if is within the last elements, calculate how much previous\n // should be shown to stay on 5 visible elements\n if (this.withinLastFewSteps) {\n substract = this._data.length - this.maxStepIndex;\n }\n\n // hide overflowing items on left and right side\n item.hide = itemIndex > 0 && itemIndex < substract\n || itemIndex > this.index + (this.currentSteps - 3) && itemIndex < this.lastItemIndex;\n }\n }\n\n return item;\n }\n\n private setCurrentSteps = () => {\n if (media(\"ultra\").matches && this.stepsUltra) {\n this.currentSteps = this.stepsUltra;\n } else if (media(\"large\").matches && this.stepsLarge) {\n this.currentSteps = this.stepsLarge;\n } else if (media(\"medium\").matches && this.stepsMedium) {\n this.currentSteps = this.stepsMedium;\n } else if (media(\"small\").matches && this.stepsSmall) {\n this.currentSteps = this.stepsSmall;\n } else {\n this.currentSteps = this.steps;\n }\n }\n\n async componentWillLoad() {\n this.dataWatcher(this.data);\n this.indexWatcher(this.index);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"progressbar\");\n }\n }\n\n async componentShouldUpdate() {\n this.dataWatcher(this.data);\n this.indexWatcher(this.index);\n }\n\n async componentDidUpdate() {\n this.dataWatcher(this.data);\n this.indexWatcher(this.index);\n }\n\n connectedCallback() {\n this.setCurrentSteps();\n addMediaChangeListener(this.setCurrentSteps);\n }\n\n disconnectedCallback() {\n removeMediaChangeListener(this.setCurrentSteps);\n }\n\n render() {\n const classes = {\n \"stzh-progressbar\": true,\n [`stzh-progressbar--index-${this.index}`]: !!this.index\n };\n\n return (\n <Host\n style={{\n '--steps': this.currentSteps ? this.currentSteps.toString() : null,\n }}\n >\n <div class={classes}>\n <div\n class=\"stzh-progressbar__items\"\n role=\"list\"\n aria-label={this.localization.label}\n >\n {this._data.map((step, index) =>\n <stzh-progressbar-item\n {...this.getItemAttributes(index)}\n icon={step.icon}\n disabled={step.disabled}\n label={step.label}\n click-disabled={step.clickDisabled !== undefined ? step.clickDisabled : this.clickDisabled}\n class=\"stzh-progressbar__item\"\n ></stzh-progressbar-item>\n )}\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment, a as Host, g as getElement } from './index-e3050b18.js';
2
- import { a as axios } from './axios-e0a35239.js';
2
+ import { a as axios } from './axios-0cc95004.js';
3
3
  import { r as raf, h as hasSlot } from './utils-299e480e.js';
4
4
  import { m as media, a as addMediaChangeListener, r as removeMediaChangeListener } from './media-utils-d80f83d2.js';
5
5
  import { d as debounce_1 } from './debounce-26b7f7bf.js';
@@ -473,7 +473,7 @@ const StzhSearch = class {
473
473
  const wrapperProps = typeof this.templateResultWrapperProps === "function"
474
474
  ? this.templateResultWrapperProps(this.element)
475
475
  : this.templateResultWrapperProps;
476
- return (h(Host, { "has-aside-filters": filtersAsideUsed, fullwidth: this.isStzhAnchornavVisible.toString() }, h("form", { ref: el => (this.formElement = el), novalidate: true, class: classes, onSubmit: this.handleFormSubmit, onReset: this.handleFormReset }, h("div", { class: "stzh-search__filters-main", onStzhChange: this.handleMainFilterChange }, !!this.heading && (h("stzh-heading", { class: "stzh-search__header-heading", curve: "h2" }, this.heading)), h("slot", { name: "filters-main" }), !chipsProvided && this.chipResults.length > 0 && (h("div", { class: "stzh-search__filters-main-chips" }, this.chipResultsHeading && (h("stzh-text", { font: "heavy", size: "milli", color: "primary" }, this.chipResultsHeading)), this.chipResults[0].options ? (h("stzh-chipgroup", null, this.chipResults.map(chipResult => (h("stzh-dropdown", { label: chipResult.label, name: chipResult.value, variant: "filter", "no-search": true, "hide-optional": true, inline: true, options: chipResult.options }))))) : (h("stzh-chipselect", { multiple: true, name: "subject", label: this.chipResultsHeading, "label-hidden": true, data: this.chipResults.map(chipResult => ({
476
+ return (h(Host, { "has-aside-filters": filtersAsideUsed, fullwidth: this.isStzhAnchornavVisible.toString() }, h("form", { ref: el => (this.formElement = el), novalidate: true, class: classes, onSubmit: this.handleFormSubmit, onReset: this.handleFormReset }, h("div", { class: "stzh-search__filters-main", onStzhChange: this.handleMainFilterChange }, !!this.heading && (h("stzh-heading", { class: "stzh-search__header-heading", curve: "h2" }, this.heading)), h("slot", { name: "filters-main" }), !chipsProvided && this.chipResults.length > 0 && (h("div", { class: "stzh-search__filters-main-chips" }, this.chipResultsHeading && (h("stzh-text", { font: "heavy", size: "milli", color: "primary" }, this.chipResultsHeading)), this.chipResults[0].options ? (h("stzh-chipgroup", null, this.chipResults.map(chipResult => (h("stzh-dropdown", { label: chipResult.label, name: chipResult.value, variant: "filter", size: "large", "no-search": true, "hide-optional": true, inline: true, options: chipResult.options }))))) : (h("stzh-chipselect", { multiple: true, name: "subject", label: this.chipResultsHeading, "label-hidden": true, data: this.chipResults.map(chipResult => ({
477
477
  label: chipResult.label,
478
478
  value: chipResult.value,
479
479
  counter: `${chipResult.amount}`,
@@ -1 +1 @@
1
- {"file":"stzh-search.entry.js","mappings":"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","names":["debounce"],"sources":["src/components/stzh-search/stzh-search.scss?tag=stzh-search","src/components/stzh-search/stzh-search.tsx"],"sourcesContent":["stzh-search {\n @include host;\n\n --filter-background-color: var(--stzh-search-filter-background-color, #{$colorGrey10});\n\n --grid-template-areas: \"filters-main filters-main filters-main filters-main\" \"results results results results\";\n\n @include mq($from: medium) {\n --grid-template-areas: \"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main\" \"results results results results results results results results\";\n }\n\n @include mq($from: large) {\n --grid-template-areas: \"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main\" \". . results results results results results results results results . .\";\n }\n\n &:where([has-aside-filters]:not([hide-aside-filters]:not([hide-aside-filters=\"false\"]))) {\n --grid-template-areas: \"filters-main filters-main filters-main filters-main\" \"filters-aside filters-aside filters-aside filters-aside\" \"results results results results\";\n\n @include mq($from: medium) {\n --grid-template-areas: \"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main\" \"filters-aside filters-aside filters-aside filters-aside filters-aside filters-aside filters-aside filters-aside\" \"results results results results results results results results\";\n }\n\n @include mq($from: large) {\n --grid-template-areas: \"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main\" \"filters-aside filters-aside filters-aside filters-aside results results results results results results results results\";\n }\n }\n\n &:where([variant=\"teaser\"]:not([has-aside-filters])),\n &:where([fullwidth=\"true\"]:not([has-aside-filters])) {\n @include mq($from: large) {\n --grid-template-areas: \"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main\" \"results results results results results results results results results results results results\";\n }\n }\n}\n\n.stzh-search {\n @include grid;\n grid-template-areas: var(--grid-template-areas);\n\n &__header-heading {\n @include spaceCurve('margin-bottom', 'small');\n }\n\n &__filters-main {\n grid-area: filters-main;\n\n &:not(:empty) {\n @include spaceCurve('padding', 'medium');\n background-color: var(--filter-background-color);\n }\n }\n\n &__filters-aside {\n grid-area: filters-aside;\n\n &:not(:empty) {\n @include spaceCurve('padding', 'medium');\n background-color: var(--filter-background-color);\n\n @include mq($from: large) {\n background-color: transparent;\n padding: 0;\n }\n }\n }\n\n &__filters-aside-heading {\n @include font('heavy');\n @include fontCurve('h4');\n @include spaceCurve('padding-bottom', 'tiny');\n color: $colorPrimary70;\n display: none;\n\n @include mq($from: large) {\n display: block;\n }\n }\n\n stzh-button#{&}__filters-aside-details-trigger {\n @include mq($from: large) {\n display: none;\n }\n }\n\n &__filters-aside-inner {\n @include mq($from: large) {\n position: sticky;\n top: calc(var(--stzh-header-metabar-height, 0px) * var(--stzh-header-is-stuck, 0) + #{space('medium')});\n transition: top $baseTransitionAnimationSpeed;\n width: calc(100% + #{$gridGutterLarge} - #{spaceCurveValue('large', 'large')});\n }\n\n @include mq($from: ultra) {\n width: calc(100% + #{$gridGutterUltra} - #{spaceCurveValue('large', 'large')});\n }\n }\n\n &__results-wrapper {\n grid-area: results;\n display: grid;\n --stzh-datalist-grid-template-areas: \"list list list list list list list list\";\n }\n\n &__results-header {\n display: flex;\n flex-direction: column;\n\n @include mq($from: medium) {\n flex-direction: row;\n align-items: center;\n }\n }\n\n &__results-sort {\n display: flex;\n }\n\n &__results-heading,\n &__results-empty,\n &__results,\n &__action-more {\n transition-property: opacity;\n transition-duration: $baseTransitionAnimationSpeed;\n }\n\n &__results-text,\n &__results-sort,\n &__results-subscribe {\n @include spaceCurve('margin-bottom', 'regular');\n }\n\n &__results-heading {\n @include spaceCurve('margin-bottom', 'small');\n\n @include mq($from: medium) {\n @include spaceCurve('margin-bottom', 'regular');\n }\n }\n\n &__results-item {\n display: contents;\n }\n\n &__actions-wrapper {\n display: flex;\n justify-content: center;\n\n &:not(:empty) {\n @include spaceCurve('margin-top', 'medium');\n }\n }\n\n &__empty-text {\n @include spaceCurve('margin-bottom', 'regular');\n }\n\n &__loader {\n @include spaceCurve('margin-top', 'medium');\n }\n\n &__filters-main-chips {\n @include spaceCurve('margin-top', 'medium');\n }\n\n /* Teaser variant */\n\n &--teaser &__actions-wrapper {\n justify-content: flex-start;\n }\n\n //&--teaser &__filters-main {\n // &:not(:empty) {\n // padding: 0;\n // background-color: transparent;\n // }\n //}\n //\n //&--teaser &__filters-aside {\n // &:not(:empty) {\n // padding: 0;\n // background-color: transparent;\n // }\n //}\n\n /* Has results shown or aside filter */\n\n &--has-results-shown &__results-wrapper {\n @include mq($to: large) {\n @include spaceCurve('margin-top', 'huge');\n }\n }\n\n &--has-results-shown &__filters-main,\n &--has-filters-aside &__filters-main {\n @include mq($from: large) {\n @include spaceCurve('margin-bottom', 'large');\n }\n }\n\n &--has-results-shown#{&}--teaser &__results-wrapper {\n @include mq($to: large) {\n @include spaceCurve('margin-top', 'medium');\n }\n }\n\n &--has-results-shown#{&}--teaser &__filters-main,\n &--has-filters-aside#{&}--teaser &__filters-main {\n @include mq($from: large) {\n @include spaceCurve('margin-bottom', 'medium');\n }\n }\n\n /* Has main and aside filters */\n\n &--has-filters-main#{&}--has-filters-aside &__filters-main {\n &:not(:empty) {\n @include spaceCurve('padding-bottom', 'regular');\n }\n }\n\n &--has-filters-main#{&}--has-filters-aside &__filters-aside {\n &:not(:empty) {\n padding-top: 0px;\n }\n }\n\n /* Has hidden main/aside filters */\n\n &--has-hidden-main-filters &__filters-main {\n display: none;\n }\n\n &--has-hidden-aside-filters &__filters-aside {\n display: none;\n }\n\n &--has-hidden-main-filters &__results-wrapper,\n &--has-hidden-main-filters#{&}--teaser &__results-wrapper {\n margin-top: 0px;\n }\n\n /* Is loading */\n\n &--is-loading &__results-heading,\n &--is-loading &__results-sort,\n &--is-loading &__results-empty,\n &--is-loading &__results,\n &--is-loading &__action-more {\n opacity: 0.5;\n }\n\n /* Is overlay */\n\n &--is-breakout {\n --filter-background-color: var(--stzh-color-cobaltblue20);\n background-color: var(--stzh-color-white);\n }\n\n &--is-breakout & {\n @include containerPadding();\n }\n\n &--is-breakout &__header-wrapper {\n background-color: var(--stzh-color-cobaltblue20);\n }\n\n &--is-breakout &__filters-main {\n @include containerPadding();\n position: relative;\n left: 50%;\n right: 50%;\n margin-left: calc(-50vw + var(--stzh-scrollbar-width) / 2);\n margin-right: calc(-50vw + var(--stzh-scrollbar-width) / 2);\n width: calc(100vw - var(--stzh-scrollbar-width));\n max-width: calc(100vw - var(--stzh-scrollbar-width));\n }\n\n &--is-breakout &__header {\n @include container();\n @include spaceCurve('padding-top', 'medium');\n background-color: var(--stzh-color-cobaltblue20);\n display: flex;\n justify-content: space-between;\n }\n}\n","import { Component, Element, Event, EventEmitter, Fragment, h, Host, Prop, State, Watch } from \"@stencil/core\";\n\nimport {\n StzhDropdownChangeEvent,\n StzhDropdownOption,\n StzhSearchChipsResult,\n StzhSearchOverlayCloseClickEvent,\n StzhSearchResult,\n} from \"../../index\";\n\nimport axios from \"axios\";\nimport { hasSlot, raf } from \"../../utils/utils\";\n\nimport { StzhSearchLocalizedText } from \"./stzh-search.localization\";\n\nimport { addMediaChangeListener, media, removeMediaChangeListener } from \"../../utils/media-utils\";\n\nimport debounce from \"lodash/debounce\";\n\nfunction defaultTemplateResult(search: HTMLStzhSearchElement, item: StzhSearchResult): string {\n return `\n <stzh-card-${search.variant === \"teaser\" ? \"superteaser\" : \"searchresult\"}\n href=\"{href}\"\n dateline=\"{dateline}\"\n tag=\"{tag}\"\n topic=\"{topic}\"\n service=\"{service}\"\n event-location=\"{eventLocation}\"\n hyphens-enabled=\"${this.hyphensEnabled}\"\n ${item.eventDateStart && 'event-date-start=\"{eventDateStart}\"'}\n ${item.eventDateEnd && 'event-date-end=\"{eventDateEnd}\"'}\n download-heading=\"{downloadHeading}\"\n meta='{meta}'\n breadcrumb-items='{breadcrumbItems}'\n download-meta='{downloadMeta}'\n datalist-items='{datalistItems}'\n ${item.imagePosition && 'image-position=\"{imagePosition}\"'}\n ${item.download && 'download=\"{download}\"'}\n style=\"\n ${item.serviceBackgroundColor ? \"--service-background-color: {serviceBackgroundColor};\" : \"\"}\n ${item.serviceColor ? \"--service-color: {serviceColor};\" : \"\"}\n \"\n >\n <div slot=\"heading\">{heading}</div>\n <div slot=\"description\">{description}</div>\n ${\n item.image\n ? item.imagePosition === \"right\"\n ? `<img src=\"${item.image}\" slot=\"image\" />`\n : `<stzh-ratio ${\n search.variant === \"teaser\" ? 'ratio=\"2:1\"' : 'ratio=\"21:9\" ratio-small=\"1:1\"'\n } slot=\"image\"><img src=\"${item.image}\" /></stzh-ratio>`\n : \"\"\n }\n </stzh-card-${search.variant === \"teaser\" ? \"superteaser\" : \"searchresult\"}>\n `;\n}\n\nfunction defaultResultWrapperProps(search: HTMLStzhSearchElement) {\n return {\n layout: search.variant === \"teaser\" ? \"teasers\" : \"searchresults\",\n } as HTMLStzhCardlistElement;\n}\n\n/**\n * @slot - Slot for any content\n * @slot filters-main - Slot for main filters\n * @slot filters-aside - Slot for aside filters\n */\n@Component({\n tag: \"stzh-search\",\n styleUrl: \"stzh-search.scss\",\n})\nexport class StzhSearch {\n /** Translation strings */\n @Prop() localization: StzhSearchLocalizedText;\n\n /** Variant */\n @Prop() variant: \"default\" | \"teaser\" = \"default\";\n\n /** Whether search results should be automatically fetched when a main filters has changed. */\n @Prop() autofetchMainFilters: boolean = false;\n\n /** Whether search results should be automatically fetched when a aside filters has changed. */\n @Prop() autofetchAsideFilters: boolean = false;\n\n /** Whether to hide the main filters slot */\n @Prop({ reflect: true }) hideMainFilters: boolean = false;\n\n /** Whether to hide the aside filters slot */\n @Prop({ reflect: true }) hideAsideFilters: boolean = false;\n\n /** Whether to hide the results heading */\n @Prop({ reflect: true }) hideResultsHeading: boolean = false;\n\n /** Sort by initial value */\n @Prop({ mutable: true }) sortBy: string;\n private _sortBy: string;\n\n /** Sort options */\n @Prop({ mutable: true }) sortOptions: StzhDropdownOption[] | string = [];\n private _sortOptions: StzhDropdownOption[] = [];\n\n /** API URL */\n @Prop() api: string = \"\";\n\n /** Debounce time in ms */\n @Prop() debounceTime: number = 500;\n\n /** Numbers of results shown with each load more action */\n @Prop() limit: number = 6;\n\n /** Whether search request should be fetched initially with set filters */\n @Prop() initialFetch: boolean = false;\n\n /** Whether url query should be updated when filter has changed */\n @Prop() preventUpdateUrl: boolean = false;\n\n /** Automatic Hyphens */\n @Prop({ reflect: true }) hyphensEnabled: boolean = false;\n\n /** Will be overwritten by api result (`templates.result` or `results[x].html`) */\n @Prop() templateResult: string | ((search: HTMLStzhSearchElement, item: StzhSearchResult) => string) =\n defaultTemplateResult;\n\n /** Element used for list wrapper element */\n @Prop() templateResultWrapperElement: string | ((search: HTMLStzhSearchElement) => string) = function () {\n return \"stzh-cardlist\";\n };\n\n /** Properties applied to list wrapper element */\n @Prop() templateResultWrapperProps:\n | { [key: string]: any }\n | ((search: HTMLStzhSearchElement) => { [key: string]: any }) = defaultResultWrapperProps;\n\n /** Heading level of results heading */\n @Prop() resultHeadingLevel: \"1\" | \"2\" | \"3\" | \"4\" = \"3\";\n\n /** Empty text */\n @Prop() emptyText: string;\n\n /** Empty text */\n @Prop() heading: string;\n\n /** Empty link href */\n @Prop() emptyLinkHref: string;\n\n /** Empty link label */\n @Prop() emptyLinkLabel: string;\n\n /** Label for the subscribe button */\n @Prop() subscribeLabel: string = \"Subscribe\";\n\n /** Path which is used as a base for the subscribe button. If not provided, the button won't be rendered. */\n @Prop() subscribePath: string;\n\n /** Query parameters which are being added to the subscribe button path, in addition to the form values. */\n @Prop() subscribeAdditionalQueryParameters: { [key: string]: string }[] | string;\n\n @Element() element: HTMLStzhSearchElement;\n\n @Watch(\"totalCount\")\n @Watch(\"results\")\n totalCountWatcher() {\n this._showMoreLink = this.totalCount > this.results.length;\n }\n\n @Watch(\"preventUpdateUrl\")\n preventUpdateUrlWatcher() {\n this.updateParams();\n }\n\n @Watch(\"sortOptions\")\n sortOptionsWatcher(newValue: StzhDropdownOption[] | string) {\n if (typeof newValue === \"string\") {\n this._sortOptions = JSON.parse(newValue);\n } else {\n this._sortOptions = newValue;\n }\n }\n\n @Watch(\"sortBy\")\n sortByWatcher(newValue: string | undefined) {\n if (typeof newValue === \"string\") {\n this._sortBy = newValue;\n } else {\n this._sortBy = undefined;\n }\n }\n\n @State() totalCount: number = 0;\n private _showMoreLink: boolean = false;\n\n @State() loading: boolean = false;\n @State() error: string = \"\";\n\n @State() results: StzhSearchResult[] = [];\n @State() chipResultsHeading: string;\n @State() chipResults: StzhSearchChipsResult[] = [];\n @State() resultsHeading: string;\n @State() resultsText: string;\n @State() hasRequiredParams: boolean = false;\n @State() firstFetched: boolean = false;\n @State() initiallyFetched: boolean = false;\n @State() isDetailsOpen: boolean = false;\n @State() isStzhAnchornavVisible: boolean = false;\n\n /** Search overlay close click event */\n @Event() stzhOverlayCloseClick: EventEmitter<StzhSearchOverlayCloseClickEvent>;\n\n private currentController: AbortController;\n private params: URLSearchParams;\n private formElement: HTMLFormElement;\n\n private renderResultTemplate(html: string, item: StzhSearchResult) {\n let template =\n html ||\n (typeof this.templateResult === \"function\" ? this.templateResult(this.element, item) : this.templateResult);\n\n [\n \"href\",\n \"heading\",\n \"dateline\",\n \"description\",\n \"image\",\n \"imagePosition\",\n \"tag\",\n \"topic\",\n \"service\",\n \"serviceColor\",\n \"serviceBackgroundColor\",\n \"meta\",\n \"breadcrumbItems\",\n \"eventLocation\",\n \"eventDateStart\",\n \"eventDateEnd\",\n \"download\",\n \"downloadHeading\",\n \"downloadMeta\",\n \"datalistItems\",\n ].forEach(property => {\n const regex = new RegExp(`\\{${property}\\}`, \"gi\");\n let value = item[property] || \"\";\n\n if ([\"meta\", \"breadcrumbItems\", \"downloadMeta\", \"datalistItems\"].includes(property) && value) {\n value = JSON.stringify(value);\n }\n\n template = template.replace(regex, value);\n });\n\n return template;\n }\n\n private async updateParams(initial: boolean = false) {\n const updateByFormElements = () => {\n const formData = new FormData(this.formElement);\n // @ts-ignore\n this.params = new URLSearchParams(formData);\n this.params.set(\"variant\", this.variant);\n };\n\n if (initial) {\n const initialParams = new URLSearchParams(location.search);\n let search = initialParams.get(\"search\");\n const q = initialParams.get(\"q\");\n const query = initialParams.get(\"query\");\n if (!search) {\n if (query) {\n search = `query=${query}`;\n } else if (q) {\n search = `q=${q}`;\n }\n }\n\n if (search) {\n this.initialFetch = true;\n const currentSearchParams = new URLSearchParams(search);\n\n [...new Set(currentSearchParams.keys())].forEach(key => {\n const values = currentSearchParams.getAll(key);\n\n // value as string/number: input, ... / pagination\n const valueInputs = Array.from(\n document.querySelectorAll(\n `:where(stzh-input,stzh-radiogroup,stzh-chipselect,stzh-amount,stzh-datepicker,stzh-monthyearpicker,stzh-timepicker,stzh-pagination,stzh-toggle)[name=\"${key}\"]`\n )\n ) as\n | HTMLStzhInputElement[]\n | HTMLStzhRadiogroupElement[]\n | HTMLStzhChipselectElement[]\n | HTMLStzhAmountElement[]\n | HTMLStzhDatepickerElement[]\n | HTMLStzhMonthyearpickerElement[]\n | HTMLStzhTimepickerElement[]\n | HTMLStzhPaginationElement[]\n | HTMLStzhToggleElement[];\n\n // value as array: checkboxgroup\n const valueArrayInputs = Array.from(\n document.querySelectorAll(`:where(stzh-checkboxgroup)[name=\"${key}\"]`)\n ) as HTMLStzhCheckboxgroupElement[];\n\n // items as array: dropdown\n const itemsArrayInputs = Array.from(document.querySelectorAll(`:where(stzh-dropdown)[name=\"${key}\"]`)) as\n | HTMLStzhDropdownElement[];\n\n valueInputs.forEach(\n (\n input:\n | HTMLStzhInputElement\n | HTMLStzhRadiogroupElement\n | HTMLStzhChipselectElement\n | HTMLStzhAmountElement\n | HTMLStzhDatepickerElement\n | HTMLStzhMonthyearpickerElement\n | HTMLStzhTimepickerElement\n | HTMLStzhPaginationElement\n | HTMLStzhToggleElement\n ) => {\n input.value = values[0];\n }\n );\n\n valueArrayInputs.forEach((input: HTMLStzhCheckboxgroupElement) => {\n input.value = values;\n });\n\n itemsArrayInputs.forEach((input: HTMLStzhDropdownElement) => {\n input.items = values;\n });\n });\n }\n }\n\n await raf();\n updateByFormElements();\n\n let hasRequiredParams = true;\n\n const requiredInputFields = Array.from(this.element.querySelectorAll(\":where(stzh-input)[required]\")) as\n | HTMLStzhInputElement[];\n\n const requiredDropdownFields = Array.from(this.element.querySelectorAll(\":where(stzh-dropdown)[required]\")) as\n | HTMLStzhDropdownElement[];\n\n const requiredMonthyearpickers = Array.from(\n this.element.querySelectorAll(\":where(stzh-monthyearpicker)[required]\")\n ) as HTMLStzhMonthyearpickerElement[];\n\n const requiredFields = Array.from(\n this.element.querySelectorAll(\n \":where(stzh-amount,stzh-radiogroup,stzh-chipselect,stzh-datepicker,stzh-monthyearpicker,stzh-timepicker,stzh-pagination,stzh-toggle)[required]\"\n )\n ) as\n | HTMLStzhAmountElement[]\n | HTMLStzhRadiogroupElement[]\n | HTMLStzhChipselectElement[]\n | HTMLStzhDatepickerElement[]\n | HTMLStzhTimepickerElement[]\n | HTMLStzhPaginationElement[]\n | HTMLStzhToggleElement[];\n\n const requiredCheckboxFields = Array.from(this.element.querySelectorAll(\":where(stzh-checkbox)[required]\")) as\n | HTMLStzhCheckboxElement[];\n\n requiredCheckboxFields.forEach((field: HTMLStzhCheckboxElement) => {\n const invalid = !field.checked;\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n requiredInputFields.forEach((field: HTMLStzhInputElement) => {\n const invalid =\n field.value === \"\" ||\n (field.minlength && field.minlength > field.value.length) ||\n (field.maxlength && field.maxlength < field.value.length);\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n requiredDropdownFields.forEach((field: HTMLStzhDropdownElement) => {\n const invalid = field.items.length === 0;\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n requiredFields.forEach(\n (\n field:\n | HTMLStzhAmountElement\n | HTMLStzhRadiogroupElement\n | HTMLStzhCheckboxElement\n | HTMLStzhChipselectElement\n | HTMLStzhDatepickerElement\n | HTMLStzhTimepickerElement\n | HTMLStzhPaginationElement\n | HTMLStzhToggleElement\n ) => {\n const invalid = field.value.toString().length === 0;\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n }\n );\n\n requiredMonthyearpickers.forEach((field: HTMLStzhMonthyearpickerElement) => {\n const invalid = field.value.toString().length === 0;\n\n if (!initial) {\n field.invalidYear = invalid;\n field.invalidMonth = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n this.hasRequiredParams = hasRequiredParams;\n }\n\n private fetch = async (append: boolean = false, initial: boolean = false) => {\n this.loading = true;\n this.error = \"\";\n\n if (this.currentController) {\n this.currentController.abort();\n }\n\n if (!this.hasRequiredParams && !append) {\n this.loading = false;\n return;\n }\n\n let apiUrl = this.api.replace(/\\{lang\\}/gi, this.localization.$locale);\n let limit = this.limit.toString();\n\n this.params.set(\"offset\", append ? this.results.length.toString() : \"0\");\n\n if (initial) {\n const search = new URLSearchParams(location.search).get(\"search\");\n\n if (search) {\n const urlLimit = new URLSearchParams(search).get(\"limit\");\n\n if (urlLimit) {\n limit = urlLimit;\n }\n }\n }\n\n this.params.set(\"limit\", limit);\n\n this.currentController = new AbortController();\n\n let data: {\n error?: boolean;\n message?: string;\n templates?: {\n result: string;\n };\n meta?: {\n total: number;\n };\n resultsHeading?: string;\n resultsText?: string;\n results?: StzhSearchResult[];\n chipResultsHeading?: string;\n chipResults?: StzhSearchChipsResult[];\n } = {};\n\n try {\n // load data from API\n const response = await axios(apiUrl, {\n params: this.params,\n signal: this.currentController.signal,\n });\n\n data = response.data;\n } catch (error) {\n this.error = this.localization.error;\n }\n\n this.resultsHeading = data.resultsHeading || \"\";\n this.resultsText = data.resultsText || \"\";\n this.totalCount = data.meta?.total || 0;\n\n if (data.error) {\n this.error = data.message || this.localization.error;\n }\n\n if (data.chipResults && data.chipResults.length) {\n this.chipResultsHeading = data.chipResultsHeading ?? \"\";\n this.chipResults = data.chipResults;\n } else {\n this.chipResultsHeading = \"\";\n this.chipResults = [];\n }\n\n if (data.results) {\n if (append) {\n this.results = [\n ...this.results,\n ...data.results.map(item => ({\n ...item,\n html: this.renderResultTemplate(item.html || data.templates?.result, item),\n })),\n ];\n } else {\n this.results = data.results.map(item => ({\n ...item,\n html: this.renderResultTemplate(item.html || data.templates?.result, item),\n }));\n }\n }\n\n if (!initial && !this.preventUpdateUrl) {\n const newUrlParams = new URLSearchParams(location.search);\n const searchParams = new URLSearchParams(this.params);\n\n searchParams.delete(\"offset\");\n searchParams.set(\"limit\", this.results.length.toString());\n newUrlParams.set(\"search\", searchParams.toString());\n\n window.history.replaceState(null, \"\", `${location.pathname}?${newUrlParams}`);\n }\n\n if (initial || !this.firstFetched) {\n this.loading = false;\n } else {\n // to be able to see loading effect we delay turning off loading state\n window.setTimeout(() => {\n this.loading = false;\n }, this.debounceTime);\n }\n\n this.firstFetched = true;\n };\n\n private debouncedFetch = debounce(this.fetch, this.debounceTime);\n\n private onDropdownSortChange = async (event: CustomEvent<StzhDropdownChangeEvent>) => {\n const target: HTMLStzhDropdownElement = event.target as HTMLStzhDropdownElement;\n const sortBy = (await target.getValue()) as string;\n if (sortBy) {\n this._sortBy = sortBy;\n }\n await this.updateParams();\n this.debouncedFetch();\n };\n\n private handleMainFilterChange = async () => {\n if (this.autofetchMainFilters) {\n await this.updateParams();\n this.debouncedFetch();\n }\n };\n\n private handleAsideFilterChange = async () => {\n if (this.autofetchAsideFilters) {\n await this.updateParams();\n this.debouncedFetch();\n }\n };\n\n private handleFormSubmit = async (event: Event) => {\n event.preventDefault();\n\n await this.updateParams();\n this.fetch();\n };\n\n private handleMoreClick = () => {\n this.fetch(true);\n };\n\n private handleMediaChange = () => {\n this.isDetailsOpen = media(\"large\").matches;\n };\n\n private handleFormReset = async () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(async () => {\n await this.updateParams();\n });\n });\n };\n\n async componentDidLoad() {\n this.isStzhAnchornavVisible =\n document.documentElement.style.getPropertyValue(\"--stzh-anchornav-is-visible\") === \"1\";\n\n // update params initially to get hidden filters\n // and set initialFetch to true if search params exist\n await this.updateParams(true);\n\n if (this.initialFetch) {\n await this.fetch(false, true);\n this.initiallyFetched = true;\n } else {\n this.initiallyFetched = true;\n }\n }\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"search\");\n }\n this.isStzhAnchornavVisible =\n document.documentElement.style.getPropertyValue(\"--stzh-anchornav-is-visible\") === \"1\";\n this.sortOptionsWatcher(this.sortOptions);\n this.sortByWatcher(this.sortBy);\n }\n\n connectedCallback() {\n addMediaChangeListener(this.handleMediaChange);\n this.handleMediaChange();\n }\n\n disconnectedCallback() {\n removeMediaChangeListener(this.handleMediaChange);\n }\n\n private renderResultsText(): DocumentFragment {\n return <stzh-text class=\"stzh-search__results-text\" color=\"primary\" innerHTML={this.resultsText}></stzh-text>;\n }\n\n private renderSubscribeButton(): DocumentFragment {\n const params = new URLSearchParams();\n let subscribeAdditionalQueryParameters = this.subscribeAdditionalQueryParameters;\n if (typeof this.subscribeAdditionalQueryParameters === \"string\") {\n try {\n subscribeAdditionalQueryParameters = JSON.parse(this.subscribeAdditionalQueryParameters);\n } catch (noJson) {}\n }\n for (const entry of subscribeAdditionalQueryParameters) {\n for (const [key, value] of Object.entries(entry)) {\n if (value) {\n params.set(key, value);\n }\n }\n }\n const currentQueryParameters = new URLSearchParams(window.location.search);\n const search = currentQueryParameters.get(\"search\");\n if (search) {\n const currentSearchParams = new URLSearchParams(search);\n for (const [key, value] of currentSearchParams.entries()) {\n if ([\"variant\", \"limit\"].indexOf(key) === -1 && value) {\n params.append(key, value);\n }\n }\n }\n const href = `${this.subscribePath}?${params.toString()}`;\n return (\n <div class=\"stzh-search__results-subscribe\">\n <stzh-button variant=\"secondary\" size=\"small\" href={href}>\n {this.subscribeLabel}\n </stzh-button>\n </div>\n );\n }\n\n render() {\n const filtersMainUsed = hasSlot(this.element, \"filters-main\");\n const filtersAsideUsed = hasSlot(this.element, \"filters-aside\");\n let chipsProvided = true;\n if (filtersMainUsed) {\n const providedChipselect = this.element.querySelector(\"[slot='filters-main'] stzh-chipselect\");\n const providedChipgroup = this.element.querySelector(\"[slot='filters-main'] stzh-chipgroup\");\n if (!providedChipselect && !providedChipgroup) {\n chipsProvided = false;\n }\n } else {\n chipsProvided = false;\n }\n\n const resultsShown = (this.hasRequiredParams || this.firstFetched) && this.firstFetched && this.initiallyFetched;\n\n const classes = {\n \"stzh-search\": true,\n \"stzh-search--has-filters-main\": filtersMainUsed,\n \"stzh-search--has-filters-aside\": filtersAsideUsed,\n \"stzh-search--has-hidden-main-filters\": this.hideMainFilters,\n \"stzh-search--has-hidden-aside-filters\": this.hideAsideFilters,\n \"stzh-search--has-results-shown\": resultsShown,\n \"stzh-search--has-error-shown\": !!this.error,\n \"stzh-search--is-loading\": this.loading,\n [`stzh-search--${this.variant}`]: !!this.variant,\n };\n\n const WrapperElement =\n typeof this.templateResultWrapperElement === \"function\"\n ? this.templateResultWrapperElement(this.element)\n : this.templateResultWrapperElement;\n\n const wrapperProps =\n typeof this.templateResultWrapperProps === \"function\"\n ? this.templateResultWrapperProps(this.element)\n : this.templateResultWrapperProps;\n\n return (\n <Host has-aside-filters={filtersAsideUsed} fullwidth={this.isStzhAnchornavVisible.toString()}>\n <form\n ref={el => (this.formElement = el as HTMLFormElement)}\n novalidate\n class={classes}\n onSubmit={this.handleFormSubmit}\n onReset={this.handleFormReset}\n >\n {/* @ts-ignore */}\n <div class=\"stzh-search__filters-main\" onStzhChange={this.handleMainFilterChange}>\n {!!this.heading && (\n <stzh-heading class=\"stzh-search__header-heading\" curve=\"h2\">\n {this.heading}\n </stzh-heading>\n )}\n <slot name=\"filters-main\"></slot>\n {!chipsProvided && this.chipResults.length > 0 && (\n <div class=\"stzh-search__filters-main-chips\">\n {this.chipResultsHeading && (\n <stzh-text font=\"heavy\" size=\"milli\" color=\"primary\">\n {this.chipResultsHeading}\n </stzh-text>\n )}\n {this.chipResults[0].options ? (\n <stzh-chipgroup>\n {this.chipResults.map(chipResult => (\n <stzh-dropdown\n label={chipResult.label}\n name={chipResult.value}\n variant=\"filter\"\n no-search={true}\n hide-optional={true}\n inline={true}\n options={chipResult.options}\n ></stzh-dropdown>\n ))}\n </stzh-chipgroup>\n ) : (\n <stzh-chipselect\n multiple={true}\n name=\"subject\"\n label={this.chipResultsHeading}\n label-hidden={true}\n data={this.chipResults.map(chipResult => ({\n label: chipResult.label,\n value: chipResult.value,\n counter: `${chipResult.amount}`,\n variant: \"filter\",\n size: \"small\",\n }))}\n ></stzh-chipselect>\n )}\n </div>\n )}\n </div>\n\n {filtersAsideUsed && (\n <Fragment>\n {/* @ts-ignore */}\n <div class=\"stzh-search__filters-aside\" onStzhChange={this.handleAsideFilterChange}>\n <div class=\"stzh-search__filters-aside-inner\">\n <div class=\"stzh-search__filters-aside-heading\">{this.localization.moreFilter}</div>\n <stzh-details open={this.isDetailsOpen} class=\"stzh-search__filters-aside-details\">\n <stzh-button\n class=\"stzh-search__filters-aside-details-trigger\"\n variant=\"tertiary-plain\"\n size=\"small\"\n noPaddingLeft={true}\n showToggleIcon={true}\n iconPosition=\"right\"\n label={this.localization.moreFilter}\n ></stzh-button>\n <div slot=\"content\">\n <slot name=\"filters-aside\"></slot>\n </div>\n </stzh-details>\n </div>\n </div>\n </Fragment>\n )}\n\n <div class=\"stzh-search__results-wrapper\">\n {resultsShown && (\n <Fragment>\n {this.results.length === 0 ? (\n <Fragment>\n {this.variant !== \"teaser\" && this.resultsHeading && !this.hideResultsHeading && (\n <stzh-heading\n class=\"stzh-search__results-heading\"\n curve=\"h3\"\n level={this.resultHeadingLevel}\n innerHTML={this.resultsHeading}\n ></stzh-heading>\n )}\n\n {this.resultsText && this.renderResultsText()}\n\n {this.subscribePath && this.renderSubscribeButton()}\n\n {this.emptyText && (\n <stzh-text class=\"stzh-search__empty-text\" innerHTML={this.emptyText}></stzh-text>\n )}\n\n {this.emptyLinkLabel && this.emptyLinkHref && (\n <div class=\"stzh-search__empty-link-wrapper\">\n <stzh-link href={this.emptyLinkHref} label={this.emptyLinkLabel}></stzh-link>\n </div>\n )}\n </Fragment>\n ) : (\n <Fragment>\n <div class=\"stzh-search__results-header\">\n {this.variant !== \"teaser\" && this.resultsHeading && !this.hideResultsHeading && (\n <stzh-heading\n class=\"stzh-search__results-heading\"\n curve=\"h3\"\n level={this.resultHeadingLevel}\n htmlContent={this.resultsHeading}\n ></stzh-heading>\n )}\n {this._sortOptions.length > 0 && (\n <div class=\"stzh-search__results-sort\">\n <stzh-dropdown\n hide-optional\n inline\n no-search\n no-wrap\n class=\"stzh-search__results-sort-dropdown\"\n variant=\"plain\"\n size=\"small\"\n sizeMedium={\"tiny\"}\n name=\"sortby\"\n items={[this._sortBy]}\n options={this._sortOptions}\n onStzhChange={this.onDropdownSortChange}\n ></stzh-dropdown>\n </div>\n )}\n </div>\n\n {this.resultsText && this.renderResultsText()}\n\n {this.subscribePath && this.renderSubscribeButton()}\n\n <WrapperElement class=\"stzh-search__results\" max-3-columns={filtersAsideUsed} {...wrapperProps}>\n {this.results.map(result => (\n <div class=\"stzh-search__results-item\" innerHTML={result.html || \"\"}></div>\n ))}\n </WrapperElement>\n\n <div class=\"stzh-search__actions-wrapper\">\n {this._showMoreLink && (\n <stzh-button\n variant=\"secondary\"\n class=\"stzh-search__action-more\"\n label={this.localization.showMore}\n onClick={this.handleMoreClick}\n disabled={this.loading}\n a11yDisabled={this.loading}\n ></stzh-button>\n )}\n </div>\n </Fragment>\n )}\n </Fragment>\n )}\n\n {this.error && (\n <div class=\"stzh-search__error\">\n <stzh-message type=\"error\" label={this.error}></stzh-message>\n </div>\n )}\n\n {this.loading && <stzh-loader class=\"stzh-search__loader\"></stzh-loader>}\n </div>\n\n <slot></slot>\n </form>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"stzh-search.entry.js","mappings":"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","names":["debounce"],"sources":["src/components/stzh-search/stzh-search.scss?tag=stzh-search","src/components/stzh-search/stzh-search.tsx"],"sourcesContent":["stzh-search {\n @include host;\n\n --filter-background-color: var(--stzh-search-filter-background-color, #{$colorGrey10});\n\n --grid-template-areas: \"filters-main filters-main filters-main filters-main\" \"results results results results\";\n\n @include mq($from: medium) {\n --grid-template-areas: \"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main\" \"results results results results results results results results\";\n }\n\n @include mq($from: large) {\n --grid-template-areas: \"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main\" \". . results results results results results results results results . .\";\n }\n\n &:where([has-aside-filters]:not([hide-aside-filters]:not([hide-aside-filters=\"false\"]))) {\n --grid-template-areas: \"filters-main filters-main filters-main filters-main\" \"filters-aside filters-aside filters-aside filters-aside\" \"results results results results\";\n\n @include mq($from: medium) {\n --grid-template-areas: \"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main\" \"filters-aside filters-aside filters-aside filters-aside filters-aside filters-aside filters-aside filters-aside\" \"results results results results results results results results\";\n }\n\n @include mq($from: large) {\n --grid-template-areas: \"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main\" \"filters-aside filters-aside filters-aside filters-aside results results results results results results results results\";\n }\n }\n\n &:where([variant=\"teaser\"]:not([has-aside-filters])),\n &:where([fullwidth=\"true\"]:not([has-aside-filters])) {\n @include mq($from: large) {\n --grid-template-areas: \"filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main filters-main\" \"results results results results results results results results results results results results\";\n }\n }\n}\n\n.stzh-search {\n @include grid;\n grid-template-areas: var(--grid-template-areas);\n\n &__header-heading {\n @include spaceCurve('margin-bottom', 'small');\n }\n\n &__filters-main {\n grid-area: filters-main;\n\n &:not(:empty) {\n @include spaceCurve('padding', 'medium');\n background-color: var(--filter-background-color);\n }\n }\n\n &__filters-aside {\n grid-area: filters-aside;\n\n &:not(:empty) {\n @include spaceCurve('padding', 'medium');\n background-color: var(--filter-background-color);\n\n @include mq($from: large) {\n background-color: transparent;\n padding: 0;\n }\n }\n }\n\n &__filters-aside-heading {\n @include font('heavy');\n @include fontCurve('h4');\n @include spaceCurve('padding-bottom', 'tiny');\n color: $colorPrimary70;\n display: none;\n\n @include mq($from: large) {\n display: block;\n }\n }\n\n stzh-button#{&}__filters-aside-details-trigger {\n @include mq($from: large) {\n display: none;\n }\n }\n\n &__filters-aside-inner {\n @include mq($from: large) {\n position: sticky;\n top: calc(var(--stzh-header-metabar-height, 0px) * var(--stzh-header-is-stuck, 0) + #{space('medium')});\n transition: top $baseTransitionAnimationSpeed;\n width: calc(100% + #{$gridGutterLarge} - #{spaceCurveValue('large', 'large')});\n }\n\n @include mq($from: ultra) {\n width: calc(100% + #{$gridGutterUltra} - #{spaceCurveValue('large', 'large')});\n }\n }\n\n &__results-wrapper {\n grid-area: results;\n display: grid;\n --stzh-datalist-grid-template-areas: \"list list list list list list list list\";\n }\n\n &__results-header {\n display: flex;\n flex-direction: column;\n\n @include mq($from: medium) {\n flex-direction: row;\n align-items: center;\n }\n }\n\n &__results-sort {\n display: flex;\n }\n\n &__results-heading,\n &__results-empty,\n &__results,\n &__action-more {\n transition-property: opacity;\n transition-duration: $baseTransitionAnimationSpeed;\n }\n\n &__results-text,\n &__results-sort,\n &__results-subscribe {\n @include spaceCurve('margin-bottom', 'regular');\n }\n\n &__results-heading {\n @include spaceCurve('margin-bottom', 'small');\n\n @include mq($from: medium) {\n @include spaceCurve('margin-bottom', 'regular');\n }\n }\n\n &__results-item {\n display: contents;\n }\n\n &__actions-wrapper {\n display: flex;\n justify-content: center;\n\n &:not(:empty) {\n @include spaceCurve('margin-top', 'medium');\n }\n }\n\n &__empty-text {\n @include spaceCurve('margin-bottom', 'regular');\n }\n\n &__loader {\n @include spaceCurve('margin-top', 'medium');\n }\n\n &__filters-main-chips {\n @include spaceCurve('margin-top', 'medium');\n }\n\n /* Teaser variant */\n\n &--teaser &__actions-wrapper {\n justify-content: flex-start;\n }\n\n //&--teaser &__filters-main {\n // &:not(:empty) {\n // padding: 0;\n // background-color: transparent;\n // }\n //}\n //\n //&--teaser &__filters-aside {\n // &:not(:empty) {\n // padding: 0;\n // background-color: transparent;\n // }\n //}\n\n /* Has results shown or aside filter */\n\n &--has-results-shown &__results-wrapper {\n @include mq($to: large) {\n @include spaceCurve('margin-top', 'huge');\n }\n }\n\n &--has-results-shown &__filters-main,\n &--has-filters-aside &__filters-main {\n @include mq($from: large) {\n @include spaceCurve('margin-bottom', 'large');\n }\n }\n\n &--has-results-shown#{&}--teaser &__results-wrapper {\n @include mq($to: large) {\n @include spaceCurve('margin-top', 'medium');\n }\n }\n\n &--has-results-shown#{&}--teaser &__filters-main,\n &--has-filters-aside#{&}--teaser &__filters-main {\n @include mq($from: large) {\n @include spaceCurve('margin-bottom', 'medium');\n }\n }\n\n /* Has main and aside filters */\n\n &--has-filters-main#{&}--has-filters-aside &__filters-main {\n &:not(:empty) {\n @include spaceCurve('padding-bottom', 'regular');\n }\n }\n\n &--has-filters-main#{&}--has-filters-aside &__filters-aside {\n &:not(:empty) {\n padding-top: 0px;\n }\n }\n\n /* Has hidden main/aside filters */\n\n &--has-hidden-main-filters &__filters-main {\n display: none;\n }\n\n &--has-hidden-aside-filters &__filters-aside {\n display: none;\n }\n\n &--has-hidden-main-filters &__results-wrapper,\n &--has-hidden-main-filters#{&}--teaser &__results-wrapper {\n margin-top: 0px;\n }\n\n /* Is loading */\n\n &--is-loading &__results-heading,\n &--is-loading &__results-sort,\n &--is-loading &__results-empty,\n &--is-loading &__results,\n &--is-loading &__action-more {\n opacity: 0.5;\n }\n\n /* Is overlay */\n\n &--is-breakout {\n --filter-background-color: var(--stzh-color-cobaltblue20);\n background-color: var(--stzh-color-white);\n }\n\n &--is-breakout & {\n @include containerPadding();\n }\n\n &--is-breakout &__header-wrapper {\n background-color: var(--stzh-color-cobaltblue20);\n }\n\n &--is-breakout &__filters-main {\n @include containerPadding();\n position: relative;\n left: 50%;\n right: 50%;\n margin-left: calc(-50vw + var(--stzh-scrollbar-width) / 2);\n margin-right: calc(-50vw + var(--stzh-scrollbar-width) / 2);\n width: calc(100vw - var(--stzh-scrollbar-width));\n max-width: calc(100vw - var(--stzh-scrollbar-width));\n }\n\n &--is-breakout &__header {\n @include container();\n @include spaceCurve('padding-top', 'medium');\n background-color: var(--stzh-color-cobaltblue20);\n display: flex;\n justify-content: space-between;\n }\n}\n","import { Component, Element, Event, EventEmitter, Fragment, h, Host, Prop, State, Watch } from \"@stencil/core\";\n\nimport {\n StzhDropdownChangeEvent,\n StzhDropdownOption,\n StzhSearchChipsResult,\n StzhSearchOverlayCloseClickEvent,\n StzhSearchResult,\n} from \"../../index\";\n\nimport axios from \"axios\";\nimport { hasSlot, raf } from \"../../utils/utils\";\n\nimport { StzhSearchLocalizedText } from \"./stzh-search.localization\";\n\nimport { addMediaChangeListener, media, removeMediaChangeListener } from \"../../utils/media-utils\";\n\nimport debounce from \"lodash/debounce\";\n\nfunction defaultTemplateResult(search: HTMLStzhSearchElement, item: StzhSearchResult): string {\n return `\n <stzh-card-${search.variant === \"teaser\" ? \"superteaser\" : \"searchresult\"}\n href=\"{href}\"\n dateline=\"{dateline}\"\n tag=\"{tag}\"\n topic=\"{topic}\"\n service=\"{service}\"\n event-location=\"{eventLocation}\"\n hyphens-enabled=\"${this.hyphensEnabled}\"\n ${item.eventDateStart && 'event-date-start=\"{eventDateStart}\"'}\n ${item.eventDateEnd && 'event-date-end=\"{eventDateEnd}\"'}\n download-heading=\"{downloadHeading}\"\n meta='{meta}'\n breadcrumb-items='{breadcrumbItems}'\n download-meta='{downloadMeta}'\n datalist-items='{datalistItems}'\n ${item.imagePosition && 'image-position=\"{imagePosition}\"'}\n ${item.download && 'download=\"{download}\"'}\n style=\"\n ${item.serviceBackgroundColor ? \"--service-background-color: {serviceBackgroundColor};\" : \"\"}\n ${item.serviceColor ? \"--service-color: {serviceColor};\" : \"\"}\n \"\n >\n <div slot=\"heading\">{heading}</div>\n <div slot=\"description\">{description}</div>\n ${\n item.image\n ? item.imagePosition === \"right\"\n ? `<img src=\"${item.image}\" slot=\"image\" />`\n : `<stzh-ratio ${\n search.variant === \"teaser\" ? 'ratio=\"2:1\"' : 'ratio=\"21:9\" ratio-small=\"1:1\"'\n } slot=\"image\"><img src=\"${item.image}\" /></stzh-ratio>`\n : \"\"\n }\n </stzh-card-${search.variant === \"teaser\" ? \"superteaser\" : \"searchresult\"}>\n `;\n}\n\nfunction defaultResultWrapperProps(search: HTMLStzhSearchElement) {\n return {\n layout: search.variant === \"teaser\" ? \"teasers\" : \"searchresults\",\n } as HTMLStzhCardlistElement;\n}\n\n/**\n * @slot - Slot for any content\n * @slot filters-main - Slot for main filters\n * @slot filters-aside - Slot for aside filters\n */\n@Component({\n tag: \"stzh-search\",\n styleUrl: \"stzh-search.scss\",\n})\nexport class StzhSearch {\n /** Translation strings */\n @Prop() localization: StzhSearchLocalizedText;\n\n /** Variant */\n @Prop() variant: \"default\" | \"teaser\" = \"default\";\n\n /** Whether search results should be automatically fetched when a main filters has changed. */\n @Prop() autofetchMainFilters: boolean = false;\n\n /** Whether search results should be automatically fetched when a aside filters has changed. */\n @Prop() autofetchAsideFilters: boolean = false;\n\n /** Whether to hide the main filters slot */\n @Prop({ reflect: true }) hideMainFilters: boolean = false;\n\n /** Whether to hide the aside filters slot */\n @Prop({ reflect: true }) hideAsideFilters: boolean = false;\n\n /** Whether to hide the results heading */\n @Prop({ reflect: true }) hideResultsHeading: boolean = false;\n\n /** Sort by initial value */\n @Prop({ mutable: true }) sortBy: string;\n private _sortBy: string;\n\n /** Sort options */\n @Prop({ mutable: true }) sortOptions: StzhDropdownOption[] | string = [];\n private _sortOptions: StzhDropdownOption[] = [];\n\n /** API URL */\n @Prop() api: string = \"\";\n\n /** Debounce time in ms */\n @Prop() debounceTime: number = 500;\n\n /** Numbers of results shown with each load more action */\n @Prop() limit: number = 6;\n\n /** Whether search request should be fetched initially with set filters */\n @Prop() initialFetch: boolean = false;\n\n /** Whether url query should be updated when filter has changed */\n @Prop() preventUpdateUrl: boolean = false;\n\n /** Automatic Hyphens */\n @Prop({ reflect: true }) hyphensEnabled: boolean = false;\n\n /** Will be overwritten by api result (`templates.result` or `results[x].html`) */\n @Prop() templateResult: string | ((search: HTMLStzhSearchElement, item: StzhSearchResult) => string) =\n defaultTemplateResult;\n\n /** Element used for list wrapper element */\n @Prop() templateResultWrapperElement: string | ((search: HTMLStzhSearchElement) => string) = function () {\n return \"stzh-cardlist\";\n };\n\n /** Properties applied to list wrapper element */\n @Prop() templateResultWrapperProps:\n | { [key: string]: any }\n | ((search: HTMLStzhSearchElement) => { [key: string]: any }) = defaultResultWrapperProps;\n\n /** Heading level of results heading */\n @Prop() resultHeadingLevel: \"1\" | \"2\" | \"3\" | \"4\" = \"3\";\n\n /** Empty text */\n @Prop() emptyText: string;\n\n /** Empty text */\n @Prop() heading: string;\n\n /** Empty link href */\n @Prop() emptyLinkHref: string;\n\n /** Empty link label */\n @Prop() emptyLinkLabel: string;\n\n /** Label for the subscribe button */\n @Prop() subscribeLabel: string = \"Subscribe\";\n\n /** Path which is used as a base for the subscribe button. If not provided, the button won't be rendered. */\n @Prop() subscribePath: string;\n\n /** Query parameters which are being added to the subscribe button path, in addition to the form values. */\n @Prop() subscribeAdditionalQueryParameters: { [key: string]: string }[] | string;\n\n @Element() element: HTMLStzhSearchElement;\n\n @Watch(\"totalCount\")\n @Watch(\"results\")\n totalCountWatcher() {\n this._showMoreLink = this.totalCount > this.results.length;\n }\n\n @Watch(\"preventUpdateUrl\")\n preventUpdateUrlWatcher() {\n this.updateParams();\n }\n\n @Watch(\"sortOptions\")\n sortOptionsWatcher(newValue: StzhDropdownOption[] | string) {\n if (typeof newValue === \"string\") {\n this._sortOptions = JSON.parse(newValue);\n } else {\n this._sortOptions = newValue;\n }\n }\n\n @Watch(\"sortBy\")\n sortByWatcher(newValue: string | undefined) {\n if (typeof newValue === \"string\") {\n this._sortBy = newValue;\n } else {\n this._sortBy = undefined;\n }\n }\n\n @State() totalCount: number = 0;\n private _showMoreLink: boolean = false;\n\n @State() loading: boolean = false;\n @State() error: string = \"\";\n\n @State() results: StzhSearchResult[] = [];\n @State() chipResultsHeading: string;\n @State() chipResults: StzhSearchChipsResult[] = [];\n @State() resultsHeading: string;\n @State() resultsText: string;\n @State() hasRequiredParams: boolean = false;\n @State() firstFetched: boolean = false;\n @State() initiallyFetched: boolean = false;\n @State() isDetailsOpen: boolean = false;\n @State() isStzhAnchornavVisible: boolean = false;\n\n /** Search overlay close click event */\n @Event() stzhOverlayCloseClick: EventEmitter<StzhSearchOverlayCloseClickEvent>;\n\n private currentController: AbortController;\n private params: URLSearchParams;\n private formElement: HTMLFormElement;\n\n private renderResultTemplate(html: string, item: StzhSearchResult) {\n let template =\n html ||\n (typeof this.templateResult === \"function\" ? this.templateResult(this.element, item) : this.templateResult);\n\n [\n \"href\",\n \"heading\",\n \"dateline\",\n \"description\",\n \"image\",\n \"imagePosition\",\n \"tag\",\n \"topic\",\n \"service\",\n \"serviceColor\",\n \"serviceBackgroundColor\",\n \"meta\",\n \"breadcrumbItems\",\n \"eventLocation\",\n \"eventDateStart\",\n \"eventDateEnd\",\n \"download\",\n \"downloadHeading\",\n \"downloadMeta\",\n \"datalistItems\",\n ].forEach(property => {\n const regex = new RegExp(`\\{${property}\\}`, \"gi\");\n let value = item[property] || \"\";\n\n if ([\"meta\", \"breadcrumbItems\", \"downloadMeta\", \"datalistItems\"].includes(property) && value) {\n value = JSON.stringify(value);\n }\n\n template = template.replace(regex, value);\n });\n\n return template;\n }\n\n private async updateParams(initial: boolean = false) {\n const updateByFormElements = () => {\n const formData = new FormData(this.formElement);\n // @ts-ignore\n this.params = new URLSearchParams(formData);\n this.params.set(\"variant\", this.variant);\n };\n\n if (initial) {\n const initialParams = new URLSearchParams(location.search);\n let search = initialParams.get(\"search\");\n const q = initialParams.get(\"q\");\n const query = initialParams.get(\"query\");\n if (!search) {\n if (query) {\n search = `query=${query}`;\n } else if (q) {\n search = `q=${q}`;\n }\n }\n\n if (search) {\n this.initialFetch = true;\n const currentSearchParams = new URLSearchParams(search);\n\n [...new Set(currentSearchParams.keys())].forEach(key => {\n const values = currentSearchParams.getAll(key);\n\n // value as string/number: input, ... / pagination\n const valueInputs = Array.from(\n document.querySelectorAll(\n `:where(stzh-input,stzh-radiogroup,stzh-chipselect,stzh-amount,stzh-datepicker,stzh-monthyearpicker,stzh-timepicker,stzh-pagination,stzh-toggle)[name=\"${key}\"]`\n )\n ) as\n | HTMLStzhInputElement[]\n | HTMLStzhRadiogroupElement[]\n | HTMLStzhChipselectElement[]\n | HTMLStzhAmountElement[]\n | HTMLStzhDatepickerElement[]\n | HTMLStzhMonthyearpickerElement[]\n | HTMLStzhTimepickerElement[]\n | HTMLStzhPaginationElement[]\n | HTMLStzhToggleElement[];\n\n // value as array: checkboxgroup\n const valueArrayInputs = Array.from(\n document.querySelectorAll(`:where(stzh-checkboxgroup)[name=\"${key}\"]`)\n ) as HTMLStzhCheckboxgroupElement[];\n\n // items as array: dropdown\n const itemsArrayInputs = Array.from(document.querySelectorAll(`:where(stzh-dropdown)[name=\"${key}\"]`)) as\n | HTMLStzhDropdownElement[];\n\n valueInputs.forEach(\n (\n input:\n | HTMLStzhInputElement\n | HTMLStzhRadiogroupElement\n | HTMLStzhChipselectElement\n | HTMLStzhAmountElement\n | HTMLStzhDatepickerElement\n | HTMLStzhMonthyearpickerElement\n | HTMLStzhTimepickerElement\n | HTMLStzhPaginationElement\n | HTMLStzhToggleElement\n ) => {\n input.value = values[0];\n }\n );\n\n valueArrayInputs.forEach((input: HTMLStzhCheckboxgroupElement) => {\n input.value = values;\n });\n\n itemsArrayInputs.forEach((input: HTMLStzhDropdownElement) => {\n input.items = values;\n });\n });\n }\n }\n\n await raf();\n updateByFormElements();\n\n let hasRequiredParams = true;\n\n const requiredInputFields = Array.from(this.element.querySelectorAll(\":where(stzh-input)[required]\")) as\n | HTMLStzhInputElement[];\n\n const requiredDropdownFields = Array.from(this.element.querySelectorAll(\":where(stzh-dropdown)[required]\")) as\n | HTMLStzhDropdownElement[];\n\n const requiredMonthyearpickers = Array.from(\n this.element.querySelectorAll(\":where(stzh-monthyearpicker)[required]\")\n ) as HTMLStzhMonthyearpickerElement[];\n\n const requiredFields = Array.from(\n this.element.querySelectorAll(\n \":where(stzh-amount,stzh-radiogroup,stzh-chipselect,stzh-datepicker,stzh-monthyearpicker,stzh-timepicker,stzh-pagination,stzh-toggle)[required]\"\n )\n ) as\n | HTMLStzhAmountElement[]\n | HTMLStzhRadiogroupElement[]\n | HTMLStzhChipselectElement[]\n | HTMLStzhDatepickerElement[]\n | HTMLStzhTimepickerElement[]\n | HTMLStzhPaginationElement[]\n | HTMLStzhToggleElement[];\n\n const requiredCheckboxFields = Array.from(this.element.querySelectorAll(\":where(stzh-checkbox)[required]\")) as\n | HTMLStzhCheckboxElement[];\n\n requiredCheckboxFields.forEach((field: HTMLStzhCheckboxElement) => {\n const invalid = !field.checked;\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n requiredInputFields.forEach((field: HTMLStzhInputElement) => {\n const invalid =\n field.value === \"\" ||\n (field.minlength && field.minlength > field.value.length) ||\n (field.maxlength && field.maxlength < field.value.length);\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n requiredDropdownFields.forEach((field: HTMLStzhDropdownElement) => {\n const invalid = field.items.length === 0;\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n requiredFields.forEach(\n (\n field:\n | HTMLStzhAmountElement\n | HTMLStzhRadiogroupElement\n | HTMLStzhCheckboxElement\n | HTMLStzhChipselectElement\n | HTMLStzhDatepickerElement\n | HTMLStzhTimepickerElement\n | HTMLStzhPaginationElement\n | HTMLStzhToggleElement\n ) => {\n const invalid = field.value.toString().length === 0;\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n }\n );\n\n requiredMonthyearpickers.forEach((field: HTMLStzhMonthyearpickerElement) => {\n const invalid = field.value.toString().length === 0;\n\n if (!initial) {\n field.invalidYear = invalid;\n field.invalidMonth = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n this.hasRequiredParams = hasRequiredParams;\n }\n\n private fetch = async (append: boolean = false, initial: boolean = false) => {\n this.loading = true;\n this.error = \"\";\n\n if (this.currentController) {\n this.currentController.abort();\n }\n\n if (!this.hasRequiredParams && !append) {\n this.loading = false;\n return;\n }\n\n let apiUrl = this.api.replace(/\\{lang\\}/gi, this.localization.$locale);\n let limit = this.limit.toString();\n\n this.params.set(\"offset\", append ? this.results.length.toString() : \"0\");\n\n if (initial) {\n const search = new URLSearchParams(location.search).get(\"search\");\n\n if (search) {\n const urlLimit = new URLSearchParams(search).get(\"limit\");\n\n if (urlLimit) {\n limit = urlLimit;\n }\n }\n }\n\n this.params.set(\"limit\", limit);\n\n this.currentController = new AbortController();\n\n let data: {\n error?: boolean;\n message?: string;\n templates?: {\n result: string;\n };\n meta?: {\n total: number;\n };\n resultsHeading?: string;\n resultsText?: string;\n results?: StzhSearchResult[];\n chipResultsHeading?: string;\n chipResults?: StzhSearchChipsResult[];\n } = {};\n\n try {\n // load data from API\n const response = await axios(apiUrl, {\n params: this.params,\n signal: this.currentController.signal,\n });\n\n data = response.data;\n } catch (error) {\n this.error = this.localization.error;\n }\n\n this.resultsHeading = data.resultsHeading || \"\";\n this.resultsText = data.resultsText || \"\";\n this.totalCount = data.meta?.total || 0;\n\n if (data.error) {\n this.error = data.message || this.localization.error;\n }\n\n if (data.chipResults && data.chipResults.length) {\n this.chipResultsHeading = data.chipResultsHeading ?? \"\";\n this.chipResults = data.chipResults;\n } else {\n this.chipResultsHeading = \"\";\n this.chipResults = [];\n }\n\n if (data.results) {\n if (append) {\n this.results = [\n ...this.results,\n ...data.results.map(item => ({\n ...item,\n html: this.renderResultTemplate(item.html || data.templates?.result, item),\n })),\n ];\n } else {\n this.results = data.results.map(item => ({\n ...item,\n html: this.renderResultTemplate(item.html || data.templates?.result, item),\n }));\n }\n }\n\n if (!initial && !this.preventUpdateUrl) {\n const newUrlParams = new URLSearchParams(location.search);\n const searchParams = new URLSearchParams(this.params);\n\n searchParams.delete(\"offset\");\n searchParams.set(\"limit\", this.results.length.toString());\n newUrlParams.set(\"search\", searchParams.toString());\n\n window.history.replaceState(null, \"\", `${location.pathname}?${newUrlParams}`);\n }\n\n if (initial || !this.firstFetched) {\n this.loading = false;\n } else {\n // to be able to see loading effect we delay turning off loading state\n window.setTimeout(() => {\n this.loading = false;\n }, this.debounceTime);\n }\n\n this.firstFetched = true;\n };\n\n private debouncedFetch = debounce(this.fetch, this.debounceTime);\n\n private onDropdownSortChange = async (event: CustomEvent<StzhDropdownChangeEvent>) => {\n const target: HTMLStzhDropdownElement = event.target as HTMLStzhDropdownElement;\n const sortBy = (await target.getValue()) as string;\n if (sortBy) {\n this._sortBy = sortBy;\n }\n await this.updateParams();\n this.debouncedFetch();\n };\n\n private handleMainFilterChange = async () => {\n if (this.autofetchMainFilters) {\n await this.updateParams();\n this.debouncedFetch();\n }\n };\n\n private handleAsideFilterChange = async () => {\n if (this.autofetchAsideFilters) {\n await this.updateParams();\n this.debouncedFetch();\n }\n };\n\n private handleFormSubmit = async (event: Event) => {\n event.preventDefault();\n\n await this.updateParams();\n this.fetch();\n };\n\n private handleMoreClick = () => {\n this.fetch(true);\n };\n\n private handleMediaChange = () => {\n this.isDetailsOpen = media(\"large\").matches;\n };\n\n private handleFormReset = async () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(async () => {\n await this.updateParams();\n });\n });\n };\n\n async componentDidLoad() {\n this.isStzhAnchornavVisible =\n document.documentElement.style.getPropertyValue(\"--stzh-anchornav-is-visible\") === \"1\";\n\n // update params initially to get hidden filters\n // and set initialFetch to true if search params exist\n await this.updateParams(true);\n\n if (this.initialFetch) {\n await this.fetch(false, true);\n this.initiallyFetched = true;\n } else {\n this.initiallyFetched = true;\n }\n }\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"search\");\n }\n this.isStzhAnchornavVisible =\n document.documentElement.style.getPropertyValue(\"--stzh-anchornav-is-visible\") === \"1\";\n this.sortOptionsWatcher(this.sortOptions);\n this.sortByWatcher(this.sortBy);\n }\n\n connectedCallback() {\n addMediaChangeListener(this.handleMediaChange);\n this.handleMediaChange();\n }\n\n disconnectedCallback() {\n removeMediaChangeListener(this.handleMediaChange);\n }\n\n private renderResultsText(): DocumentFragment {\n return <stzh-text class=\"stzh-search__results-text\" color=\"primary\" innerHTML={this.resultsText}></stzh-text>;\n }\n\n private renderSubscribeButton(): DocumentFragment {\n const params = new URLSearchParams();\n let subscribeAdditionalQueryParameters = this.subscribeAdditionalQueryParameters;\n if (typeof this.subscribeAdditionalQueryParameters === \"string\") {\n try {\n subscribeAdditionalQueryParameters = JSON.parse(this.subscribeAdditionalQueryParameters);\n } catch (noJson) {}\n }\n for (const entry of subscribeAdditionalQueryParameters) {\n for (const [key, value] of Object.entries(entry)) {\n if (value) {\n params.set(key, value);\n }\n }\n }\n const currentQueryParameters = new URLSearchParams(window.location.search);\n const search = currentQueryParameters.get(\"search\");\n if (search) {\n const currentSearchParams = new URLSearchParams(search);\n for (const [key, value] of currentSearchParams.entries()) {\n if ([\"variant\", \"limit\"].indexOf(key) === -1 && value) {\n params.append(key, value);\n }\n }\n }\n const href = `${this.subscribePath}?${params.toString()}`;\n return (\n <div class=\"stzh-search__results-subscribe\">\n <stzh-button variant=\"secondary\" size=\"small\" href={href}>\n {this.subscribeLabel}\n </stzh-button>\n </div>\n );\n }\n\n render() {\n const filtersMainUsed = hasSlot(this.element, \"filters-main\");\n const filtersAsideUsed = hasSlot(this.element, \"filters-aside\");\n let chipsProvided = true;\n if (filtersMainUsed) {\n const providedChipselect = this.element.querySelector(\"[slot='filters-main'] stzh-chipselect\");\n const providedChipgroup = this.element.querySelector(\"[slot='filters-main'] stzh-chipgroup\");\n if (!providedChipselect && !providedChipgroup) {\n chipsProvided = false;\n }\n } else {\n chipsProvided = false;\n }\n\n const resultsShown = (this.hasRequiredParams || this.firstFetched) && this.firstFetched && this.initiallyFetched;\n\n const classes = {\n \"stzh-search\": true,\n \"stzh-search--has-filters-main\": filtersMainUsed,\n \"stzh-search--has-filters-aside\": filtersAsideUsed,\n \"stzh-search--has-hidden-main-filters\": this.hideMainFilters,\n \"stzh-search--has-hidden-aside-filters\": this.hideAsideFilters,\n \"stzh-search--has-results-shown\": resultsShown,\n \"stzh-search--has-error-shown\": !!this.error,\n \"stzh-search--is-loading\": this.loading,\n [`stzh-search--${this.variant}`]: !!this.variant,\n };\n\n const WrapperElement =\n typeof this.templateResultWrapperElement === \"function\"\n ? this.templateResultWrapperElement(this.element)\n : this.templateResultWrapperElement;\n\n const wrapperProps =\n typeof this.templateResultWrapperProps === \"function\"\n ? this.templateResultWrapperProps(this.element)\n : this.templateResultWrapperProps;\n\n return (\n <Host has-aside-filters={filtersAsideUsed} fullwidth={this.isStzhAnchornavVisible.toString()}>\n <form\n ref={el => (this.formElement = el as HTMLFormElement)}\n novalidate\n class={classes}\n onSubmit={this.handleFormSubmit}\n onReset={this.handleFormReset}\n >\n {/* @ts-ignore */}\n <div class=\"stzh-search__filters-main\" onStzhChange={this.handleMainFilterChange}>\n {!!this.heading && (\n <stzh-heading class=\"stzh-search__header-heading\" curve=\"h2\">\n {this.heading}\n </stzh-heading>\n )}\n <slot name=\"filters-main\"></slot>\n {!chipsProvided && this.chipResults.length > 0 && (\n <div class=\"stzh-search__filters-main-chips\">\n {this.chipResultsHeading && (\n <stzh-text font=\"heavy\" size=\"milli\" color=\"primary\">\n {this.chipResultsHeading}\n </stzh-text>\n )}\n {this.chipResults[0].options ? (\n <stzh-chipgroup>\n {this.chipResults.map(chipResult => (\n <stzh-dropdown\n label={chipResult.label}\n name={chipResult.value}\n variant=\"filter\"\n size=\"large\"\n no-search={true}\n hide-optional={true}\n inline={true}\n options={chipResult.options}\n ></stzh-dropdown>\n ))}\n </stzh-chipgroup>\n ) : (\n <stzh-chipselect\n multiple={true}\n name=\"subject\"\n label={this.chipResultsHeading}\n label-hidden={true}\n data={this.chipResults.map(chipResult => ({\n label: chipResult.label,\n value: chipResult.value,\n counter: `${chipResult.amount}`,\n variant: \"filter\",\n size: \"small\",\n }))}\n ></stzh-chipselect>\n )}\n </div>\n )}\n </div>\n\n {filtersAsideUsed && (\n <Fragment>\n {/* @ts-ignore */}\n <div class=\"stzh-search__filters-aside\" onStzhChange={this.handleAsideFilterChange}>\n <div class=\"stzh-search__filters-aside-inner\">\n <div class=\"stzh-search__filters-aside-heading\">{this.localization.moreFilter}</div>\n <stzh-details open={this.isDetailsOpen} class=\"stzh-search__filters-aside-details\">\n <stzh-button\n class=\"stzh-search__filters-aside-details-trigger\"\n variant=\"tertiary-plain\"\n size=\"small\"\n noPaddingLeft={true}\n showToggleIcon={true}\n iconPosition=\"right\"\n label={this.localization.moreFilter}\n ></stzh-button>\n <div slot=\"content\">\n <slot name=\"filters-aside\"></slot>\n </div>\n </stzh-details>\n </div>\n </div>\n </Fragment>\n )}\n\n <div class=\"stzh-search__results-wrapper\">\n {resultsShown && (\n <Fragment>\n {this.results.length === 0 ? (\n <Fragment>\n {this.variant !== \"teaser\" && this.resultsHeading && !this.hideResultsHeading && (\n <stzh-heading\n class=\"stzh-search__results-heading\"\n curve=\"h3\"\n level={this.resultHeadingLevel}\n innerHTML={this.resultsHeading}\n ></stzh-heading>\n )}\n\n {this.resultsText && this.renderResultsText()}\n\n {this.subscribePath && this.renderSubscribeButton()}\n\n {this.emptyText && (\n <stzh-text class=\"stzh-search__empty-text\" innerHTML={this.emptyText}></stzh-text>\n )}\n\n {this.emptyLinkLabel && this.emptyLinkHref && (\n <div class=\"stzh-search__empty-link-wrapper\">\n <stzh-link href={this.emptyLinkHref} label={this.emptyLinkLabel}></stzh-link>\n </div>\n )}\n </Fragment>\n ) : (\n <Fragment>\n <div class=\"stzh-search__results-header\">\n {this.variant !== \"teaser\" && this.resultsHeading && !this.hideResultsHeading && (\n <stzh-heading\n class=\"stzh-search__results-heading\"\n curve=\"h3\"\n level={this.resultHeadingLevel}\n htmlContent={this.resultsHeading}\n ></stzh-heading>\n )}\n {this._sortOptions.length > 0 && (\n <div class=\"stzh-search__results-sort\">\n <stzh-dropdown\n hide-optional\n inline\n no-search\n no-wrap\n class=\"stzh-search__results-sort-dropdown\"\n variant=\"plain\"\n size=\"small\"\n sizeMedium={\"tiny\"}\n name=\"sortby\"\n items={[this._sortBy]}\n options={this._sortOptions}\n onStzhChange={this.onDropdownSortChange}\n ></stzh-dropdown>\n </div>\n )}\n </div>\n\n {this.resultsText && this.renderResultsText()}\n\n {this.subscribePath && this.renderSubscribeButton()}\n\n <WrapperElement class=\"stzh-search__results\" max-3-columns={filtersAsideUsed} {...wrapperProps}>\n {this.results.map(result => (\n <div class=\"stzh-search__results-item\" innerHTML={result.html || \"\"}></div>\n ))}\n </WrapperElement>\n\n <div class=\"stzh-search__actions-wrapper\">\n {this._showMoreLink && (\n <stzh-button\n variant=\"secondary\"\n class=\"stzh-search__action-more\"\n label={this.localization.showMore}\n onClick={this.handleMoreClick}\n disabled={this.loading}\n a11yDisabled={this.loading}\n ></stzh-button>\n )}\n </div>\n </Fragment>\n )}\n </Fragment>\n )}\n\n {this.error && (\n <div class=\"stzh-search__error\">\n <stzh-message type=\"error\" label={this.error}></stzh-message>\n </div>\n )}\n\n {this.loading && <stzh-loader class=\"stzh-search__loader\"></stzh-loader>}\n </div>\n\n <slot></slot>\n </form>\n </Host>\n );\n }\n}\n"],"version":3}