@oiz/stzh-components 3.8.0-beta1 → 3.8.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 (219) hide show
  1. package/dist/cjs/{app-globals-02553278.js → app-globals-a393bc30.js} +2 -2
  2. package/dist/cjs/{app-globals-02553278.js.map → app-globals-a393bc30.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-bathstatus-list.cjs.entry.js +1 -1
  9. package/dist/cjs/stzh-chipselect.cjs.entry.js +1 -1
  10. package/dist/cjs/stzh-chipselect.cjs.entry.js.map +1 -1
  11. package/dist/cjs/stzh-components.cjs.js +2 -2
  12. package/dist/cjs/stzh-contact.cjs.entry.js +2 -8
  13. package/dist/cjs/stzh-contact.cjs.entry.js.map +1 -1
  14. package/dist/cjs/stzh-datalist_2.cjs.entry.js +1 -1
  15. package/dist/cjs/stzh-datalist_2.cjs.entry.js.map +1 -1
  16. package/dist/cjs/stzh-dropdown.cjs.entry.js +1 -1
  17. package/dist/cjs/stzh-dropdown.cjs.entry.js.map +1 -1
  18. package/dist/cjs/stzh-eventdata.cjs.entry.js +1 -1
  19. package/dist/cjs/stzh-eventdata.cjs.entry.js.map +1 -1
  20. package/dist/cjs/stzh-geo-ref-data.cjs.entry.js +2 -2
  21. package/dist/cjs/stzh-geo-ref-data.cjs.entry.js.map +1 -1
  22. package/dist/cjs/stzh-microsite-teaserlist.cjs.entry.js +3 -2
  23. package/dist/cjs/stzh-microsite-teaserlist.cjs.entry.js.map +1 -1
  24. package/dist/cjs/stzh-poilist.cjs.entry.js +1 -1
  25. package/dist/cjs/stzh-progressbar.cjs.entry.js +23 -0
  26. package/dist/cjs/stzh-progressbar.cjs.entry.js.map +1 -1
  27. package/dist/cjs/stzh-search.cjs.entry.js +2 -2
  28. package/dist/cjs/stzh-search.cjs.entry.js.map +1 -1
  29. package/dist/cjs/stzh-upload.cjs.entry.js +20 -9
  30. package/dist/cjs/stzh-upload.cjs.entry.js.map +1 -1
  31. package/dist/cjs/stzh-vbz-majorticker.cjs.entry.js +1 -1
  32. package/dist/cjs/stzh-vbz-ticker.cjs.entry.js +1 -1
  33. package/dist/collection/assets/i18n/de.json +9 -5
  34. package/dist/collection/assets/i18n/en.json +9 -5
  35. package/dist/collection/components/stzh-accordion/stzh-accordion.e2e.js +1 -0
  36. package/dist/collection/components/stzh-accordion/stzh-accordion.e2e.js.map +1 -1
  37. package/dist/collection/components/stzh-accordion/stzh-accordion.stories.js +86 -0
  38. package/dist/collection/components/stzh-accordion-item/stzh-accordion-item.js +2 -7
  39. package/dist/collection/components/stzh-accordion-item/stzh-accordion-item.js.map +1 -1
  40. package/dist/collection/components/stzh-button/stzh-button.e2e.js +6 -3
  41. package/dist/collection/components/stzh-button/stzh-button.e2e.js.map +1 -1
  42. package/dist/collection/components/stzh-button/stzh-button.stories.js +200 -15
  43. package/dist/collection/components/stzh-chip/stzh-chip.stories.js +11 -0
  44. package/dist/collection/components/stzh-chipselect/stzh-chipselect.css +1 -6
  45. package/dist/collection/components/stzh-contact/stzh-contact.css +8 -0
  46. package/dist/collection/components/stzh-contact/stzh-contact.js +1 -7
  47. package/dist/collection/components/stzh-contact/stzh-contact.js.map +1 -1
  48. package/dist/collection/components/stzh-datalist/stzh-datalist.e2e.js +1 -0
  49. package/dist/collection/components/stzh-datalist/stzh-datalist.e2e.js.map +1 -1
  50. package/dist/collection/components/stzh-datalist/stzh-datalist.stories.js +32 -0
  51. package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.css +2 -1
  52. package/dist/collection/components/stzh-dropdown/stzh-dropdown.css +8 -1
  53. package/dist/collection/components/stzh-dropdown/stzh-dropdown.stories.js +107 -5
  54. package/dist/collection/components/stzh-eventdata/stzh-eventdata.css +0 -5
  55. package/dist/collection/components/stzh-geo-ref-data/stzh-geo-ref-data.js +2 -2
  56. package/dist/collection/components/stzh-geo-ref-data/stzh-geo-ref-data.js.map +1 -1
  57. package/dist/collection/components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.js +3 -2
  58. package/dist/collection/components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.js.map +1 -1
  59. package/dist/collection/components/stzh-progressbar/stzh-progressbar.js +27 -2
  60. package/dist/collection/components/stzh-progressbar/stzh-progressbar.js.map +1 -1
  61. package/dist/collection/components/stzh-search/stzh-search.js +1 -1
  62. package/dist/collection/components/stzh-search/stzh-search.js.map +1 -1
  63. package/dist/collection/components/stzh-search/stzh-search.stories.js +51 -83
  64. package/dist/collection/components/stzh-skiplink/stzh-skiplink.stories.js +0 -1
  65. package/dist/collection/components/stzh-upload/models/stzh-photographing-url-details.dto.js.map +1 -1
  66. package/dist/collection/components/stzh-upload/stzh-upload.css +5 -0
  67. package/dist/collection/components/stzh-upload/stzh-upload.js +23 -9
  68. package/dist/collection/components/stzh-upload/stzh-upload.js.map +1 -1
  69. package/dist/collection/components/stzh-upload/stzh-upload.localization.js.map +1 -1
  70. package/dist/collection/components/stzh-upload/stzh-upload.stories.js +3 -1
  71. package/dist/components/index.js +1 -1
  72. package/dist/components/{p-16892790.js → p-345a1e99.js} +51 -96
  73. package/dist/components/p-345a1e99.js.map +1 -0
  74. package/dist/components/{p-82c163e4.js → p-47601c6a.js} +2 -2
  75. package/dist/components/{p-82c163e4.js.map → p-47601c6a.js.map} +1 -1
  76. package/dist/components/{p-ed75de26.js → p-4fec83e3.js} +2 -2
  77. package/dist/components/{p-ed75de26.js.map → p-4fec83e3.js.map} +1 -1
  78. package/dist/components/{p-3890d846.js → p-5efa3e34.js} +2 -2
  79. package/dist/components/p-5efa3e34.js.map +1 -0
  80. package/dist/components/{p-2a870524.js → p-6c754f8f.js} +3 -8
  81. package/dist/components/p-6c754f8f.js.map +1 -0
  82. package/dist/components/{p-3aefa2e3.js → p-6e8c91f8.js} +3 -3
  83. package/dist/components/{p-3aefa2e3.js.map → p-6e8c91f8.js.map} +1 -1
  84. package/dist/components/{p-c9ddf923.js → p-8ed7a61b.js} +2 -2
  85. package/dist/components/{p-c9ddf923.js.map → p-8ed7a61b.js.map} +1 -1
  86. package/dist/components/{p-e0e4416e.js → p-ebbe78de.js} +2 -2
  87. package/dist/components/p-ebbe78de.js.map +1 -0
  88. package/dist/components/stzh-accordion-item.js +1 -1
  89. package/dist/components/stzh-amount.js +1 -1
  90. package/dist/components/stzh-appointments.js +3 -3
  91. package/dist/components/stzh-bathstatus-list.js +1 -1
  92. package/dist/components/stzh-calendar.js +1 -1
  93. package/dist/components/stzh-card-searchresult.js +2 -2
  94. package/dist/components/stzh-card-superteaser.js +2 -2
  95. package/dist/components/stzh-chipselect.js +1 -1
  96. package/dist/components/stzh-contact.js +2 -8
  97. package/dist/components/stzh-contact.js.map +1 -1
  98. package/dist/components/stzh-datalist-item.js +1 -1
  99. package/dist/components/stzh-datalist.js +1 -1
  100. package/dist/components/stzh-datatable.js +4 -4
  101. package/dist/components/stzh-datepicker.js +1 -1
  102. package/dist/components/stzh-dropdown.js +1 -1
  103. package/dist/components/stzh-eventdata.js +1 -1
  104. package/dist/components/stzh-eventdata.js.map +1 -1
  105. package/dist/components/stzh-geo-ref-data.js +3 -3
  106. package/dist/components/stzh-geo-ref-data.js.map +1 -1
  107. package/dist/components/stzh-microsite-teaserlist.js +4 -3
  108. package/dist/components/stzh-microsite-teaserlist.js.map +1 -1
  109. package/dist/components/stzh-monthyearpicker.js +1 -1
  110. package/dist/components/stzh-panorama.js +1 -1
  111. package/dist/components/stzh-poilist.js +2 -2
  112. package/dist/components/stzh-progressbar.js +26 -2
  113. package/dist/components/stzh-progressbar.js.map +1 -1
  114. package/dist/components/stzh-search.js +4 -4
  115. package/dist/components/stzh-search.js.map +1 -1
  116. package/dist/components/stzh-sitemap.js +2 -2
  117. package/dist/components/stzh-timepicker.js +1 -1
  118. package/dist/components/stzh-upload.js +23 -9
  119. package/dist/components/stzh-upload.js.map +1 -1
  120. package/dist/components/stzh-vbz-majorticker.js +1 -1
  121. package/dist/components/stzh-vbz-ticker.js +1 -1
  122. package/dist/esm/{app-globals-30dc1fec.js → app-globals-6ab4a484.js} +2 -2
  123. package/dist/esm/{app-globals-30dc1fec.js.map → app-globals-6ab4a484.js.map} +1 -1
  124. package/dist/esm/{axios-e0a35239.js → axios-0cc95004.js} +51 -96
  125. package/dist/esm/axios-0cc95004.js.map +1 -0
  126. package/dist/esm/loader.js +2 -2
  127. package/dist/esm/stzh-accordion_3.entry.js +2 -7
  128. package/dist/esm/stzh-accordion_3.entry.js.map +1 -1
  129. package/dist/esm/stzh-bathstatus-list.entry.js +1 -1
  130. package/dist/esm/stzh-chipselect.entry.js +1 -1
  131. package/dist/esm/stzh-chipselect.entry.js.map +1 -1
  132. package/dist/esm/stzh-components.js +2 -2
  133. package/dist/esm/stzh-contact.entry.js +2 -8
  134. package/dist/esm/stzh-contact.entry.js.map +1 -1
  135. package/dist/esm/stzh-datalist_2.entry.js +1 -1
  136. package/dist/esm/stzh-datalist_2.entry.js.map +1 -1
  137. package/dist/esm/stzh-dropdown.entry.js +1 -1
  138. package/dist/esm/stzh-dropdown.entry.js.map +1 -1
  139. package/dist/esm/stzh-eventdata.entry.js +1 -1
  140. package/dist/esm/stzh-eventdata.entry.js.map +1 -1
  141. package/dist/esm/stzh-geo-ref-data.entry.js +2 -2
  142. package/dist/esm/stzh-geo-ref-data.entry.js.map +1 -1
  143. package/dist/esm/stzh-microsite-teaserlist.entry.js +3 -2
  144. package/dist/esm/stzh-microsite-teaserlist.entry.js.map +1 -1
  145. package/dist/esm/stzh-poilist.entry.js +1 -1
  146. package/dist/esm/stzh-progressbar.entry.js +24 -1
  147. package/dist/esm/stzh-progressbar.entry.js.map +1 -1
  148. package/dist/esm/stzh-search.entry.js +2 -2
  149. package/dist/esm/stzh-search.entry.js.map +1 -1
  150. package/dist/esm/stzh-upload.entry.js +20 -9
  151. package/dist/esm/stzh-upload.entry.js.map +1 -1
  152. package/dist/esm/stzh-vbz-majorticker.entry.js +1 -1
  153. package/dist/esm/stzh-vbz-ticker.entry.js +1 -1
  154. package/dist/stzh-components/assets/i18n/de.json +9 -5
  155. package/dist/stzh-components/assets/i18n/en.json +9 -5
  156. package/dist/stzh-components/p-129faf7d.entry.js +2 -0
  157. package/dist/stzh-components/p-129faf7d.entry.js.map +1 -0
  158. package/dist/stzh-components/{p-68dee00d.entry.js → p-23678dfc.entry.js} +2 -2
  159. package/dist/stzh-components/{p-68dee00d.entry.js.map → p-23678dfc.entry.js.map} +1 -1
  160. package/dist/stzh-components/p-345a1e99.js +2 -0
  161. package/dist/stzh-components/p-345a1e99.js.map +1 -0
  162. package/dist/stzh-components/{p-e5a451a0.entry.js → p-646958e0.entry.js} +2 -2
  163. package/dist/stzh-components/{p-ef38e1fe.entry.js → p-6f9626d1.entry.js} +2 -2
  164. package/dist/stzh-components/p-6f9626d1.entry.js.map +1 -0
  165. package/dist/stzh-components/{p-64ba89a2.js → p-7036f004.js} +2 -2
  166. package/dist/stzh-components/{p-8aab9098.entry.js → p-7c5e34db.entry.js} +2 -2
  167. package/dist/stzh-components/{p-b2986e24.entry.js → p-809076ff.entry.js} +2 -2
  168. package/dist/stzh-components/{p-5bafa548.entry.js → p-84f8307b.entry.js} +2 -2
  169. package/dist/stzh-components/p-84f8307b.entry.js.map +1 -0
  170. package/dist/stzh-components/{p-7b2bd184.entry.js → p-8856651e.entry.js} +2 -2
  171. package/dist/stzh-components/{p-7b2bd184.entry.js.map → p-8856651e.entry.js.map} +1 -1
  172. package/dist/stzh-components/p-8c5fb0e2.entry.js +2 -0
  173. package/dist/stzh-components/{p-f156650a.entry.js.map → p-8c5fb0e2.entry.js.map} +1 -1
  174. package/dist/stzh-components/{p-025a5c2e.entry.js → p-a47a14ef.entry.js} +2 -2
  175. package/dist/stzh-components/p-a47a14ef.entry.js.map +1 -0
  176. package/dist/stzh-components/p-a71fafbd.entry.js +2 -0
  177. package/dist/stzh-components/p-a71fafbd.entry.js.map +1 -0
  178. package/dist/stzh-components/{p-b25e8b20.entry.js → p-c83239a9.entry.js} +2 -2
  179. package/dist/stzh-components/p-c83239a9.entry.js.map +1 -0
  180. package/dist/stzh-components/{p-6f0cf6e3.entry.js → p-d97fbf1f.entry.js} +2 -2
  181. package/dist/stzh-components/p-fa4595c8.entry.js +2 -0
  182. package/dist/stzh-components/p-fa4595c8.entry.js.map +1 -0
  183. package/dist/stzh-components/p-fcc75797.entry.js +2 -0
  184. package/dist/stzh-components/p-fcc75797.entry.js.map +1 -0
  185. package/dist/stzh-components/stzh-components.esm.js +1 -1
  186. package/dist/stzh-components/stzh-components.esm.js.map +1 -1
  187. package/dist/types/components/stzh-accordion-item/stzh-accordion-item.d.ts +0 -1
  188. package/dist/types/components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.d.ts +2 -2
  189. package/dist/types/components/stzh-progressbar/stzh-progressbar.d.ts +4 -0
  190. package/dist/types/components/stzh-upload/models/stzh-photographing-url-details.dto.d.ts +1 -0
  191. package/dist/types/components/stzh-upload/stzh-upload.d.ts +3 -0
  192. package/dist/types/components/stzh-upload/stzh-upload.localization.d.ts +2 -0
  193. package/package.json +9 -5
  194. package/dist/cjs/axios-69bcb71f.js.map +0 -1
  195. package/dist/components/p-16892790.js.map +0 -1
  196. package/dist/components/p-2a870524.js.map +0 -1
  197. package/dist/components/p-3890d846.js.map +0 -1
  198. package/dist/components/p-e0e4416e.js.map +0 -1
  199. package/dist/esm/axios-e0a35239.js.map +0 -1
  200. package/dist/stzh-components/p-025a5c2e.entry.js.map +0 -1
  201. package/dist/stzh-components/p-11abc40a.entry.js +0 -2
  202. package/dist/stzh-components/p-11abc40a.entry.js.map +0 -1
  203. package/dist/stzh-components/p-16892790.js +0 -2
  204. package/dist/stzh-components/p-16892790.js.map +0 -1
  205. package/dist/stzh-components/p-5ac0220a.entry.js +0 -2
  206. package/dist/stzh-components/p-5ac0220a.entry.js.map +0 -1
  207. package/dist/stzh-components/p-5bafa548.entry.js.map +0 -1
  208. package/dist/stzh-components/p-95427be2.entry.js +0 -2
  209. package/dist/stzh-components/p-95427be2.entry.js.map +0 -1
  210. package/dist/stzh-components/p-973c5df2.entry.js +0 -2
  211. package/dist/stzh-components/p-973c5df2.entry.js.map +0 -1
  212. package/dist/stzh-components/p-b25e8b20.entry.js.map +0 -1
  213. package/dist/stzh-components/p-ef38e1fe.entry.js.map +0 -1
  214. package/dist/stzh-components/p-f156650a.entry.js +0 -2
  215. /package/dist/stzh-components/{p-e5a451a0.entry.js.map → p-646958e0.entry.js.map} +0 -0
  216. /package/dist/stzh-components/{p-64ba89a2.js.map → p-7036f004.js.map} +0 -0
  217. /package/dist/stzh-components/{p-8aab9098.entry.js.map → p-7c5e34db.entry.js.map} +0 -0
  218. /package/dist/stzh-components/{p-b2986e24.entry.js.map → p-809076ff.entry.js.map} +0 -0
  219. /package/dist/stzh-components/{p-6f0cf6e3.entry.js.map → p-d97fbf1f.entry.js.map} +0 -0
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-92254d32.js');
6
6
 
7
- 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)}";
7
+ 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)}";
8
8
 
9
9
  const StzhEventdata = class {
10
10
  constructor(hostRef) {
@@ -1 +1 @@
1
- {"file":"stzh-eventdata.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,gBAAgB,GAAG,iiFAAiiF;;MCiB7iF,aAAa;;;iBAEA,EAAE;;EAI1B,MAAM;IACJ,MAAM,OAAO,GAAG;MACd,gBAAgB,EAAE,IAAI;KACvB,CAAC;IAEF,QACEA,QAACC,UAAI,QACHD,iBAAK,KAAK,EAAE,OAAO,IACjBA,iBAAK,KAAK,EAAC,uBAAuB,IAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAGA,kBAAM,IAAI,EAAC,OAAO,GAAQ,CACjD,EACNA,iBAAK,KAAK,EAAC,yBAAyB,IAClCA,qBAAa,CACT,CACF,CACD,EACP;GACH;;;;;;;","names":["h","Host"],"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.cjs.js","mappings":";;;;;;AAAA,MAAM,gBAAgB,GAAG,s8EAAs8E;;MCiBl9E,aAAa;;;iBAEA,EAAE;;EAI1B,MAAM;IACJ,MAAM,OAAO,GAAG;MACd,gBAAgB,EAAE,IAAI;KACvB,CAAC;IAEF,QACEA,QAACC,UAAI,QACHD,iBAAK,KAAK,EAAE,OAAO,IACjBA,iBAAK,KAAK,EAAC,uBAAuB,IAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAGA,kBAAM,IAAI,EAAC,OAAO,GAAQ,CACjD,EACNA,iBAAK,KAAK,EAAC,yBAAyB,IAClCA,qBAAa,CACT,CACF,CACD,EACP;GACH;;;;;;;","names":["h","Host"],"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}
@@ -282,7 +282,7 @@ const GeoRefData = class {
282
282
  }
283
283
  })
284
284
  .length.toString();
285
- return Object.assign(Object.assign({}, tag), { counter, variant: "filter" });
285
+ return Object.assign(Object.assign({}, tag), { counter, variant: "filter", size: "large" });
286
286
  });
287
287
  }
288
288
  buildSearchIndex(data) {
@@ -410,7 +410,7 @@ const GeoRefData = class {
410
410
  }
411
411
  setEnhancedTags() {
412
412
  this.enhancedTags = this.enhanceTags(this._availableTags, this.finalResults);
413
- const enhancedResetTag = Object.assign(Object.assign({}, this._resetTag), { counter: this.finalResults.length.toString() });
413
+ const enhancedResetTag = Object.assign(Object.assign({}, this._resetTag), { counter: this.finalResults.length.toString(), size: "large" });
414
414
  if (this._resetTag) {
415
415
  this.enhancedTags.unshift(enhancedResetTag);
416
416
  }
@@ -1 +1 @@
1
- {"file":"stzh-geo-ref-data.entry.cjs.js","mappings":"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","names":["media","Document","addMediaChangeListener","removeMediaChangeListener","h","Host","Fragment"],"sources":["src/components/stzh-geo-ref-data/stzh-geo-ref-data.scss?tag=stzh-geo-ref-data&encapsulation=shadow","src/components/stzh-geo-ref-data/stzh-geo-ref-data.tsx"],"sourcesContent":[":host {\n --teaser-list-width: 480px;\n --meta-grid-template-areas: \"filters search\";\n --results-grid-template-areas: \"map list\";\n}\n\n.stzh-geo-ref-data {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 899;\n flex-direction: column;\n transition: opacity ease 0.2s;\n background-color: var(--stzh-color-white);\n\n // initially hidden\n display: none;\n opacity: 0;\n visibility: hidden;\n pointer-events: none;\n\n &--is-open {\n display: flex;\n opacity: 1;\n visibility: visible;\n pointer-events: inherit;\n }\n\n &__header {\n display: none;\n\n @include mq($from: large) {\n display: inherit;\n }\n }\n\n &__content {\n overflow: hidden;\n height: 100%;\n }\n\n &--content-padding {\n padding-left: $containerMargin;\n padding-right: var(--stzh-space-medium);\n\n @include mq($from: small) {\n padding-left: $containerMarginSmall;\n }\n\n @include mq($from: medium) {\n padding-left: $containerMarginMedium;\n }\n\n @include mq($from: large) {\n padding-left: $containerMarginSmall;\n }\n }\n\n &__heading {\n display: flex;\n align-items: center;\n background-color: var(--stzh-color-secondary20);\n @include spaceCurve('padding-top', 'regular');\n @include spaceCurve('padding-bottom', 'regular');\n }\n\n /** Everything meta wrapper like search, filters etc. */\n\n &__meta-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n gap: space(large);\n\n @include mq($to: large) {\n padding-top: space('medium');\n padding-bottom: space('medium');\n }\n\n @include spaceCurve('padding-top', 'small');\n @include spaceCurve('padding-bottom', 'small');\n\n @include mq($from: large) {\n display: grid;\n @include gridGutter;\n grid-template-areas: var(--meta-grid-template-areas);\n grid-template-columns: 1fr var(--teaser-list-width);\n }\n }\n\n &__filters {\n grid-area: filters;\n flex: none;\n margin-bottom: space(xxsmall);\n }\n\n &__filters-toggle {\n @include mq($from: large) {\n display: none;\n }\n }\n\n &__filters-toggle stzh-chip {\n @include mq($to: medium) {\n --icon-gap: 0;\n }\n }\n\n &__list-search {\n display: none;\n @include spaceCurve('padding-top', 'regular');\n @include spaceCurve('padding-bottom', 'regular');\n }\n\n &__filters-content {\n display: none;\n\n &--visible {\n padding: $containerMargin;\n\n @include mq($to: medium) {\n //padding: $containerMarginSmall;\n }\n\n @include mq($to: large) {\n display: flex;\n gap: space('xxlarge');\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--stzh-color-white);\n //padding: $containerMarginMedium;\n z-index: 10;\n flex-direction: column;\n justify-content: space-between;\n }\n }\n\n @include mq($from: large) {\n display: block;\n }\n }\n\n &__filters-apply-button {\n display: block;\n\n @include mq($from: large) {\n display: none;\n }\n }\n\n &__search {\n grid-area: search;\n width: 100%;\n\n @include mq($from: large) {\n width: var(--teaser-list-width);\n padding-left: var(--stzh-space-medium);\n padding-right: var(--stzh-space-xsmall);\n }\n }\n\n &__search input {\n @include fontSize('milli');\n }\n\n &__results-toggle {\n grid-area: resultstoggle;\n flex: none;\n margin-bottom: space(xxsmall);\n\n @include mq($from: large) {\n display: none;\n }\n }\n\n /** Everything with results */\n\n &__results-wrapper {\n height: 100%;\n\n @include mq($from: large) {\n display: grid;\n @include gridGutter;\n grid-template-areas: var(--results-grid-template-areas);\n grid-template-columns: minmax(0, 1fr) var(--teaser-list-width);\n }\n }\n\n &__results-wrapper .inactive {\n @include mq($to: large) {\n visibility: hidden;\n height: 0;\n position: absolute;\n overflow: hidden;\n }\n }\n\n &__results-map {\n grid-area: map;\n position: relative;\n height: 100%;\n }\n\n &__map-controls {\n position: absolute;\n top: space(small);\n left: space(small);\n background-color: var(--stzh-color-white);\n padding: space(xsmall);\n }\n\n &__results-list {\n grid-area: list;\n padding-left: $containerMargin;\n padding-right: var(--stzh-space-medium);\n padding-bottom: space(\"xxlarge\");\n overflow: auto;\n @include scrollbars;\n\n @include mq($from: small) {\n padding-left: $containerMarginSmall;\n }\n\n @include mq($from: medium) {\n padding-left: $containerMarginMedium;\n }\n\n @include mq($from: large) {\n width: var(--teaser-list-width);\n padding-left: 0;\n overflow: auto;\n }\n }\n\n &__results-list-heading {\n margin-bottom: var(--stzh-space-medium);\n }\n\n &__ol-map {\n }\n\n &__teaser-list {\n display: grid;\n gap: var(--stzh-space-medium);\n grid-template-columns: 1fr;\n\n @include mq($from: small) {\n grid-template-columns: 1fr 1fr;\n }\n\n @include mq($from: large) {\n grid-template-columns: 1fr;\n }\n }\n\n &__teaser-load-more {\n display: flex;\n justify-content: center;\n margin-top: space(medium);\n }\n\n /** no filters */\n\n &:not(&--has-filters) &__meta-wrapper {\n @include mq($from: large) {\n display: none;\n }\n }\n\n &:not(&--has-filters) &__filters {\n display: none;\n }\n\n &:not(&--has-filters) &__list-search {\n @include mq($from: large) {\n display: block;\n }\n }\n}\n\n.stzh-poi-teaser {\n display: flex;\n flex-direction: column-reverse;\n background-color: var(--stzh-color-grey10);\n position: relative;\n\n @include mq($from: large) {\n flex-direction: row;\n height: 180px;\n }\n\n &:hover {\n cursor: pointer;\n background-color: var(--stzh-color-secondary10);\n }\n\n &-content {\n padding: var(--stzh-space-medium);\n hyphens: auto;\n flex-grow: 1;\n\n stzh-heading {\n margin-bottom: space(xsmall);\n hyphens: auto;\n }\n\n stzh-text {\n --color: var(--stzh-color-grey80);\n }\n }\n\n &-link {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n\n &__image-wrapper {\n position: relative;\n }\n\n &__ratio {\n display: flex;\n height: 100%;\n }\n\n &__image-inner-wrapper {\n background-color: var(--stzh-color-grey20);\n position: absolute;\n inset: 0;\n height: 100%;\n }\n\n &__image-inner-wrapper img {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n &-list-item {\n display: flex;\n gap: space(small);\n margin-top: space(xxsmall);\n\n stzh-icon, stzh-text {\n --color: var(--stzh-color-grey80);\n }\n }\n}\n","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 /** ID for this instance, can be used to open via URL query param \"al=<id>\" - name \"al\" for historical reasons */\n @Prop({ reflect: true }) al: string = \"\";\n\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()\n searchIndexFields: string[] = [\n \"title\",\n \"poiname\",\n \"street\",\n \"zip\",\n \"description\"\n ];\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 @State() appliedFilters: string[] = [\"\"];\n @State() isFiltersContentOpen: boolean = false;\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 toastbarElement: HTMLStzhToastbarElement;\n private metaWrapperElement: HTMLDivElement;\n private resultsListElement: HTMLDivElement;\n private resizeObserver: ResizeObserver;\n\n private applyFiltersFromUrl() {\n const urlParams = new URLSearchParams(window.location.search);\n\n // Find all filter parameters from the URL\n const filters = Array.from(urlParams.entries())\n .filter(([key, value]) => key.startsWith(\"filters[\") && value === \"true\")\n .map(([key]) => key.slice(8, -1)); // Extract the filter key (removing 'filters[' and ']')\n\n // Apply filters if they exist\n if (filters.length) {\n this.appliedFilters = filters;\n // Update the UI to show selected filters\n this.updateUrlWithFilters(); // Keep the URL sync logic here\n this.handleFilterChange({\n detail: { value: filters }\n } as CustomEvent<StzhChipselectChangeEvent>);\n }\n }\n\n private handleFilterToggleClick = () => {\n this.isFiltersContentOpen = true;\n };\n\n private handleApplyFilterClick = () => {\n this.isFiltersContentOpen = false;\n };\n\n private handleOverlayCloseClick = () => {\n // Remove the class from the body\n document.body.classList.remove(CLASS_BODY_OPEN);\n this.isOpen = false;\n\n // Get the current URL's query parameters\n const urlParams = new URLSearchParams(window.location.search);\n\n // Remove all filters (query parameters that start with \"filters[\")\n Array.from(urlParams.keys()).forEach(key => {\n if (key.startsWith(\"filters[\")) {\n urlParams.delete(key);\n }\n });\n\n // Remove all extent parameters (keys like \"extent[0]\", \"extent[1]\", etc.)\n urlParams.delete(\"extent[0]\");\n urlParams.delete(\"extent[1]\");\n urlParams.delete(\"extent[2]\");\n urlParams.delete(\"extent[3]\");\n\n // Remove the al parameter\n urlParams.delete(\"al\");\n\n // Update the URL without reloading the page\n const newUrl = `${window.location.pathname}?${urlParams.toString()}`;\n history.replaceState(null, \"\", newUrl);\n\n // Clear filters.\n this.appliedFilters = [\"\"];\n };\n\n private handleResize = async () => {\n if (this.metaWrapperElement) {\n if (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 } else {\n this.mapElement.style.height = `100%`;\n this.resultsListElement.style.height = `100%`;\n }\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 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 this.toastbarElement\n .toast(\"Es ist ein Fehler beim Beziehen der Kartendaten aufgetreten.\", {\n type: \"error\"\n })\n .catch();\n }\n }\n\n private async loadPoiData() {\n if (!this.poiDataUrl) {\n return [];\n }\n try {\n const response = await fetch(this.poiDataUrl, { credentials: \"include\" });\n const poiData = await response.json();\n return poiData.items;\n } catch (error) {\n this.toastbarElement\n .toast(\"Beim Laden der POI-Daten ist ein Fehler aufgetreten.\", {\n type: \"error\"\n })\n .catch();\n }\n }\n\n private combineData(\n firstArray: StzhMapGeoRefData[] | StzhPoiGeoRefData[],\n secondArray: StzhMapGeoRefData[] | StzhPoiGeoRefData[]\n ): StzhCombinedGeoRefData[] {\n if (!firstArray.length || !secondArray.length) {\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(\"stzhPostRender\")\n @Listen(\"stzhMovePanZoom\")\n async mapMovedPannedOrZoomed() {\n await this.setVisibleMarkers();\n }\n\n private async setVisibleMarkers() {\n if (this.combinedData) {\n const visibleMarkers = await this.mapElement.getVisibleMarkers();\n if (this.showOnlyResultsForCurrentExtent) {\n this.finalResults = this.combinedData.filter(item =>\n visibleMarkers.find(visibleMarker => visibleMarker.getId() === item.poiid)\n );\n } else {\n this.finalResults = this.combinedData;\n }\n this.setEnhancedTags();\n await this.setPaginatedResults();\n }\n }\n\n private async setPaginatedResults() {\n this.finalResultsPaginatedList = this.finalResults.slice(0, this.numberOfItemsToLoad);\n this.canLoadMore = this.finalResults.length > this.numberOfItemsToLoad;\n }\n\n private async checkDirectOpenViaUrl() {\n const urlParams = new URLSearchParams(window.location.search);\n const idFromUrl = urlParams.get(\"al\");\n\n if (idFromUrl && idFromUrl === this.al) {\n await this.initializeAndOpenMap();\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 this.checkDirectOpenViaUrl();\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 // Write the \"al\" prop of the component to the current URL as query param if it is not already there\n const urlParams = new URLSearchParams(window.location.search);\n if (!urlParams.has(\"al\")) {\n urlParams.set(\"al\", this.al);\n const newUrl = `${window.location.pathname}?${urlParams.toString()}`;\n history.replaceState(null, \"\", newUrl);\n }\n\n try {\n this.combinedData = this.combineData(await this.loadMapData(), await this.loadPoiData());\n this.setEnhancedTags();\n this.applyFiltersFromUrl();\n this.buildSearchIndex(this.combinedData);\n this.finalResults = this.combinedData;\n await this.setVisibleMarkers();\n await this.combineFilterAndSearchResults();\n await this.handleResize();\n\n const urlParams = new URLSearchParams(window.location.search);\n const extent = [\n parseFloat(urlParams.get(\"extent[0]\")),\n parseFloat(urlParams.get(\"extent[1]\")),\n parseFloat(urlParams.get(\"extent[2]\")),\n parseFloat(urlParams.get(\"extent[3]\"))\n ];\n\n if (!extent.length || isNaN(extent[0]) || isNaN(extent[1]) || isNaN(extent[2]) || isNaN(extent[3])) {\n await this.mapElement.updateViewToFitMarkers();\n }\n\n await this.handleResize();\n this.isInitialized = true;\n } catch (mapException) {\n this.toastbarElement\n .toast(\"Beim Laden der Karte ist ein Fehler aufgetreten.\", {\n type: \"error\"\n })\n .catch();\n }\n\n setTimeout(() => {\n this.isLoading = false;\n }, 500);\n }\n\n private updateUrlWithFilters() {\n const urlParams = new URLSearchParams(window.location.search);\n\n // Remove existing filters from URL\n Array.from(urlParams.keys()).forEach(key => {\n if (key.startsWith(\"filters[\")) {\n urlParams.delete(key);\n }\n });\n\n // Add the selected filters from `appliedFilters` to the URL\n this.appliedFilters.forEach(filter => {\n urlParams.set(`filters[${filter}]`, \"true\");\n });\n\n // Update the URL without reloading the page\n const newUrl = `${window.location.pathname}?${urlParams.toString()}`;\n history.replaceState(null, \"\", newUrl);\n }\n\n private setEnhancedTags() {\n this.enhancedTags = this.enhanceTags(this._availableTags, this.finalResults);\n const enhancedResetTag = {\n ...this._resetTag,\n counter: this.finalResults.length.toString()\n };\n if (this._resetTag) {\n this.enhancedTags.unshift(enhancedResetTag);\n }\n }\n\n private handleFilterChange = async (e: CustomEvent<StzhChipselectChangeEvent>) => {\n let filtersArray = Array.isArray(e.detail.value) ? e.detail.value : [e.detail.value];\n if (filtersArray.length === 1 && filtersArray[0] === this._resetTag.value) {\n this.appliedFilters = [];\n } else {\n try {\n filtersArray = filtersArray.filter(filterValue => filterValue !== \"\");\n } catch (noEmptyFilter) {\n // nothing to do here\n }\n this.appliedFilters = filtersArray;\n }\n setTimeout(async () => {\n await this.handleFilterResults();\n });\n };\n\n private async handleFilterResults() {\n // Update the component state based on the selected filters\n if (this.appliedFilters.length !== 0) {\n this.filterResults = this.finalResults.filter(\n item => item.tags && item.tags.some(tag => this.appliedFilters.includes(tag))\n );\n this.filterActive = true;\n } else {\n this.filterActive = false;\n this.filterResults = this.finalResults;\n }\n\n // Update the URL with the applied filters\n this.updateUrlWithFilters();\n\n // Combine the results from filters and search\n await this.combineFilterAndSearchResults();\n }\n\n private handleExtentVisibilityChange = async e => {\n this.showOnlyResultsForCurrentExtent = e.detail.checked;\n await this.setVisibleMarkers();\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 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([\n parseFloat(item.lat),\n parseFloat(item.lon)\n ], {\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() {\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 \"stzh-geo-ref-data--has-filters\": this._availableTags.length > 0\n };\n return (\n <Host>\n <stzh-toastbar ref={el => (this.toastbarElement = el as HTMLStzhToastbarElement)} />\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 class=\"stzh-geo-ref-data__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 {this._availableTags.length > 0 && (\n <div class=\"stzh-geo-ref-data__filters-toggle\">\n <stzh-chip\n label={this.isViewportMedium ? \"Filter\" : \"\"}\n variant=\"filter\"\n icon=\"filtering\"\n onStzhClick={this.handleFilterToggleClick}\n ></stzh-chip>\n </div>\n )}\n <div\n class={{\n \"stzh-geo-ref-data__filters-content\": true,\n \"stzh-geo-ref-data__filters-content--visible\": !this.isViewportLarge && this.isFiltersContentOpen\n }}\n >\n <stzh-chipselect\n label-hidden={true}\n label=\"Tags\"\n data={this.enhancedTags}\n onStzhChange={this.handleFilterChange}\n multiple={true}\n defaultValue={this.appliedFilters}\n value={this.appliedFilters}\n ></stzh-chipselect>\n <div class=\"stzh-geo-ref-data__filters-apply-button\">\n <stzh-button size=\"small\" fullwidth={true} onStzhClick={this.handleApplyFilterClick}>\n Anwenden\n </stzh-button>\n </div>\n </div>\n </div>\n <div class=\"stzh-geo-ref-data__search\">\n <stzh-input\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 writeExtentToUrlEnabled={this.isOpen}\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 Kartenausschnitt 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 <div class=\"stzh-geo-ref-data__list-search\">\n <stzh-input\n name=\"stzh-datatable-search\"\n onStzhChange={this.handleSearchChange}\n hideOptional={true}\n label=\"Suche\"\n type=\"search\"\n ></stzh-input>\n </div>\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 {item.image && (\n <div class=\"stzh-poi-teaser__image-wrapper\">\n <stzh-ratio\n ratio={\"2:1\"}\n ratio-large={\"5:4\"}\n ratio-ultra={\"1:1\"}\n portrait={this.isViewportLarge}\n class=\"stzh-poi-teaser__ratio\"\n ></stzh-ratio>\n <div class=\"stzh-poi-teaser__image-inner-wrapper\">\n <img src={this.baseUrlOverride + item.image} alt={\"Foto von \" + item.poiname} />\n </div>\n </div>\n )}\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"],"version":3}
1
+ {"file":"stzh-geo-ref-data.entry.cjs.js","mappings":"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","names":["media","Document","addMediaChangeListener","removeMediaChangeListener","h","Host","Fragment"],"sources":["src/components/stzh-geo-ref-data/stzh-geo-ref-data.scss?tag=stzh-geo-ref-data&encapsulation=shadow","src/components/stzh-geo-ref-data/stzh-geo-ref-data.tsx"],"sourcesContent":[":host {\n --teaser-list-width: 480px;\n --meta-grid-template-areas: \"filters search\";\n --results-grid-template-areas: \"map list\";\n}\n\n.stzh-geo-ref-data {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 899;\n flex-direction: column;\n transition: opacity ease 0.2s;\n background-color: var(--stzh-color-white);\n\n // initially hidden\n display: none;\n opacity: 0;\n visibility: hidden;\n pointer-events: none;\n\n &--is-open {\n display: flex;\n opacity: 1;\n visibility: visible;\n pointer-events: inherit;\n }\n\n &__header {\n display: none;\n\n @include mq($from: large) {\n display: inherit;\n }\n }\n\n &__content {\n overflow: hidden;\n height: 100%;\n }\n\n &--content-padding {\n padding-left: $containerMargin;\n padding-right: var(--stzh-space-medium);\n\n @include mq($from: small) {\n padding-left: $containerMarginSmall;\n }\n\n @include mq($from: medium) {\n padding-left: $containerMarginMedium;\n }\n\n @include mq($from: large) {\n padding-left: $containerMarginSmall;\n }\n }\n\n &__heading {\n display: flex;\n align-items: center;\n background-color: var(--stzh-color-secondary20);\n @include spaceCurve('padding-top', 'regular');\n @include spaceCurve('padding-bottom', 'regular');\n }\n\n /** Everything meta wrapper like search, filters etc. */\n\n &__meta-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n gap: space(large);\n\n @include mq($to: large) {\n padding-top: space('medium');\n padding-bottom: space('medium');\n }\n\n @include spaceCurve('padding-top', 'small');\n @include spaceCurve('padding-bottom', 'small');\n\n @include mq($from: large) {\n display: grid;\n @include gridGutter;\n grid-template-areas: var(--meta-grid-template-areas);\n grid-template-columns: 1fr var(--teaser-list-width);\n }\n }\n\n &__filters {\n grid-area: filters;\n flex: none;\n margin-bottom: space(xxsmall);\n }\n\n &__filters-toggle {\n @include mq($from: large) {\n display: none;\n }\n }\n\n &__filters-toggle stzh-chip {\n @include mq($to: medium) {\n --icon-gap: 0;\n }\n }\n\n &__list-search {\n display: none;\n @include spaceCurve('padding-top', 'regular');\n @include spaceCurve('padding-bottom', 'regular');\n }\n\n &__filters-content {\n display: none;\n\n &--visible {\n padding: $containerMargin;\n\n @include mq($to: medium) {\n //padding: $containerMarginSmall;\n }\n\n @include mq($to: large) {\n display: flex;\n gap: space('xxlarge');\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--stzh-color-white);\n //padding: $containerMarginMedium;\n z-index: 10;\n flex-direction: column;\n justify-content: space-between;\n }\n }\n\n @include mq($from: large) {\n display: block;\n }\n }\n\n &__filters-apply-button {\n display: block;\n\n @include mq($from: large) {\n display: none;\n }\n }\n\n &__search {\n grid-area: search;\n width: 100%;\n\n @include mq($from: large) {\n width: var(--teaser-list-width);\n padding-left: var(--stzh-space-medium);\n padding-right: var(--stzh-space-xsmall);\n }\n }\n\n &__search input {\n @include fontSize('milli');\n }\n\n &__results-toggle {\n grid-area: resultstoggle;\n flex: none;\n margin-bottom: space(xxsmall);\n\n @include mq($from: large) {\n display: none;\n }\n }\n\n /** Everything with results */\n\n &__results-wrapper {\n height: 100%;\n\n @include mq($from: large) {\n display: grid;\n @include gridGutter;\n grid-template-areas: var(--results-grid-template-areas);\n grid-template-columns: minmax(0, 1fr) var(--teaser-list-width);\n }\n }\n\n &__results-wrapper .inactive {\n @include mq($to: large) {\n visibility: hidden;\n height: 0;\n position: absolute;\n overflow: hidden;\n }\n }\n\n &__results-map {\n grid-area: map;\n position: relative;\n height: 100%;\n }\n\n &__map-controls {\n position: absolute;\n top: space(small);\n left: space(small);\n background-color: var(--stzh-color-white);\n padding: space(xsmall);\n }\n\n &__results-list {\n grid-area: list;\n padding-left: $containerMargin;\n padding-right: var(--stzh-space-medium);\n padding-bottom: space(\"xxlarge\");\n overflow: auto;\n @include scrollbars;\n\n @include mq($from: small) {\n padding-left: $containerMarginSmall;\n }\n\n @include mq($from: medium) {\n padding-left: $containerMarginMedium;\n }\n\n @include mq($from: large) {\n width: var(--teaser-list-width);\n padding-left: 0;\n overflow: auto;\n }\n }\n\n &__results-list-heading {\n margin-bottom: var(--stzh-space-medium);\n }\n\n &__ol-map {\n }\n\n &__teaser-list {\n display: grid;\n gap: var(--stzh-space-medium);\n grid-template-columns: 1fr;\n\n @include mq($from: small) {\n grid-template-columns: 1fr 1fr;\n }\n\n @include mq($from: large) {\n grid-template-columns: 1fr;\n }\n }\n\n &__teaser-load-more {\n display: flex;\n justify-content: center;\n margin-top: space(medium);\n }\n\n /** no filters */\n\n &:not(&--has-filters) &__meta-wrapper {\n @include mq($from: large) {\n display: none;\n }\n }\n\n &:not(&--has-filters) &__filters {\n display: none;\n }\n\n &:not(&--has-filters) &__list-search {\n @include mq($from: large) {\n display: block;\n }\n }\n}\n\n.stzh-poi-teaser {\n display: flex;\n flex-direction: column-reverse;\n background-color: var(--stzh-color-grey10);\n position: relative;\n\n @include mq($from: large) {\n flex-direction: row;\n height: 180px;\n }\n\n &:hover {\n cursor: pointer;\n background-color: var(--stzh-color-secondary10);\n }\n\n &-content {\n padding: var(--stzh-space-medium);\n hyphens: auto;\n flex-grow: 1;\n\n stzh-heading {\n margin-bottom: space(xsmall);\n hyphens: auto;\n }\n\n stzh-text {\n --color: var(--stzh-color-grey80);\n }\n }\n\n &-link {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n }\n\n &__image-wrapper {\n position: relative;\n }\n\n &__ratio {\n display: flex;\n height: 100%;\n }\n\n &__image-inner-wrapper {\n background-color: var(--stzh-color-grey20);\n position: absolute;\n inset: 0;\n height: 100%;\n }\n\n &__image-inner-wrapper img {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n &-list-item {\n display: flex;\n gap: space(small);\n margin-top: space(xxsmall);\n\n stzh-icon, stzh-text {\n --color: var(--stzh-color-grey80);\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, Fragment, h, Host, Listen, Prop, State, Watch } from \"@stencil/core\";\nimport { Document } from \"flexsearch/dist/flexsearch.bundle.min.js\";\nimport {\n StzhAvailableTag,\n StzhChipselectChangeEvent,\n StzhChipselectItem,\n StzhCombinedGeoRefData,\n StzhGeoRefDataOverlayCloseClickEvent,\n StzhMapGeoRefData,\n StzhPoiGeoRefData\n} from \"../../index\";\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 /** ID for this instance, can be used to open via URL query param \"al=<id>\" - name \"al\" for historical reasons */\n @Prop({ reflect: true }) al: string = \"\";\n\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()\n searchIndexFields: string[] = [\n \"title\",\n \"poiname\",\n \"street\",\n \"zip\",\n \"description\"\n ];\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 @State() appliedFilters: string[] = [\"\"];\n @State() isFiltersContentOpen: boolean = false;\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 toastbarElement: HTMLStzhToastbarElement;\n private metaWrapperElement: HTMLDivElement;\n private resultsListElement: HTMLDivElement;\n private resizeObserver: ResizeObserver;\n\n private applyFiltersFromUrl() {\n const urlParams = new URLSearchParams(window.location.search);\n\n // Find all filter parameters from the URL\n const filters = Array.from(urlParams.entries())\n .filter(([key, value]) => key.startsWith(\"filters[\") && value === \"true\")\n .map(([key]) => key.slice(8, -1)); // Extract the filter key (removing 'filters[' and ']')\n\n // Apply filters if they exist\n if (filters.length) {\n this.appliedFilters = filters;\n // Update the UI to show selected filters\n this.updateUrlWithFilters(); // Keep the URL sync logic here\n this.handleFilterChange({\n detail: { value: filters }\n } as CustomEvent<StzhChipselectChangeEvent>);\n }\n }\n\n private handleFilterToggleClick = () => {\n this.isFiltersContentOpen = true;\n };\n\n private handleApplyFilterClick = () => {\n this.isFiltersContentOpen = false;\n };\n\n private handleOverlayCloseClick = () => {\n // Remove the class from the body\n document.body.classList.remove(CLASS_BODY_OPEN);\n this.isOpen = false;\n\n // Get the current URL's query parameters\n const urlParams = new URLSearchParams(window.location.search);\n\n // Remove all filters (query parameters that start with \"filters[\")\n Array.from(urlParams.keys()).forEach(key => {\n if (key.startsWith(\"filters[\")) {\n urlParams.delete(key);\n }\n });\n\n // Remove all extent parameters (keys like \"extent[0]\", \"extent[1]\", etc.)\n urlParams.delete(\"extent[0]\");\n urlParams.delete(\"extent[1]\");\n urlParams.delete(\"extent[2]\");\n urlParams.delete(\"extent[3]\");\n\n // Remove the al parameter\n urlParams.delete(\"al\");\n\n // Update the URL without reloading the page\n const newUrl = `${window.location.pathname}?${urlParams.toString()}`;\n history.replaceState(null, \"\", newUrl);\n\n // Clear filters.\n this.appliedFilters = [\"\"];\n };\n\n private handleResize = async () => {\n if (this.metaWrapperElement) {\n if (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 } else {\n this.mapElement.style.height = `100%`;\n this.resultsListElement.style.height = `100%`;\n }\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 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 this.toastbarElement\n .toast(\"Es ist ein Fehler beim Beziehen der Kartendaten aufgetreten.\", {\n type: \"error\"\n })\n .catch();\n }\n }\n\n private async loadPoiData() {\n if (!this.poiDataUrl) {\n return [];\n }\n try {\n const response = await fetch(this.poiDataUrl, { credentials: \"include\" });\n const poiData = await response.json();\n return poiData.items;\n } catch (error) {\n this.toastbarElement\n .toast(\"Beim Laden der POI-Daten ist ein Fehler aufgetreten.\", {\n type: \"error\"\n })\n .catch();\n }\n }\n\n private combineData(\n firstArray: StzhMapGeoRefData[] | StzhPoiGeoRefData[],\n secondArray: StzhMapGeoRefData[] | StzhPoiGeoRefData[]\n ): StzhCombinedGeoRefData[] {\n if (!firstArray.length || !secondArray.length) {\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\", size: \"large\" };\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(\"stzhPostRender\")\n @Listen(\"stzhMovePanZoom\")\n async mapMovedPannedOrZoomed() {\n await this.setVisibleMarkers();\n }\n\n private async setVisibleMarkers() {\n if (this.combinedData) {\n const visibleMarkers = await this.mapElement.getVisibleMarkers();\n if (this.showOnlyResultsForCurrentExtent) {\n this.finalResults = this.combinedData.filter(item =>\n visibleMarkers.find(visibleMarker => visibleMarker.getId() === item.poiid)\n );\n } else {\n this.finalResults = this.combinedData;\n }\n this.setEnhancedTags();\n await this.setPaginatedResults();\n }\n }\n\n private async setPaginatedResults() {\n this.finalResultsPaginatedList = this.finalResults.slice(0, this.numberOfItemsToLoad);\n this.canLoadMore = this.finalResults.length > this.numberOfItemsToLoad;\n }\n\n private async checkDirectOpenViaUrl() {\n const urlParams = new URLSearchParams(window.location.search);\n const idFromUrl = urlParams.get(\"al\");\n\n if (idFromUrl && idFromUrl === this.al) {\n await this.initializeAndOpenMap();\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 this.checkDirectOpenViaUrl();\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 // Write the \"al\" prop of the component to the current URL as query param if it is not already there\n const urlParams = new URLSearchParams(window.location.search);\n if (!urlParams.has(\"al\")) {\n urlParams.set(\"al\", this.al);\n const newUrl = `${window.location.pathname}?${urlParams.toString()}`;\n history.replaceState(null, \"\", newUrl);\n }\n\n try {\n this.combinedData = this.combineData(await this.loadMapData(), await this.loadPoiData());\n this.setEnhancedTags();\n this.applyFiltersFromUrl();\n this.buildSearchIndex(this.combinedData);\n this.finalResults = this.combinedData;\n await this.setVisibleMarkers();\n await this.combineFilterAndSearchResults();\n await this.handleResize();\n\n const urlParams = new URLSearchParams(window.location.search);\n const extent = [\n parseFloat(urlParams.get(\"extent[0]\")),\n parseFloat(urlParams.get(\"extent[1]\")),\n parseFloat(urlParams.get(\"extent[2]\")),\n parseFloat(urlParams.get(\"extent[3]\"))\n ];\n\n if (!extent.length || isNaN(extent[0]) || isNaN(extent[1]) || isNaN(extent[2]) || isNaN(extent[3])) {\n await this.mapElement.updateViewToFitMarkers();\n }\n\n await this.handleResize();\n this.isInitialized = true;\n } catch (mapException) {\n this.toastbarElement\n .toast(\"Beim Laden der Karte ist ein Fehler aufgetreten.\", {\n type: \"error\"\n })\n .catch();\n }\n\n setTimeout(() => {\n this.isLoading = false;\n }, 500);\n }\n\n private updateUrlWithFilters() {\n const urlParams = new URLSearchParams(window.location.search);\n\n // Remove existing filters from URL\n Array.from(urlParams.keys()).forEach(key => {\n if (key.startsWith(\"filters[\")) {\n urlParams.delete(key);\n }\n });\n\n // Add the selected filters from `appliedFilters` to the URL\n this.appliedFilters.forEach(filter => {\n urlParams.set(`filters[${filter}]`, \"true\");\n });\n\n // Update the URL without reloading the page\n const newUrl = `${window.location.pathname}?${urlParams.toString()}`;\n history.replaceState(null, \"\", newUrl);\n }\n\n private setEnhancedTags() {\n this.enhancedTags = this.enhanceTags(this._availableTags, this.finalResults);\n const enhancedResetTag: StzhChipselectItem = {\n ...this._resetTag,\n counter: this.finalResults.length.toString(),\n size: \"large\"\n };\n if (this._resetTag) {\n this.enhancedTags.unshift(enhancedResetTag);\n }\n }\n\n private handleFilterChange = async (e: CustomEvent<StzhChipselectChangeEvent>) => {\n let filtersArray = Array.isArray(e.detail.value) ? e.detail.value : [e.detail.value];\n if (filtersArray.length === 1 && filtersArray[0] === this._resetTag.value) {\n this.appliedFilters = [];\n } else {\n try {\n filtersArray = filtersArray.filter(filterValue => filterValue !== \"\");\n } catch (noEmptyFilter) {\n // nothing to do here\n }\n this.appliedFilters = filtersArray;\n }\n setTimeout(async () => {\n await this.handleFilterResults();\n });\n };\n\n private async handleFilterResults() {\n // Update the component state based on the selected filters\n if (this.appliedFilters.length !== 0) {\n this.filterResults = this.finalResults.filter(\n item => item.tags && item.tags.some(tag => this.appliedFilters.includes(tag))\n );\n this.filterActive = true;\n } else {\n this.filterActive = false;\n this.filterResults = this.finalResults;\n }\n\n // Update the URL with the applied filters\n this.updateUrlWithFilters();\n\n // Combine the results from filters and search\n await this.combineFilterAndSearchResults();\n }\n\n private handleExtentVisibilityChange = async e => {\n this.showOnlyResultsForCurrentExtent = e.detail.checked;\n await this.setVisibleMarkers();\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 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([\n parseFloat(item.lat),\n parseFloat(item.lon)\n ], {\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() {\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 \"stzh-geo-ref-data--has-filters\": this._availableTags.length > 0\n };\n return (\n <Host>\n <stzh-toastbar ref={el => (this.toastbarElement = el as HTMLStzhToastbarElement)} />\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 class=\"stzh-geo-ref-data__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 {this._availableTags.length > 0 && (\n <div class=\"stzh-geo-ref-data__filters-toggle\">\n <stzh-chip\n label={this.isViewportMedium ? \"Filter\" : \"\"}\n variant=\"filter\"\n icon=\"filtering\"\n onStzhClick={this.handleFilterToggleClick}\n ></stzh-chip>\n </div>\n )}\n <div\n class={{\n \"stzh-geo-ref-data__filters-content\": true,\n \"stzh-geo-ref-data__filters-content--visible\": !this.isViewportLarge && this.isFiltersContentOpen\n }}\n >\n <stzh-chipselect\n label-hidden={true}\n label=\"Tags\"\n data={this.enhancedTags}\n onStzhChange={this.handleFilterChange}\n multiple={true}\n defaultValue={this.appliedFilters}\n value={this.appliedFilters}\n ></stzh-chipselect>\n <div class=\"stzh-geo-ref-data__filters-apply-button\">\n <stzh-button size=\"small\" fullwidth={true} onStzhClick={this.handleApplyFilterClick}>\n Anwenden\n </stzh-button>\n </div>\n </div>\n </div>\n <div class=\"stzh-geo-ref-data__search\">\n <stzh-input\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 writeExtentToUrlEnabled={this.isOpen}\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 Kartenausschnitt 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 <div class=\"stzh-geo-ref-data__list-search\">\n <stzh-input\n name=\"stzh-datatable-search\"\n onStzhChange={this.handleSearchChange}\n hideOptional={true}\n label=\"Suche\"\n type=\"search\"\n ></stzh-input>\n </div>\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 {item.image && (\n <div class=\"stzh-poi-teaser__image-wrapper\">\n <stzh-ratio\n ratio={\"2:1\"}\n ratio-large={\"5:4\"}\n ratio-ultra={\"1:1\"}\n portrait={this.isViewportLarge}\n class=\"stzh-poi-teaser__ratio\"\n ></stzh-ratio>\n <div class=\"stzh-poi-teaser__image-inner-wrapper\">\n <img src={this.baseUrlOverride + item.image} alt={\"Foto von \" + item.poiname} />\n </div>\n </div>\n )}\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"],"version":3}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-92254d32.js');
6
- const axios = require('./axios-69bcb71f.js');
6
+ const axios = require('./axios-bd44344d.js');
7
7
 
8
8
  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}}";
9
9
 
@@ -51,6 +51,7 @@ const StzhMicrositeTeaserlist = class {
51
51
  "label": tag.name,
52
52
  "value": tag.id,
53
53
  "variant": "filter",
54
+ "size": "large",
54
55
  "counter": ((tag.id)
55
56
  ? this.items.filter(item => item.tags.indexOf(tag.id) > -1).length
56
57
  : this.items.length).toString()
@@ -75,7 +76,7 @@ const StzhMicrositeTeaserlist = class {
75
76
  }
76
77
  render() {
77
78
  const classes = {
78
- "stzh-microsite-teaserlist": true,
79
+ "stzh-microsite-teaserlist": true
79
80
  };
80
81
  return (index.h(index.Host, null, index.h("div", { class: classes }, this._tagChips.length > 0 &&
81
82
  index.h("stzh-chipselect", { "hide-optional": true, "label-hidden": true, class: "stzh-microsite-teaserlist__filter", label: this.localization.tagsLabel, data: this._tagChips, onStzhChange: this.handleChange }), index.h("stzh-cardlist", { layout: "teasers" }, this._filteredSlicedItems.map((item) => index.h("stzh-card", { href: item.link }, item.image &&
@@ -1 +1 @@
1
- {"file":"stzh-microsite-teaserlist.entry.cjs.js","mappings":"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","names":["axios","h","Host"],"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.cjs.js","mappings":"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","names":["axios","h","Host"],"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}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-92254d32.js');
6
- const axios = require('./axios-69bcb71f.js');
6
+ const axios = require('./axios-bd44344d.js');
7
7
 
8
8
  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)}";
9
9
 
@@ -52,6 +52,19 @@ const StzhProgressbar = class {
52
52
  return Object.assign(Object.assign({}, step), this.getItemAttributes(index));
53
53
  });
54
54
  }
55
+ onIndexChange() {
56
+ this.indexWatcher(this.index);
57
+ this.setCurrentSteps();
58
+ index.forceUpdate(this.element);
59
+ }
60
+ indexWatcher(newIndex) {
61
+ if (typeof newIndex === "string") {
62
+ this.index = JSON.parse(newIndex);
63
+ }
64
+ else {
65
+ this.index = newIndex;
66
+ }
67
+ }
55
68
  stepsWatcher() {
56
69
  this.setCurrentSteps();
57
70
  }
@@ -105,10 +118,19 @@ const StzhProgressbar = class {
105
118
  }
106
119
  async componentWillLoad() {
107
120
  this.dataWatcher(this.data);
121
+ this.indexWatcher(this.index);
108
122
  if (!this.localization) {
109
123
  this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, "progressbar");
110
124
  }
111
125
  }
126
+ async componentShouldUpdate() {
127
+ this.dataWatcher(this.data);
128
+ this.indexWatcher(this.index);
129
+ }
130
+ async componentDidUpdate() {
131
+ this.dataWatcher(this.data);
132
+ this.indexWatcher(this.index);
133
+ }
112
134
  connectedCallback() {
113
135
  this.setCurrentSteps();
114
136
  mediaUtils.addMediaChangeListener(this.setCurrentSteps);
@@ -127,6 +149,7 @@ const StzhProgressbar = class {
127
149
  }
128
150
  get element() { return index.getElement(this); }
129
151
  static get watchers() { return {
152
+ "index": ["onIndexChange"],
130
153
  "steps": ["stepsWatcher"],
131
154
  "stepsSmall": ["stepsWatcher"],
132
155
  "stepsMedium": ["stepsWatcher"],
@@ -1 +1 @@
1
- {"file":"stzh-progressbar.entry.cjs.js","mappings":"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","names":["media","addMediaChangeListener","removeMediaChangeListener","h","Host","index"],"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.cjs.js","mappings":"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","names":["media","forceUpdate","addMediaChangeListener","removeMediaChangeListener","h","Host","index"],"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}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-92254d32.js');
6
- const axios = require('./axios-69bcb71f.js');
6
+ const axios = require('./axios-bd44344d.js');
7
7
  const utils = require('./utils-3e79835b.js');
8
8
  const mediaUtils = require('./media-utils-fa9f86b8.js');
9
9
  const debounce = require('./debounce-c8f1f58a.js');
@@ -477,7 +477,7 @@ const StzhSearch = class {
477
477
  const wrapperProps = typeof this.templateResultWrapperProps === "function"
478
478
  ? this.templateResultWrapperProps(this.element)
479
479
  : this.templateResultWrapperProps;
480
- return (index.h(index.Host, { "has-aside-filters": filtersAsideUsed, fullwidth: this.isStzhAnchornavVisible.toString() }, index.h("form", { ref: el => (this.formElement = el), novalidate: true, class: classes, onSubmit: this.handleFormSubmit, onReset: this.handleFormReset }, index.h("div", { class: "stzh-search__filters-main", onStzhChange: this.handleMainFilterChange }, !!this.heading && (index.h("stzh-heading", { class: "stzh-search__header-heading", curve: "h2" }, this.heading)), index.h("slot", { name: "filters-main" }), !chipsProvided && this.chipResults.length > 0 && (index.h("div", { class: "stzh-search__filters-main-chips" }, this.chipResultsHeading && (index.h("stzh-text", { font: "heavy", size: "milli", color: "primary" }, this.chipResultsHeading)), this.chipResults[0].options ? (index.h("stzh-chipgroup", null, this.chipResults.map(chipResult => (index.h("stzh-dropdown", { label: chipResult.label, name: chipResult.value, variant: "filter", "no-search": true, "hide-optional": true, inline: true, options: chipResult.options }))))) : (index.h("stzh-chipselect", { multiple: true, name: "subject", label: this.chipResultsHeading, "label-hidden": true, data: this.chipResults.map(chipResult => ({
480
+ return (index.h(index.Host, { "has-aside-filters": filtersAsideUsed, fullwidth: this.isStzhAnchornavVisible.toString() }, index.h("form", { ref: el => (this.formElement = el), novalidate: true, class: classes, onSubmit: this.handleFormSubmit, onReset: this.handleFormReset }, index.h("div", { class: "stzh-search__filters-main", onStzhChange: this.handleMainFilterChange }, !!this.heading && (index.h("stzh-heading", { class: "stzh-search__header-heading", curve: "h2" }, this.heading)), index.h("slot", { name: "filters-main" }), !chipsProvided && this.chipResults.length > 0 && (index.h("div", { class: "stzh-search__filters-main-chips" }, this.chipResultsHeading && (index.h("stzh-text", { font: "heavy", size: "milli", color: "primary" }, this.chipResultsHeading)), this.chipResults[0].options ? (index.h("stzh-chipgroup", null, this.chipResults.map(chipResult => (index.h("stzh-dropdown", { label: chipResult.label, name: chipResult.value, variant: "filter", size: "large", "no-search": true, "hide-optional": true, inline: true, options: chipResult.options }))))) : (index.h("stzh-chipselect", { multiple: true, name: "subject", label: this.chipResultsHeading, "label-hidden": true, data: this.chipResults.map(chipResult => ({
481
481
  label: chipResult.label,
482
482
  value: chipResult.value,
483
483
  counter: `${chipResult.amount}`,