@oiz/stzh-components 3.4.0-beta1 → 3.4.0-beta2

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 (307) hide show
  1. package/dist/cjs/{app-globals-1074eba6.js → app-globals-d9805497.js} +2 -2
  2. package/dist/cjs/{app-globals-1074eba6.js.map → app-globals-d9805497.js.map} +1 -1
  3. package/dist/cjs/index-92254d32.js +40 -16
  4. package/dist/cjs/index.cjs.js.map +1 -1
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/stzh-actions.cjs.entry.js +10 -8
  7. package/dist/cjs/stzh-actions.cjs.entry.js.map +1 -1
  8. package/dist/cjs/stzh-archivelist.cjs.entry.js +6 -16
  9. package/dist/cjs/stzh-archivelist.cjs.entry.js.map +1 -1
  10. package/dist/cjs/{stzh-card_2.cjs.entry.js → stzh-card.cjs.entry.js} +55 -143
  11. package/dist/cjs/stzh-card.cjs.entry.js.map +1 -0
  12. package/dist/cjs/{stzh-sortable.cjs.entry.js → stzh-cardlist_2.cjs.entry.js} +92 -1
  13. package/dist/cjs/stzh-cardlist_2.cjs.entry.js.map +1 -0
  14. package/dist/cjs/{stzh-checkbox_4.cjs.entry.js → stzh-checkbox_3.cjs.entry.js} +4 -91
  15. package/dist/cjs/stzh-checkbox_3.cjs.entry.js.map +1 -0
  16. package/dist/cjs/{stzh-chip_2.cjs.entry.js → stzh-chip.cjs.entry.js} +1 -215
  17. package/dist/cjs/stzh-chip.cjs.entry.js.map +1 -0
  18. package/dist/cjs/stzh-chipgroup.cjs.entry.js +25 -0
  19. package/dist/cjs/stzh-chipgroup.cjs.entry.js.map +1 -0
  20. package/dist/cjs/stzh-chipselect.cjs.entry.js +234 -0
  21. package/dist/cjs/stzh-chipselect.cjs.entry.js.map +1 -0
  22. package/dist/cjs/stzh-components.cjs.js +2 -2
  23. package/dist/cjs/stzh-dropdown.cjs.entry.js +53 -55
  24. package/dist/cjs/stzh-dropdown.cjs.entry.js.map +1 -1
  25. package/dist/cjs/stzh-fieldset.cjs.entry.js +1 -1
  26. package/dist/cjs/stzh-fieldset.cjs.entry.js.map +1 -1
  27. package/dist/cjs/stzh-geo-ref-data.cjs.entry.js +98 -41
  28. package/dist/cjs/stzh-geo-ref-data.cjs.entry.js.map +1 -1
  29. package/dist/cjs/stzh-input.cjs.entry.js +6 -2
  30. package/dist/cjs/stzh-input.cjs.entry.js.map +1 -1
  31. package/dist/cjs/{stzh-chipgroup_2.cjs.entry.js → stzh-message.cjs.entry.js} +1 -18
  32. package/dist/cjs/stzh-message.cjs.entry.js.map +1 -0
  33. package/dist/cjs/stzh-overlay.cjs.entry.js +97 -0
  34. package/dist/cjs/stzh-overlay.cjs.entry.js.map +1 -0
  35. package/dist/cjs/stzh-pi-teaser.cjs.entry.js +1 -1
  36. package/dist/cjs/stzh-pi-teaser.cjs.entry.js.map +1 -1
  37. package/dist/cjs/stzh-poicard.cjs.entry.js +52 -0
  38. package/dist/cjs/stzh-poicard.cjs.entry.js.map +1 -0
  39. package/dist/cjs/stzh-poilist.cjs.entry.js +122 -0
  40. package/dist/cjs/stzh-poilist.cjs.entry.js.map +1 -0
  41. package/dist/cjs/stzh-popover.cjs.entry.js +445 -0
  42. package/dist/cjs/stzh-popover.cjs.entry.js.map +1 -0
  43. package/dist/cjs/stzh-saptcha.cjs.entry.js +10 -9
  44. package/dist/cjs/stzh-saptcha.cjs.entry.js.map +1 -1
  45. package/dist/cjs/stzh-search.cjs.entry.js +52 -3
  46. package/dist/cjs/stzh-search.cjs.entry.js.map +1 -1
  47. package/dist/cjs/stzh-section.cjs.entry.js +1 -1
  48. package/dist/cjs/stzh-section.cjs.entry.js.map +1 -1
  49. package/dist/cjs/{stzh-popover_2.cjs.entry.js → stzh-text.cjs.entry.js} +1 -438
  50. package/dist/cjs/stzh-text.cjs.entry.js.map +1 -0
  51. package/dist/cjs/stzh-vbz-connection-finder.cjs.entry.js +1 -1
  52. package/dist/cjs/stzh-vbz-connection-finder.cjs.entry.js.map +1 -1
  53. package/dist/collection/assets/i18n/de.json +9 -0
  54. package/dist/collection/assets/i18n/en.json +9 -0
  55. package/dist/collection/collection-manifest.json +2 -0
  56. package/dist/collection/components/stzh-actions/stzh-actions.css +27 -0
  57. package/dist/collection/components/stzh-actions/stzh-actions.js +30 -10
  58. package/dist/collection/components/stzh-actions/stzh-actions.js.map +1 -1
  59. package/dist/collection/components/stzh-archivelist/stzh-archivelist.css +3 -0
  60. package/dist/collection/components/stzh-archivelist/stzh-archivelist.js +42 -16
  61. package/dist/collection/components/stzh-archivelist/stzh-archivelist.js.map +1 -1
  62. package/dist/collection/components/stzh-archivelist/stzh-archivelist.stories.js +109 -102
  63. package/dist/collection/components/stzh-card/stzh-card.css +5 -0
  64. package/dist/collection/components/stzh-card/stzh-card.js +72 -51
  65. package/dist/collection/components/stzh-card/stzh-card.js.map +1 -1
  66. package/dist/collection/components/stzh-cardlist/stzh-cardlist.css +5 -0
  67. package/dist/collection/components/stzh-chipselect/stzh-chipselect.css +8 -8
  68. package/dist/collection/components/stzh-chipselect/stzh-chipselect.js +13 -1
  69. package/dist/collection/components/stzh-chipselect/stzh-chipselect.js.map +1 -1
  70. package/dist/collection/components/stzh-dropdown/stzh-dropdown.css +11 -1
  71. package/dist/collection/components/stzh-dropdown/stzh-dropdown.js +89 -55
  72. package/dist/collection/components/stzh-dropdown/stzh-dropdown.js.map +1 -1
  73. package/dist/collection/components/stzh-fieldset/stzh-fieldset.css +120 -0
  74. package/dist/collection/components/stzh-geo-ref-data/stzh-geo-ref-data.css +2 -0
  75. package/dist/collection/components/stzh-geo-ref-data/stzh-geo-ref-data.js +156 -51
  76. package/dist/collection/components/stzh-geo-ref-data/stzh-geo-ref-data.js.map +1 -1
  77. package/dist/collection/components/stzh-geo-ref-data/stzh-geo-ref-data.stories.js +64 -63
  78. package/dist/collection/components/stzh-input/stzh-input.css +6 -0
  79. package/dist/collection/components/stzh-input/stzh-input.js +23 -1
  80. package/dist/collection/components/stzh-input/stzh-input.js.map +1 -1
  81. package/dist/collection/components/stzh-pi-teaser/stzh-pi-teaser.css +18 -3
  82. package/dist/collection/components/stzh-pi-teaser/stzh-pi-teaser.stories.js +30 -29
  83. package/dist/collection/components/stzh-poicard/stzh-poicard.css +231 -0
  84. package/dist/collection/components/stzh-poicard/stzh-poicard.e2e.js +16 -0
  85. package/dist/collection/components/stzh-poicard/stzh-poicard.e2e.js.map +1 -0
  86. package/dist/collection/components/stzh-poicard/stzh-poicard.js +86 -0
  87. package/dist/collection/components/stzh-poicard/stzh-poicard.js.map +1 -0
  88. package/dist/collection/components/stzh-poicard/stzh-poicard.stories.js +117 -0
  89. package/dist/collection/components/stzh-poilist/stzh-poilist.css +210 -0
  90. package/dist/collection/components/stzh-poilist/stzh-poilist.e2e.js +16 -0
  91. package/dist/collection/components/stzh-poilist/stzh-poilist.e2e.js.map +1 -0
  92. package/dist/collection/components/stzh-poilist/stzh-poilist.js +181 -0
  93. package/dist/collection/components/stzh-poilist/stzh-poilist.js.map +1 -0
  94. package/dist/collection/components/stzh-poilist/stzh-poilist.localization.js +2 -0
  95. package/dist/collection/components/stzh-poilist/stzh-poilist.localization.js.map +1 -0
  96. package/dist/collection/components/stzh-poilist/stzh-poilist.stories.js +31 -0
  97. package/dist/collection/components/stzh-richtext/stzh-richtext.stories.js +31 -16
  98. package/dist/collection/components/stzh-saptcha/stzh-saptcha.js +34 -17
  99. package/dist/collection/components/stzh-saptcha/stzh-saptcha.js.map +1 -1
  100. package/dist/collection/components/stzh-saptcha/stzh-saptcha.stories.js +3 -0
  101. package/dist/collection/components/stzh-search/stzh-search.css +4 -4
  102. package/dist/collection/components/stzh-search/stzh-search.js +122 -2
  103. package/dist/collection/components/stzh-search/stzh-search.js.map +1 -1
  104. package/dist/collection/components/stzh-section/stzh-section.css +19 -6
  105. package/dist/collection/components/stzh-vbz-connection-finder/stzh-vbz-connection-finder.js +1 -1
  106. package/dist/collection/components/stzh-vbz-connection-finder/stzh-vbz-connection-finder.js.map +1 -1
  107. package/dist/collection/index.js.map +1 -1
  108. package/dist/collection/pages/jobsearch/jobsearch.e2e.js +16 -0
  109. package/dist/collection/pages/jobsearch/jobsearch.e2e.js.map +1 -0
  110. package/dist/components/index.js +1 -1
  111. package/dist/components/index2.js.map +1 -1
  112. package/dist/components/stzh-actions.js +12 -9
  113. package/dist/components/stzh-actions.js.map +1 -1
  114. package/dist/components/stzh-archivelist.js +20 -22
  115. package/dist/components/stzh-archivelist.js.map +1 -1
  116. package/dist/components/stzh-card2.js +55 -51
  117. package/dist/components/stzh-card2.js.map +1 -1
  118. package/dist/components/stzh-cardlist2.js +1 -1
  119. package/dist/components/stzh-cardlist2.js.map +1 -1
  120. package/dist/components/stzh-chipselect2.js +14 -2
  121. package/dist/components/stzh-chipselect2.js.map +1 -1
  122. package/dist/components/stzh-dropdown2.js +55 -55
  123. package/dist/components/stzh-dropdown2.js.map +1 -1
  124. package/dist/components/stzh-fieldset.js +1 -1
  125. package/dist/components/stzh-fieldset.js.map +1 -1
  126. package/dist/components/stzh-geo-ref-data.js +109 -45
  127. package/dist/components/stzh-geo-ref-data.js.map +1 -1
  128. package/dist/components/stzh-input2.js +7 -2
  129. package/dist/components/stzh-input2.js.map +1 -1
  130. package/dist/components/stzh-pi-teaser.js +1 -1
  131. package/dist/components/stzh-pi-teaser.js.map +1 -1
  132. package/dist/components/stzh-poicard.d.ts +11 -0
  133. package/dist/components/stzh-poicard.js +8 -0
  134. package/dist/components/stzh-poicard.js.map +1 -0
  135. package/dist/components/stzh-poicard2.js +108 -0
  136. package/dist/components/stzh-poicard2.js.map +1 -0
  137. package/dist/components/stzh-poilist.d.ts +11 -0
  138. package/dist/components/stzh-poilist.js +246 -0
  139. package/dist/components/stzh-poilist.js.map +1 -0
  140. package/dist/components/stzh-saptcha.js +13 -14
  141. package/dist/components/stzh-saptcha.js.map +1 -1
  142. package/dist/components/stzh-search.js +57 -3
  143. package/dist/components/stzh-search.js.map +1 -1
  144. package/dist/components/stzh-section.js +1 -1
  145. package/dist/components/stzh-section.js.map +1 -1
  146. package/dist/components/stzh-vbz-connection-finder.js +1 -1
  147. package/dist/components/stzh-vbz-connection-finder.js.map +1 -1
  148. package/dist/esm/{app-globals-fbb949bd.js → app-globals-ca13b6e3.js} +2 -2
  149. package/dist/esm/{app-globals-fbb949bd.js.map → app-globals-ca13b6e3.js.map} +1 -1
  150. package/dist/esm/index-e3050b18.js +40 -16
  151. package/dist/esm/index.js.map +1 -1
  152. package/dist/esm/loader.js +2 -2
  153. package/dist/esm/stzh-actions.entry.js +10 -8
  154. package/dist/esm/stzh-actions.entry.js.map +1 -1
  155. package/dist/esm/stzh-archivelist.entry.js +6 -16
  156. package/dist/esm/stzh-archivelist.entry.js.map +1 -1
  157. package/dist/esm/{stzh-card_2.entry.js → stzh-card.entry.js} +56 -143
  158. package/dist/esm/stzh-card.entry.js.map +1 -0
  159. package/dist/esm/{stzh-sortable.entry.js → stzh-cardlist_2.entry.js} +92 -2
  160. package/dist/esm/stzh-cardlist_2.entry.js.map +1 -0
  161. package/dist/esm/{stzh-checkbox_4.entry.js → stzh-checkbox_3.entry.js} +5 -91
  162. package/dist/esm/stzh-checkbox_3.entry.js.map +1 -0
  163. package/dist/esm/{stzh-chip_2.entry.js → stzh-chip.entry.js} +3 -216
  164. package/dist/esm/stzh-chip.entry.js.map +1 -0
  165. package/dist/esm/stzh-chipgroup.entry.js +21 -0
  166. package/dist/esm/stzh-chipgroup.entry.js.map +1 -0
  167. package/dist/esm/stzh-chipselect.entry.js +230 -0
  168. package/dist/esm/stzh-chipselect.entry.js.map +1 -0
  169. package/dist/esm/stzh-components.js +2 -2
  170. package/dist/esm/stzh-dropdown.entry.js +53 -55
  171. package/dist/esm/stzh-dropdown.entry.js.map +1 -1
  172. package/dist/esm/stzh-fieldset.entry.js +1 -1
  173. package/dist/esm/stzh-fieldset.entry.js.map +1 -1
  174. package/dist/esm/stzh-geo-ref-data.entry.js +98 -41
  175. package/dist/esm/stzh-geo-ref-data.entry.js.map +1 -1
  176. package/dist/esm/stzh-input.entry.js +6 -2
  177. package/dist/esm/stzh-input.entry.js.map +1 -1
  178. package/dist/esm/{stzh-chipgroup_2.entry.js → stzh-message.entry.js} +3 -19
  179. package/dist/esm/stzh-message.entry.js.map +1 -0
  180. package/dist/esm/stzh-overlay.entry.js +93 -0
  181. package/dist/esm/stzh-overlay.entry.js.map +1 -0
  182. package/dist/esm/stzh-pi-teaser.entry.js +1 -1
  183. package/dist/esm/stzh-pi-teaser.entry.js.map +1 -1
  184. package/dist/esm/stzh-poicard.entry.js +48 -0
  185. package/dist/esm/stzh-poicard.entry.js.map +1 -0
  186. package/dist/esm/stzh-poilist.entry.js +118 -0
  187. package/dist/esm/stzh-poilist.entry.js.map +1 -0
  188. package/dist/esm/stzh-popover.entry.js +441 -0
  189. package/dist/esm/stzh-popover.entry.js.map +1 -0
  190. package/dist/esm/stzh-saptcha.entry.js +11 -10
  191. package/dist/esm/stzh-saptcha.entry.js.map +1 -1
  192. package/dist/esm/stzh-search.entry.js +52 -3
  193. package/dist/esm/stzh-search.entry.js.map +1 -1
  194. package/dist/esm/stzh-section.entry.js +1 -1
  195. package/dist/esm/stzh-section.entry.js.map +1 -1
  196. package/dist/esm/{stzh-popover_2.entry.js → stzh-text.entry.js} +3 -439
  197. package/dist/esm/stzh-text.entry.js.map +1 -0
  198. package/dist/esm/stzh-vbz-connection-finder.entry.js +1 -1
  199. package/dist/esm/stzh-vbz-connection-finder.entry.js.map +1 -1
  200. package/dist/stzh-components/assets/i18n/de.json +9 -0
  201. package/dist/stzh-components/assets/i18n/en.json +9 -0
  202. package/dist/stzh-components/index.esm.js.map +1 -1
  203. package/dist/stzh-components/{p-206ec94f.entry.js → p-0846f5a7.entry.js} +2 -2
  204. package/dist/stzh-components/p-0846f5a7.entry.js.map +1 -0
  205. package/dist/stzh-components/p-0d092d58.entry.js +2 -0
  206. package/dist/stzh-components/p-0d092d58.entry.js.map +1 -0
  207. package/dist/stzh-components/{p-38cd406c.entry.js → p-10c2c688.entry.js} +2 -2
  208. package/dist/stzh-components/p-10c2c688.entry.js.map +1 -0
  209. package/dist/stzh-components/{p-23de5712.entry.js → p-1391115f.entry.js} +2 -2
  210. package/dist/stzh-components/{p-23de5712.entry.js.map → p-1391115f.entry.js.map} +1 -1
  211. package/dist/stzh-components/p-1b2fb680.entry.js +9 -0
  212. package/dist/stzh-components/p-1b2fb680.entry.js.map +1 -0
  213. package/dist/stzh-components/p-1e121c5f.entry.js +2 -0
  214. package/dist/stzh-components/p-1e121c5f.entry.js.map +1 -0
  215. package/dist/stzh-components/p-35d842ce.entry.js +2 -0
  216. package/dist/stzh-components/p-35d842ce.entry.js.map +1 -0
  217. package/dist/stzh-components/p-3e2b4d92.entry.js +2 -0
  218. package/dist/stzh-components/p-3e2b4d92.entry.js.map +1 -0
  219. package/dist/stzh-components/p-47cb71af.entry.js +2 -0
  220. package/dist/stzh-components/p-47cb71af.entry.js.map +1 -0
  221. package/dist/stzh-components/p-4e2db8e9.entry.js +8 -0
  222. package/dist/stzh-components/p-4e2db8e9.entry.js.map +1 -0
  223. package/dist/stzh-components/{p-cded8c4a.js → p-57caee36.js} +2 -2
  224. package/dist/stzh-components/p-616ae3be.entry.js +2 -0
  225. package/dist/stzh-components/p-616ae3be.entry.js.map +1 -0
  226. package/dist/stzh-components/{p-15d008ea.entry.js → p-72c9db89.entry.js} +3 -3
  227. package/dist/stzh-components/p-72c9db89.entry.js.map +1 -0
  228. package/dist/stzh-components/p-7bb2eb4e.entry.js +2 -0
  229. package/dist/stzh-components/p-7bb2eb4e.entry.js.map +1 -0
  230. package/dist/stzh-components/p-8c4d543d.entry.js +2 -0
  231. package/dist/stzh-components/p-8c4d543d.entry.js.map +1 -0
  232. package/dist/stzh-components/p-9506f599.entry.js +2 -0
  233. package/dist/stzh-components/p-9506f599.entry.js.map +1 -0
  234. package/dist/stzh-components/p-9b1267a6.entry.js +2 -0
  235. package/dist/stzh-components/p-9b1267a6.entry.js.map +1 -0
  236. package/dist/stzh-components/p-a9216459.entry.js +2 -0
  237. package/dist/stzh-components/p-a9216459.entry.js.map +1 -0
  238. package/dist/stzh-components/p-b2920d7f.entry.js +2 -0
  239. package/dist/stzh-components/p-b2920d7f.entry.js.map +1 -0
  240. package/dist/stzh-components/p-b6f19446.entry.js +2 -0
  241. package/dist/stzh-components/p-b6f19446.entry.js.map +1 -0
  242. package/dist/stzh-components/p-b75800da.entry.js +2 -0
  243. package/dist/stzh-components/p-b75800da.entry.js.map +1 -0
  244. package/dist/stzh-components/{p-d058fc1e.entry.js → p-c4bbdbfe.entry.js} +2 -2
  245. package/dist/stzh-components/p-c4bbdbfe.entry.js.map +1 -0
  246. package/dist/stzh-components/p-c6504f41.entry.js +2 -0
  247. package/dist/stzh-components/p-c6504f41.entry.js.map +1 -0
  248. package/dist/stzh-components/p-d29fd503.entry.js +2 -0
  249. package/dist/stzh-components/p-d29fd503.entry.js.map +1 -0
  250. package/dist/stzh-components/stzh-components.esm.js +1 -1
  251. package/dist/stzh-components/stzh-components.esm.js.map +1 -1
  252. package/dist/types/components/stzh-actions/stzh-actions.d.ts +3 -1
  253. package/dist/types/components/stzh-archivelist/stzh-archivelist.d.ts +4 -0
  254. package/dist/types/components/stzh-card/stzh-card.d.ts +4 -2
  255. package/dist/types/components/stzh-dropdown/stzh-dropdown.d.ts +6 -2
  256. package/dist/types/components/stzh-geo-ref-data/stzh-geo-ref-data.d.ts +16 -2
  257. package/dist/types/components/stzh-input/stzh-input.d.ts +2 -0
  258. package/dist/types/components/stzh-poicard/stzh-poicard.d.ts +14 -0
  259. package/dist/types/components/stzh-poilist/stzh-poilist.d.ts +31 -0
  260. package/dist/types/components/stzh-poilist/stzh-poilist.localization.d.ts +10 -0
  261. package/dist/types/components/stzh-saptcha/stzh-saptcha.d.ts +5 -4
  262. package/dist/types/components/stzh-search/stzh-search.d.ts +13 -0
  263. package/dist/types/components.d.ts +190 -10
  264. package/dist/types/index.d.ts +28 -0
  265. package/dist/vscode-data.json +104 -3
  266. package/package.json +1 -1
  267. package/dist/cjs/stzh-card_2.cjs.entry.js.map +0 -1
  268. package/dist/cjs/stzh-checkbox_4.cjs.entry.js.map +0 -1
  269. package/dist/cjs/stzh-chip_2.cjs.entry.js.map +0 -1
  270. package/dist/cjs/stzh-chipgroup_2.cjs.entry.js.map +0 -1
  271. package/dist/cjs/stzh-popover_2.cjs.entry.js.map +0 -1
  272. package/dist/cjs/stzh-sortable.cjs.entry.js.map +0 -1
  273. package/dist/esm/stzh-card_2.entry.js.map +0 -1
  274. package/dist/esm/stzh-checkbox_4.entry.js.map +0 -1
  275. package/dist/esm/stzh-chip_2.entry.js.map +0 -1
  276. package/dist/esm/stzh-chipgroup_2.entry.js.map +0 -1
  277. package/dist/esm/stzh-popover_2.entry.js.map +0 -1
  278. package/dist/esm/stzh-sortable.entry.js.map +0 -1
  279. package/dist/stzh-components/p-12851c24.entry.js +0 -2
  280. package/dist/stzh-components/p-12851c24.entry.js.map +0 -1
  281. package/dist/stzh-components/p-15d008ea.entry.js.map +0 -1
  282. package/dist/stzh-components/p-1b31cd8a.entry.js +0 -2
  283. package/dist/stzh-components/p-1b31cd8a.entry.js.map +0 -1
  284. package/dist/stzh-components/p-206ec94f.entry.js.map +0 -1
  285. package/dist/stzh-components/p-38cd406c.entry.js.map +0 -1
  286. package/dist/stzh-components/p-50c32fd1.entry.js +0 -2
  287. package/dist/stzh-components/p-50c32fd1.entry.js.map +0 -1
  288. package/dist/stzh-components/p-55349f2e.entry.js +0 -2
  289. package/dist/stzh-components/p-55349f2e.entry.js.map +0 -1
  290. package/dist/stzh-components/p-9c643610.entry.js +0 -2
  291. package/dist/stzh-components/p-9c643610.entry.js.map +0 -1
  292. package/dist/stzh-components/p-9cdd5e6f.entry.js +0 -2
  293. package/dist/stzh-components/p-9cdd5e6f.entry.js.map +0 -1
  294. package/dist/stzh-components/p-a672aaea.entry.js +0 -8
  295. package/dist/stzh-components/p-a672aaea.entry.js.map +0 -1
  296. package/dist/stzh-components/p-a77b49cb.entry.js +0 -2
  297. package/dist/stzh-components/p-a77b49cb.entry.js.map +0 -1
  298. package/dist/stzh-components/p-b509dedd.entry.js +0 -2
  299. package/dist/stzh-components/p-b509dedd.entry.js.map +0 -1
  300. package/dist/stzh-components/p-b870c799.entry.js +0 -2
  301. package/dist/stzh-components/p-b870c799.entry.js.map +0 -1
  302. package/dist/stzh-components/p-d058fc1e.entry.js.map +0 -1
  303. package/dist/stzh-components/p-da043311.entry.js +0 -9
  304. package/dist/stzh-components/p-da043311.entry.js.map +0 -1
  305. package/dist/stzh-components/p-fb077fd5.entry.js +0 -2
  306. package/dist/stzh-components/p-fb077fd5.entry.js.map +0 -1
  307. /package/dist/stzh-components/{p-cded8c4a.js.map → p-57caee36.js.map} +0 -0
@@ -1,10 +1,16 @@
1
- import { Fragment, h, Host, } from "@stencil/core";
1
+ import { Fragment, h, Host } from "@stencil/core";
2
2
  import { Document } from "flexsearch/dist/flexsearch.bundle.min.js";
3
- import { addMediaChangeListener, media, removeMediaChangeListener, } from "../../utils/media-utils";
3
+ import { addMediaChangeListener, media, removeMediaChangeListener } from "../../utils/media-utils";
4
+ const CLASS_BODY_OPEN = "stzh-overlay-open";
5
+ /**
6
+ * @slot logo - Slot for brand logo
7
+ */
4
8
  export class GeoRefData {
5
9
  constructor() {
10
+ this._availableTags = [];
6
11
  this.filterResults = [];
7
12
  this.handleOverlayCloseClick = () => {
13
+ document.body.classList.remove(CLASS_BODY_OPEN);
8
14
  this.isOpen = false;
9
15
  };
10
16
  this.handleResize = async () => {
@@ -21,7 +27,7 @@ export class GeoRefData {
21
27
  };
22
28
  this.handleFilterChange = async (e) => {
23
29
  if (e.detail.value.length !== 0) {
24
- this.filterResults = this.combinedData.filter((item) => item.tags.some((tag) => e.detail.value.includes(tag)));
30
+ this.filterResults = this.combinedData.filter(item => item.tags && item.tags.some(tag => e.detail.value.includes(tag)));
25
31
  this.filterActive = true;
26
32
  }
27
33
  else {
@@ -29,7 +35,7 @@ export class GeoRefData {
29
35
  }
30
36
  await this.combineFilterAndSearchResults();
31
37
  };
32
- this.handleExtentVisibilityChange = (e) => {
38
+ this.handleExtentVisibilityChange = e => {
33
39
  this.showOnlyResultsForCurrentExtent = e.detail.checked;
34
40
  };
35
41
  this.handleSearchChange = async (e) => {
@@ -38,7 +44,7 @@ export class GeoRefData {
38
44
  return;
39
45
  }
40
46
  const searchResults = this.searchIndex.search(e.detail.value);
41
- const flatSearchResults = searchResults.flatMap((field) => field.result);
47
+ const flatSearchResults = searchResults.flatMap(field => field.result);
42
48
  this.searchResults = new Set(flatSearchResults);
43
49
  this.searchActive = true;
44
50
  }
@@ -61,6 +67,8 @@ export class GeoRefData {
61
67
  this.baseUrlOverride = "https://www.stadt-zuerich.ch";
62
68
  this.availableTags = [];
63
69
  this.resetTag = undefined;
70
+ this.searchIndexFields = ["title", "poiname", "street", "zip", "description"];
71
+ this.searchIndexIdField = "poiid";
64
72
  this.filterActive = false;
65
73
  this.searchActive = false;
66
74
  this.showOnlyResultsForCurrentExtent = true;
@@ -73,6 +81,40 @@ export class GeoRefData {
73
81
  this.isInitialized = undefined;
74
82
  this.isOpen = undefined;
75
83
  this.isLoading = undefined;
84
+ this.numberOfItemsToLoad = 20;
85
+ this.canLoadMore = undefined;
86
+ }
87
+ availableTagsWatcher(newValue) {
88
+ if (!newValue) {
89
+ this._availableTags = [];
90
+ }
91
+ else if (typeof newValue === "string") {
92
+ try {
93
+ this._availableTags = JSON.parse(newValue);
94
+ }
95
+ catch (e) {
96
+ this._availableTags = [];
97
+ }
98
+ }
99
+ else {
100
+ this._availableTags = newValue;
101
+ }
102
+ }
103
+ resetTagWatcher(newValue) {
104
+ if (!newValue) {
105
+ this._resetTag = undefined;
106
+ }
107
+ else if (typeof newValue === "string") {
108
+ try {
109
+ this._resetTag = JSON.parse(newValue);
110
+ }
111
+ catch (e) {
112
+ this._resetTag = undefined;
113
+ }
114
+ }
115
+ else {
116
+ this._resetTag = newValue;
117
+ }
76
118
  }
77
119
  async loadMapData() {
78
120
  if (!this.mapDataUrl) {
@@ -80,23 +122,16 @@ export class GeoRefData {
80
122
  return [];
81
123
  }
82
124
  try {
83
- // TODO: add loader
84
125
  const response = await fetch(this.mapDataUrl);
85
126
  const rawMapData = await response.text();
86
- // console.log('Raw Map data:', rawMapData);
87
127
  const parsedData = new DOMParser().parseFromString(rawMapData, "text/xml");
88
- // console.log('Parsed Map data:', parsedData);
89
- const items = Array.from(parsedData.querySelectorAll("featureMember")).map((item) => {
128
+ return Array.from(parsedData.querySelectorAll("featureMember")).map(item => {
90
129
  var _a, _b;
91
130
  const pos = (_a = item.querySelector("pos")) === null || _a === void 0 ? void 0 : _a.textContent;
92
131
  const poiid = (_b = item.querySelector("poi_id")) === null || _b === void 0 ? void 0 : _b.textContent;
93
132
  const [lat, lon] = (pos === null || pos === void 0 ? void 0 : pos.split(" ")) || [];
94
133
  return { poiid, lat, lon };
95
134
  });
96
- // console.log('Loaded Map Data:', items);
97
- // this.mapData = items;
98
- // TODO: handle empty items
99
- return items;
100
135
  }
101
136
  catch (error) {
102
137
  console.error("Error fetching map data:", error);
@@ -110,16 +145,12 @@ export class GeoRefData {
110
145
  }
111
146
  try {
112
147
  const response = await fetch(this.poiDataUrl, { credentials: "include" });
113
- // console.log('Response:', response);
114
148
  const poiData = await response.json();
115
- // console.log('POI data:', poiData);
116
- // this.poiData = poiData.items;
117
- // TODO: handle empty items
149
+ console.log("POI data:", poiData);
118
150
  return poiData.items;
119
151
  }
120
152
  catch (error) {
121
153
  console.error("Error fetching POI data:", error);
122
- // TODO: add user error (toast)
123
154
  }
124
155
  }
125
156
  combineData(firstArray, secondArray) {
@@ -139,23 +170,40 @@ export class GeoRefData {
139
170
  largerArray = firstArray;
140
171
  }
141
172
  // combine arrays based on poiid
142
- const combinedData = smallerArray
143
- .map((item) => {
144
- const matchingItem = largerArray.find((largerArrayItem) => largerArrayItem.poiid === item.poiid);
173
+ return smallerArray
174
+ .map(item => {
175
+ const matchingItem = largerArray.find(largerArrayItem => largerArrayItem.poiid === item.poiid);
145
176
  return Object.assign(Object.assign({}, item), matchingItem);
146
177
  })
147
178
  .sort((a, b) => {
148
- return a.title.localeCompare(b.title); // Sorts alphabetically by the 'name' property
179
+ try {
180
+ return a.title.localeCompare(b.title); // Sorts alphabetically by the 'name' property
181
+ }
182
+ catch (noTitleException) {
183
+ return 1;
184
+ }
149
185
  });
150
- console.log("Combined Data:", combinedData);
151
- return combinedData;
152
186
  }
153
187
  enhanceTags(availableTags, combinedData) {
154
188
  return availableTags
155
- .sort((a, b) => a.label.localeCompare(b.label))
156
- .map((tag) => {
189
+ .sort((a, b) => {
190
+ try {
191
+ a.label.localeCompare(b.label);
192
+ }
193
+ catch (noLabelException) {
194
+ return 1;
195
+ }
196
+ })
197
+ .map(tag => {
157
198
  const counter = combinedData
158
- .filter((item) => item.tags.includes(tag.value))
199
+ .filter(item => {
200
+ try {
201
+ return item.tags.includes(tag.value);
202
+ }
203
+ catch (noTagsException) {
204
+ return false;
205
+ }
206
+ })
159
207
  .length.toString();
160
208
  return Object.assign(Object.assign({}, tag), { counter, variant: "filter" });
161
209
  });
@@ -173,11 +221,11 @@ export class GeoRefData {
173
221
  "[éè]": "e",
174
222
  },
175
223
  document: {
176
- id: "poiid",
177
- index: ["title", "street", "zip", "description"], //TODO: move to props so that backend can define
224
+ id: this.searchIndexIdField,
225
+ index: this.searchIndexFields,
178
226
  },
179
227
  });
180
- data.forEach((item) => {
228
+ data.forEach(item => {
181
229
  this.searchIndex.add(item);
182
230
  });
183
231
  }
@@ -192,6 +240,8 @@ export class GeoRefData {
192
240
  addMediaChangeListener(this.mediaChangeHandler);
193
241
  this.resizeObserver = new ResizeObserver(this.handleResize);
194
242
  this.resizeObserver.observe(this.element);
243
+ this.availableTagsWatcher(this.availableTags);
244
+ this.resetTagWatcher(this.resetTag);
195
245
  }
196
246
  disconnectedCallback() {
197
247
  removeMediaChangeListener(this.mediaChangeHandler);
@@ -200,18 +250,20 @@ export class GeoRefData {
200
250
  }
201
251
  }
202
252
  async initializeAndOpenMap() {
253
+ document.body.classList.add(CLASS_BODY_OPEN);
203
254
  this.isLoading = true;
204
255
  this.isOpen = true;
205
256
  try {
206
257
  this.combinedData = this.combineData(await this.loadMapData(), await this.loadPoiData());
207
- this.enhancedTags = this.enhanceTags(this.availableTags, this.combinedData);
258
+ this.enhancedTags = this.enhanceTags(this._availableTags, this.combinedData);
208
259
  this.buildSearchIndex(this.combinedData);
209
- const enhancedResetTag = Object.assign(Object.assign({}, this.resetTag), { counter: this.combinedData.length.toString() });
210
- if (this.resetTag) {
260
+ const enhancedResetTag = Object.assign(Object.assign({}, this._resetTag), { counter: this.combinedData.length.toString() });
261
+ if (this._resetTag) {
211
262
  this.enhancedTags.unshift(enhancedResetTag);
212
263
  }
213
264
  this.finalResults = this.combinedData;
214
- this.finalResultsPaginatedList = this.finalResults.slice(0, 20);
265
+ this.finalResultsPaginatedList = this.finalResults.slice(0, this.numberOfItemsToLoad);
266
+ this.canLoadMore = this.finalResults.length > this.numberOfItemsToLoad;
215
267
  await this.combineFilterAndSearchResults();
216
268
  await this.handleResize();
217
269
  await this.mapElement.updateViewToFitMarkers();
@@ -230,20 +282,24 @@ export class GeoRefData {
230
282
  this.finalResults = this.filterResults;
231
283
  }
232
284
  else if (!this.filterActive && this.searchActive) {
233
- this.finalResults = Array.from(this.searchResults).map((poiid) => this.combinedData.find((item) => item.poiid === poiid));
285
+ this.finalResults = Array.from(this.searchResults).map(id => this.combinedData.find(item => item.poiid === id));
234
286
  }
235
287
  else if (this.filterActive && this.searchActive) {
236
- this.finalResults = this.filterResults.filter((item) => this.searchResults.has(item.poiid));
288
+ this.finalResults = this.filterResults.filter(item => this.searchResults.has(item.poiid));
237
289
  }
238
290
  else {
239
291
  this.finalResults = this.combinedData;
240
292
  }
241
- this.finalResultsPaginatedList = this.finalResults.slice(0, 20);
293
+ this.finalResultsPaginatedList = this.finalResults.slice(0, this.numberOfItemsToLoad);
242
294
  await this.replaceMapMarkers(this.finalResults);
243
295
  }
244
296
  loadMore() {
245
297
  this.finalResultsPaginationOffset++;
246
- this.finalResultsPaginatedList = this.finalResultsPaginatedList.concat(this.finalResults.slice(this.finalResultsPaginationOffset * 20, this.finalResultsPaginationOffset * 20 + 20));
298
+ const sliced = this.finalResults.slice(this.finalResultsPaginationOffset * this.numberOfItemsToLoad, this.finalResultsPaginationOffset * this.numberOfItemsToLoad + this.numberOfItemsToLoad);
299
+ if (!sliced || !sliced.length || sliced.length < this.numberOfItemsToLoad) {
300
+ this.canLoadMore = false;
301
+ }
302
+ this.finalResultsPaginatedList = this.finalResultsPaginatedList.concat(sliced);
247
303
  }
248
304
  // private async handleExtendVisibility() {
249
305
  // if (this.showOnlyResultsForCurrentExtent) {
@@ -254,8 +310,8 @@ export class GeoRefData {
254
310
  async replaceMapMarkers(items) {
255
311
  await this.mapElement.removeAllIconMarkers();
256
312
  items
257
- .filter((item) => !!item.lat && !!item.lon)
258
- .forEach((item) => {
313
+ .filter(item => !!item.lat && !!item.lon)
314
+ .forEach(item => {
259
315
  this.mapElement
260
316
  .addIconMarker([parseFloat(item.lat), parseFloat(item.lon)], {
261
317
  id: item.poiid,
@@ -290,9 +346,9 @@ export class GeoRefData {
290
346
  "stzh-geo-ref-data--is-loading": this.isLoading,
291
347
  "stzh-geo-ref-data--is-open": this.isOpen,
292
348
  };
293
- return (h(Host, null, h("div", { class: "stzh-geo-ref-data__trigger", onClick: () => this.initializeAndOpenMap() }, h("slot", { name: "trigger" })), h("stzh-overlay", { open: this.isLoading }, h("stzh-loader", { label: "Daten werden geladen..." })), h("div", { class: classes }, h("div", { class: "stzh-geo-ref-data__header-wrapper" }, h("stzh-header", { "hide-metabar": true }, h("img", { slot: "logo", src: "media/logo/stzh-default.svg", alt: "Logo City Z\u00FCrich, go to homepage" })), h("div", { class: "stzh-geo-ref-data__heading stzh-geo-ref-data--content-padding" }, h("stzh-heading", { class: "stzh-geo-ref-data__heading-heading", curve: "h2" }, this.heading), h("stzh-button", { class: "stzh-geo-ref-data__overlay-close", icon: "close", iconOnly: true, size: "small", variant: "tertiary", onClick: this.handleOverlayCloseClick }))), h("div", { class: "stzh-geo-ref-data__content" }, h("div", { class: "stzh-geo-ref-data__meta-wrapper stzh-geo-ref-data--content-padding", ref: (el) => (this.metaWrapperElement = el) }, h("div", { class: "stzh-geo-ref-data__filters" }, h("div", { class: "stzh-geo-ref-data__filters-toggle" }, h("stzh-chip", { label: this.isViewportMedium ? "Filter" : "", variant: "filter", icon: "filtering" })), h("div", { class: "stzh-geo-ref-data__filters-content" }, h("stzh-chipselect", { "label-hidden": true, label: "Tags", data: this.enhancedTags, onStzhChange: this.handleFilterChange, multiple: true, defaultValue: [""] }))), h("div", { class: "stzh-geo-ref-data__search" }, h("stzh-input", { size: "small", name: "stzh-datatable-search", onStzhChange: this.handleSearchChange, hideOptional: true, label: "Suche", type: "search" })), h("div", { class: "stzh-geo-ref-data__results-toggle" }, h("stzh-chip", { onStzhClick: this.toggleViewMode, label: this.viewmode === "map" ? "Liste" : "Karte", icon: this.viewmode === "map" ? "bulleted-list" : "map", variant: "filter" }))), h("div", { class: "stzh-geo-ref-data__results-wrapper" }, h("div", { class: `stzh-geo-ref-data__results-map ${this.viewmode === "map" ? "active" : "inactive"}` }, h("stzh-olmap", { class: "stzh-geo-ref-data__ol-map", centerMarker: false, ref: (el) => (this.mapElement = el) }), h("div", { class: "stzh-geo-ref-data__map-controls" }, h("stzh-checkbox", { label: "Treffer an Kartenaussicht anpassen", checked: this.showOnlyResultsForCurrentExtent, hideOptional: true, onStzhChange: this.handleExtentVisibilityChange }))), h("div", { class: `stzh-geo-ref-data__results-list ${this.viewmode === "list" ? "active" : "inactive"}`, ref: (el) => (this.resultsListElement = el) }, this.finalResults && (h(Fragment, null, h("stzh-text", { class: "stzh-geo-ref-data__results-list-heading" }, this.finalResults.length, " Treffer"), h("div", { class: "stzh-geo-ref-data__teaser-list" }, this.finalResultsPaginatedList.map((item) => (h("div", { class: "stzh-poi-teaser", onMouseEnter: () => this.handlePoiTeaserMouseEnter(item), onMouseLeave: () => this.handlePoiTeaserMouseLeave(item) }, h("a", { class: "stzh-poi-teaser-link", href: this.baseUrlOverride + item.path }), h("div", { class: "stzh-poi-teaser-content" }, h("stzh-heading", { curve: "lead" }, item.poiname), item.description && (h("stzh-text", { size: "micro" }, item.description)), item.data &&
349
+ return (h(Host, null, h("div", { class: "stzh-geo-ref-data__trigger", onClick: () => this.initializeAndOpenMap() }, h("slot", { name: "trigger" })), h("stzh-overlay", { open: this.isLoading }, h("stzh-loader", { label: "Daten werden geladen..." })), h("div", { class: classes }, h("div", { class: "stzh-geo-ref-data__header-wrapper" }, h("stzh-header", { "hide-metabar": true, sticky: "disabled" }, h("slot", { name: "logo", slot: "logo" })), h("div", { class: "stzh-geo-ref-data__heading stzh-geo-ref-data--content-padding" }, h("stzh-heading", { class: "stzh-geo-ref-data__heading-heading", curve: "h2" }, this.heading), h("stzh-button", { class: "stzh-geo-ref-data__overlay-close", icon: "close", iconOnly: true, size: "small", variant: "tertiary", onClick: this.handleOverlayCloseClick }))), h("div", { class: "stzh-geo-ref-data__content" }, h("div", { class: "stzh-geo-ref-data__meta-wrapper stzh-geo-ref-data--content-padding", ref: el => (this.metaWrapperElement = el) }, h("div", { class: "stzh-geo-ref-data__filters" }, h("div", { class: "stzh-geo-ref-data__filters-toggle" }, h("stzh-chip", { label: this.isViewportMedium ? "Filter" : "", variant: "filter", icon: "filtering" })), h("div", { class: "stzh-geo-ref-data__filters-content" }, h("stzh-chipselect", { "label-hidden": true, label: "Tags", data: this.enhancedTags, onStzhChange: this.handleFilterChange, multiple: true, defaultValue: [""] }))), h("div", { class: "stzh-geo-ref-data__search" }, h("stzh-input", { size: "small", name: "stzh-datatable-search", onStzhChange: this.handleSearchChange, hideOptional: true, label: "Suche", type: "search" })), h("div", { class: "stzh-geo-ref-data__results-toggle" }, h("stzh-chip", { onStzhClick: this.toggleViewMode, label: this.viewmode === "map" ? "Liste" : "Karte", icon: this.viewmode === "map" ? "bulleted-list" : "map", variant: "filter" }))), h("div", { class: "stzh-geo-ref-data__results-wrapper" }, h("div", { class: `stzh-geo-ref-data__results-map ${this.viewmode === "map" ? "active" : "inactive"}` }, h("stzh-olmap", { class: "stzh-geo-ref-data__ol-map", centerMarker: false, ref: el => (this.mapElement = el) }), h("div", { class: "stzh-geo-ref-data__map-controls" }, h("stzh-checkbox", { label: "Treffer an Kartenaussicht anpassen", checked: this.showOnlyResultsForCurrentExtent, hideOptional: true, onStzhChange: this.handleExtentVisibilityChange }))), h("div", { class: `stzh-geo-ref-data__results-list ${this.viewmode === "list" ? "active" : "inactive"}`, ref: el => (this.resultsListElement = el) }, this.finalResults && (h(Fragment, null, h("stzh-text", { class: "stzh-geo-ref-data__results-list-heading" }, this.finalResults.length, " Treffer"), h("div", { class: "stzh-geo-ref-data__teaser-list" }, this.finalResultsPaginatedList.map(item => (h("div", { class: "stzh-poi-teaser", onMouseEnter: () => this.handlePoiTeaserMouseEnter(item), onMouseLeave: () => this.handlePoiTeaserMouseLeave(item) }, h("a", { class: "stzh-poi-teaser-link", href: this.baseUrlOverride + item.path }), h("div", { class: "stzh-poi-teaser-content" }, h("stzh-heading", { curve: "lead" }, item.poiname), item.description && h("stzh-text", { size: "micro" }, item.description), item.data &&
294
350
  item.data.length > 0 &&
295
- item.data.map((item) => (h("div", { class: "stzh-poi-teaser-list-item" }, h("stzh-icon", { name: item.icon }), h("stzh-text", { size: "micro" }, item.text))))), h("div", { class: "stzh-poi-teaser-image" }, h("stzh-ratio", { ratio: "1:1" }), h("div", { class: "stzh-poi-teaser-image-inner" }, h("img", { src: this.baseUrlOverride + item.image, alt: "Foto von " + item.poiname }))))))), h("div", { class: "stzh-geo-ref-data__teaser-load-more" }, h("stzh-button", { onStzhClick: () => this.loadMore() }, "Weitere laden"))))))))));
351
+ item.data.map(item => (h("div", { class: "stzh-poi-teaser-list-item" }, h("stzh-icon", { name: item.icon }), h("stzh-text", { size: "micro" }, item.text))))), h("div", { class: "stzh-poi-teaser-image" }, h("stzh-ratio", { ratio: "1:1" }), h("div", { class: "stzh-poi-teaser-image-inner" }, h("img", { src: this.baseUrlOverride + item.image, alt: "Foto von " + item.poiname }))))))), this.canLoadMore && (h("div", { class: "stzh-geo-ref-data__teaser-load-more" }, h("stzh-button", { onStzhClick: () => this.loadMore() }, "Weitere laden")))))))))));
296
352
  }
297
353
  static get is() { return "stzh-geo-ref-data"; }
298
354
  static get encapsulation() { return "shadow"; }
@@ -381,11 +437,11 @@ export class GeoRefData {
381
437
  "defaultValue": "\"https://www.stadt-zuerich.ch\""
382
438
  },
383
439
  "availableTags": {
384
- "type": "unknown",
440
+ "type": "string",
385
441
  "mutable": false,
386
442
  "complexType": {
387
- "original": "StzhAvailableTag[]",
388
- "resolved": "StzhAvailableTag[]",
443
+ "original": "StzhAvailableTag[] | string",
444
+ "resolved": "StzhAvailableTag[] | string",
389
445
  "references": {
390
446
  "StzhAvailableTag": {
391
447
  "location": "import",
@@ -400,14 +456,16 @@ export class GeoRefData {
400
456
  "tags": [],
401
457
  "text": "To make sure all tags are mapped to their identificator, only these will be available."
402
458
  },
459
+ "attribute": "available-tags",
460
+ "reflect": false,
403
461
  "defaultValue": "[]"
404
462
  },
405
463
  "resetTag": {
406
- "type": "unknown",
464
+ "type": "string",
407
465
  "mutable": false,
408
466
  "complexType": {
409
- "original": "StzhChipselectItem",
410
- "resolved": "{ label: string; value: string; disabled?: boolean; variant?: StzhChipVariant; type?: StzhChipType; inverted?: boolean; counter?: string; icon?: string; size?: StzhChipSize; }",
467
+ "original": "StzhChipselectItem | string",
468
+ "resolved": "string | { label: string; value: string; disabled?: boolean; variant?: StzhChipVariant; type?: StzhChipType; inverted?: boolean; counter?: string; icon?: string; size?: StzhChipSize; }",
411
469
  "references": {
412
470
  "StzhChipselectItem": {
413
471
  "location": "import",
@@ -420,8 +478,44 @@ export class GeoRefData {
420
478
  "optional": false,
421
479
  "docs": {
422
480
  "tags": [],
423
- "text": ""
424
- }
481
+ "text": "Reset tag (the first one)."
482
+ },
483
+ "attribute": "reset-tag",
484
+ "reflect": false
485
+ },
486
+ "searchIndexFields": {
487
+ "type": "unknown",
488
+ "mutable": false,
489
+ "complexType": {
490
+ "original": "string[]",
491
+ "resolved": "string[]",
492
+ "references": {}
493
+ },
494
+ "required": false,
495
+ "optional": false,
496
+ "docs": {
497
+ "tags": [],
498
+ "text": "Fields for building the search index."
499
+ },
500
+ "defaultValue": "[\"title\", \"poiname\", \"street\", \"zip\", \"description\"]"
501
+ },
502
+ "searchIndexIdField": {
503
+ "type": "string",
504
+ "mutable": false,
505
+ "complexType": {
506
+ "original": "string",
507
+ "resolved": "string",
508
+ "references": {}
509
+ },
510
+ "required": false,
511
+ "optional": false,
512
+ "docs": {
513
+ "tags": [],
514
+ "text": "Fields for building the search index."
515
+ },
516
+ "attribute": "search-index-id-field",
517
+ "reflect": false,
518
+ "defaultValue": "\"poiid\""
425
519
  }
426
520
  };
427
521
  }
@@ -438,7 +532,9 @@ export class GeoRefData {
438
532
  "isViewportMedium": {},
439
533
  "isInitialized": {},
440
534
  "isOpen": {},
441
- "isLoading": {}
535
+ "isLoading": {},
536
+ "numberOfItemsToLoad": {},
537
+ "canLoadMore": {}
442
538
  };
443
539
  }
444
540
  static get events() {
@@ -466,6 +562,15 @@ export class GeoRefData {
466
562
  }];
467
563
  }
468
564
  static get elementRef() { return "element"; }
565
+ static get watchers() {
566
+ return [{
567
+ "propName": "availableTags",
568
+ "methodName": "availableTagsWatcher"
569
+ }, {
570
+ "propName": "resetTag",
571
+ "methodName": "resetTagWatcher"
572
+ }];
573
+ }
469
574
  static get listeners() {
470
575
  return [{
471
576
  "name": "stzhMovePanZoom",
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-geo-ref-data.js","sourceRoot":"","sources":["../../../../src/components/stzh-geo-ref-data/stzh-geo-ref-data.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from \"@stencil/core\";\nimport {\n StzhAvailableTag,\n StzhChipselectChangeEvent,\n StzhChipselectItem,\n StzhCombinedGeoRefData,\n StzhGeoRefDataOverlayCloseClickEvent,\n StzhMapGeoRefData,\n StzhPoiGeoRefData,\n} from \"../../index\";\nimport { Document } from \"flexsearch/dist/flexsearch.bundle.min.js\";\nimport {\n addMediaChangeListener,\n media,\n removeMediaChangeListener,\n} from \"../../utils/media-utils\";\n\n@Component({\n tag: \"stzh-geo-ref-data\",\n styleUrl: \"stzh-geo-ref-data.scss\",\n shadow: true,\n})\nexport class GeoRefData {\n /** Heading for the overlay. */\n @Prop({ reflect: true }) heading: string = \"\";\n\n /** The URL for fetching the card data */\n @Prop({ reflect: true }) mapDataUrl: string = \"\";\n\n /** The URL used for fetching the POI data. */\n @Prop({ reflect: true }) poiDataUrl: string = \"\";\n\n /** Base URL used for all external requests (map, card). */\n @Prop() baseUrlOverride: string = \"https://www.stadt-zuerich.ch\";\n\n /** To make sure all tags are mapped to their identificator, only these will be available. */\n @Prop() availableTags: StzhAvailableTag[] = [];\n\n @Prop() resetTag: StzhChipselectItem;\n\n @State() filterActive: boolean = false;\n @State() searchActive: boolean = false;\n @State() showOnlyResultsForCurrentExtent: boolean = true;\n @State() finalResults: StzhCombinedGeoRefData[] = [];\n @State() finalResultsPaginatedList: StzhCombinedGeoRefData[] = [];\n @State() finalResultsPaginationOffset = 0;\n\n @State() viewmode: \"map\" | \"list\" = \"map\";\n @State() isViewportLarge: boolean;\n @State() isViewportMedium: boolean;\n @State() isInitialized: boolean;\n @State() isOpen: boolean;\n @State() isLoading: boolean;\n\n /** Overlay close click event */\n @Event()\n stzhOverlayCloseClick: EventEmitter<StzhGeoRefDataOverlayCloseClickEvent>;\n\n private combinedData: StzhCombinedGeoRefData[];\n private enhancedTags: StzhChipselectItem[];\n private searchIndex: Document;\n\n private filterResults: StzhCombinedGeoRefData[] = [];\n private searchResults: Set<string>;\n\n @Element() element: HTMLStzhGeoRefDataElement;\n private mapElement: HTMLStzhOlmapElement;\n private metaWrapperElement: HTMLDivElement;\n private resultsListElement: HTMLDivElement;\n private resizeObserver: ResizeObserver;\n\n private handleOverlayCloseClick = () => {\n this.isOpen = false;\n };\n\n private handleResize = async () => {\n if (this.metaWrapperElement && this.metaWrapperElement.clientHeight) {\n this.mapElement.style.height = `calc(100% - ${this.metaWrapperElement.clientHeight}px)`;\n this.resultsListElement.style.height = `calc(100% - ${this.metaWrapperElement.clientHeight}px)`;\n const map = await this.mapElement.getMap();\n map.updateSize();\n }\n };\n\n private mediaChangeHandler = () => {\n this.isViewportLarge = media(\"large\").matches;\n this.isViewportMedium = media(\"medium\").matches;\n };\n\n private async loadMapData(): Promise<StzhMapGeoRefData[]> {\n if (!this.mapDataUrl) {\n console.log(\"No map data URL provided\");\n return [];\n }\n try {\n // TODO: add loader\n const response = await fetch(this.mapDataUrl);\n const rawMapData = await response.text();\n // console.log('Raw Map data:', rawMapData);\n const parsedData = new DOMParser().parseFromString(\n rawMapData,\n \"text/xml\"\n );\n // console.log('Parsed Map data:', parsedData);\n\n const items = Array.from(\n parsedData.querySelectorAll(\"featureMember\")\n ).map((item) => {\n const pos = item.querySelector(\"pos\")?.textContent;\n const poiid = item.querySelector(\"poi_id\")?.textContent;\n const [lat, lon] = pos?.split(\" \") || [];\n\n return { poiid, lat, lon } as StzhMapGeoRefData;\n });\n\n // console.log('Loaded Map Data:', items);\n // this.mapData = items;\n // TODO: handle empty items\n return items;\n } catch (error) {\n console.error(\"Error fetching map data:\", error);\n // TODO: add user error (toast)\n }\n }\n\n private async loadPoiData() {\n if (!this.poiDataUrl) {\n console.error(\"No POI data URL provided\");\n return [];\n }\n try {\n const response = await fetch(this.poiDataUrl, { credentials: \"include\" });\n // console.log('Response:', response);\n\n const poiData = await response.json();\n // console.log('POI data:', poiData);\n // this.poiData = poiData.items;\n // TODO: handle empty items\n return poiData.items;\n } catch (error) {\n console.error(\"Error fetching POI data:\", error);\n // TODO: add user error (toast)\n }\n }\n\n private combineData(\n firstArray: StzhMapGeoRefData[] | StzhPoiGeoRefData[],\n secondArray: StzhMapGeoRefData[] | StzhPoiGeoRefData[]\n ): StzhCombinedGeoRefData[] {\n if (!firstArray.length || !secondArray.length) {\n console.error(\"Missing data to combine\");\n return [];\n }\n // determine which array is smaller for performance\n let smallerArray: any[];\n let largerArray: any[];\n\n if (firstArray.length < secondArray.length) {\n smallerArray = firstArray;\n largerArray = secondArray;\n } else {\n smallerArray = secondArray;\n largerArray = firstArray;\n }\n // combine arrays based on poiid\n const combinedData = smallerArray\n .map((item) => {\n const matchingItem = largerArray.find(\n (largerArrayItem) => largerArrayItem.poiid === item.poiid\n );\n return { ...item, ...matchingItem };\n })\n .sort((a, b) => {\n return a.title.localeCompare(b.title); // Sorts alphabetically by the 'name' property\n });\n console.log(\"Combined Data:\", combinedData);\n return combinedData;\n }\n\n private enhanceTags(\n availableTags: StzhAvailableTag[],\n combinedData: StzhCombinedGeoRefData[]\n ): StzhChipselectItem[] {\n return availableTags\n .sort((a, b) => a.label.localeCompare(b.label))\n .map((tag) => {\n const counter = combinedData\n .filter((item) => item.tags.includes(tag.value))\n .length.toString();\n return { ...tag, counter, variant: \"filter\" };\n });\n }\n\n private buildSearchIndex(data: StzhCombinedGeoRefData[]) {\n if (!data.length) {\n return;\n }\n this.searchIndex = new Document({\n tokenize: \"forward\",\n matcher: {\n \"[äà]\": \"a\",\n \"[öó]\": \"o\",\n \"[üûúù]\": \"u\",\n \"[éè]\": \"e\",\n },\n document: {\n id: \"poiid\", // TODO: move to props so that backend can define\n index: [\"title\", \"street\", \"zip\", \"description\"], //TODO: move to props so that backend can define\n },\n });\n data.forEach((item) => {\n this.searchIndex.add(item);\n });\n }\n\n @Listen(\"stzhMovePanZoom\")\n async mapMovedPannedOrZoomed() {\n if (this.showOnlyResultsForCurrentExtent) {\n const visibleMarkers = await this.mapElement.getVisibleMarkers();\n console.log(\"visibleMarkers\", visibleMarkers);\n }\n }\n\n connectedCallback() {\n this.mediaChangeHandler();\n addMediaChangeListener(this.mediaChangeHandler);\n this.resizeObserver = new ResizeObserver(this.handleResize);\n this.resizeObserver.observe(this.element);\n }\n\n disconnectedCallback() {\n removeMediaChangeListener(this.mediaChangeHandler);\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n private async initializeAndOpenMap() {\n this.isLoading = true;\n this.isOpen = true;\n\n try {\n this.combinedData = this.combineData(\n await this.loadMapData(),\n await this.loadPoiData()\n );\n this.enhancedTags = this.enhanceTags(\n this.availableTags,\n this.combinedData\n );\n this.buildSearchIndex(this.combinedData);\n const enhancedResetTag = {\n ...this.resetTag,\n counter: this.combinedData.length.toString(),\n };\n if (this.resetTag) {\n this.enhancedTags.unshift(enhancedResetTag);\n }\n this.finalResults = this.combinedData;\n this.finalResultsPaginatedList = this.finalResults.slice(0, 20);\n await this.combineFilterAndSearchResults();\n await this.handleResize();\n await this.mapElement.updateViewToFitMarkers();\n await this.handleResize();\n this.isInitialized = true;\n } catch (mapException) {\n console.error(\"mapException\", mapException);\n }\n\n setTimeout(() => {\n this.isLoading = false;\n }, 500);\n }\n\n private handleFilterChange = async (\n e: CustomEvent<StzhChipselectChangeEvent>\n ) => {\n if (e.detail.value.length !== 0) {\n this.filterResults = this.combinedData.filter((item) =>\n item.tags.some((tag) => e.detail.value.includes(tag))\n );\n this.filterActive = true;\n } else {\n this.filterActive = false;\n }\n await this.combineFilterAndSearchResults();\n };\n\n private handleExtentVisibilityChange = (e) => {\n this.showOnlyResultsForCurrentExtent = e.detail.checked;\n };\n\n private handleSearchChange = async (e: CustomEvent) => {\n if (e.detail.value !== \"\") {\n if (!this.searchIndex) {\n return;\n }\n const searchResults = this.searchIndex.search(e.detail.value);\n const flatSearchResults = searchResults.flatMap((field) => field.result);\n this.searchResults = new Set(flatSearchResults);\n this.searchActive = true;\n } else {\n this.searchActive = false;\n }\n await this.combineFilterAndSearchResults();\n };\n\n private async combineFilterAndSearchResults() {\n if (this.filterActive && !this.searchActive) {\n this.finalResults = this.filterResults;\n } else if (!this.filterActive && this.searchActive) {\n this.finalResults = Array.from(this.searchResults).map((poiid) =>\n this.combinedData.find((item) => item.poiid === poiid)\n );\n } else if (this.filterActive && this.searchActive) {\n this.finalResults = this.filterResults.filter((item) =>\n this.searchResults.has(item.poiid)\n );\n } else {\n this.finalResults = this.combinedData;\n }\n\n this.finalResultsPaginatedList = this.finalResults.slice(0, 20);\n\n await this.replaceMapMarkers(this.finalResults);\n }\n\n private loadMore() {\n this.finalResultsPaginationOffset++;\n this.finalResultsPaginatedList = this.finalResultsPaginatedList.concat(\n this.finalResults.slice(\n this.finalResultsPaginationOffset * 20,\n this.finalResultsPaginationOffset * 20 + 20\n )\n );\n }\n\n // private async handleExtendVisibility() {\n // if (this.showOnlyResultsForCurrentExtent) {\n // const visibleMarkers = await this.mapElement.getVisibleMarkers();\n // console.log(\"visibleMarkers\", visibleMarkers);\n // }\n // }\n\n private async replaceMapMarkers(items: StzhCombinedGeoRefData[]) {\n await this.mapElement.removeAllIconMarkers();\n items\n .filter((item) => !!item.lat && !!item.lon)\n .forEach((item) => {\n this.mapElement\n .addIconMarker([parseFloat(item.lat), parseFloat(item.lon)], {\n id: item.poiid,\n title: item.title,\n text: item.description,\n data: item.data,\n imageUri: `${this.baseUrlOverride}${item.image}`,\n href: `${this.baseUrlOverride}${item.path}`,\n })\n .catch();\n });\n if (!this.showOnlyResultsForCurrentExtent) {\n this.mapElement.updateViewToFitMarkers().catch();\n }\n }\n\n private toggleViewMode = () => {\n if (this.viewmode === \"map\") {\n this.viewmode = \"list\";\n } else {\n this.viewmode = \"map\";\n }\n };\n\n private async handlePoiTeaserMouseEnter(item: StzhCombinedGeoRefData) {\n const marker = await this.mapElement.findMarkerById(item.poiid);\n if (marker) {\n await this.mapElement.setIconMarkerActive(marker);\n }\n }\n\n private async handlePoiTeaserMouseLeave(item: StzhCombinedGeoRefData) {\n const marker = await this.mapElement.findMarkerById(item.poiid);\n if (marker) {\n await this.mapElement.setIconMarkerInactive(marker);\n }\n }\n\n // render chipselect\n\n render() {\n const classes = {\n \"stzh-geo-ref-data\": true,\n \"stzh-geo-ref-data--is-loading\": this.isLoading,\n \"stzh-geo-ref-data--is-open\": this.isOpen,\n };\n return (\n <Host>\n <div\n class=\"stzh-geo-ref-data__trigger\"\n onClick={() => this.initializeAndOpenMap()}\n >\n <slot name=\"trigger\"></slot>\n </div>\n <stzh-overlay open={this.isLoading}>\n <stzh-loader label=\"Daten werden geladen...\"></stzh-loader>\n </stzh-overlay>\n <div class={classes}>\n <div class=\"stzh-geo-ref-data__header-wrapper\">\n <stzh-header hide-metabar={true}>\n <img\n slot=\"logo\"\n src=\"media/logo/stzh-default.svg\"\n alt=\"Logo City Zürich, go to homepage\"\n />\n </stzh-header>\n <div class=\"stzh-geo-ref-data__heading stzh-geo-ref-data--content-padding\">\n <stzh-heading\n class=\"stzh-geo-ref-data__heading-heading\"\n curve=\"h2\"\n >\n {this.heading}\n </stzh-heading>\n <stzh-button\n class=\"stzh-geo-ref-data__overlay-close\"\n icon=\"close\"\n iconOnly={true}\n size=\"small\"\n variant=\"tertiary\"\n onClick={this.handleOverlayCloseClick}\n ></stzh-button>\n </div>\n </div>\n\n <div class=\"stzh-geo-ref-data__content\">\n <div\n class=\"stzh-geo-ref-data__meta-wrapper stzh-geo-ref-data--content-padding\"\n ref={(el) => (this.metaWrapperElement = el as HTMLDivElement)}\n >\n <div class=\"stzh-geo-ref-data__filters\">\n <div class=\"stzh-geo-ref-data__filters-toggle\">\n <stzh-chip\n label={this.isViewportMedium ? \"Filter\" : \"\"}\n variant=\"filter\"\n icon=\"filtering\"\n ></stzh-chip>\n </div>\n <div class=\"stzh-geo-ref-data__filters-content\">\n <stzh-chipselect\n label-hidden={true}\n label=\"Tags\"\n data={this.enhancedTags}\n onStzhChange={this.handleFilterChange}\n multiple={true}\n defaultValue={[\"\"]}\n ></stzh-chipselect>\n </div>\n </div>\n <div class=\"stzh-geo-ref-data__search\">\n <stzh-input\n size=\"small\"\n name=\"stzh-datatable-search\"\n onStzhChange={this.handleSearchChange}\n hideOptional={true}\n label=\"Suche\"\n type=\"search\"\n ></stzh-input>\n </div>\n <div class=\"stzh-geo-ref-data__results-toggle\">\n <stzh-chip\n onStzhClick={this.toggleViewMode}\n label={this.viewmode === \"map\" ? \"Liste\" : \"Karte\"}\n icon={this.viewmode === \"map\" ? \"bulleted-list\" : \"map\"}\n variant=\"filter\"\n ></stzh-chip>\n </div>\n </div>\n <div class=\"stzh-geo-ref-data__results-wrapper\">\n <div\n class={`stzh-geo-ref-data__results-map ${\n this.viewmode === \"map\" ? \"active\" : \"inactive\"\n }`}\n >\n <stzh-olmap\n class=\"stzh-geo-ref-data__ol-map\"\n centerMarker={false}\n ref={(el) => (this.mapElement = el as HTMLStzhOlmapElement)}\n ></stzh-olmap>\n <div class=\"stzh-geo-ref-data__map-controls\">\n <stzh-checkbox\n label=\"Treffer an Kartenaussicht anpassen\"\n checked={this.showOnlyResultsForCurrentExtent}\n hideOptional={true}\n onStzhChange={this.handleExtentVisibilityChange}\n ></stzh-checkbox>\n </div>\n </div>\n <div\n class={`stzh-geo-ref-data__results-list ${\n this.viewmode === \"list\" ? \"active\" : \"inactive\"\n }`}\n ref={(el) => (this.resultsListElement = el as HTMLDivElement)}\n >\n {this.finalResults && (\n <Fragment>\n <stzh-text class=\"stzh-geo-ref-data__results-list-heading\">\n {this.finalResults.length} Treffer\n </stzh-text>\n <div class=\"stzh-geo-ref-data__teaser-list\">\n {this.finalResultsPaginatedList.map((item) => (\n <div\n class=\"stzh-poi-teaser\"\n onMouseEnter={() =>\n this.handlePoiTeaserMouseEnter(item)\n }\n onMouseLeave={() =>\n this.handlePoiTeaserMouseLeave(item)\n }\n >\n <a\n class=\"stzh-poi-teaser-link\"\n href={this.baseUrlOverride + item.path}\n ></a>\n <div class=\"stzh-poi-teaser-content\">\n <stzh-heading curve=\"lead\">\n {item.poiname}\n </stzh-heading>\n {item.description && (\n <stzh-text size=\"micro\">\n {item.description}\n </stzh-text>\n )}\n {item.data &&\n item.data.length > 0 &&\n item.data.map((item) => (\n <div class=\"stzh-poi-teaser-list-item\">\n <stzh-icon name={item.icon}></stzh-icon>\n <stzh-text size=\"micro\">\n {item.text}\n </stzh-text>\n </div>\n ))}\n </div>\n <div class=\"stzh-poi-teaser-image\">\n <stzh-ratio ratio={\"1:1\"}></stzh-ratio>\n <div class=\"stzh-poi-teaser-image-inner\">\n <img\n src={this.baseUrlOverride + item.image}\n alt={\"Foto von \" + item.poiname}\n />\n </div>\n </div>\n </div>\n ))}\n </div>\n <div class=\"stzh-geo-ref-data__teaser-load-more\">\n <stzh-button onStzhClick={() => this.loadMore()}>\n Weitere laden\n </stzh-button>\n </div>\n </Fragment>\n )}\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"stzh-geo-ref-data.js","sourceRoot":"","sources":["../../../../src/components/stzh-geo-ref-data/stzh-geo-ref-data.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Fragment, h, Host, Listen, Prop, State, Watch } from \"@stencil/core\";\nimport {\n StzhAvailableTag,\n StzhChipselectChangeEvent,\n StzhChipselectItem,\n StzhCombinedGeoRefData,\n StzhGeoRefDataOverlayCloseClickEvent,\n StzhMapGeoRefData,\n StzhPoiGeoRefData,\n} from \"../../index\";\nimport { Document } from \"flexsearch/dist/flexsearch.bundle.min.js\";\nimport { addMediaChangeListener, media, removeMediaChangeListener } from \"../../utils/media-utils\";\n\nconst CLASS_BODY_OPEN = \"stzh-overlay-open\";\n\n/**\n * @slot logo - Slot for brand logo\n */\n@Component({\n tag: \"stzh-geo-ref-data\",\n styleUrl: \"stzh-geo-ref-data.scss\",\n shadow: true,\n})\nexport class GeoRefData {\n /** Heading for the overlay. */\n @Prop({ reflect: true }) heading: string = \"\";\n\n /** The URL for fetching the card data */\n @Prop({ reflect: true }) mapDataUrl: string = \"\";\n\n /** The URL used for fetching the POI data. */\n @Prop({ reflect: true }) poiDataUrl: string = \"\";\n\n /** Base URL used for all external requests (map, card). */\n @Prop() baseUrlOverride: string = \"https://www.stadt-zuerich.ch\";\n\n /** To make sure all tags are mapped to their identificator, only these will be available. */\n @Prop() availableTags: StzhAvailableTag[] | string = [];\n private _availableTags: StzhAvailableTag[] = [];\n\n /** Reset tag (the first one). */\n @Prop() resetTag: StzhChipselectItem | string;\n private _resetTag: StzhChipselectItem;\n\n /** Fields for building the search index. */\n @Prop() searchIndexFields: string[] = [\"title\", \"poiname\", \"street\", \"zip\", \"description\"];\n\n /** Fields for building the search index. */\n @Prop() searchIndexIdField: string = \"poiid\";\n\n @Watch(\"availableTags\")\n availableTagsWatcher(newValue: StzhAvailableTag[] | string) {\n if (!newValue) {\n this._availableTags = [];\n } else if (typeof newValue === \"string\") {\n try {\n this._availableTags = JSON.parse(newValue);\n } catch (e) {\n this._availableTags = [];\n }\n } else {\n this._availableTags = newValue;\n }\n }\n\n @Watch(\"resetTag\")\n resetTagWatcher(newValue: StzhChipselectItem | string) {\n if (!newValue) {\n this._resetTag = undefined;\n } else if (typeof newValue === \"string\") {\n try {\n this._resetTag = JSON.parse(newValue);\n } catch (e) {\n this._resetTag = undefined;\n }\n } else {\n this._resetTag = newValue;\n }\n }\n\n @State() filterActive: boolean = false;\n @State() searchActive: boolean = false;\n @State() showOnlyResultsForCurrentExtent: boolean = true;\n @State() finalResults: StzhCombinedGeoRefData[] = [];\n @State() finalResultsPaginatedList: StzhCombinedGeoRefData[] = [];\n @State() finalResultsPaginationOffset = 0;\n\n @State() viewmode: \"map\" | \"list\" = \"map\";\n @State() isViewportLarge: boolean;\n @State() isViewportMedium: boolean;\n @State() isInitialized: boolean;\n @State() isOpen: boolean;\n @State() isLoading: boolean;\n @State() numberOfItemsToLoad: number = 20;\n @State() canLoadMore: boolean;\n\n /** Overlay close click event */\n @Event()\n stzhOverlayCloseClick: EventEmitter<StzhGeoRefDataOverlayCloseClickEvent>;\n\n private combinedData: StzhCombinedGeoRefData[];\n private enhancedTags: StzhChipselectItem[];\n private searchIndex: Document;\n\n private filterResults: StzhCombinedGeoRefData[] = [];\n private searchResults: Set<string>;\n\n @Element() element: HTMLStzhGeoRefDataElement;\n private mapElement: HTMLStzhOlmapElement;\n private metaWrapperElement: HTMLDivElement;\n private resultsListElement: HTMLDivElement;\n private resizeObserver: ResizeObserver;\n\n private handleOverlayCloseClick = () => {\n document.body.classList.remove(CLASS_BODY_OPEN);\n this.isOpen = false;\n };\n\n private handleResize = async () => {\n if (this.metaWrapperElement && this.metaWrapperElement.clientHeight) {\n this.mapElement.style.height = `calc(100% - ${this.metaWrapperElement.clientHeight}px)`;\n this.resultsListElement.style.height = `calc(100% - ${this.metaWrapperElement.clientHeight}px)`;\n const map = await this.mapElement.getMap();\n map.updateSize();\n }\n };\n\n private mediaChangeHandler = () => {\n this.isViewportLarge = media(\"large\").matches;\n this.isViewportMedium = media(\"medium\").matches;\n };\n\n private async loadMapData(): Promise<StzhMapGeoRefData[]> {\n if (!this.mapDataUrl) {\n console.log(\"No map data URL provided\");\n return [];\n }\n try {\n const response = await fetch(this.mapDataUrl);\n const rawMapData = await response.text();\n const parsedData = new DOMParser().parseFromString(rawMapData, \"text/xml\");\n return Array.from(parsedData.querySelectorAll(\"featureMember\")).map(item => {\n const pos = item.querySelector(\"pos\")?.textContent;\n const poiid = item.querySelector(\"poi_id\")?.textContent;\n const [lat, lon] = pos?.split(\" \") || [];\n\n return { poiid, lat, lon } as StzhMapGeoRefData;\n });\n } catch (error) {\n console.error(\"Error fetching map data:\", error);\n // TODO: add user error (toast)\n }\n }\n\n private async loadPoiData() {\n if (!this.poiDataUrl) {\n console.error(\"No POI data URL provided\");\n return [];\n }\n try {\n const response = await fetch(this.poiDataUrl, { credentials: \"include\" });\n const poiData = await response.json();\n console.log(\"POI data:\", poiData);\n return poiData.items;\n } catch (error) {\n console.error(\"Error fetching POI data:\", error);\n }\n }\n\n private combineData(\n firstArray: StzhMapGeoRefData[] | StzhPoiGeoRefData[],\n secondArray: StzhMapGeoRefData[] | StzhPoiGeoRefData[]\n ): StzhCombinedGeoRefData[] {\n if (!firstArray.length || !secondArray.length) {\n console.error(\"Missing data to combine\");\n return [];\n }\n // determine which array is smaller for performance\n let smallerArray: any[];\n let largerArray: any[];\n\n if (firstArray.length < secondArray.length) {\n smallerArray = firstArray;\n largerArray = secondArray;\n } else {\n smallerArray = secondArray;\n largerArray = firstArray;\n }\n // combine arrays based on poiid\n return smallerArray\n .map(item => {\n const matchingItem = largerArray.find(largerArrayItem => largerArrayItem.poiid === item.poiid);\n return { ...item, ...matchingItem };\n })\n .sort((a, b) => {\n try {\n return a.title.localeCompare(b.title); // Sorts alphabetically by the 'name' property\n } catch (noTitleException) {\n return 1;\n }\n });\n }\n\n private enhanceTags(availableTags: StzhAvailableTag[], combinedData: StzhCombinedGeoRefData[]): StzhChipselectItem[] {\n return availableTags\n .sort((a, b) => {\n try {\n a.label.localeCompare(b.label);\n } catch (noLabelException) {\n return 1;\n }\n })\n .map(tag => {\n const counter = combinedData\n .filter(item => {\n try {\n return item.tags.includes(tag.value);\n } catch (noTagsException) {\n return false;\n }\n })\n .length.toString();\n return { ...tag, counter, variant: \"filter\" };\n });\n }\n\n private buildSearchIndex(data: StzhCombinedGeoRefData[]) {\n if (!data.length) {\n return;\n }\n this.searchIndex = new Document({\n tokenize: \"forward\",\n matcher: {\n \"[äà]\": \"a\",\n \"[öó]\": \"o\",\n \"[üûúù]\": \"u\",\n \"[éè]\": \"e\",\n },\n document: {\n id: this.searchIndexIdField,\n index: this.searchIndexFields,\n },\n });\n data.forEach(item => {\n this.searchIndex.add(item);\n });\n }\n\n @Listen(\"stzhMovePanZoom\")\n async mapMovedPannedOrZoomed() {\n if (this.showOnlyResultsForCurrentExtent) {\n const visibleMarkers = await this.mapElement.getVisibleMarkers();\n console.log(\"visibleMarkers\", visibleMarkers);\n }\n }\n\n connectedCallback() {\n this.mediaChangeHandler();\n addMediaChangeListener(this.mediaChangeHandler);\n this.resizeObserver = new ResizeObserver(this.handleResize);\n this.resizeObserver.observe(this.element);\n this.availableTagsWatcher(this.availableTags);\n this.resetTagWatcher(this.resetTag);\n }\n\n disconnectedCallback() {\n removeMediaChangeListener(this.mediaChangeHandler);\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n private async initializeAndOpenMap() {\n document.body.classList.add(CLASS_BODY_OPEN);\n this.isLoading = true;\n this.isOpen = true;\n\n try {\n this.combinedData = this.combineData(await this.loadMapData(), await this.loadPoiData());\n this.enhancedTags = this.enhanceTags(this._availableTags, this.combinedData);\n this.buildSearchIndex(this.combinedData);\n const enhancedResetTag = {\n ...this._resetTag,\n counter: this.combinedData.length.toString(),\n };\n if (this._resetTag) {\n this.enhancedTags.unshift(enhancedResetTag);\n }\n this.finalResults = this.combinedData;\n this.finalResultsPaginatedList = this.finalResults.slice(0, this.numberOfItemsToLoad);\n this.canLoadMore = this.finalResults.length > this.numberOfItemsToLoad;\n await this.combineFilterAndSearchResults();\n await this.handleResize();\n await this.mapElement.updateViewToFitMarkers();\n await this.handleResize();\n this.isInitialized = true;\n } catch (mapException) {\n console.error(\"mapException\", mapException);\n }\n\n setTimeout(() => {\n this.isLoading = false;\n }, 500);\n }\n\n private handleFilterChange = async (e: CustomEvent<StzhChipselectChangeEvent>) => {\n if (e.detail.value.length !== 0) {\n this.filterResults = this.combinedData.filter(\n item => item.tags && item.tags.some(tag => e.detail.value.includes(tag))\n );\n this.filterActive = true;\n } else {\n this.filterActive = false;\n }\n await this.combineFilterAndSearchResults();\n };\n\n private handleExtentVisibilityChange = e => {\n this.showOnlyResultsForCurrentExtent = e.detail.checked;\n };\n\n private handleSearchChange = async (e: CustomEvent) => {\n if (e.detail.value !== \"\") {\n if (!this.searchIndex) {\n return;\n }\n const searchResults = this.searchIndex.search(e.detail.value);\n const flatSearchResults = searchResults.flatMap(field => field.result);\n this.searchResults = new Set(flatSearchResults);\n this.searchActive = true;\n } else {\n this.searchActive = false;\n }\n await this.combineFilterAndSearchResults();\n };\n\n private async combineFilterAndSearchResults() {\n if (this.filterActive && !this.searchActive) {\n this.finalResults = this.filterResults;\n } else if (!this.filterActive && this.searchActive) {\n this.finalResults = Array.from(this.searchResults).map(id => this.combinedData.find(item => item.poiid === id));\n } else if (this.filterActive && this.searchActive) {\n this.finalResults = this.filterResults.filter(item => this.searchResults.has(item.poiid));\n } else {\n this.finalResults = this.combinedData;\n }\n\n this.finalResultsPaginatedList = this.finalResults.slice(0, this.numberOfItemsToLoad);\n\n await this.replaceMapMarkers(this.finalResults);\n }\n\n private loadMore() {\n this.finalResultsPaginationOffset++;\n const sliced = this.finalResults.slice(\n this.finalResultsPaginationOffset * this.numberOfItemsToLoad,\n this.finalResultsPaginationOffset * this.numberOfItemsToLoad + this.numberOfItemsToLoad\n );\n if (!sliced || !sliced.length || sliced.length < this.numberOfItemsToLoad) {\n this.canLoadMore = false;\n }\n this.finalResultsPaginatedList = this.finalResultsPaginatedList.concat(sliced);\n }\n\n // private async handleExtendVisibility() {\n // if (this.showOnlyResultsForCurrentExtent) {\n // const visibleMarkers = await this.mapElement.getVisibleMarkers();\n // console.log(\"visibleMarkers\", visibleMarkers);\n // }\n // }\n\n private async replaceMapMarkers(items: StzhCombinedGeoRefData[]) {\n await this.mapElement.removeAllIconMarkers();\n items\n .filter(item => !!item.lat && !!item.lon)\n .forEach(item => {\n this.mapElement\n .addIconMarker([parseFloat(item.lat), parseFloat(item.lon)], {\n id: item.poiid,\n title: item.title,\n text: item.description,\n data: item.data,\n imageUri: `${this.baseUrlOverride}${item.image}`,\n href: `${this.baseUrlOverride}${item.path}`,\n })\n .catch();\n });\n if (!this.showOnlyResultsForCurrentExtent) {\n this.mapElement.updateViewToFitMarkers().catch();\n }\n }\n\n private toggleViewMode = () => {\n if (this.viewmode === \"map\") {\n this.viewmode = \"list\";\n } else {\n this.viewmode = \"map\";\n }\n };\n\n private async handlePoiTeaserMouseEnter(item: StzhCombinedGeoRefData) {\n const marker = await this.mapElement.findMarkerById(item.poiid);\n if (marker) {\n await this.mapElement.setIconMarkerActive(marker);\n }\n }\n\n private async handlePoiTeaserMouseLeave(item: StzhCombinedGeoRefData) {\n const marker = await this.mapElement.findMarkerById(item.poiid);\n if (marker) {\n await this.mapElement.setIconMarkerInactive(marker);\n }\n }\n\n // render chipselect\n\n render() {\n const classes = {\n \"stzh-geo-ref-data\": true,\n \"stzh-geo-ref-data--is-loading\": this.isLoading,\n \"stzh-geo-ref-data--is-open\": this.isOpen,\n };\n return (\n <Host>\n <div class=\"stzh-geo-ref-data__trigger\" onClick={() => this.initializeAndOpenMap()}>\n <slot name=\"trigger\"></slot>\n </div>\n <stzh-overlay open={this.isLoading}>\n <stzh-loader label=\"Daten werden geladen...\"></stzh-loader>\n </stzh-overlay>\n <div class={classes}>\n <div class=\"stzh-geo-ref-data__header-wrapper\">\n <stzh-header hide-metabar={true} sticky=\"disabled\">\n <slot name=\"logo\" slot=\"logo\"></slot>\n </stzh-header>\n <div class=\"stzh-geo-ref-data__heading stzh-geo-ref-data--content-padding\">\n <stzh-heading class=\"stzh-geo-ref-data__heading-heading\" curve=\"h2\">\n {this.heading}\n </stzh-heading>\n <stzh-button\n class=\"stzh-geo-ref-data__overlay-close\"\n icon=\"close\"\n iconOnly={true}\n size=\"small\"\n variant=\"tertiary\"\n onClick={this.handleOverlayCloseClick}\n ></stzh-button>\n </div>\n </div>\n\n <div class=\"stzh-geo-ref-data__content\">\n <div\n class=\"stzh-geo-ref-data__meta-wrapper stzh-geo-ref-data--content-padding\"\n ref={el => (this.metaWrapperElement = el as HTMLDivElement)}\n >\n <div class=\"stzh-geo-ref-data__filters\">\n <div class=\"stzh-geo-ref-data__filters-toggle\">\n <stzh-chip\n label={this.isViewportMedium ? \"Filter\" : \"\"}\n variant=\"filter\"\n icon=\"filtering\"\n ></stzh-chip>\n </div>\n <div class=\"stzh-geo-ref-data__filters-content\">\n <stzh-chipselect\n label-hidden={true}\n label=\"Tags\"\n data={this.enhancedTags}\n onStzhChange={this.handleFilterChange}\n multiple={true}\n defaultValue={[\"\"]}\n ></stzh-chipselect>\n </div>\n </div>\n <div class=\"stzh-geo-ref-data__search\">\n <stzh-input\n size=\"small\"\n name=\"stzh-datatable-search\"\n onStzhChange={this.handleSearchChange}\n hideOptional={true}\n label=\"Suche\"\n type=\"search\"\n ></stzh-input>\n </div>\n <div class=\"stzh-geo-ref-data__results-toggle\">\n <stzh-chip\n onStzhClick={this.toggleViewMode}\n label={this.viewmode === \"map\" ? \"Liste\" : \"Karte\"}\n icon={this.viewmode === \"map\" ? \"bulleted-list\" : \"map\"}\n variant=\"filter\"\n ></stzh-chip>\n </div>\n </div>\n <div class=\"stzh-geo-ref-data__results-wrapper\">\n <div class={`stzh-geo-ref-data__results-map ${this.viewmode === \"map\" ? \"active\" : \"inactive\"}`}>\n <stzh-olmap\n class=\"stzh-geo-ref-data__ol-map\"\n centerMarker={false}\n ref={el => (this.mapElement = el as HTMLStzhOlmapElement)}\n ></stzh-olmap>\n <div class=\"stzh-geo-ref-data__map-controls\">\n <stzh-checkbox\n label=\"Treffer an Kartenaussicht anpassen\"\n checked={this.showOnlyResultsForCurrentExtent}\n hideOptional={true}\n onStzhChange={this.handleExtentVisibilityChange}\n ></stzh-checkbox>\n </div>\n </div>\n <div\n class={`stzh-geo-ref-data__results-list ${this.viewmode === \"list\" ? \"active\" : \"inactive\"}`}\n ref={el => (this.resultsListElement = el as HTMLDivElement)}\n >\n {this.finalResults && (\n <Fragment>\n <stzh-text class=\"stzh-geo-ref-data__results-list-heading\">\n {this.finalResults.length} Treffer\n </stzh-text>\n <div class=\"stzh-geo-ref-data__teaser-list\">\n {this.finalResultsPaginatedList.map(item => (\n <div\n class=\"stzh-poi-teaser\"\n onMouseEnter={() => this.handlePoiTeaserMouseEnter(item)}\n onMouseLeave={() => this.handlePoiTeaserMouseLeave(item)}\n >\n <a class=\"stzh-poi-teaser-link\" href={this.baseUrlOverride + item.path}></a>\n <div class=\"stzh-poi-teaser-content\">\n <stzh-heading curve=\"lead\">{item.poiname}</stzh-heading>\n {item.description && <stzh-text size=\"micro\">{item.description}</stzh-text>}\n {item.data &&\n item.data.length > 0 &&\n item.data.map(item => (\n <div class=\"stzh-poi-teaser-list-item\">\n <stzh-icon name={item.icon}></stzh-icon>\n <stzh-text size=\"micro\">{item.text}</stzh-text>\n </div>\n ))}\n </div>\n <div class=\"stzh-poi-teaser-image\">\n <stzh-ratio ratio={\"1:1\"}></stzh-ratio>\n <div class=\"stzh-poi-teaser-image-inner\">\n <img src={this.baseUrlOverride + item.image} alt={\"Foto von \" + item.poiname} />\n </div>\n </div>\n </div>\n ))}\n </div>\n {this.canLoadMore && (\n <div class=\"stzh-geo-ref-data__teaser-load-more\">\n <stzh-button onStzhClick={() => this.loadMore()}>Weitere laden</stzh-button>\n </div>\n )}\n </Fragment>\n )}\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}