@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
@@ -0,0 +1,2 @@
1
+ import{r as t,h as a,F as i,a as s,g as n}from"./p-c7bfac7a.js";import{h as e}from"./p-ebd6dda5.js";import"./p-9b063923.js";const c='.sc-stzh-contact-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-contact-h,[stzh-hidden].sc-stzh-contact-h{display:none}.sc-stzh-contact-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-contact-h *.sc-stzh-contact,.sc-stzh-contact-h *.sc-stzh-contact::before,.sc-stzh-contact-h *.sc-stzh-contact::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-contact-h .has-focus.sc-stzh-contact{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-contact-h .stzh-fylingfocus-focused.sc-stzh-contact{outline-style:none !important}.sc-stzh-contact-h .stzh-fylingfocus-focused.sc-stzh-contact::-moz-focus-inner{border:0 !important}.sc-stzh-contact-h{--grid-template-areas:var(\n --stzh-contact-grid-template-areas,\n "heading heading heading heading" "image image image image" "info info info info" "availability availability availability availability" "additional additional additional additional"\n );--grid-template-columns:var(\n --stzh-contact-grid-template-columns,\n repeat(4, minmax(0, 1fr))\n )}@media screen and (min-width: 900px){.sc-stzh-contact-h{--grid-template-areas:var(\n --stzh-contact-grid-template-areas,\n "heading heading heading heading heading heading heading heading" "image image image image . . . ." "info info info info availability availability availability availability" "additional additional additional additional additional additional additional additional"\n );--grid-template-columns:var(\n --stzh-contact-grid-template-columns,\n repeat(8, minmax(0, 1fr))\n )}}@media print{.sc-stzh-contact-h{page-break-inside:avoid;break-inside:avoid}}.sc-stzh-contact-h .sc-stzh-contact-s>[slot=image]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}@media screen and (min-width: 900px){[has-availability=false].sc-stzh-contact-h{--grid-template-areas:var(\n --stzh-contact-grid-template-areas,\n "heading heading heading heading heading heading heading heading" "image image image image . . . ." "info info info info info info info info" "additional additional additional additional additional additional additional additional"\n )}}[image-position=left].sc-stzh-contact-h{--grid-template-areas:var(\n --stzh-contact-grid-template-areas,\n "heading heading heading heading" "image image image image" "info info info info" "availability availability availability availability" "additional additional additional additional"\n );--grid-template-columns:var(\n --stzh-contact-grid-template-columns,\n repeat(4, minmax(0, 1fr))\n )}@media screen and (min-width: 900px){[image-position=left].sc-stzh-contact-h{--grid-template-areas:var(\n --stzh-contact-grid-template-areas,\n "heading heading heading heading heading heading heading heading" "image info info info availability availability availability availability" "additional additional additional additional additional additional additional additional"\n );--grid-template-columns:var(\n --stzh-contact-grid-template-columns,\n auto repeat(7, minmax(0, 1fr))\n )}}@media screen and (min-width: 1260px){[image-position=left].sc-stzh-contact-h{--grid-template-areas:var(\n --stzh-contact-grid-template-areas,\n "heading heading heading heading heading heading heading heading heading heading heading heading" "image info info info info info availability availability availability availability availability availability" "additional additional additional additional additional additional additional additional additional additional additional additional"\n );--grid-template-columns:var(\n --stzh-contact-grid-template-columns,\n auto repeat(11, minmax(0, 1fr))\n )}}.stzh-contact.sc-stzh-contact{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);column-gap:var(--stzh-grid-gutter);display:grid;grid-template-areas:var(--grid-template-areas);grid-template-columns:var(--grid-template-columns)}@media screen and (min-width: 900px){.stzh-contact.sc-stzh-contact{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-contact.sc-stzh-contact{column-gap:var(--stzh-grid-gutter-small)}}@media screen and (min-width: 900px){.stzh-contact.sc-stzh-contact{column-gap:var(--stzh-grid-gutter-medium)}}@media screen and (min-width: 1260px){.stzh-contact.sc-stzh-contact{column-gap:var(--stzh-grid-gutter-large)}}@media screen and (min-width: 1600px){.stzh-contact.sc-stzh-contact{column-gap:var(--stzh-grid-gutter-ultra)}}.stzh-contact__main-heading.sc-stzh-contact{grid-area:heading}.stzh-contact__main-heading.sc-stzh-contact:not(:empty){margin-bottom:var(--stzh-space-xxsmall)}@media screen and (min-width: 900px){.stzh-contact__main-heading.sc-stzh-contact:not(:empty){margin-bottom:var(--stzh-space-xsmall)}}@media screen and (min-width: 1260px){.stzh-contact__main-heading.sc-stzh-contact:not(:empty){margin-bottom:var(--stzh-space-small)}}.stzh-contact__image-wrapper.sc-stzh-contact{grid-area:image;background-color:var(--stzh-color-secondary20)}.stzh-contact__image.sc-stzh-contact{position:relative}.stzh-contact__info.sc-stzh-contact{grid-area:info}.stzh-contact__heading.sc-stzh-contact:not(:empty):not(:last-child),.stzh-contact__name.sc-stzh-contact:not(:empty):not(:last-child),.stzh-contact__address.sc-stzh-contact:not(:empty):not(:last-child),.stzh-contact__numbers.sc-stzh-contact:not(:empty):not(:last-child),.stzh-contact__emails.sc-stzh-contact:not(:empty):not(:last-child),.stzh-contact__pobox.sc-stzh-contact:not(:empty):not(:last-child),.stzh-contact__availability-title.sc-stzh-contact:not(:empty):not(:last-child){margin-bottom:var(--stzh-space-xsmall)}.stzh-contact__number.sc-stzh-contact,.stzh-contact__email.sc-stzh-contact{display:flex;align-items:center}.stzh-contact__heading.sc-stzh-contact,.stzh-contact__name.sc-stzh-contact,.stzh-contact__availability-title.sc-stzh-contact{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);margin:0px}@media screen and (min-width: 900px){.stzh-contact__heading.sc-stzh-contact,.stzh-contact__name.sc-stzh-contact,.stzh-contact__availability-title.sc-stzh-contact{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)}}.stzh-contact__heading.sc-stzh-contact,.stzh-contact__name.is-heading.sc-stzh-contact,.stzh-contact__availability-title.sc-stzh-contact{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy)}.stzh-contact__availability.sc-stzh-contact{grid-area:availability;margin-top:var(--stzh-space-xlarge)}@media screen and (min-width: 900px){.stzh-contact__availability.sc-stzh-contact{margin-top:0px}}.stzh-contact__availability-list.sc-stzh-contact,.stzh-contact__availability-hour-list.sc-stzh-contact{list-style:none;margin:0;padding:0}.stzh-contact__availability-list.sc-stzh-contact{gap:var(--stzh-space-xxsmall);display:grid}@media screen and (min-width: 900px){.stzh-contact__availability-list.sc-stzh-contact{gap:var(--stzh-space-xsmall)}}@media screen and (min-width: 1260px){.stzh-contact__availability-list.sc-stzh-contact{gap:var(--stzh-space-small)}}.stzh-contact__availability-weekday.sc-stzh-contact{font-size:var(--stzh-font-curve-p2-default-font-size, var(--stzh-font-micro-font-size));line-height:var(--stzh-font-curve-p2-default-text-line-height, var(--stzh-font-micro-text-line-height))}@media screen and (min-width: 900px){.stzh-contact__availability-weekday.sc-stzh-contact{font-size:var(--stzh-font-curve-p2-medium-font-size, var(--stzh-font-milli-font-size));line-height:var(--stzh-font-curve-p2-medium-text-line-height, var(--stzh-font-milli-text-line-height));letter-spacing:var(--stzh-font-curve-p2-medium-text-letter-spacing)}}.stzh-contact__availability-hours.sc-stzh-contact{display:flex;flex-wrap:wrap;column-gap:var(--stzh-space-xsmall)}.stzh-contact__availability-hours-separator.sc-stzh-contact{width:0.0625rem;background-color:currentColor;flex-shrink:0}.stzh-contact__additional.sc-stzh-contact{gap:var(--stzh-space-medium);grid-area:additional;display:grid}@media screen and (min-width: 600px){.stzh-contact__additional.sc-stzh-contact{gap:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-contact__additional.sc-stzh-contact{gap:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-contact__additional.sc-stzh-contact{gap:var(--stzh-space-xxlarge)}}.stzh-contact__additional.sc-stzh-contact:not(:empty){margin-top:var(--stzh-space-medium)}.stzh-contact--has-image.sc-stzh-contact .stzh-contact__image-wrapper.sc-stzh-contact{margin-bottom:var(--stzh-space-medium)}.stzh-contact--has-image.sc-stzh-contact .stzh-contact__image.sc-stzh-contact{width:4rem;height:4rem}@media screen and (min-width: 600px){.stzh-contact--has-image.sc-stzh-contact .stzh-contact__image.sc-stzh-contact{width:5rem;height:5rem}}@media screen and (min-width: 900px){.stzh-contact--has-image.sc-stzh-contact .stzh-contact__image.sc-stzh-contact{width:6.25rem;height:6.25rem}}@media screen and (min-width: 1260px){.stzh-contact--has-image.sc-stzh-contact .stzh-contact__image.sc-stzh-contact{width:7.5rem;height:7.5rem}}@media screen and (min-width: 1600px){.stzh-contact--has-image.sc-stzh-contact .stzh-contact__image.sc-stzh-contact{width:8.75rem;height:8.75rem}}.stzh-contact--image-position-left.sc-stzh-contact .stzh-contact__image-wrapper.sc-stzh-contact{background-color:transparent}';function h(t){return t.replace(/\s/g,"")}const o=class{constructor(a){t(this,a);this._street=[];this._streetInfo=[];this._numbers=[];this._emails=[];this._availability=[];this.type="Organization";this.mainHeading=undefined;this.mainHeadingLevel="2";this.heading=undefined;this.headingLevel="3";this.name=undefined;this.nameHeadingLevel="";this.address=undefined;this.street=undefined;this.streetInfo=undefined;this.postalCode=undefined;this.location=undefined;this.imagePosition="top";this.numbers=[];this.emails=[];this.pobox=undefined;this.poboxHeading=undefined;this.poboxTitle=undefined;this.poboxPostalCode=undefined;this.poboxLocation=undefined;this.availabilityTitle=undefined;this.availabilityTitleLevel="3";this.availability=undefined}availabilityWatcher(t){if(typeof t==="string"){this._availability=JSON.parse(t)}else{this._availability=t}}numbersWatcher(t){if(typeof t==="string"){this._numbers=JSON.parse(t)}else{this._numbers=t}}emailsWatcher(t){if(typeof t==="string"){this._emails=JSON.parse(t)}else{this._emails=t}}streetWatcher(t){if(typeof t==="string"){try{this._street=JSON.parse(t)}catch(a){this._street=[t]}}else if(t){this._street=t}}streetInfoWatcher(t){if(typeof t==="string"){try{this._streetInfo=JSON.parse(t)}catch(a){this._streetInfo=[t]}}else if(t){this._streetInfo=t}}async componentWillLoad(){this.numbersWatcher(this.numbers);this.emailsWatcher(this.emails);this.availabilityWatcher(this.availability);this.streetWatcher(this.street);this.streetInfoWatcher(this.streetInfo)}render(){const t=e(this.element,"image");const n=!!this.address||e(this.element,"address");const c=e(this.element,"addons");const o=e(this.element,"links");const l={"stzh-contact":true,"stzh-contact--has-image":t,"stzh-contact--has-address":n,"stzh-contact--has-addons":c,"stzh-contact--has-links":o,[`stzh-contact--image-position-${this.imagePosition}`]:true};const d=`h${this.headingLevel}`;const r=this.nameHeadingLevel?`h${this.nameHeadingLevel}`:"div";const m=`h${this.availabilityTitleLevel}`;return a(s,{"image-position":this.imagePosition,"has-availability":!!this.availability?"true":"false"},a("div",{class:l,itemscope:true,itemtype:`http://schema.org/${this.type}`},a("div",{class:"stzh-contact__main-heading",itemprop:this.type==="Organization"&&!this.heading||this.type==="Person"&&!this.name?"name":null},this.mainHeading?a("stzh-heading",{level:this.mainHeadingLevel},this.mainHeading):a("slot",{name:"main-heading"})),a("div",{class:"stzh-contact__image-wrapper"},a("div",{class:"stzh-contact__image"},a("slot",{name:"image"}))),a("div",{class:"stzh-contact__info"},this.heading&&a(d,{class:"stzh-contact__heading",itemprop:this.type==="Organization"||!this.name?"name":null,innerHTML:this.heading}),this.name&&a(r,{class:{"stzh-contact__name":true,"is-heading":this.nameHeadingLevel!==""},itemprop:this.type==="Person"?"name":null},this.name),a("div",{class:"stzh-contact__address",itemprop:"address",itemscope:true,itemtype:"http://schema.org/PostalAddress",innerHTML:this.address},!this.address&&a(i,null,this._street.length>0&&a("div",{class:"stzh-contact__street",itemprop:"streetAddress"},this._street.map((t=>a(i,null,t,a("br",null)))),this._streetInfo.length>0&&a(i,null,a("br",null)," ",this._streetInfo.map((t=>a(i,null,t,a("br",null)))))),this.postalCode&&a("span",{class:"stzh-contact__postal-code",itemprop:"postalCode"},this.postalCode," "),this.location&&a("span",{class:"stzh-contact__locality",itemprop:"addressLocality"},this.location),a("slot",{name:"address"}))),this._numbers.length>0&&a("div",{class:"stzh-contact__numbers"},this._numbers.map((t=>a("div",{class:"stzh-contact__number"},a("span",null,t.label," "),a("stzh-link",{size:"inherit",height:"auto",class:"stzh-contact__number-link",href:`${t.type}:${h(t.number)}`,analyticsId:t.analyticsId||`${t.label} ${t.number}`,itemprop:t.type==="fax"?"faxNumber":"telephone"},t.number))))),this._emails.length>0&&a("div",{class:"stzh-contact__emails"},this._emails.map((t=>a("div",{class:"stzh-contact__email"},a("span",null,t.label," "),t.href?a("stzh-link",{size:"inherit",height:"auto",class:"stzh-container__email-link",href:`mailto:${t.href}`,analyticsId:t.analyticsId||`${t.label} ${t.text}`,itemprop:"email"},t.text):a("span",{class:"stzh-container__email-link",itemprop:"email"},t.text))))),a("div",{class:"stzh-contact__pobox",innerHTML:this.pobox},!this.pobox&&a(i,null,this.poboxHeading&&a("div",{class:"stzh-contact__pobox-heading"},this.poboxHeading),this.poboxTitle&&a("div",{class:"stzh-contact__pobox-title"},this.poboxTitle),this.poboxPostalCode&&a("span",{class:"stzh-contact__pobox-postal-code"},this.poboxPostalCode," "),this.poboxLocation&&a("span",{class:"stzh-contact__pobox-locality"},this.poboxLocation),a("slot",{name:"pobox"})))),this.availability&&a("div",{class:"stzh-contact__availability"},this.availabilityTitle&&a(m,{class:"stzh-contact__availability-title"},this.availabilityTitle),this._availability.length>0&&a("ul",{class:"stzh-contact__availability-list"},this._availability.map((t=>a("li",{class:"stzh-contact__availability-list-item"},a("div",{class:"stzh-contact__availability-weekday"},t.weekday),t.hours.length>0&&a("div",{class:"stzh-contact__availability-hours"},t.hours.map(((s,n)=>a(i,null,a("div",{class:"stzh-contact__availability-hour"},s),n<t.hours.length-1&&a("div",{class:"stzh-contact__availability-hours-separator"})))))))))),a("div",{class:"stzh-contact__additional"},a("slot",null))))}get element(){return n(this)}static get watchers(){return{availability:["availabilityWatcher"],numbers:["numbersWatcher"],emails:["emailsWatcher"],street:["streetWatcher"],streetInfo:["streetInfoWatcher"]}}};o.style=c;export{o as stzh_contact};
2
+ //# sourceMappingURL=p-a71fafbd.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stzhContactCss","formatTel","tel","replace","StzhContact","this","_street","_streetInfo","_numbers","_emails","_availability","availabilityWatcher","newValue","JSON","parse","numbersWatcher","emailsWatcher","streetWatcher","noArrayException","streetInfoWatcher","componentWillLoad","numbers","emails","availability","street","streetInfo","render","hasImage","hasSlot","element","hasAddress","address","hasAddons","hasLinks","classes","imagePosition","HeadingLevel","headingLevel","NameHeadingLevel","nameHeadingLevel","AvailabilityTitleElement","availabilityTitleLevel","h","Host","class","itemscope","itemtype","type","itemprop","heading","name","mainHeading","level","mainHeadingLevel","innerHTML","Fragment","length","map","postalCode","location","number","label","size","height","href","analyticsId","email","text","pobox","poboxHeading","poboxTitle","poboxPostalCode","poboxLocation","availabilityTitle","item","weekday","hours","hour","index"],"sources":["src/components/stzh-contact/stzh-contact.scss?tag=stzh-contact&encapsulation=scoped","src/components/stzh-contact/stzh-contact.tsx"],"sourcesContent":[":host {\n --grid-template-areas: var(\n --stzh-contact-grid-template-areas,\n \"heading heading heading heading\" \"image image image image\" \"info info info info\" \"availability availability availability availability\" \"additional additional additional additional\"\n );\n\n --grid-template-columns: var(\n --stzh-contact-grid-template-columns,\n #{$gridColumns}\n );\n\n @include mq($from: medium) {\n --grid-template-areas: var(\n --stzh-contact-grid-template-areas,\n \"heading heading heading heading heading heading heading heading\" \"image image image image . . . .\" \"info info info info availability availability availability availability\" \"additional additional additional additional additional additional additional additional\"\n );\n\n --grid-template-columns: var(\n --stzh-contact-grid-template-columns,\n #{$gridColumnsMedium}\n );\n }\n\n @media print {\n page-break-inside: avoid;\n break-inside: avoid;\n }\n\n ::slotted([slot=\"image\"]) {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n &[has-availability=\"false\"] {\n @include mq($from: medium) {\n --grid-template-areas: var(\n --stzh-contact-grid-template-areas,\n \"heading heading heading heading heading heading heading heading\" \"image image image image . . . .\" \"info info info info info info info info\" \"additional additional additional additional additional additional additional additional\"\n );\n }\n }\n}\n\n:host[image-position=left] {\n --grid-template-areas: var(\n --stzh-contact-grid-template-areas,\n \"heading heading heading heading\" \"image image image image\" \"info info info info\" \"availability availability availability availability\" \"additional additional additional additional\"\n );\n\n --grid-template-columns: var(\n --stzh-contact-grid-template-columns,\n #{$gridColumns}\n );\n\n @include mq($from: medium) {\n --grid-template-areas: var(\n --stzh-contact-grid-template-areas,\n \"heading heading heading heading heading heading heading heading\" \"image info info info availability availability availability availability\" \"additional additional additional additional additional additional additional additional\"\n );\n\n --grid-template-columns: var(\n --stzh-contact-grid-template-columns,\n auto repeat(7, minmax(0, 1fr))\n );\n }\n\n @include mq($from: large) {\n --grid-template-areas: var(\n --stzh-contact-grid-template-areas,\n \"heading heading heading heading heading heading heading heading heading heading heading heading\" \"image info info info info info availability availability availability availability availability availability\" \"additional additional additional additional additional additional additional additional additional additional additional additional\"\n );\n\n --grid-template-columns: var(\n --stzh-contact-grid-template-columns,\n auto repeat(11, minmax(0, 1fr))\n );\n }\n}\n\n.stzh-contact {\n @include fontCurve('p1');\n @include gridGutter;\n display: grid;\n grid-template-areas: var(--grid-template-areas);\n grid-template-columns: var(--grid-template-columns);\n\n &__main-heading {\n grid-area: heading;\n\n &:not(:empty) {\n @include spaceCurve('margin-bottom', 'tiny');\n }\n }\n\n &__image-wrapper {\n grid-area: image;\n background-color: $colorSecondary20;\n }\n\n &__image {\n position: relative;\n }\n\n &__info {\n grid-area: info;\n }\n\n &__heading,\n &__name,\n &__address,\n &__numbers,\n &__emails,\n &__pobox,\n &__availability-title {\n &:not(:empty):not(:last-child) {\n margin-bottom: space('xsmall');\n }\n }\n\n &__number,\n &__email {\n display: flex;\n align-items: center;\n }\n\n &__heading,\n &__name,\n &__availability-title {\n @include fontCurve('p1');\n margin: 0px;\n }\n\n &__heading,\n &__name.is-heading,\n &__availability-title {\n @include font('heavy');\n }\n\n &__availability {\n grid-area: availability;\n margin-top: space('xlarge');\n\n @include mq($from: medium) {\n margin-top: 0px;\n }\n }\n\n &__availability-list,\n &__availability-hour-list {\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n &__availability-list {\n @include spaceCurve('gap', 'tiny');\n display: grid;\n }\n\n &__availability-weekday {\n @include fontCurve('p2');\n }\n\n &__availability-hours {\n display: flex;\n flex-wrap: wrap;\n column-gap: space('xsmall');\n }\n\n &__availability-hours-separator {\n width: 1px;\n background-color: currentColor;\n flex-shrink: 0;\n }\n\n &__additional {\n @include spaceCurve('gap', 'regular');\n grid-area: additional;\n display: grid;\n\n &:not(:empty) {\n margin-top: space('medium');\n }\n }\n\n /* Has image */\n\n &--has-image &__image-wrapper {\n margin-bottom: space('medium');\n }\n\n &--has-image &__image {\n width: 64px;\n height: 64px;\n\n @include mq($from: small) {\n width: 80px;\n height: 80px;\n }\n\n @include mq($from: medium) {\n width: 100px;\n height: 100px;\n }\n\n @include mq($from: large) {\n width: 120px;\n height: 120px;\n }\n\n @include mq($from: ultra) {\n width: 140px;\n height: 140px;\n }\n }\n\n /* image position left */\n &--image-position-left &__image-wrapper {\n background-color: transparent;\n }\n}\n","import { Component, Element, Fragment, h, Host, Prop, Watch } from \"@stencil/core\";\n\nimport { ContactEmail, ContactNumber, StzhContactAvailabilityItem } from \"../../index\";\n\nimport { hasSlot } from \"../../utils/utils\";\n\nfunction formatTel(tel: string) {\n return tel.replace(/\\s/g, \"\");\n}\n\n/**\n * @slot main-heading - slot for main heading\n * @slot image - slot for image\n * @slot address - slot for address (alternative for `address` property or separate properties `street`, `streetInfo`, `postalCode` & `location`)\n * @slot pobox - slot for pobox (alternative for `pobox` property or separate properties `poboxHeading`, `poboxTitle`, `poboxPostalCode` & `poboxLocation`)\n * @slot slot for additional (e.g. accordion with contact form, map or datalist)\n */\n@Component({\n tag: \"stzh-contact\",\n styleUrl: \"stzh-contact.scss\",\n scoped: true,\n})\nexport class StzhContact {\n /** Type */\n @Prop() type: \"Organization\" | \"Person\" = \"Organization\";\n\n /** Main heading */\n @Prop() mainHeading: string;\n\n /** Main heading level */\n @Prop() mainHeadingLevel: \"1\" | \"2\" | \"3\" | \"4\" = \"2\";\n\n /** Heading */\n @Prop() heading: string;\n\n /** Heading level */\n @Prop() headingLevel: \"1\" | \"2\" | \"3\" | \"4\" = \"3\";\n\n /** Name */\n @Prop() name: string;\n\n /** Name heading level */\n @Prop() nameHeadingLevel: \"\" | \"1\" | \"2\" | \"3\" | \"4\" = \"\";\n\n /** Address (alternative for address slot or separate properties `street`, `streetInfo`, `postalCode` & `location`) */\n @Prop() address: string;\n\n /** Street */\n @Prop() street: string | string[];\n private _street: string[] = [];\n\n /** Additional street info */\n @Prop() streetInfo: string | string[];\n private _streetInfo: string[] = [];\n\n /** Postal code */\n @Prop() postalCode: string;\n\n /** Location / city */\n @Prop() location: string;\n\n /** Location / city */\n @Prop() imagePosition: \"left\" | \"top\" = \"top\";\n\n /**\n * Numbers\n * Array of objects that can include the attributes `type` = `tel`|`fax`, `label`, `number`\n * and optionally `analyticsId` for setting `s-object-id` to the link element\n * (for Adobe Analytics, default value is `label` and `number`).\n */\n @Prop() numbers: ContactNumber[] | string = [];\n private _numbers: ContactNumber[] = [];\n\n /**\n * Numbers\n * Array of objects that can include the attributes `label`, `number`, `text`, `href`\n * and optionally `analyticsId` for setting `s-object-id` to the link element\n * (for Adobe Analytics, default value is `label` and `text`).\n */\n @Prop() emails: ContactEmail[] | string = [];\n private _emails: ContactEmail[] = [];\n\n /** Pobox (alternative for pobox slot or separate properties `poboxHeading`, `poboxTitle`, `poboxPostalCode` & `poboxLocation`) */\n @Prop() pobox: string;\n\n /** Post office box heading */\n @Prop() poboxHeading: string;\n\n /** Post office box title */\n @Prop() poboxTitle: string;\n\n /** Post office box postal code */\n @Prop() poboxPostalCode: string;\n\n /** Post office box location / city */\n @Prop() poboxLocation: string;\n\n /** Availability title */\n @Prop() availabilityTitle: string;\n\n /** Availability title level */\n @Prop() availabilityTitleLevel: \"1\" | \"2\" | \"3\" | \"4\" = \"3\";\n\n /** Availability times */\n @Prop() availability: string | StzhContactAvailabilityItem[];\n private _availability: StzhContactAvailabilityItem[] = [];\n\n // private _availabilityDataItems: StzhDatalistItemEntry[] = [];\n\n @Watch(\"availability\")\n availabilityWatcher(newValue: string | StzhContactAvailabilityItem[]) {\n if (typeof newValue === \"string\") {\n this._availability = JSON.parse(newValue);\n } else {\n this._availability = newValue;\n }\n }\n\n @Watch(\"numbers\")\n numbersWatcher(newValue: ContactNumber[] | string) {\n if (typeof newValue === \"string\") {\n this._numbers = JSON.parse(newValue);\n } else {\n this._numbers = newValue;\n }\n }\n\n @Watch(\"emails\")\n emailsWatcher(newValue: ContactEmail[] | string) {\n if (typeof newValue === \"string\") {\n this._emails = JSON.parse(newValue);\n } else {\n this._emails = newValue;\n }\n }\n\n @Watch(\"street\")\n streetWatcher(newValue: string[] | string) {\n if (typeof newValue === \"string\") {\n try {\n this._street = JSON.parse(newValue);\n } catch (noArrayException) {\n this._street = [newValue];\n }\n } else if (newValue) {\n this._street = newValue;\n }\n }\n\n @Watch(\"streetInfo\")\n streetInfoWatcher(newValue: string[] | string) {\n if (typeof newValue === \"string\") {\n try {\n this._streetInfo = JSON.parse(newValue);\n } catch (noArrayException) {\n this._streetInfo = [newValue];\n }\n } else if (newValue) {\n this._streetInfo = newValue;\n }\n }\n\n @Element() element: HTMLStzhFigureElement;\n\n async componentWillLoad() {\n this.numbersWatcher(this.numbers);\n this.emailsWatcher(this.emails);\n this.availabilityWatcher(this.availability);\n this.streetWatcher(this.street);\n this.streetInfoWatcher(this.streetInfo);\n }\n\n render() {\n const hasImage = hasSlot(this.element, \"image\");\n const hasAddress = !!this.address || hasSlot(this.element, \"address\");\n const hasAddons = hasSlot(this.element, \"addons\");\n const hasLinks = hasSlot(this.element, \"links\");\n\n const classes = {\n \"stzh-contact\": true,\n \"stzh-contact--has-image\": hasImage,\n \"stzh-contact--has-address\": hasAddress,\n \"stzh-contact--has-addons\": hasAddons,\n \"stzh-contact--has-links\": hasLinks,\n [`stzh-contact--image-position-${this.imagePosition}`]: true,\n };\n\n const HeadingLevel = `h${this.headingLevel}`;\n const NameHeadingLevel = this.nameHeadingLevel ? `h${this.nameHeadingLevel}` : \"div\";\n const AvailabilityTitleElement = `h${this.availabilityTitleLevel}`;\n\n return (\n <Host image-position={this.imagePosition} has-availability={!!this.availability ? 'true' : 'false'}>\n <div class={classes} itemscope itemtype={`http://schema.org/${this.type}`}>\n <div\n class=\"stzh-contact__main-heading\"\n itemprop={\n (this.type === \"Organization\" && !this.heading) || (this.type === \"Person\" && !this.name) ? \"name\" : null\n }\n >\n {this.mainHeading ? (\n <stzh-heading level={this.mainHeadingLevel}>{this.mainHeading}</stzh-heading>\n ) : (\n <slot name=\"main-heading\"></slot>\n )}\n </div>\n\n <div class=\"stzh-contact__image-wrapper\">\n <div class=\"stzh-contact__image\">\n <slot name=\"image\"></slot>\n </div>\n </div>\n\n <div class=\"stzh-contact__info\">\n {this.heading && (\n <HeadingLevel\n class=\"stzh-contact__heading\"\n itemprop={this.type === \"Organization\" || !this.name ? \"name\" : null}\n innerHTML={this.heading}\n ></HeadingLevel>\n )}\n\n {this.name && (\n <NameHeadingLevel\n class={{\n \"stzh-contact__name\": true,\n \"is-heading\": this.nameHeadingLevel !== \"\",\n }}\n itemprop={this.type === \"Person\" ? \"name\" : null}\n >\n {this.name}\n </NameHeadingLevel>\n )}\n\n <div\n class=\"stzh-contact__address\"\n itemprop=\"address\"\n itemscope\n itemtype=\"http://schema.org/PostalAddress\"\n innerHTML={this.address}\n >\n {!this.address && (\n <Fragment>\n {this._street.length > 0 && (\n <div class=\"stzh-contact__street\" itemprop=\"streetAddress\">\n {this._street.map((street: string) => (\n <Fragment>\n {street}\n <br />\n </Fragment>\n ))}\n {this._streetInfo.length > 0 && (\n <Fragment>\n <br />{\" \"}\n {this._streetInfo.map((streetInfo: string) => (\n <Fragment>\n {streetInfo}\n <br />\n </Fragment>\n ))}\n </Fragment>\n )}\n </div>\n )}\n\n {this.postalCode && (\n <span class=\"stzh-contact__postal-code\" itemprop=\"postalCode\">\n {this.postalCode}&nbsp;\n </span>\n )}\n\n {this.location && (\n <span class=\"stzh-contact__locality\" itemprop=\"addressLocality\">\n {this.location}\n </span>\n )}\n\n <slot name=\"address\"></slot>\n </Fragment>\n )}\n </div>\n\n {this._numbers.length > 0 && (\n <div class=\"stzh-contact__numbers\">\n {this._numbers.map(number => (\n <div class=\"stzh-contact__number\">\n <span>{number.label}&nbsp;</span>\n <stzh-link\n size=\"inherit\"\n height=\"auto\"\n class=\"stzh-contact__number-link\"\n href={`${number.type}:${formatTel(number.number)}`}\n analyticsId={number.analyticsId || `${number.label} ${number.number}`}\n itemprop={number.type === \"fax\" ? \"faxNumber\" : \"telephone\"}\n >\n {number.number}\n </stzh-link>\n </div>\n ))}\n </div>\n )}\n\n {this._emails.length > 0 && (\n <div class=\"stzh-contact__emails\">\n {this._emails.map(email => (\n <div class=\"stzh-contact__email\">\n <span>{email.label}&nbsp;</span>\n {email.href ? (\n <stzh-link\n size=\"inherit\"\n height=\"auto\"\n class=\"stzh-container__email-link\"\n href={`mailto:${email.href}`}\n analyticsId={email.analyticsId || `${email.label} ${email.text}`}\n itemprop=\"email\"\n >\n {email.text}\n </stzh-link>\n ) : (\n <span class=\"stzh-container__email-link\" itemprop=\"email\">\n {email.text}\n </span>\n )}\n </div>\n ))}\n </div>\n )}\n\n <div class=\"stzh-contact__pobox\" innerHTML={this.pobox}>\n {!this.pobox && (\n <Fragment>\n {this.poboxHeading && <div class=\"stzh-contact__pobox-heading\">{this.poboxHeading}</div>}\n {this.poboxTitle && <div class=\"stzh-contact__pobox-title\">{this.poboxTitle}</div>}\n {this.poboxPostalCode && (\n <span class=\"stzh-contact__pobox-postal-code\">{this.poboxPostalCode}&nbsp;</span>\n )}\n {this.poboxLocation && <span class=\"stzh-contact__pobox-locality\">{this.poboxLocation}</span>}\n <slot name=\"pobox\"></slot>\n </Fragment>\n )}\n </div>\n </div>\n\n {this.availability && (\n <div class=\"stzh-contact__availability\">\n {this.availabilityTitle && (\n <AvailabilityTitleElement class=\"stzh-contact__availability-title\">\n {this.availabilityTitle}\n </AvailabilityTitleElement>\n )}\n\n {this._availability.length > 0 && (\n <ul class=\"stzh-contact__availability-list\">\n {this._availability.map(item => (\n <li class=\"stzh-contact__availability-list-item\">\n <div class=\"stzh-contact__availability-weekday\">{item.weekday}</div>\n {item.hours.length > 0 && (\n <div class=\"stzh-contact__availability-hours\">\n {item.hours.map((hour, index) => (\n <Fragment>\n <div class=\"stzh-contact__availability-hour\">{hour}</div>\n {index < item.hours.length - 1 && (\n <div class=\"stzh-contact__availability-hours-separator\"></div>\n )}\n </Fragment>\n ))}\n </div>\n )}\n </li>\n ))}\n </ul>\n )}\n </div>\n )}\n\n <div class=\"stzh-contact__additional\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"4HAAA,MAAMA,EAAiB,k9UCMvB,SAASC,EAAUC,GACjB,OAAOA,EAAIC,QAAQ,MAAO,GAC5B,C,MAcaC,EAAW,M,yBA2BdC,KAAAC,QAAoB,GAIpBD,KAAAE,YAAwB,GAkBxBF,KAAAG,SAA4B,GAS5BH,KAAAI,QAA0B,GAyB1BJ,KAAAK,cAA+C,G,UAjFb,e,iDAMQ,I,yCAMJ,I,0CAMS,G,4IAoBf,M,aAQI,G,YASF,G,oMAsBc,I,4BASxD,mBAAAC,CAAoBC,GAClB,UAAWA,IAAa,SAAU,CAChCP,KAAKK,cAAgBG,KAAKC,MAAMF,E,KAC3B,CACLP,KAAKK,cAAgBE,C,EAKzB,cAAAG,CAAeH,GACb,UAAWA,IAAa,SAAU,CAChCP,KAAKG,SAAWK,KAAKC,MAAMF,E,KACtB,CACLP,KAAKG,SAAWI,C,EAKpB,aAAAI,CAAcJ,GACZ,UAAWA,IAAa,SAAU,CAChCP,KAAKI,QAAUI,KAAKC,MAAMF,E,KACrB,CACLP,KAAKI,QAAUG,C,EAKnB,aAAAK,CAAcL,GACZ,UAAWA,IAAa,SAAU,CAChC,IACEP,KAAKC,QAAUO,KAAKC,MAAMF,E,CAC1B,MAAOM,GACPb,KAAKC,QAAU,CAACM,E,OAEb,GAAIA,EAAU,CACnBP,KAAKC,QAAUM,C,EAKnB,iBAAAO,CAAkBP,GAChB,UAAWA,IAAa,SAAU,CAChC,IACEP,KAAKE,YAAcM,KAAKC,MAAMF,E,CAC9B,MAAOM,GACPb,KAAKE,YAAc,CAACK,E,OAEjB,GAAIA,EAAU,CACnBP,KAAKE,YAAcK,C,EAMvB,uBAAMQ,GACJf,KAAKU,eAAeV,KAAKgB,SACzBhB,KAAKW,cAAcX,KAAKiB,QACxBjB,KAAKM,oBAAoBN,KAAKkB,cAC9BlB,KAAKY,cAAcZ,KAAKmB,QACxBnB,KAAKc,kBAAkBd,KAAKoB,W,CAG9B,MAAAC,GACE,MAAMC,EAAWC,EAAQvB,KAAKwB,QAAS,SACvC,MAAMC,IAAezB,KAAK0B,SAAWH,EAAQvB,KAAKwB,QAAS,WAC3D,MAAMG,EAAYJ,EAAQvB,KAAKwB,QAAS,UACxC,MAAMI,EAAWL,EAAQvB,KAAKwB,QAAS,SAEvC,MAAMK,EAAU,CACd,eAAgB,KAChB,0BAA2BP,EAC3B,4BAA6BG,EAC7B,2BAA4BE,EAC5B,0BAA2BC,EAC3B,CAAC,gCAAgC5B,KAAK8B,iBAAkB,MAG1D,MAAMC,EAAe,IAAI/B,KAAKgC,eAC9B,MAAMC,EAAmBjC,KAAKkC,iBAAmB,IAAIlC,KAAKkC,mBAAqB,MAC/E,MAAMC,EAA2B,IAAInC,KAAKoC,yBAE1C,OACEC,EAACC,EAAI,kBAAiBtC,KAAK8B,cAAa,qBAAsB9B,KAAKkB,aAAe,OAAS,SACzFmB,EAAA,OAAKE,MAAOV,EAASW,UAAS,KAACC,SAAU,qBAAqBzC,KAAK0C,QACjEL,EAAA,OACEE,MAAM,6BACNI,SACG3C,KAAK0C,OAAS,iBAAmB1C,KAAK4C,SAAa5C,KAAK0C,OAAS,WAAa1C,KAAK6C,KAAQ,OAAS,MAGtG7C,KAAK8C,YACJT,EAAA,gBAAcU,MAAO/C,KAAKgD,kBAAmBhD,KAAK8C,aAElDT,EAAA,QAAMQ,KAAK,kBAIfR,EAAA,OAAKE,MAAM,+BACTF,EAAA,OAAKE,MAAM,uBACTF,EAAA,QAAMQ,KAAK,YAIfR,EAAA,OAAKE,MAAM,sBACRvC,KAAK4C,SACJP,EAACN,EAAY,CACXQ,MAAM,wBACNI,SAAU3C,KAAK0C,OAAS,iBAAmB1C,KAAK6C,KAAO,OAAS,KAChEI,UAAWjD,KAAK4C,UAInB5C,KAAK6C,MACJR,EAACJ,EAAgB,CACfM,MAAO,CACL,qBAAsB,KACtB,aAAcvC,KAAKkC,mBAAqB,IAE1CS,SAAU3C,KAAK0C,OAAS,SAAW,OAAS,MAE3C1C,KAAK6C,MAIVR,EAAA,OACEE,MAAM,wBACNI,SAAS,UACTH,UAAS,KACTC,SAAS,kCACTQ,UAAWjD,KAAK0B,UAEd1B,KAAK0B,SACLW,EAACa,EAAQ,KACNlD,KAAKC,QAAQkD,OAAS,GACrBd,EAAA,OAAKE,MAAM,uBAAuBI,SAAS,iBACxC3C,KAAKC,QAAQmD,KAAKjC,GACjBkB,EAACa,EAAQ,KACN/B,EACDkB,EAAA,cAGHrC,KAAKE,YAAYiD,OAAS,GACzBd,EAACa,EAAQ,KACPb,EAAA,WAAO,IACNrC,KAAKE,YAAYkD,KAAKhC,GACrBiB,EAACa,EAAQ,KACN9B,EACDiB,EAAA,gBAQXrC,KAAKqD,YACJhB,EAAA,QAAME,MAAM,4BAA4BI,SAAS,cAC9C3C,KAAKqD,WAAU,KAInBrD,KAAKsD,UACJjB,EAAA,QAAME,MAAM,yBAAyBI,SAAS,mBAC3C3C,KAAKsD,UAIVjB,EAAA,QAAMQ,KAAK,cAKhB7C,KAAKG,SAASgD,OAAS,GACtBd,EAAA,OAAKE,MAAM,yBACRvC,KAAKG,SAASiD,KAAIG,GACjBlB,EAAA,OAAKE,MAAM,wBACTF,EAAA,YAAOkB,EAAOC,MAAK,KACnBnB,EAAA,aACEoB,KAAK,UACLC,OAAO,OACPnB,MAAM,4BACNoB,KAAM,GAAGJ,EAAOb,QAAQ9C,EAAU2D,EAAOA,UACzCK,YAAaL,EAAOK,aAAe,GAAGL,EAAOC,SAASD,EAAOA,SAC7DZ,SAAUY,EAAOb,OAAS,MAAQ,YAAc,aAE/Ca,EAAOA,YAOjBvD,KAAKI,QAAQ+C,OAAS,GACrBd,EAAA,OAAKE,MAAM,wBACRvC,KAAKI,QAAQgD,KAAIS,GAChBxB,EAAA,OAAKE,MAAM,uBACTF,EAAA,YAAOwB,EAAML,MAAK,KACjBK,EAAMF,KACLtB,EAAA,aACEoB,KAAK,UACLC,OAAO,OACPnB,MAAM,6BACNoB,KAAM,UAAUE,EAAMF,OACtBC,YAAaC,EAAMD,aAAe,GAAGC,EAAML,SAASK,EAAMC,OAC1DnB,SAAS,SAERkB,EAAMC,MAGTzB,EAAA,QAAME,MAAM,6BAA6BI,SAAS,SAC/CkB,EAAMC,UAQnBzB,EAAA,OAAKE,MAAM,sBAAsBU,UAAWjD,KAAK+D,QAC7C/D,KAAK+D,OACL1B,EAACa,EAAQ,KACNlD,KAAKgE,cAAgB3B,EAAA,OAAKE,MAAM,+BAA+BvC,KAAKgE,cACpEhE,KAAKiE,YAAc5B,EAAA,OAAKE,MAAM,6BAA6BvC,KAAKiE,YAChEjE,KAAKkE,iBACJ7B,EAAA,QAAME,MAAM,mCAAmCvC,KAAKkE,gBAAe,KAEpElE,KAAKmE,eAAiB9B,EAAA,QAAME,MAAM,gCAAgCvC,KAAKmE,eACxE9B,EAAA,QAAMQ,KAAK,aAMlB7C,KAAKkB,cACJmB,EAAA,OAAKE,MAAM,8BACRvC,KAAKoE,mBACJ/B,EAACF,EAAwB,CAACI,MAAM,oCAC7BvC,KAAKoE,mBAITpE,KAAKK,cAAc8C,OAAS,GAC3Bd,EAAA,MAAIE,MAAM,mCACPvC,KAAKK,cAAc+C,KAAIiB,GACtBhC,EAAA,MAAIE,MAAM,wCACRF,EAAA,OAAKE,MAAM,sCAAsC8B,EAAKC,SACrDD,EAAKE,MAAMpB,OAAS,GACnBd,EAAA,OAAKE,MAAM,oCACR8B,EAAKE,MAAMnB,KAAI,CAACoB,EAAMC,IACrBpC,EAACa,EAAQ,KACPb,EAAA,OAAKE,MAAM,mCAAmCiC,GAC7CC,EAAQJ,EAAKE,MAAMpB,OAAS,GAC3Bd,EAAA,OAAKE,MAAM,wDAajCF,EAAA,OAAKE,MAAM,4BACTF,EAAA,e"}
@@ -1,2 +1,2 @@
1
- import{r as t,c as e,h as a,F as s,a as i,g as r}from"./p-c7bfac7a.js";import{f as h}from"./p-6cc8241c.js";import{m as n,a as d,r as o}from"./p-10e2901a.js";import"./p-a6d4a8b1.js";const l=':host{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;}:host[hidden],:host[stzh-hidden]{display:none}:host::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}:host *,:host *::before,:host *::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)}:host .has-focus{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}:host .stzh-fylingfocus-focused{outline-style:none !important}:host .stzh-fylingfocus-focused::-moz-focus-inner{border:0 !important}:host{--teaser-list-width:30rem;--meta-grid-template-areas:"filters search";--results-grid-template-areas:"map list"}.stzh-geo-ref-data{position:fixed;top:0;right:0;bottom:0;left:0;z-index:899;flex-direction:column;transition:opacity ease 0.2s;background-color:var(--stzh-color-white);display:none;opacity:0;visibility:hidden;pointer-events:none;}.stzh-geo-ref-data--is-open{display:flex;opacity:1;visibility:visible;pointer-events:inherit}.stzh-geo-ref-data__header{display:none}@media screen and (min-width: 1260px){.stzh-geo-ref-data__header{display:inherit}}.stzh-geo-ref-data__content{overflow:hidden;height:100%}.stzh-geo-ref-data--content-padding{padding-left:1.25rem;padding-right:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-geo-ref-data--content-padding{padding-left:2rem}}@media screen and (min-width: 900px){.stzh-geo-ref-data--content-padding{padding-left:2.5rem}}@media screen and (min-width: 1260px){.stzh-geo-ref-data--content-padding{padding-left:2rem}}.stzh-geo-ref-data__heading{display:flex;align-items:center;background-color:var(--stzh-color-secondary20);padding-top:var(--stzh-space-medium);padding-bottom:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-geo-ref-data__heading{padding-top:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-geo-ref-data__heading{padding-top:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__heading{padding-top:var(--stzh-space-xxlarge)}}@media screen and (min-width: 600px){.stzh-geo-ref-data__heading{padding-bottom:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-geo-ref-data__heading{padding-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__heading{padding-bottom:var(--stzh-space-xxlarge)}}.stzh-geo-ref-data__meta-wrapper{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--stzh-space-large);padding-top:var(--stzh-space-xsmall);padding-bottom:var(--stzh-space-xsmall)}@media screen and (max-width: 1259px){.stzh-geo-ref-data__meta-wrapper{padding-top:var(--stzh-space-medium);padding-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 600px){.stzh-geo-ref-data__meta-wrapper{padding-top:var(--stzh-space-small)}}@media screen and (min-width: 900px){.stzh-geo-ref-data__meta-wrapper{padding-top:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__meta-wrapper{padding-top:var(--stzh-space-xlarge)}}@media screen and (min-width: 600px){.stzh-geo-ref-data__meta-wrapper{padding-bottom:var(--stzh-space-small)}}@media screen and (min-width: 900px){.stzh-geo-ref-data__meta-wrapper{padding-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__meta-wrapper{padding-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__meta-wrapper{display:grid;column-gap:var(--stzh-grid-gutter);grid-template-areas:var(--meta-grid-template-areas);grid-template-columns:1fr var(--teaser-list-width)}}@media screen and (min-width: 1260px) and (min-width: 600px){.stzh-geo-ref-data__meta-wrapper{column-gap:var(--stzh-grid-gutter-small)}}@media screen and (min-width: 1260px) and (min-width: 900px){.stzh-geo-ref-data__meta-wrapper{column-gap:var(--stzh-grid-gutter-medium)}}@media screen and (min-width: 1260px) and (min-width: 1260px){.stzh-geo-ref-data__meta-wrapper{column-gap:var(--stzh-grid-gutter-large)}}@media screen and (min-width: 1260px) and (min-width: 1600px){.stzh-geo-ref-data__meta-wrapper{column-gap:var(--stzh-grid-gutter-ultra)}}.stzh-geo-ref-data__filters{grid-area:filters;flex:none;margin-bottom:var(--stzh-space-xxsmall)}@media screen and (min-width: 1260px){.stzh-geo-ref-data__filters-toggle{display:none}}@media screen and (max-width: 899px){.stzh-geo-ref-data__filters-toggle stzh-chip{--icon-gap:0}}.stzh-geo-ref-data__list-search{display:none;padding-top:var(--stzh-space-medium);padding-bottom:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-geo-ref-data__list-search{padding-top:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-geo-ref-data__list-search{padding-top:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__list-search{padding-top:var(--stzh-space-xxlarge)}}@media screen and (min-width: 600px){.stzh-geo-ref-data__list-search{padding-bottom:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-geo-ref-data__list-search{padding-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__list-search{padding-bottom:var(--stzh-space-xxlarge)}}.stzh-geo-ref-data__filters-content{display:none}.stzh-geo-ref-data__filters-content--visible{padding:1.25rem}@media screen and (max-width: 1259px){.stzh-geo-ref-data__filters-content--visible{display:flex;gap:var(--stzh-space-xxlarge);position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--stzh-color-white);z-index:10;flex-direction:column;justify-content:space-between}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__filters-content{display:block}}.stzh-geo-ref-data__filters-apply-button{display:block}@media screen and (min-width: 1260px){.stzh-geo-ref-data__filters-apply-button{display:none}}.stzh-geo-ref-data__search{grid-area:search;width:100%}@media screen and (min-width: 1260px){.stzh-geo-ref-data__search{width:var(--teaser-list-width);padding-left:var(--stzh-space-medium);padding-right:var(--stzh-space-xsmall)}}.stzh-geo-ref-data__search input{font-size:var(--stzh-font-milli-font-size);line-height:var(--stzh-font-milli-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing)}.stzh-geo-ref-data__results-toggle{grid-area:resultstoggle;flex:none;margin-bottom:var(--stzh-space-xxsmall)}@media screen and (min-width: 1260px){.stzh-geo-ref-data__results-toggle{display:none}}.stzh-geo-ref-data__results-wrapper{height:100%}@media screen and (min-width: 1260px){.stzh-geo-ref-data__results-wrapper{display:grid;column-gap:var(--stzh-grid-gutter);grid-template-areas:var(--results-grid-template-areas);grid-template-columns:minmax(0, 1fr) var(--teaser-list-width)}}@media screen and (min-width: 1260px) and (min-width: 600px){.stzh-geo-ref-data__results-wrapper{column-gap:var(--stzh-grid-gutter-small)}}@media screen and (min-width: 1260px) and (min-width: 900px){.stzh-geo-ref-data__results-wrapper{column-gap:var(--stzh-grid-gutter-medium)}}@media screen and (min-width: 1260px) and (min-width: 1260px){.stzh-geo-ref-data__results-wrapper{column-gap:var(--stzh-grid-gutter-large)}}@media screen and (min-width: 1260px) and (min-width: 1600px){.stzh-geo-ref-data__results-wrapper{column-gap:var(--stzh-grid-gutter-ultra)}}@media screen and (max-width: 1259px){.stzh-geo-ref-data__results-wrapper .inactive{visibility:hidden;height:0;position:absolute;overflow:hidden}}.stzh-geo-ref-data__results-map{grid-area:map;position:relative;height:100%}.stzh-geo-ref-data__map-controls{position:absolute;top:var(--stzh-space-small);left:var(--stzh-space-small);background-color:var(--stzh-color-white);padding:var(--stzh-space-xsmall)}.stzh-geo-ref-data__results-list{grid-area:list;padding-left:1.25rem;padding-right:var(--stzh-space-medium);padding-bottom:var(--stzh-space-xxlarge);overflow:auto}.stzh-geo-ref-data__results-list::-webkit-scrollbar{position:absolute;z-index:9999999;width:0.5rem;background-color:transparent}.stzh-geo-ref-data__results-list::-webkit-scrollbar:horizontal{height:0.5rem}.stzh-geo-ref-data__results-list::-webkit-scrollbar-track{background-color:transparent}.stzh-geo-ref-data__results-list::-webkit-scrollbar-thumb{background-color:var(--stzh-color-secondary50)}.stzh-geo-ref-data__results-list::-webkit-scrollbar-thumb:active,.stzh-geo-ref-data__results-list ::-webkit-scrollbar-thumb:hover{background-color:var(--stzh-color-secondary50)}@media screen and (min-width: 600px){.stzh-geo-ref-data__results-list{padding-left:2rem}}@media screen and (min-width: 900px){.stzh-geo-ref-data__results-list{padding-left:2.5rem}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__results-list{width:var(--teaser-list-width);padding-left:0;overflow:auto}}.stzh-geo-ref-data__results-list-heading{margin-bottom:var(--stzh-space-medium)}.stzh-geo-ref-data__teaser-list{display:grid;gap:var(--stzh-space-medium);grid-template-columns:1fr}@media screen and (min-width: 600px){.stzh-geo-ref-data__teaser-list{grid-template-columns:1fr 1fr}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__teaser-list{grid-template-columns:1fr}}.stzh-geo-ref-data__teaser-load-more{display:flex;justify-content:center;margin-top:var(--stzh-space-medium)}@media screen and (min-width: 1260px){.stzh-geo-ref-data:not(.stzh-geo-ref-data--has-filters) .stzh-geo-ref-data__meta-wrapper{display:none}}.stzh-geo-ref-data:not(.stzh-geo-ref-data--has-filters) .stzh-geo-ref-data__filters{display:none}@media screen and (min-width: 1260px){.stzh-geo-ref-data:not(.stzh-geo-ref-data--has-filters) .stzh-geo-ref-data__list-search{display:block}}.stzh-poi-teaser{display:flex;flex-direction:column-reverse;background-color:var(--stzh-color-grey10);position:relative}@media screen and (min-width: 1260px){.stzh-poi-teaser{flex-direction:row;height:11.25rem}}.stzh-poi-teaser:hover{cursor:pointer;background-color:var(--stzh-color-secondary10)}.stzh-poi-teaser-content{padding:var(--stzh-space-medium);hyphens:auto;flex-grow:1}.stzh-poi-teaser-content stzh-heading{margin-bottom:var(--stzh-space-xsmall);hyphens:auto}.stzh-poi-teaser-content stzh-text{--color:var(--stzh-color-grey80)}.stzh-poi-teaser-link{position:absolute;top:0;right:0;bottom:0;left:0}.stzh-poi-teaser__image-wrapper{position:relative}.stzh-poi-teaser__ratio{display:flex;height:100%}.stzh-poi-teaser__image-inner-wrapper{background-color:var(--stzh-color-grey20);position:absolute;inset:0;height:100%}.stzh-poi-teaser__image-inner-wrapper img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.stzh-poi-teaser-list-item{display:flex;gap:var(--stzh-space-small);margin-top:var(--stzh-space-xxsmall)}.stzh-poi-teaser-list-item stzh-icon,.stzh-poi-teaser-list-item stzh-text{--color:var(--stzh-color-grey80)}';const c="stzh-overlay-open";const p=class{constructor(a){t(this,a);this.stzhOverlayCloseClick=e(this,"stzhOverlayCloseClick",7);this._availableTags=[];this.filterResults=[];this.handleFilterToggleClick=()=>{this.isFiltersContentOpen=true};this.handleApplyFilterClick=()=>{this.isFiltersContentOpen=false};this.handleOverlayCloseClick=()=>{document.body.classList.remove(c);this.isOpen=false;const t=new URLSearchParams(window.location.search);Array.from(t.keys()).forEach((e=>{if(e.startsWith("filters[")){t.delete(e)}}));t.delete("extent[0]");t.delete("extent[1]");t.delete("extent[2]");t.delete("extent[3]");t.delete("al");const e=`${window.location.pathname}?${t.toString()}`;history.replaceState(null,"",e);this.appliedFilters=[""]};this.handleResize=async()=>{if(this.metaWrapperElement){if(this.metaWrapperElement.clientHeight){this.mapElement.style.height=`calc(100% - ${this.metaWrapperElement.clientHeight}px)`;this.resultsListElement.style.height=`calc(100% - ${this.metaWrapperElement.clientHeight}px)`}else{this.mapElement.style.height=`100%`;this.resultsListElement.style.height=`100%`}const t=await this.mapElement.getMap();t.updateSize()}};this.mediaChangeHandler=()=>{this.isViewportLarge=n("large").matches;this.isViewportMedium=n("medium").matches};this.handleFilterChange=async t=>{let e=Array.isArray(t.detail.value)?t.detail.value:[t.detail.value];if(e.length===1&&e[0]===this._resetTag.value){this.appliedFilters=[]}else{try{e=e.filter((t=>t!==""))}catch(t){}this.appliedFilters=e}setTimeout((async()=>{await this.handleFilterResults()}))};this.handleExtentVisibilityChange=async t=>{this.showOnlyResultsForCurrentExtent=t.detail.checked;await this.setVisibleMarkers()};this.handleSearchChange=async t=>{if(t.detail.value!==""){if(!this.searchIndex){return}const e=this.searchIndex.search(t.detail.value);const a=e.flatMap((t=>t.result));this.searchResults=new Set(a);this.searchActive=true}else{this.searchActive=false}await this.combineFilterAndSearchResults()};this.toggleViewMode=()=>{if(this.viewmode==="map"){this.viewmode="list"}else{this.viewmode="map"}};this.al="";this.heading="";this.mapDataUrl="";this.poiDataUrl="";this.baseUrlOverride="https://www.stadt-zuerich.ch";this.availableTags=[];this.resetTag=undefined;this.searchIndexFields=["title","poiname","street","zip","description"];this.searchIndexIdField="poiid";this.filterActive=false;this.searchActive=false;this.showOnlyResultsForCurrentExtent=true;this.finalResults=[];this.finalResultsPaginatedList=[];this.finalResultsPaginationOffset=0;this.viewmode="map";this.isViewportLarge=undefined;this.isViewportMedium=undefined;this.isInitialized=undefined;this.isOpen=undefined;this.isLoading=undefined;this.numberOfItemsToLoad=20;this.canLoadMore=undefined;this.appliedFilters=[""];this.isFiltersContentOpen=false}availableTagsWatcher(t){if(!t){this._availableTags=[]}else if(typeof t==="string"){try{this._availableTags=JSON.parse(t)}catch(t){this._availableTags=[]}}else{this._availableTags=t}}resetTagWatcher(t){if(!t){this._resetTag=undefined}else if(typeof t==="string"){try{this._resetTag=JSON.parse(t)}catch(t){this._resetTag=undefined}}else{this._resetTag=t}}applyFiltersFromUrl(){const t=new URLSearchParams(window.location.search);const e=Array.from(t.entries()).filter((([t,e])=>t.startsWith("filters[")&&e==="true")).map((([t])=>t.slice(8,-1)));if(e.length){this.appliedFilters=e;this.updateUrlWithFilters();this.handleFilterChange({detail:{value:e}})}}async loadMapData(){if(!this.mapDataUrl){return[]}try{const t=await fetch(this.mapDataUrl);const e=await t.text();const a=(new DOMParser).parseFromString(e,"text/xml");return Array.from(a.querySelectorAll("featureMember")).map((t=>{var e,a;const s=(e=t.querySelector("pos"))===null||e===void 0?void 0:e.textContent;const i=(a=t.querySelector("poi_id"))===null||a===void 0?void 0:a.textContent;const[r,h]=(s===null||s===void 0?void 0:s.split(" "))||[];return{poiid:i,lat:r,lon:h}}))}catch(t){this.toastbarElement.toast("Es ist ein Fehler beim Beziehen der Kartendaten aufgetreten.",{type:"error"}).catch()}}async loadPoiData(){if(!this.poiDataUrl){return[]}try{const t=await fetch(this.poiDataUrl,{credentials:"include"});const e=await t.json();return e.items}catch(t){this.toastbarElement.toast("Beim Laden der POI-Daten ist ein Fehler aufgetreten.",{type:"error"}).catch()}}combineData(t,e){if(!t.length||!e.length){return[]}let a;let s;if(t.length<e.length){a=t;s=e}else{a=e;s=t}return a.map((t=>{const e=s.find((e=>e.poiid===t.poiid));return Object.assign(Object.assign({},t),e)})).sort(((t,e)=>{try{return t.title.localeCompare(e.title)}catch(t){return 1}}))}enhanceTags(t,e){return t.sort(((t,e)=>{try{t.label.localeCompare(e.label)}catch(t){return 1}})).map((t=>{const a=e.filter((e=>{try{return e.tags.includes(t.value)}catch(t){return false}})).length.toString();return Object.assign(Object.assign({},t),{counter:a,variant:"filter"})}))}buildSearchIndex(t){if(!t.length){return}this.searchIndex=new h.Document({tokenize:"forward",matcher:{"[äà]":"a","[öó]":"o","[üûúù]":"u","[éè]":"e"},document:{id:this.searchIndexIdField,index:this.searchIndexFields}});t.forEach((t=>{this.searchIndex.add(t)}))}async mapMovedPannedOrZoomed(){await this.setVisibleMarkers()}async setVisibleMarkers(){if(this.combinedData){const t=await this.mapElement.getVisibleMarkers();if(this.showOnlyResultsForCurrentExtent){this.finalResults=this.combinedData.filter((e=>t.find((t=>t.getId()===e.poiid))))}else{this.finalResults=this.combinedData}this.setEnhancedTags();await this.setPaginatedResults()}}async setPaginatedResults(){this.finalResultsPaginatedList=this.finalResults.slice(0,this.numberOfItemsToLoad);this.canLoadMore=this.finalResults.length>this.numberOfItemsToLoad}async checkDirectOpenViaUrl(){const t=new URLSearchParams(window.location.search);const e=t.get("al");if(e&&e===this.al){await this.initializeAndOpenMap()}}connectedCallback(){this.mediaChangeHandler();d(this.mediaChangeHandler);this.resizeObserver=new ResizeObserver(this.handleResize);this.resizeObserver.observe(this.element);this.availableTagsWatcher(this.availableTags);this.resetTagWatcher(this.resetTag);this.checkDirectOpenViaUrl()}disconnectedCallback(){o(this.mediaChangeHandler);if(this.resizeObserver){this.resizeObserver.disconnect()}}async initializeAndOpenMap(){document.body.classList.add(c);this.isLoading=true;this.isOpen=true;const t=new URLSearchParams(window.location.search);if(!t.has("al")){t.set("al",this.al);const e=`${window.location.pathname}?${t.toString()}`;history.replaceState(null,"",e)}try{this.combinedData=this.combineData(await this.loadMapData(),await this.loadPoiData());this.setEnhancedTags();this.applyFiltersFromUrl();this.buildSearchIndex(this.combinedData);this.finalResults=this.combinedData;await this.setVisibleMarkers();await this.combineFilterAndSearchResults();await this.handleResize();const t=new URLSearchParams(window.location.search);const e=[parseFloat(t.get("extent[0]")),parseFloat(t.get("extent[1]")),parseFloat(t.get("extent[2]")),parseFloat(t.get("extent[3]"))];if(!e.length||isNaN(e[0])||isNaN(e[1])||isNaN(e[2])||isNaN(e[3])){await this.mapElement.updateViewToFitMarkers()}await this.handleResize();this.isInitialized=true}catch(t){this.toastbarElement.toast("Beim Laden der Karte ist ein Fehler aufgetreten.",{type:"error"}).catch()}setTimeout((()=>{this.isLoading=false}),500)}updateUrlWithFilters(){const t=new URLSearchParams(window.location.search);Array.from(t.keys()).forEach((e=>{if(e.startsWith("filters[")){t.delete(e)}}));this.appliedFilters.forEach((e=>{t.set(`filters[${e}]`,"true")}));const e=`${window.location.pathname}?${t.toString()}`;history.replaceState(null,"",e)}setEnhancedTags(){this.enhancedTags=this.enhanceTags(this._availableTags,this.finalResults);const t=Object.assign(Object.assign({},this._resetTag),{counter:this.finalResults.length.toString()});if(this._resetTag){this.enhancedTags.unshift(t)}}async handleFilterResults(){if(this.appliedFilters.length!==0){this.filterResults=this.finalResults.filter((t=>t.tags&&t.tags.some((t=>this.appliedFilters.includes(t)))));this.filterActive=true}else{this.filterActive=false;this.filterResults=this.finalResults}this.updateUrlWithFilters();await this.combineFilterAndSearchResults()}async combineFilterAndSearchResults(){if(this.filterActive&&!this.searchActive){this.finalResults=this.filterResults}else if(!this.filterActive&&this.searchActive){this.finalResults=Array.from(this.searchResults).map((t=>this.combinedData.find((e=>e.poiid===t))))}else if(this.filterActive&&this.searchActive){this.finalResults=this.filterResults.filter((t=>this.searchResults.has(t.poiid)))}else{this.finalResults=this.combinedData}this.finalResultsPaginatedList=this.finalResults.slice(0,this.numberOfItemsToLoad);await this.replaceMapMarkers(this.finalResults)}loadMore(){this.finalResultsPaginationOffset++;const t=this.finalResults.slice(this.finalResultsPaginationOffset*this.numberOfItemsToLoad,this.finalResultsPaginationOffset*this.numberOfItemsToLoad+this.numberOfItemsToLoad);if(!t||!t.length||t.length<this.numberOfItemsToLoad){this.canLoadMore=false}this.finalResultsPaginatedList=this.finalResultsPaginatedList.concat(t)}async replaceMapMarkers(t){await this.mapElement.removeAllIconMarkers();t.filter((t=>!!t.lat&&!!t.lon)).forEach((t=>{this.mapElement.addIconMarker([parseFloat(t.lat),parseFloat(t.lon)],{id:t.poiid,title:t.title,text:t.description,data:t.data,imageUri:`${this.baseUrlOverride}${t.image}`,href:`${this.baseUrlOverride}${t.path}`}).catch()}));if(!this.showOnlyResultsForCurrentExtent){this.mapElement.updateViewToFitMarkers().catch()}}async handlePoiTeaserMouseEnter(t){const e=await this.mapElement.findMarkerById(t.poiid);if(e){await this.mapElement.setIconMarkerActive(e)}}async handlePoiTeaserMouseLeave(t){const e=await this.mapElement.findMarkerById(t.poiid);if(e){await this.mapElement.setIconMarkerInactive(e)}}render(){const t={"stzh-geo-ref-data":true,"stzh-geo-ref-data--is-loading":this.isLoading,"stzh-geo-ref-data--is-open":this.isOpen,"stzh-geo-ref-data--has-filters":this._availableTags.length>0};return a(i,null,a("stzh-toastbar",{ref:t=>this.toastbarElement=t}),a("div",{class:"stzh-geo-ref-data__trigger",onClick:()=>this.initializeAndOpenMap()},a("slot",{name:"trigger"})),a("stzh-overlay",{open:this.isLoading},a("stzh-loader",{label:"Daten werden geladen..."})),a("div",{class:t},a("div",{class:"stzh-geo-ref-data__header-wrapper"},a("stzh-header",{class:"stzh-geo-ref-data__header","hide-metabar":true,sticky:"disabled"},a("slot",{name:"logo",slot:"logo"})),a("div",{class:"stzh-geo-ref-data__heading stzh-geo-ref-data--content-padding"},a("stzh-heading",{class:"stzh-geo-ref-data__heading-heading",curve:"h2"},this.heading),a("stzh-button",{class:"stzh-geo-ref-data__overlay-close",icon:"close",iconOnly:true,size:"small",variant:"tertiary",onClick:this.handleOverlayCloseClick}))),a("div",{class:"stzh-geo-ref-data__content"},a("div",{class:"stzh-geo-ref-data__meta-wrapper stzh-geo-ref-data--content-padding",ref:t=>this.metaWrapperElement=t},a("div",{class:"stzh-geo-ref-data__filters"},this._availableTags.length>0&&a("div",{class:"stzh-geo-ref-data__filters-toggle"},a("stzh-chip",{label:this.isViewportMedium?"Filter":"",variant:"filter",icon:"filtering",onStzhClick:this.handleFilterToggleClick})),a("div",{class:{"stzh-geo-ref-data__filters-content":true,"stzh-geo-ref-data__filters-content--visible":!this.isViewportLarge&&this.isFiltersContentOpen}},a("stzh-chipselect",{"label-hidden":true,label:"Tags",data:this.enhancedTags,onStzhChange:this.handleFilterChange,multiple:true,defaultValue:this.appliedFilters,value:this.appliedFilters}),a("div",{class:"stzh-geo-ref-data__filters-apply-button"},a("stzh-button",{size:"small",fullwidth:true,onStzhClick:this.handleApplyFilterClick},"Anwenden")))),a("div",{class:"stzh-geo-ref-data__search"},a("stzh-input",{name:"stzh-datatable-search",onStzhChange:this.handleSearchChange,hideOptional:true,label:"Suche",type:"search"})),a("div",{class:"stzh-geo-ref-data__results-toggle"},a("stzh-chip",{onStzhClick:this.toggleViewMode,label:this.viewmode==="map"?"Liste":"Karte",icon:this.viewmode==="map"?"bulleted-list":"map",variant:"filter"}))),a("div",{class:"stzh-geo-ref-data__results-wrapper"},a("div",{class:`stzh-geo-ref-data__results-map ${this.viewmode==="map"?"active":"inactive"}`},a("stzh-olmap",{class:"stzh-geo-ref-data__ol-map",centerMarker:false,writeExtentToUrlEnabled:this.isOpen,ref:t=>this.mapElement=t}),a("div",{class:"stzh-geo-ref-data__map-controls"},a("stzh-checkbox",{label:"Treffer an Kartenausschnitt anpassen",checked:this.showOnlyResultsForCurrentExtent,hideOptional:true,onStzhChange:this.handleExtentVisibilityChange}))),a("div",{class:`stzh-geo-ref-data__results-list ${this.viewmode==="list"?"active":"inactive"}`,ref:t=>this.resultsListElement=t},this.finalResults&&a(s,null,a("div",{class:"stzh-geo-ref-data__list-search"},a("stzh-input",{name:"stzh-datatable-search",onStzhChange:this.handleSearchChange,hideOptional:true,label:"Suche",type:"search"})),a("stzh-text",{class:"stzh-geo-ref-data__results-list-heading"},this.finalResults.length," Treffer"),a("div",{class:"stzh-geo-ref-data__teaser-list"},this.finalResultsPaginatedList.map((t=>a("div",{class:"stzh-poi-teaser",onMouseEnter:()=>this.handlePoiTeaserMouseEnter(t),onMouseLeave:()=>this.handlePoiTeaserMouseLeave(t)},a("a",{class:"stzh-poi-teaser-link",href:this.baseUrlOverride+t.path}),a("div",{class:"stzh-poi-teaser-content"},a("stzh-heading",{curve:"lead"},t.poiname),t.description&&a("stzh-text",{size:"micro"},t.description),t.data&&t.data.length>0&&t.data.map((t=>a("div",{class:"stzh-poi-teaser-list-item"},a("stzh-icon",{name:t.icon}),a("stzh-text",{size:"micro"},t.text))))),t.image&&a("div",{class:"stzh-poi-teaser__image-wrapper"},a("stzh-ratio",{ratio:"2:1","ratio-large":"5:4","ratio-ultra":"1:1",portrait:this.isViewportLarge,class:"stzh-poi-teaser__ratio"}),a("div",{class:"stzh-poi-teaser__image-inner-wrapper"},a("img",{src:this.baseUrlOverride+t.image,alt:"Foto von "+t.poiname}))))))),this.canLoadMore&&a("div",{class:"stzh-geo-ref-data__teaser-load-more"},a("stzh-button",{onStzhClick:()=>this.loadMore()},"Weitere laden"))))))))}get element(){return r(this)}static get watchers(){return{availableTags:["availableTagsWatcher"],resetTag:["resetTagWatcher"]}}};p.style=l;export{p as stzh_geo_ref_data};
2
- //# sourceMappingURL=p-b25e8b20.entry.js.map
1
+ import{r as t,c as e,h as a,F as s,a as i,g as r}from"./p-c7bfac7a.js";import{f as h}from"./p-6cc8241c.js";import{m as n,a as d,r as o}from"./p-10e2901a.js";import"./p-a6d4a8b1.js";const l=':host{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;}:host[hidden],:host[stzh-hidden]{display:none}:host::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}:host *,:host *::before,:host *::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)}:host .has-focus{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}:host .stzh-fylingfocus-focused{outline-style:none !important}:host .stzh-fylingfocus-focused::-moz-focus-inner{border:0 !important}:host{--teaser-list-width:30rem;--meta-grid-template-areas:"filters search";--results-grid-template-areas:"map list"}.stzh-geo-ref-data{position:fixed;top:0;right:0;bottom:0;left:0;z-index:899;flex-direction:column;transition:opacity ease 0.2s;background-color:var(--stzh-color-white);display:none;opacity:0;visibility:hidden;pointer-events:none;}.stzh-geo-ref-data--is-open{display:flex;opacity:1;visibility:visible;pointer-events:inherit}.stzh-geo-ref-data__header{display:none}@media screen and (min-width: 1260px){.stzh-geo-ref-data__header{display:inherit}}.stzh-geo-ref-data__content{overflow:hidden;height:100%}.stzh-geo-ref-data--content-padding{padding-left:1.25rem;padding-right:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-geo-ref-data--content-padding{padding-left:2rem}}@media screen and (min-width: 900px){.stzh-geo-ref-data--content-padding{padding-left:2.5rem}}@media screen and (min-width: 1260px){.stzh-geo-ref-data--content-padding{padding-left:2rem}}.stzh-geo-ref-data__heading{display:flex;align-items:center;background-color:var(--stzh-color-secondary20);padding-top:var(--stzh-space-medium);padding-bottom:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-geo-ref-data__heading{padding-top:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-geo-ref-data__heading{padding-top:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__heading{padding-top:var(--stzh-space-xxlarge)}}@media screen and (min-width: 600px){.stzh-geo-ref-data__heading{padding-bottom:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-geo-ref-data__heading{padding-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__heading{padding-bottom:var(--stzh-space-xxlarge)}}.stzh-geo-ref-data__meta-wrapper{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--stzh-space-large);padding-top:var(--stzh-space-xsmall);padding-bottom:var(--stzh-space-xsmall)}@media screen and (max-width: 1259px){.stzh-geo-ref-data__meta-wrapper{padding-top:var(--stzh-space-medium);padding-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 600px){.stzh-geo-ref-data__meta-wrapper{padding-top:var(--stzh-space-small)}}@media screen and (min-width: 900px){.stzh-geo-ref-data__meta-wrapper{padding-top:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__meta-wrapper{padding-top:var(--stzh-space-xlarge)}}@media screen and (min-width: 600px){.stzh-geo-ref-data__meta-wrapper{padding-bottom:var(--stzh-space-small)}}@media screen and (min-width: 900px){.stzh-geo-ref-data__meta-wrapper{padding-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__meta-wrapper{padding-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__meta-wrapper{display:grid;column-gap:var(--stzh-grid-gutter);grid-template-areas:var(--meta-grid-template-areas);grid-template-columns:1fr var(--teaser-list-width)}}@media screen and (min-width: 1260px) and (min-width: 600px){.stzh-geo-ref-data__meta-wrapper{column-gap:var(--stzh-grid-gutter-small)}}@media screen and (min-width: 1260px) and (min-width: 900px){.stzh-geo-ref-data__meta-wrapper{column-gap:var(--stzh-grid-gutter-medium)}}@media screen and (min-width: 1260px) and (min-width: 1260px){.stzh-geo-ref-data__meta-wrapper{column-gap:var(--stzh-grid-gutter-large)}}@media screen and (min-width: 1260px) and (min-width: 1600px){.stzh-geo-ref-data__meta-wrapper{column-gap:var(--stzh-grid-gutter-ultra)}}.stzh-geo-ref-data__filters{grid-area:filters;flex:none;margin-bottom:var(--stzh-space-xxsmall)}@media screen and (min-width: 1260px){.stzh-geo-ref-data__filters-toggle{display:none}}@media screen and (max-width: 899px){.stzh-geo-ref-data__filters-toggle stzh-chip{--icon-gap:0}}.stzh-geo-ref-data__list-search{display:none;padding-top:var(--stzh-space-medium);padding-bottom:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-geo-ref-data__list-search{padding-top:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-geo-ref-data__list-search{padding-top:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__list-search{padding-top:var(--stzh-space-xxlarge)}}@media screen and (min-width: 600px){.stzh-geo-ref-data__list-search{padding-bottom:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-geo-ref-data__list-search{padding-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__list-search{padding-bottom:var(--stzh-space-xxlarge)}}.stzh-geo-ref-data__filters-content{display:none}.stzh-geo-ref-data__filters-content--visible{padding:1.25rem}@media screen and (max-width: 1259px){.stzh-geo-ref-data__filters-content--visible{display:flex;gap:var(--stzh-space-xxlarge);position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--stzh-color-white);z-index:10;flex-direction:column;justify-content:space-between}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__filters-content{display:block}}.stzh-geo-ref-data__filters-apply-button{display:block}@media screen and (min-width: 1260px){.stzh-geo-ref-data__filters-apply-button{display:none}}.stzh-geo-ref-data__search{grid-area:search;width:100%}@media screen and (min-width: 1260px){.stzh-geo-ref-data__search{width:var(--teaser-list-width);padding-left:var(--stzh-space-medium);padding-right:var(--stzh-space-xsmall)}}.stzh-geo-ref-data__search input{font-size:var(--stzh-font-milli-font-size);line-height:var(--stzh-font-milli-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing)}.stzh-geo-ref-data__results-toggle{grid-area:resultstoggle;flex:none;margin-bottom:var(--stzh-space-xxsmall)}@media screen and (min-width: 1260px){.stzh-geo-ref-data__results-toggle{display:none}}.stzh-geo-ref-data__results-wrapper{height:100%}@media screen and (min-width: 1260px){.stzh-geo-ref-data__results-wrapper{display:grid;column-gap:var(--stzh-grid-gutter);grid-template-areas:var(--results-grid-template-areas);grid-template-columns:minmax(0, 1fr) var(--teaser-list-width)}}@media screen and (min-width: 1260px) and (min-width: 600px){.stzh-geo-ref-data__results-wrapper{column-gap:var(--stzh-grid-gutter-small)}}@media screen and (min-width: 1260px) and (min-width: 900px){.stzh-geo-ref-data__results-wrapper{column-gap:var(--stzh-grid-gutter-medium)}}@media screen and (min-width: 1260px) and (min-width: 1260px){.stzh-geo-ref-data__results-wrapper{column-gap:var(--stzh-grid-gutter-large)}}@media screen and (min-width: 1260px) and (min-width: 1600px){.stzh-geo-ref-data__results-wrapper{column-gap:var(--stzh-grid-gutter-ultra)}}@media screen and (max-width: 1259px){.stzh-geo-ref-data__results-wrapper .inactive{visibility:hidden;height:0;position:absolute;overflow:hidden}}.stzh-geo-ref-data__results-map{grid-area:map;position:relative;height:100%}.stzh-geo-ref-data__map-controls{position:absolute;top:var(--stzh-space-small);left:var(--stzh-space-small);background-color:var(--stzh-color-white);padding:var(--stzh-space-xsmall)}.stzh-geo-ref-data__results-list{grid-area:list;padding-left:1.25rem;padding-right:var(--stzh-space-medium);padding-bottom:var(--stzh-space-xxlarge);overflow:auto}.stzh-geo-ref-data__results-list::-webkit-scrollbar{position:absolute;z-index:9999999;width:0.5rem;background-color:transparent}.stzh-geo-ref-data__results-list::-webkit-scrollbar:horizontal{height:0.5rem}.stzh-geo-ref-data__results-list::-webkit-scrollbar-track{background-color:transparent}.stzh-geo-ref-data__results-list::-webkit-scrollbar-thumb{background-color:var(--stzh-color-secondary50)}.stzh-geo-ref-data__results-list::-webkit-scrollbar-thumb:active,.stzh-geo-ref-data__results-list ::-webkit-scrollbar-thumb:hover{background-color:var(--stzh-color-secondary50)}@media screen and (min-width: 600px){.stzh-geo-ref-data__results-list{padding-left:2rem}}@media screen and (min-width: 900px){.stzh-geo-ref-data__results-list{padding-left:2.5rem}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__results-list{width:var(--teaser-list-width);padding-left:0;overflow:auto}}.stzh-geo-ref-data__results-list-heading{margin-bottom:var(--stzh-space-medium)}.stzh-geo-ref-data__teaser-list{display:grid;gap:var(--stzh-space-medium);grid-template-columns:1fr}@media screen and (min-width: 600px){.stzh-geo-ref-data__teaser-list{grid-template-columns:1fr 1fr}}@media screen and (min-width: 1260px){.stzh-geo-ref-data__teaser-list{grid-template-columns:1fr}}.stzh-geo-ref-data__teaser-load-more{display:flex;justify-content:center;margin-top:var(--stzh-space-medium)}@media screen and (min-width: 1260px){.stzh-geo-ref-data:not(.stzh-geo-ref-data--has-filters) .stzh-geo-ref-data__meta-wrapper{display:none}}.stzh-geo-ref-data:not(.stzh-geo-ref-data--has-filters) .stzh-geo-ref-data__filters{display:none}@media screen and (min-width: 1260px){.stzh-geo-ref-data:not(.stzh-geo-ref-data--has-filters) .stzh-geo-ref-data__list-search{display:block}}.stzh-poi-teaser{display:flex;flex-direction:column-reverse;background-color:var(--stzh-color-grey10);position:relative}@media screen and (min-width: 1260px){.stzh-poi-teaser{flex-direction:row;height:11.25rem}}.stzh-poi-teaser:hover{cursor:pointer;background-color:var(--stzh-color-secondary10)}.stzh-poi-teaser-content{padding:var(--stzh-space-medium);hyphens:auto;flex-grow:1}.stzh-poi-teaser-content stzh-heading{margin-bottom:var(--stzh-space-xsmall);hyphens:auto}.stzh-poi-teaser-content stzh-text{--color:var(--stzh-color-grey80)}.stzh-poi-teaser-link{position:absolute;top:0;right:0;bottom:0;left:0}.stzh-poi-teaser__image-wrapper{position:relative}.stzh-poi-teaser__ratio{display:flex;height:100%}.stzh-poi-teaser__image-inner-wrapper{background-color:var(--stzh-color-grey20);position:absolute;inset:0;height:100%}.stzh-poi-teaser__image-inner-wrapper img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.stzh-poi-teaser-list-item{display:flex;gap:var(--stzh-space-small);margin-top:var(--stzh-space-xxsmall)}.stzh-poi-teaser-list-item stzh-icon,.stzh-poi-teaser-list-item stzh-text{--color:var(--stzh-color-grey80)}';const c="stzh-overlay-open";const p=class{constructor(a){t(this,a);this.stzhOverlayCloseClick=e(this,"stzhOverlayCloseClick",7);this._availableTags=[];this.filterResults=[];this.handleFilterToggleClick=()=>{this.isFiltersContentOpen=true};this.handleApplyFilterClick=()=>{this.isFiltersContentOpen=false};this.handleOverlayCloseClick=()=>{document.body.classList.remove(c);this.isOpen=false;const t=new URLSearchParams(window.location.search);Array.from(t.keys()).forEach((e=>{if(e.startsWith("filters[")){t.delete(e)}}));t.delete("extent[0]");t.delete("extent[1]");t.delete("extent[2]");t.delete("extent[3]");t.delete("al");const e=`${window.location.pathname}?${t.toString()}`;history.replaceState(null,"",e);this.appliedFilters=[""]};this.handleResize=async()=>{if(this.metaWrapperElement){if(this.metaWrapperElement.clientHeight){this.mapElement.style.height=`calc(100% - ${this.metaWrapperElement.clientHeight}px)`;this.resultsListElement.style.height=`calc(100% - ${this.metaWrapperElement.clientHeight}px)`}else{this.mapElement.style.height=`100%`;this.resultsListElement.style.height=`100%`}const t=await this.mapElement.getMap();t.updateSize()}};this.mediaChangeHandler=()=>{this.isViewportLarge=n("large").matches;this.isViewportMedium=n("medium").matches};this.handleFilterChange=async t=>{let e=Array.isArray(t.detail.value)?t.detail.value:[t.detail.value];if(e.length===1&&e[0]===this._resetTag.value){this.appliedFilters=[]}else{try{e=e.filter((t=>t!==""))}catch(t){}this.appliedFilters=e}setTimeout((async()=>{await this.handleFilterResults()}))};this.handleExtentVisibilityChange=async t=>{this.showOnlyResultsForCurrentExtent=t.detail.checked;await this.setVisibleMarkers()};this.handleSearchChange=async t=>{if(t.detail.value!==""){if(!this.searchIndex){return}const e=this.searchIndex.search(t.detail.value);const a=e.flatMap((t=>t.result));this.searchResults=new Set(a);this.searchActive=true}else{this.searchActive=false}await this.combineFilterAndSearchResults()};this.toggleViewMode=()=>{if(this.viewmode==="map"){this.viewmode="list"}else{this.viewmode="map"}};this.al="";this.heading="";this.mapDataUrl="";this.poiDataUrl="";this.baseUrlOverride="https://www.stadt-zuerich.ch";this.availableTags=[];this.resetTag=undefined;this.searchIndexFields=["title","poiname","street","zip","description"];this.searchIndexIdField="poiid";this.filterActive=false;this.searchActive=false;this.showOnlyResultsForCurrentExtent=true;this.finalResults=[];this.finalResultsPaginatedList=[];this.finalResultsPaginationOffset=0;this.viewmode="map";this.isViewportLarge=undefined;this.isViewportMedium=undefined;this.isInitialized=undefined;this.isOpen=undefined;this.isLoading=undefined;this.numberOfItemsToLoad=20;this.canLoadMore=undefined;this.appliedFilters=[""];this.isFiltersContentOpen=false}availableTagsWatcher(t){if(!t){this._availableTags=[]}else if(typeof t==="string"){try{this._availableTags=JSON.parse(t)}catch(t){this._availableTags=[]}}else{this._availableTags=t}}resetTagWatcher(t){if(!t){this._resetTag=undefined}else if(typeof t==="string"){try{this._resetTag=JSON.parse(t)}catch(t){this._resetTag=undefined}}else{this._resetTag=t}}applyFiltersFromUrl(){const t=new URLSearchParams(window.location.search);const e=Array.from(t.entries()).filter((([t,e])=>t.startsWith("filters[")&&e==="true")).map((([t])=>t.slice(8,-1)));if(e.length){this.appliedFilters=e;this.updateUrlWithFilters();this.handleFilterChange({detail:{value:e}})}}async loadMapData(){if(!this.mapDataUrl){return[]}try{const t=await fetch(this.mapDataUrl);const e=await t.text();const a=(new DOMParser).parseFromString(e,"text/xml");return Array.from(a.querySelectorAll("featureMember")).map((t=>{var e,a;const s=(e=t.querySelector("pos"))===null||e===void 0?void 0:e.textContent;const i=(a=t.querySelector("poi_id"))===null||a===void 0?void 0:a.textContent;const[r,h]=(s===null||s===void 0?void 0:s.split(" "))||[];return{poiid:i,lat:r,lon:h}}))}catch(t){this.toastbarElement.toast("Es ist ein Fehler beim Beziehen der Kartendaten aufgetreten.",{type:"error"}).catch()}}async loadPoiData(){if(!this.poiDataUrl){return[]}try{const t=await fetch(this.poiDataUrl,{credentials:"include"});const e=await t.json();return e.items}catch(t){this.toastbarElement.toast("Beim Laden der POI-Daten ist ein Fehler aufgetreten.",{type:"error"}).catch()}}combineData(t,e){if(!t.length||!e.length){return[]}let a;let s;if(t.length<e.length){a=t;s=e}else{a=e;s=t}return a.map((t=>{const e=s.find((e=>e.poiid===t.poiid));return Object.assign(Object.assign({},t),e)})).sort(((t,e)=>{try{return t.title.localeCompare(e.title)}catch(t){return 1}}))}enhanceTags(t,e){return t.sort(((t,e)=>{try{t.label.localeCompare(e.label)}catch(t){return 1}})).map((t=>{const a=e.filter((e=>{try{return e.tags.includes(t.value)}catch(t){return false}})).length.toString();return Object.assign(Object.assign({},t),{counter:a,variant:"filter",size:"large"})}))}buildSearchIndex(t){if(!t.length){return}this.searchIndex=new h.Document({tokenize:"forward",matcher:{"[äà]":"a","[öó]":"o","[üûúù]":"u","[éè]":"e"},document:{id:this.searchIndexIdField,index:this.searchIndexFields}});t.forEach((t=>{this.searchIndex.add(t)}))}async mapMovedPannedOrZoomed(){await this.setVisibleMarkers()}async setVisibleMarkers(){if(this.combinedData){const t=await this.mapElement.getVisibleMarkers();if(this.showOnlyResultsForCurrentExtent){this.finalResults=this.combinedData.filter((e=>t.find((t=>t.getId()===e.poiid))))}else{this.finalResults=this.combinedData}this.setEnhancedTags();await this.setPaginatedResults()}}async setPaginatedResults(){this.finalResultsPaginatedList=this.finalResults.slice(0,this.numberOfItemsToLoad);this.canLoadMore=this.finalResults.length>this.numberOfItemsToLoad}async checkDirectOpenViaUrl(){const t=new URLSearchParams(window.location.search);const e=t.get("al");if(e&&e===this.al){await this.initializeAndOpenMap()}}connectedCallback(){this.mediaChangeHandler();d(this.mediaChangeHandler);this.resizeObserver=new ResizeObserver(this.handleResize);this.resizeObserver.observe(this.element);this.availableTagsWatcher(this.availableTags);this.resetTagWatcher(this.resetTag);this.checkDirectOpenViaUrl()}disconnectedCallback(){o(this.mediaChangeHandler);if(this.resizeObserver){this.resizeObserver.disconnect()}}async initializeAndOpenMap(){document.body.classList.add(c);this.isLoading=true;this.isOpen=true;const t=new URLSearchParams(window.location.search);if(!t.has("al")){t.set("al",this.al);const e=`${window.location.pathname}?${t.toString()}`;history.replaceState(null,"",e)}try{this.combinedData=this.combineData(await this.loadMapData(),await this.loadPoiData());this.setEnhancedTags();this.applyFiltersFromUrl();this.buildSearchIndex(this.combinedData);this.finalResults=this.combinedData;await this.setVisibleMarkers();await this.combineFilterAndSearchResults();await this.handleResize();const t=new URLSearchParams(window.location.search);const e=[parseFloat(t.get("extent[0]")),parseFloat(t.get("extent[1]")),parseFloat(t.get("extent[2]")),parseFloat(t.get("extent[3]"))];if(!e.length||isNaN(e[0])||isNaN(e[1])||isNaN(e[2])||isNaN(e[3])){await this.mapElement.updateViewToFitMarkers()}await this.handleResize();this.isInitialized=true}catch(t){this.toastbarElement.toast("Beim Laden der Karte ist ein Fehler aufgetreten.",{type:"error"}).catch()}setTimeout((()=>{this.isLoading=false}),500)}updateUrlWithFilters(){const t=new URLSearchParams(window.location.search);Array.from(t.keys()).forEach((e=>{if(e.startsWith("filters[")){t.delete(e)}}));this.appliedFilters.forEach((e=>{t.set(`filters[${e}]`,"true")}));const e=`${window.location.pathname}?${t.toString()}`;history.replaceState(null,"",e)}setEnhancedTags(){this.enhancedTags=this.enhanceTags(this._availableTags,this.finalResults);const t=Object.assign(Object.assign({},this._resetTag),{counter:this.finalResults.length.toString(),size:"large"});if(this._resetTag){this.enhancedTags.unshift(t)}}async handleFilterResults(){if(this.appliedFilters.length!==0){this.filterResults=this.finalResults.filter((t=>t.tags&&t.tags.some((t=>this.appliedFilters.includes(t)))));this.filterActive=true}else{this.filterActive=false;this.filterResults=this.finalResults}this.updateUrlWithFilters();await this.combineFilterAndSearchResults()}async combineFilterAndSearchResults(){if(this.filterActive&&!this.searchActive){this.finalResults=this.filterResults}else if(!this.filterActive&&this.searchActive){this.finalResults=Array.from(this.searchResults).map((t=>this.combinedData.find((e=>e.poiid===t))))}else if(this.filterActive&&this.searchActive){this.finalResults=this.filterResults.filter((t=>this.searchResults.has(t.poiid)))}else{this.finalResults=this.combinedData}this.finalResultsPaginatedList=this.finalResults.slice(0,this.numberOfItemsToLoad);await this.replaceMapMarkers(this.finalResults)}loadMore(){this.finalResultsPaginationOffset++;const t=this.finalResults.slice(this.finalResultsPaginationOffset*this.numberOfItemsToLoad,this.finalResultsPaginationOffset*this.numberOfItemsToLoad+this.numberOfItemsToLoad);if(!t||!t.length||t.length<this.numberOfItemsToLoad){this.canLoadMore=false}this.finalResultsPaginatedList=this.finalResultsPaginatedList.concat(t)}async replaceMapMarkers(t){await this.mapElement.removeAllIconMarkers();t.filter((t=>!!t.lat&&!!t.lon)).forEach((t=>{this.mapElement.addIconMarker([parseFloat(t.lat),parseFloat(t.lon)],{id:t.poiid,title:t.title,text:t.description,data:t.data,imageUri:`${this.baseUrlOverride}${t.image}`,href:`${this.baseUrlOverride}${t.path}`}).catch()}));if(!this.showOnlyResultsForCurrentExtent){this.mapElement.updateViewToFitMarkers().catch()}}async handlePoiTeaserMouseEnter(t){const e=await this.mapElement.findMarkerById(t.poiid);if(e){await this.mapElement.setIconMarkerActive(e)}}async handlePoiTeaserMouseLeave(t){const e=await this.mapElement.findMarkerById(t.poiid);if(e){await this.mapElement.setIconMarkerInactive(e)}}render(){const t={"stzh-geo-ref-data":true,"stzh-geo-ref-data--is-loading":this.isLoading,"stzh-geo-ref-data--is-open":this.isOpen,"stzh-geo-ref-data--has-filters":this._availableTags.length>0};return a(i,null,a("stzh-toastbar",{ref:t=>this.toastbarElement=t}),a("div",{class:"stzh-geo-ref-data__trigger",onClick:()=>this.initializeAndOpenMap()},a("slot",{name:"trigger"})),a("stzh-overlay",{open:this.isLoading},a("stzh-loader",{label:"Daten werden geladen..."})),a("div",{class:t},a("div",{class:"stzh-geo-ref-data__header-wrapper"},a("stzh-header",{class:"stzh-geo-ref-data__header","hide-metabar":true,sticky:"disabled"},a("slot",{name:"logo",slot:"logo"})),a("div",{class:"stzh-geo-ref-data__heading stzh-geo-ref-data--content-padding"},a("stzh-heading",{class:"stzh-geo-ref-data__heading-heading",curve:"h2"},this.heading),a("stzh-button",{class:"stzh-geo-ref-data__overlay-close",icon:"close",iconOnly:true,size:"small",variant:"tertiary",onClick:this.handleOverlayCloseClick}))),a("div",{class:"stzh-geo-ref-data__content"},a("div",{class:"stzh-geo-ref-data__meta-wrapper stzh-geo-ref-data--content-padding",ref:t=>this.metaWrapperElement=t},a("div",{class:"stzh-geo-ref-data__filters"},this._availableTags.length>0&&a("div",{class:"stzh-geo-ref-data__filters-toggle"},a("stzh-chip",{label:this.isViewportMedium?"Filter":"",variant:"filter",icon:"filtering",onStzhClick:this.handleFilterToggleClick})),a("div",{class:{"stzh-geo-ref-data__filters-content":true,"stzh-geo-ref-data__filters-content--visible":!this.isViewportLarge&&this.isFiltersContentOpen}},a("stzh-chipselect",{"label-hidden":true,label:"Tags",data:this.enhancedTags,onStzhChange:this.handleFilterChange,multiple:true,defaultValue:this.appliedFilters,value:this.appliedFilters}),a("div",{class:"stzh-geo-ref-data__filters-apply-button"},a("stzh-button",{size:"small",fullwidth:true,onStzhClick:this.handleApplyFilterClick},"Anwenden")))),a("div",{class:"stzh-geo-ref-data__search"},a("stzh-input",{name:"stzh-datatable-search",onStzhChange:this.handleSearchChange,hideOptional:true,label:"Suche",type:"search"})),a("div",{class:"stzh-geo-ref-data__results-toggle"},a("stzh-chip",{onStzhClick:this.toggleViewMode,label:this.viewmode==="map"?"Liste":"Karte",icon:this.viewmode==="map"?"bulleted-list":"map",variant:"filter"}))),a("div",{class:"stzh-geo-ref-data__results-wrapper"},a("div",{class:`stzh-geo-ref-data__results-map ${this.viewmode==="map"?"active":"inactive"}`},a("stzh-olmap",{class:"stzh-geo-ref-data__ol-map",centerMarker:false,writeExtentToUrlEnabled:this.isOpen,ref:t=>this.mapElement=t}),a("div",{class:"stzh-geo-ref-data__map-controls"},a("stzh-checkbox",{label:"Treffer an Kartenausschnitt anpassen",checked:this.showOnlyResultsForCurrentExtent,hideOptional:true,onStzhChange:this.handleExtentVisibilityChange}))),a("div",{class:`stzh-geo-ref-data__results-list ${this.viewmode==="list"?"active":"inactive"}`,ref:t=>this.resultsListElement=t},this.finalResults&&a(s,null,a("div",{class:"stzh-geo-ref-data__list-search"},a("stzh-input",{name:"stzh-datatable-search",onStzhChange:this.handleSearchChange,hideOptional:true,label:"Suche",type:"search"})),a("stzh-text",{class:"stzh-geo-ref-data__results-list-heading"},this.finalResults.length," Treffer"),a("div",{class:"stzh-geo-ref-data__teaser-list"},this.finalResultsPaginatedList.map((t=>a("div",{class:"stzh-poi-teaser",onMouseEnter:()=>this.handlePoiTeaserMouseEnter(t),onMouseLeave:()=>this.handlePoiTeaserMouseLeave(t)},a("a",{class:"stzh-poi-teaser-link",href:this.baseUrlOverride+t.path}),a("div",{class:"stzh-poi-teaser-content"},a("stzh-heading",{curve:"lead"},t.poiname),t.description&&a("stzh-text",{size:"micro"},t.description),t.data&&t.data.length>0&&t.data.map((t=>a("div",{class:"stzh-poi-teaser-list-item"},a("stzh-icon",{name:t.icon}),a("stzh-text",{size:"micro"},t.text))))),t.image&&a("div",{class:"stzh-poi-teaser__image-wrapper"},a("stzh-ratio",{ratio:"2:1","ratio-large":"5:4","ratio-ultra":"1:1",portrait:this.isViewportLarge,class:"stzh-poi-teaser__ratio"}),a("div",{class:"stzh-poi-teaser__image-inner-wrapper"},a("img",{src:this.baseUrlOverride+t.image,alt:"Foto von "+t.poiname}))))))),this.canLoadMore&&a("div",{class:"stzh-geo-ref-data__teaser-load-more"},a("stzh-button",{onStzhClick:()=>this.loadMore()},"Weitere laden"))))))))}get element(){return r(this)}static get watchers(){return{availableTags:["availableTagsWatcher"],resetTag:["resetTagWatcher"]}}};p.style=l;export{p as stzh_geo_ref_data};
2
+ //# sourceMappingURL=p-c83239a9.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stzhGeoRefDataCss","CLASS_BODY_OPEN","GeoRefData","this","_availableTags","filterResults","handleFilterToggleClick","isFiltersContentOpen","handleApplyFilterClick","handleOverlayCloseClick","document","body","classList","remove","isOpen","urlParams","URLSearchParams","window","location","search","Array","from","keys","forEach","key","startsWith","delete","newUrl","pathname","toString","history","replaceState","appliedFilters","handleResize","async","metaWrapperElement","clientHeight","mapElement","style","height","resultsListElement","map","getMap","updateSize","mediaChangeHandler","isViewportLarge","media","matches","isViewportMedium","handleFilterChange","e","filtersArray","isArray","detail","value","length","_resetTag","filter","filterValue","noEmptyFilter","setTimeout","handleFilterResults","handleExtentVisibilityChange","showOnlyResultsForCurrentExtent","checked","setVisibleMarkers","handleSearchChange","searchIndex","searchResults","flatSearchResults","flatMap","field","result","Set","searchActive","combineFilterAndSearchResults","toggleViewMode","viewmode","availableTagsWatcher","newValue","JSON","parse","resetTagWatcher","undefined","applyFiltersFromUrl","filters","entries","slice","updateUrlWithFilters","loadMapData","mapDataUrl","response","fetch","rawMapData","text","parsedData","DOMParser","parseFromString","querySelectorAll","item","pos","_a","querySelector","textContent","poiid","_b","lat","lon","split","error","toastbarElement","toast","type","catch","loadPoiData","poiDataUrl","credentials","poiData","json","items","combineData","firstArray","secondArray","smallerArray","largerArray","matchingItem","find","largerArrayItem","Object","assign","sort","a","b","title","localeCompare","noTitleException","enhanceTags","availableTags","combinedData","label","noLabelException","tag","counter","tags","includes","noTagsException","variant","size","buildSearchIndex","data","Document","tokenize","matcher","id","searchIndexIdField","index","searchIndexFields","add","mapMovedPannedOrZoomed","visibleMarkers","getVisibleMarkers","finalResults","visibleMarker","getId","setEnhancedTags","setPaginatedResults","finalResultsPaginatedList","numberOfItemsToLoad","canLoadMore","checkDirectOpenViaUrl","idFromUrl","get","al","initializeAndOpenMap","connectedCallback","addMediaChangeListener","resizeObserver","ResizeObserver","observe","element","resetTag","disconnectedCallback","removeMediaChangeListener","disconnect","isLoading","has","set","extent","parseFloat","isNaN","updateViewToFitMarkers","isInitialized","mapException","enhancedTags","enhancedResetTag","unshift","some","filterActive","replaceMapMarkers","loadMore","finalResultsPaginationOffset","sliced","concat","removeAllIconMarkers","addIconMarker","description","imageUri","baseUrlOverride","image","href","path","handlePoiTeaserMouseEnter","marker","findMarkerById","setIconMarkerActive","handlePoiTeaserMouseLeave","setIconMarkerInactive","render","classes","h","Host","ref","el","class","onClick","name","open","sticky","slot","curve","heading","icon","iconOnly","onStzhClick","onStzhChange","multiple","defaultValue","fullwidth","hideOptional","centerMarker","writeExtentToUrlEnabled","Fragment","onMouseEnter","onMouseLeave","poiname","ratio","portrait","src","alt"],"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"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as t,c as s,h as i,a as e,g as r}from"./p-c7bfac7a.js";import{a as o}from"./p-16892790.js";import{a as h}from"./p-9b063923.js";import{VBZ as a}from"./index.esm.js";const c=".sc-stzh-vbz-majorticker-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-vbz-majorticker-h,[stzh-hidden].sc-stzh-vbz-majorticker-h{display:none}.sc-stzh-vbz-majorticker-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-vbz-majorticker-h *.sc-stzh-vbz-majorticker,.sc-stzh-vbz-majorticker-h *.sc-stzh-vbz-majorticker::before,.sc-stzh-vbz-majorticker-h *.sc-stzh-vbz-majorticker::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-vbz-majorticker-h .has-focus.sc-stzh-vbz-majorticker{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-vbz-majorticker-h .stzh-fylingfocus-focused.sc-stzh-vbz-majorticker{outline-style:none !important}.sc-stzh-vbz-majorticker-h .stzh-fylingfocus-focused.sc-stzh-vbz-majorticker::-moz-focus-inner{border:0 !important}.stzh-vbz-majorticker__ghettobox.sc-stzh-vbz-majorticker{--stzh-base-invert-color:var(--stzh-color-black);--color:var(--stzh-color-black);--background-color:var(--stzh-color-coral)}";const n=class{constructor(i){t(this,i);this.stzhDisturbanceFetched=s(this,"stzhDisturbanceFetched",7);this.disturbance=null;this.onGhettoboxOpen=()=>{this.ghettoboxShown=true};this.onGhettoboxClose=()=>{this.ghettoboxShown=false};this.api="https://fpbe.zvv.ch/restproxy/himsearch?format=json&accessId=unic&channels=ticker&additionalfields=tickers:VBZ&orderBy=LMOD_DESC&lang={lang}";this.data="";this.moreInfoLink="https://zvv.ch/zvv/{lang}/fahrplan/vl.html?himIds={id}";this.dateAdapter=undefined;this.localization=undefined;this.showCloseKey=undefined;this.ghettoboxShown=true}async getGhettoboxShown(){return this.ghettoboxShown}async getDisturbance(){return this.disturbance}async apiWatcher(t){if(!t){return}let s=this.api.replace(/\{lang\}/,this.localization.$locale);s=s+(s.includes("?")?"&":"?")+Date.now();const{data:i}=await o.get(s);this.data=i}dateAdapterWatcher(t){if(!t){this.dateAdapter=window.stzhComponents.utils.createFormatParseAdapter(this.localization.$formats,this.localization.$globals)}}async dataWatcher(t){var s,i;if(typeof t==="string"){this._data=JSON.parse(t)}else{this._data=t}const e=(i=(s=this._data)===null||s===void 0?void 0:s.Message)===null||i===void 0?void 0:i.find((t=>t.category===a.DISTURBANCE_INFORMATION&&t.baseType===a.BASE_TYPE_GLOBAL));if(e){const t=e.channel.filter((t=>t.name===a.CHANNEL_TICKER&&t.url)).map((t=>t.url)).reduce(((t,s)=>t.concat(s)),[]);const s=t.find((t=>t.url.indexOf(a.CHANNEL_INFO_URL_FILTER)!==-1));this.disturbance={id:e.id,head:e.head,text:h(e.text),startDate:new Date(`${e.sDate}T${e.sTime}+02:00`),endDate:new Date(`${e.eDate}T${e.eTime}+02:00`),altStart:e.altStart,altEnd:e.altEnd,infoUrl:s}}this.stzhDisturbanceFetched.emit({component:"stzh-vbz-majorticker",disturbance:this.disturbance})}async componentWillLoad(){if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"vbz-majorticker")}this.dateAdapterWatcher(this.dateAdapter);if(this.data){await this.dataWatcher(this.data)}else{await this.apiWatcher(this.api)}}render(){const t={"stzh-vbz-majorticker":true};return i(e,{hidden:!this.disturbance||!this.ghettoboxShown},i("div",{class:t},this.disturbance&&i("stzh-show",{mikro:true,closeKey:this.showCloseKey,showFromDate:this.disturbance.startDate},i("stzh-ghettobox",{onStzhOpen:this.onGhettoboxOpen,onStzhClose:this.onGhettoboxClose,class:"stzh-vbz-majorticker__ghettobox",hideClose:true,mainTitle:this.disturbance.head},i("stzh-richtext",{innerHTML:this.disturbance.text}),this.disturbance.infoUrl?i("stzh-button",{slot:"button",href:this.disturbance.infoUrl.url},this.disturbance.infoUrl.name):i("stzh-button",{slot:"button",target:"_blank",href:this.moreInfoLink.replace(/\{lang\}/,this.localization.$locale).replace(/\{id\}/,this.disturbance.id)},this.localization.moreInfo)))))}get element(){return r(this)}static get watchers(){return{api:["apiWatcher"],dateAdapter:["dateAdapterWatcher"],data:["dataWatcher"]}}};n.style=c;export{n as stzh_vbz_majorticker};
2
- //# sourceMappingURL=p-6f0cf6e3.entry.js.map
1
+ import{r as t,c as s,h as i,a as e,g as r}from"./p-c7bfac7a.js";import{a as o}from"./p-345a1e99.js";import{a as h}from"./p-9b063923.js";import{VBZ as a}from"./index.esm.js";const c=".sc-stzh-vbz-majorticker-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-vbz-majorticker-h,[stzh-hidden].sc-stzh-vbz-majorticker-h{display:none}.sc-stzh-vbz-majorticker-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-vbz-majorticker-h *.sc-stzh-vbz-majorticker,.sc-stzh-vbz-majorticker-h *.sc-stzh-vbz-majorticker::before,.sc-stzh-vbz-majorticker-h *.sc-stzh-vbz-majorticker::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-vbz-majorticker-h .has-focus.sc-stzh-vbz-majorticker{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-vbz-majorticker-h .stzh-fylingfocus-focused.sc-stzh-vbz-majorticker{outline-style:none !important}.sc-stzh-vbz-majorticker-h .stzh-fylingfocus-focused.sc-stzh-vbz-majorticker::-moz-focus-inner{border:0 !important}.stzh-vbz-majorticker__ghettobox.sc-stzh-vbz-majorticker{--stzh-base-invert-color:var(--stzh-color-black);--color:var(--stzh-color-black);--background-color:var(--stzh-color-coral)}";const n=class{constructor(i){t(this,i);this.stzhDisturbanceFetched=s(this,"stzhDisturbanceFetched",7);this.disturbance=null;this.onGhettoboxOpen=()=>{this.ghettoboxShown=true};this.onGhettoboxClose=()=>{this.ghettoboxShown=false};this.api="https://fpbe.zvv.ch/restproxy/himsearch?format=json&accessId=unic&channels=ticker&additionalfields=tickers:VBZ&orderBy=LMOD_DESC&lang={lang}";this.data="";this.moreInfoLink="https://zvv.ch/zvv/{lang}/fahrplan/vl.html?himIds={id}";this.dateAdapter=undefined;this.localization=undefined;this.showCloseKey=undefined;this.ghettoboxShown=true}async getGhettoboxShown(){return this.ghettoboxShown}async getDisturbance(){return this.disturbance}async apiWatcher(t){if(!t){return}let s=this.api.replace(/\{lang\}/,this.localization.$locale);s=s+(s.includes("?")?"&":"?")+Date.now();const{data:i}=await o.get(s);this.data=i}dateAdapterWatcher(t){if(!t){this.dateAdapter=window.stzhComponents.utils.createFormatParseAdapter(this.localization.$formats,this.localization.$globals)}}async dataWatcher(t){var s,i;if(typeof t==="string"){this._data=JSON.parse(t)}else{this._data=t}const e=(i=(s=this._data)===null||s===void 0?void 0:s.Message)===null||i===void 0?void 0:i.find((t=>t.category===a.DISTURBANCE_INFORMATION&&t.baseType===a.BASE_TYPE_GLOBAL));if(e){const t=e.channel.filter((t=>t.name===a.CHANNEL_TICKER&&t.url)).map((t=>t.url)).reduce(((t,s)=>t.concat(s)),[]);const s=t.find((t=>t.url.indexOf(a.CHANNEL_INFO_URL_FILTER)!==-1));this.disturbance={id:e.id,head:e.head,text:h(e.text),startDate:new Date(`${e.sDate}T${e.sTime}+02:00`),endDate:new Date(`${e.eDate}T${e.eTime}+02:00`),altStart:e.altStart,altEnd:e.altEnd,infoUrl:s}}this.stzhDisturbanceFetched.emit({component:"stzh-vbz-majorticker",disturbance:this.disturbance})}async componentWillLoad(){if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"vbz-majorticker")}this.dateAdapterWatcher(this.dateAdapter);if(this.data){await this.dataWatcher(this.data)}else{await this.apiWatcher(this.api)}}render(){const t={"stzh-vbz-majorticker":true};return i(e,{hidden:!this.disturbance||!this.ghettoboxShown},i("div",{class:t},this.disturbance&&i("stzh-show",{mikro:true,closeKey:this.showCloseKey,showFromDate:this.disturbance.startDate},i("stzh-ghettobox",{onStzhOpen:this.onGhettoboxOpen,onStzhClose:this.onGhettoboxClose,class:"stzh-vbz-majorticker__ghettobox",hideClose:true,mainTitle:this.disturbance.head},i("stzh-richtext",{innerHTML:this.disturbance.text}),this.disturbance.infoUrl?i("stzh-button",{slot:"button",href:this.disturbance.infoUrl.url},this.disturbance.infoUrl.name):i("stzh-button",{slot:"button",target:"_blank",href:this.moreInfoLink.replace(/\{lang\}/,this.localization.$locale).replace(/\{id\}/,this.disturbance.id)},this.localization.moreInfo)))))}get element(){return r(this)}static get watchers(){return{api:["apiWatcher"],dateAdapter:["dateAdapterWatcher"],data:["dataWatcher"]}}};n.style=c;export{n as stzh_vbz_majorticker};
2
+ //# sourceMappingURL=p-d97fbf1f.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as s,f as t,h as e,a as i,g as r}from"./p-c7bfac7a.js";import{m as h,a,r as o}from"./p-10e2901a.js";const n=".sc-stzh-progressbar-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-progressbar-h,[stzh-hidden].sc-stzh-progressbar-h{display:none}.sc-stzh-progressbar-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-progressbar-h *.sc-stzh-progressbar,.sc-stzh-progressbar-h *.sc-stzh-progressbar::before,.sc-stzh-progressbar-h *.sc-stzh-progressbar::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-progressbar-h .has-focus.sc-stzh-progressbar{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-progressbar-h .stzh-fylingfocus-focused.sc-stzh-progressbar{outline-style:none !important}.sc-stzh-progressbar-h .stzh-fylingfocus-focused.sc-stzh-progressbar::-moz-focus-inner{border:0 !important}.sc-stzh-progressbar-h{min-width:calc(var(--steps) * 1.6875rem * 2)}@media screen and (min-width: 600px){.sc-stzh-progressbar-h{min-width:calc(var(--steps) * 1.9375rem * 2)}}.stzh-progressbar.sc-stzh-progressbar{position:relative;z-index:0;overflow:hidden}.stzh-progressbar__items.sc-stzh-progressbar{display:flex;flex-wrap:nowrap}.stzh-progressbar__item.sc-stzh-progressbar{flex-grow:1;flex-shrink:1;flex-basis:0}";const c=class{constructor(t){s(this,t);this.setCurrentSteps=()=>{if(h("ultra").matches&&this.stepsUltra){this.currentSteps=this.stepsUltra}else if(h("large").matches&&this.stepsLarge){this.currentSteps=this.stepsLarge}else if(h("medium").matches&&this.stepsMedium){this.currentSteps=this.stepsMedium}else if(h("small").matches&&this.stepsSmall){this.currentSteps=this.stepsSmall}else{this.currentSteps=this.steps}};this.localization=undefined;this.data=[];this.index=0;this.steps=5;this.stepsSmall=6;this.stepsMedium=0;this.stepsLarge=0;this.stepsUltra=0;this.clickDisabled=false;this.currentSteps=undefined}async getItemData(){return this._data.map(((s,t)=>Object.assign(Object.assign({},s),this.getItemAttributes(t))))}onIndexChange(){this.indexWatcher(this.index);this.setCurrentSteps();t(this.element)}indexWatcher(s){if(typeof s==="string"){this.index=JSON.parse(s)}else{this.index=s}}stepsWatcher(){this.setCurrentSteps()}dataWatcher(s){if(typeof s==="string"){this._data=JSON.parse(s)}else{this._data=s}this.lastItemIndex=this._data.length-1;this.maxStepIndex=this.currentSteps-1;this.withinLastFewSteps=this.index>=this._data.length-this.maxStepIndex}getItemAttributes(s){const t={};t.step=s+1;t.first=s===0;t.last=s===this.lastItemIndex;t.current=s===this.index;t.passed=s<this.index;const e=this._data[s];t.incomplete=e.incomplete;if(this._data.length>this.currentSteps){if(s===this.lastItemIndex&&!this.withinLastFewSteps){t.dotted=true}if(this.index<2){t.hide=s>this.maxStepIndex-1&&s<this.lastItemIndex}else{if(s===0){t.dotted=true}let e=this.index;if(this.withinLastFewSteps){e=this._data.length-this.maxStepIndex}t.hide=s>0&&s<e||s>this.index+(this.currentSteps-3)&&s<this.lastItemIndex}}return t}async componentWillLoad(){this.dataWatcher(this.data);this.indexWatcher(this.index);if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"progressbar")}}async componentShouldUpdate(){this.dataWatcher(this.data);this.indexWatcher(this.index)}async componentDidUpdate(){this.dataWatcher(this.data);this.indexWatcher(this.index)}connectedCallback(){this.setCurrentSteps();a(this.setCurrentSteps)}disconnectedCallback(){o(this.setCurrentSteps)}render(){const s={"stzh-progressbar":true,[`stzh-progressbar--index-${this.index}`]:!!this.index};return e(i,{style:{"--steps":this.currentSteps?this.currentSteps.toString():null}},e("div",{class:s},e("div",{class:"stzh-progressbar__items",role:"list","aria-label":this.localization.label},this._data.map(((s,t)=>e("stzh-progressbar-item",Object.assign({},this.getItemAttributes(t),{icon:s.icon,disabled:s.disabled,label:s.label,"click-disabled":s.clickDisabled!==undefined?s.clickDisabled:this.clickDisabled,class:"stzh-progressbar__item"})))),e("slot",null))))}get element(){return r(this)}static get watchers(){return{index:["onIndexChange"],steps:["stepsWatcher"],stepsSmall:["stepsWatcher"],stepsMedium:["stepsWatcher"],stepsLarge:["stepsWatcher"],stepsUltra:["stepsWatcher"],data:["dataWatcher"]}}};c.style=n;export{c as stzh_progressbar};
2
+ //# sourceMappingURL=p-fa4595c8.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stzhProgressbarCss","StzhProgressbar","this","setCurrentSteps","media","matches","stepsUltra","currentSteps","stepsLarge","stepsMedium","stepsSmall","steps","getItemData","_data","map","step","index","Object","assign","getItemAttributes","onIndexChange","indexWatcher","forceUpdate","element","newIndex","JSON","parse","stepsWatcher","dataWatcher","newValue","lastItemIndex","length","maxStepIndex","withinLastFewSteps","itemIndex","item","first","last","current","passed","stepItemFromData","incomplete","dotted","hide","substract","componentWillLoad","data","localization","window","stzhComponents","utils","fetchTranslations","componentShouldUpdate","componentDidUpdate","connectedCallback","addMediaChangeListener","disconnectedCallback","removeMediaChangeListener","render","classes","h","Host","style","toString","class","role","label","icon","disabled","clickDisabled","undefined"],"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"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r as s,c as t,h as e,F as i,a as h,g as c}from"./p-c7bfac7a.js";import{S as r}from"./p-fc692303.js";const l=".sc-stzh-chipselect-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-chipselect-h,[stzh-hidden].sc-stzh-chipselect-h{display:none}.sc-stzh-chipselect-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-chipselect-h *.sc-stzh-chipselect,.sc-stzh-chipselect-h *.sc-stzh-chipselect::before,.sc-stzh-chipselect-h *.sc-stzh-chipselect::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-chipselect-h .has-focus.sc-stzh-chipselect{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-chipselect-h .stzh-fylingfocus-focused.sc-stzh-chipselect{outline-style:none !important}.sc-stzh-chipselect-h .stzh-fylingfocus-focused.sc-stzh-chipselect::-moz-focus-inner{border:0 !important}[disabled].sc-stzh-chipselect-h:not([disabled=false]){--description-color:var(--stzh-color-grey70)}.stzh-chipselect__marker-symbol.sc-stzh-chipselect{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium)}.stzh-chipselect__marker-text.sc-stzh-chipselect{border:0;clip:rect(0 0 0 0);clip-path:inset(100%);width:0.0625rem;height:0.0625rem;overflow:hidden;padding:0;position:absolute}.stzh-chipselect__description-wrapper.sc-stzh-chipselect{display:flex;flex-direction:column-reverse;min-height:var(--description-min-height, var(--stzh-description-min-height, none))}.stzh-chipselect__error.sc-stzh-chipselect,.stzh-chipselect__description.sc-stzh-chipselect{font-size:var(--stzh-font-nano-font-size);line-height:var(--stzh-font-nano-text-line-height)}.stzh-chipselect__error.sc-stzh-chipselect{color:var(--stzh-color-error60)}.stzh-chipselect__error-list.sc-stzh-chipselect{list-style:none;margin:0;padding:0}.stzh-chipselect__description.sc-stzh-chipselect{display:flex;align-items:flex-start;color:var(--stzh-input-description-color, var(--description-color, var(--stzh-color-coolgrey70)));transition:color var(--stzh-base-transition-animation-speed)}.stzh-chipselect__description-long.sc-stzh-chipselect{margin-right:var(--stzh-space-xxsmall);margin-top:0.125rem}@supports (font: -apple-system-body) and (-webkit-appearance: none){.stzh-chipselect__description-long.sc-stzh-chipselect{margin-top:0}}.stzh-chipselect__description-long-popover.sc-stzh-chipselect{--width:auto;--max-width:27.3125rem}.stzh-chipselect__description-long-button.sc-stzh-chipselect{display:flex;justify-content:center;align-items:center;appearance:none;font-family:inherit;padding:0;border:none;background-color:transparent;border-radius:0.5rem;cursor:pointer}.stzh-chipselect.sc-stzh-chipselect stzh-icon.stzh-chipselect__description-long-icon.sc-stzh-chipselect{--size:var(--stzh-icon-size-xsmall)}.stzh-chipselect--has-error.sc-stzh-chipselect .stzh-chipselect__error.sc-stzh-chipselect,.stzh-chipselect--has-description.sc-stzh-chipselect .stzh-chipselect__description.sc-stzh-chipselect{margin-top:var(--stzh-space-xxxsmall)}.stzh-chipselect__label.sc-stzh-chipselect{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-micro-font-size);line-height:var(--stzh-font-micro-text-line-height);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:var(--stzh-heading-color);display:block;margin-bottom:var(--stzh-space-xsmall)}.stzh-chipselect__label.sc-stzh-chipselect:empty{display:none}.stzh-chipselect__marker.sc-stzh-chipselect{font-size:var(--stzh-font-nano-font-size);line-height:var(--stzh-font-nano-text-line-height);margin-left:calc(-0.25em + var(--stzh-space-xsmall))}.stzh-chipselect__chips.sc-stzh-chipselect{display:flex;align-items:center;flex-wrap:wrap;border-radius:var(--stzh-button-border-radius);gap:var(--stzh-space-medium)}.stzh-chipselect__chips.sc-stzh-chipselect:focus-within .is-focused[active].sc-stzh-chipselect{--background-color:var(--stzh-color-primary90)}@media (forced-colors: active), (-ms-high-contrast: active){.stzh-chipselect__chips.sc-stzh-chipselect:focus-within .is-focused[active].sc-stzh-chipselect{--background-color:Canvas}}.stzh-chipselect__chip.is-focused.sc-stzh-chipselect{--background-color:var(--stzh-color-secondary40)}@media (forced-colors: active), (-ms-high-contrast: active){.stzh-chipselect__chip.is-focused.sc-stzh-chipselect{--background-color:Highlight}}.stzh-chipselect--has-error.sc-stzh-chipselect .stzh-chipselect__error.sc-stzh-chipselect,.stzh-chipselect--has-description.sc-stzh-chipselect .stzh-chipselect__description.sc-stzh-chipselect{margin-top:var(--stzh-space-xsmall)}.stzh-chipselect--has-label-hidden.sc-stzh-chipselect .stzh-chipselect__label.sc-stzh-chipselect{border:0;clip:rect(0 0 0 0);clip-path:inset(100%);width:0.0625rem;height:0.0625rem;overflow:hidden;padding:0;position:absolute}.stzh-chipselect--is-disabled.sc-stzh-chipselect .stzh-chipselect__chips.sc-stzh-chipselect,.stzh-chipselect--is-disabled.sc-stzh-chipselect .stzh-chipselect__label.sc-stzh-chipselect{cursor:not-allowed}";let o=0;const n=class{constructor(e){s(this,e);this.stzhChange=t(this,"stzhChange",7);this._data=[];this._value=[];this.handleReset=async()=>{this.value=this.defaultValue};this.handleChipClick=async(s,t)=>{if(this.multiple){if(s.value===""&&this._value.length>0&&!(this._value.length===1&&this._value[0]==="")){this.value=[]}else if(s.value!==""){this.value=this._value.includes(s.value)?this._value.filter((t=>t!==s.value)):[...this._value,s.value]}}else{this.value=s.value}this.activeFocusOptionIndex=t;await this.waitForNextRender();this.stzhChange.emit({component:"stzh-chipselect",value:this.multiple?this._value:this._value[0]})};this.handleKeydown=s=>{let t=null;const e=this.activeFocusOptionIndex;if(s.key==="ArrowUp"||s.key==="ArrowLeft"){s.preventDefault();if(e>0){t=e-1}}else if(s.key==="ArrowDown"||s.key==="ArrowRight"){s.preventDefault();if(e<this._data.length-1){t=e+1}}else if(s.key===" "||s.key==="Enter"){s.preventDefault();if(this.multiple){if(this._data[e].value===""&&this._value.length>0&&!(this._value.length===1&&this._value[0]==="")){this.value=[]}else if(this._data[e].value!==""){this.value=this._value.includes(this._data[e].value)?this._value.filter((s=>s!==this._data[e].value)):[...this._value,this._data[e].value]}}else{this.value=this._data[e].value}this.stzhChange.emit({component:"stzh-chipselect",value:this.value})}if(t!==null){this.activeFocusOptionIndex=t}};this.localization=undefined;this.data=[];this.name=undefined;this.label="";this.labelHidden=false;this.multiple=false;this.value="";this.defaultValue="";this.description=undefined;this.descriptionLong=undefined;this.descriptionLongTitle=undefined;this.error=undefined;this.invalid=false;this.required=false;this.disabled=false;this.hideOptional=false;this.a11yDescribedby="";this.activeFocusOptionIndex=0}resetListener(s){if(s.target.contains(this.element)){requestAnimationFrame((()=>{this.handleReset()}))}}valueWatcher(s){if(typeof s==="string"){try{const t=JSON.parse(s);if(Array.isArray(t)){this._value=t}else{this._value=s?[s]:[]}}catch(t){this._value=s?[s]:[]}}else{this._value=s?s:[]}}dataWatcher(s){if(typeof s==="string"){this._data=JSON.parse(s)}else{this._data=s}this._data.map((s=>{if(typeof s.value!=="string"){throw new TypeError(`${s.value} is not a string. The data prop only accepts arrays (or stringified arrays), where the value property is a string. Consult the StzhChipselectItem type definition for more information.`)}}))}errorWatcher(s){if(typeof s==="string"){try{this._error=JSON.parse(s)}catch(t){if(s){this._error=[s]}else{this._error=[]}}}else if(s){this._error=s}else{this._error=[]}}waitForNextRender(){return new Promise((s=>this.renderPromiseResolve=s))}componentDidRender(){if(this.renderPromiseResolve){this.renderPromiseResolve()}}async componentWillLoad(){this.id=`stzh-chipselect-${o++}`;this.dataWatcher(this.data);this.errorWatcher(this.error);this.valueWatcher(this.value);this.defaultValue=this.defaultValue||this.value;if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"chipselect")}}render(){const s=!!this.description;const t=!!this.descriptionLong;const c=!!this.error;const l={"stzh-chipselect":true,"stzh-chipselect--has-description":s,"stzh-chipselect--has-description-long":t,"stzh-chipselect--has-error":c,"stzh-chipselect--is-invalid":this.invalid||c,"stzh-chipselect--is-disabled":this.disabled,"stzh-chipselect--is-required":this.required,"stzh-chipselect--has-label-hidden":this.labelHidden};return e(h,{"is-invalid":this.invalid||c},e("div",{class:l},this.multiple?e(i,null,this._value.map((s=>e("input",{type:"hidden",name:this.name,value:s})))):e("input",{type:"hidden",name:this.name,value:this.value}),e("label",{class:"stzh-chipselect__label",htmlFor:this.id},this.label?this.label:e("slot",null),!this.hideOptional&&e("span",{class:"stzh-chipselect__marker"},e("span",{class:"stzh-chipselect__marker-symbol","aria-hidden":"true"},this.required?this.localization.$globals.requiredFieldMarker:this.localization.$globals.optionalFieldMarker),e("span",{class:"stzh-chipselect__marker-text"},this.required?this.localization.$globals.requiredFieldText:this.localization.$globals.optionalFieldText))),this._data.length>0&&e(i,null,e("div",{id:this.id,class:"stzh-chipselect__chips",role:"listbox",tabindex:"0","aria-multiselectable":this.multiple?"true":"false","aria-activedescendant":`${this.id}-option-${this.activeFocusOptionIndex}`,"aria-describedby":`${this.id}-description ${this.a11yDescribedby}`,onKeyDown:this.handleKeydown},this._data.map(((s,t)=>e("stzh-chip",{role:"option",class:{"stzh-chipselect__chip":true,"is-focused":this.activeFocusOptionIndex===t},label:s.label,counter:s.counter,icon:s.icon,type:s.type,inverted:s.inverted,variant:s.variant,size:s.size||"small",disabled:this.disabled||s.disabled,active:this._value.includes(s.value)||!this.multiple&&!s.value&&(this._value.length===0||this._value[0]==="")||!s.value&&this.multiple&&(this._value.length===0||this._value.length===1&&this._value[0]===""),"aria-selected":this._value.includes(s.value)||!this.multiple&&!s.value&&(this._value.length===0||this._value[0]==="")||!s.value&&this.multiple&&(this._value.length===0||this._value.length===1&&this._value[0]==="")?"true":"false",id:`${this.id}-option-${t}`,a11yTabindex:"-1",onClick:()=>this.handleChipClick(s,t)})))),e(r,{classPrefix:"stzh-chipselect",id:`${this.id}-description`,error:this._error,description:this.description,descriptionLong:this.descriptionLong,descriptionLongTitle:this.descriptionLongTitle,descriptionLongUsed:t,moreInfoButtonLabel:this.localization.$globals.moreInfoButtonLabel}))))}get element(){return c(this)}static get watchers(){return{value:["valueWatcher"],data:["dataWatcher"],error:["errorWatcher"]}}};n.style=l;export{n as stzh_chipselect};
2
+ //# sourceMappingURL=p-fcc75797.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stzhChipselectCss","chipselectCounter","StzhChipselect","this","_data","_value","handleReset","async","value","defaultValue","handleChipClick","data","index","multiple","length","includes","filter","activeFocusOptionIndex","waitForNextRender","stzhChange","emit","component","handleKeydown","event","newActiveIndex","activeOptionIndex","key","preventDefault","resetListener","target","contains","element","requestAnimationFrame","valueWatcher","newValue","parsedValue","JSON","parse","Array","isArray","ex","dataWatcher","map","dataEntry","TypeError","errorWatcher","_error","e","Promise","resolve","renderPromiseResolve","componentDidRender","componentWillLoad","id","error","localization","window","stzhComponents","utils","fetchTranslations","render","descriptionUsed","description","descriptionLongUsed","descriptionLong","errorUsed","classes","invalid","disabled","required","labelHidden","h","Host","class","Fragment","type","name","htmlFor","label","hideOptional","$globals","requiredFieldMarker","optionalFieldMarker","requiredFieldText","optionalFieldText","role","tabindex","a11yDescribedby","onKeyDown","counter","icon","inverted","variant","size","active","a11yTabindex","onClick","StzhInputDescription","classPrefix","descriptionLongTitle","moreInfoButtonLabel"],"sources":["src/components/stzh-chipselect/stzh-chipselect.scss?tag=stzh-chipselect&encapsulation=scoped","src/components/stzh-chipselect/stzh-chipselect.tsx"],"sourcesContent":[":host {\n &[disabled]:not([disabled=\"false\"]) {\n --description-color: #{$formDisabledColor};\n }\n}\n\n.stzh-chipselect {\n @include input-description;\n\n &__label {\n @include font('heavy');\n @include fontSize('micro');\n @include truncate;\n color: $headingColor;\n display: block;\n margin-bottom: space('xsmall');\n\n &:empty {\n display: none;\n }\n }\n\n &__marker {\n @include fontSize('nano');\n margin-left: calc(-0.25em + #{space('xsmall')});\n }\n\n &__chips {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n border-radius: $buttonBorderRadius;\n gap: space('medium');\n\n &:focus-within {\n .is-focused[active] {\n --background-color: #{$colorPrimary90};\n\n @include highContrast() {\n --background-color: Canvas;\n }\n }\n }\n }\n\n &__chip {\n &.is-focused {\n --background-color: #{$colorSecondary40};\n\n @include highContrast() {\n --background-color: Highlight;\n }\n }\n }\n\n // &__dropdown {\n // @include mq($from: medium) {\n // display: none;\n // }\n // }\n\n // &__description-wrapper {\n // @include mq($to: medium) {\n // display: none;\n // }\n // }\n\n &--has-error &__error,\n &--has-description &__description {\n margin-top: space('xsmall');\n }\n\n /* Hidden label */\n\n &--has-label-hidden &__label {\n @include visuallyhidden;\n }\n\n /* Disabled */\n\n &--is-disabled &__chips,\n &--is-disabled &__label {\n cursor: not-allowed;\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Watch,\n Event,\n EventEmitter,\n State,\n Fragment,\n Listen,\n} from \"@stencil/core\";\n\nimport {\n StzhChipselectItem,\n StzhChipselectChangeEvent,\n // StzhDropdownChangeEvent\n} from \"../../index\";\n\nimport { StzhInputDescription } from \"../stzh-input/stzh-input-description\";\n\n// import { hasSlot } from \"../../utils/utils\";\nimport { StzhLocaleComponent } from \"../../index\";\n\nlet chipselectCounter = 0;\n\n/**\n * @slot - Slot for `stzh-checkbox` elements\n * @slot description - Slot for description\n * @slot description-long - Slot for long description (in popover)\n * @slot description-long-title - Slot for long description title (in popover) / instead of descriptionLongTitle or description property\n * @slot error - Slot for error\n */\n@Component({\n tag: \"stzh-chipselect\",\n styleUrl: \"stzh-chipselect.scss\",\n scoped: true\n})\nexport class StzhChipselect {\n /** Translation strings */\n @Prop() localization: StzhLocaleComponent;\n\n /** The list of chips */\n @Prop() data: string | StzhChipselectItem[] = [];\n private _data: StzhChipselectItem[] = [];\n // private _dataDropdown: any[] = [];\n\n /** The name of the input element */\n @Prop({ reflect: true }) name: string;\n\n /** Label */\n @Prop() label: string = \"\";\n\n /** Whether label is hidden. */\n @Prop() labelHidden: boolean = false;\n\n /** Multiple */\n @Prop({ mutable: true }) multiple: boolean = false;\n\n /** Value */\n @Prop({ mutable: true }) value: string | string[] = \"\";\n private _value: string[] = [];\n\n /** Default value (used by reset) */\n @Prop({ mutable: true }) defaultValue: string | string[] = \"\";\n\n /** Description message (use description slot as alternative) */\n @Prop() description: string;\n\n /** Long description message appearing in a popover (use description-long slot as alternative) */\n @Prop() descriptionLong: string;\n\n /** Long description title appearing in a popover (use description-long-title slot as or description property alternative) */\n @Prop() descriptionLongTitle: string;\n\n /** One or multiple error message (use error slot as alternative) */\n @Prop() error: string | string[];\n private _error: string[];\n\n /** Invalid status */\n @Prop({ reflect: true }) invalid: boolean = false;\n\n /** Required status */\n @Prop({ reflect: true }) required: boolean = false;\n\n /** Whether all chips are disabled or not */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Hide `(optional)` label (or use `required` inside form to hide it) */\n @Prop({ reflect: true }) hideOptional: boolean = false;\n\n /** Id for element which describes the input (this will be overwritten if description prop or slot is used, used by stzh-radiogroup) */\n @Prop({ attribute: \"a11y-describedby\" }) a11yDescribedby: string = \"\";\n\n @State() activeFocusOptionIndex: number = 0;\n\n @Element() element: HTMLStzhChipselectElement;\n\n /** Change event */\n @Event() stzhChange: EventEmitter<StzhChipselectChangeEvent>;\n\n @Listen(\"reset\", { target: \"document\" })\n resetListener(event: Event) {\n if ((event.target as HTMLElement).contains(this.element)) {\n requestAnimationFrame(() => {\n this.handleReset();\n });\n }\n }\n\n @Watch(\"value\")\n valueWatcher(newValue: string[] | string) {\n if (typeof newValue === \"string\") {\n try {\n const parsedValue = JSON.parse(newValue); // since parsing a number like string (i.e. \"1\") will return a number and parsing a boolean like string (i.e. \"true\") will return a boolean we need to check if the parsed value is indeed an array.\n if (Array.isArray(parsedValue)) {\n this._value = parsedValue;\n }\n else {\n this._value = newValue ? [newValue] : [];\n }\n } catch (ex) {\n this._value = newValue ? [newValue] : [];\n }\n } else {\n this._value = newValue ? newValue : [];\n }\n }\n\n @Watch(\"data\")\n dataWatcher(newValue: StzhChipselectItem[] | string) {\n if (typeof newValue === \"string\") {\n this._data = JSON.parse(newValue);\n } else {\n this._data = newValue;\n }\n\n this._data.map((dataEntry) => {\n if (typeof dataEntry.value !== \"string\"){\n throw new TypeError(`${dataEntry.value} is not a string. The data prop only accepts arrays (or stringified arrays), where the value property is a string. Consult the StzhChipselectItem type definition for more information.`);\n }\n });\n // this._dataDropdown = this._data.map((data) => {\n // return {\n // text: data.counter\n // ? `${data.label} (${data.counter})`\n // : data.label,\n // value: data.value\n // }\n // });\n }\n\n @Watch(\"error\")\n errorWatcher(newValue: string | string[]) {\n if (typeof newValue === \"string\") {\n try {\n this._error = JSON.parse(newValue);\n } catch (e) {\n if (newValue) {\n this._error = [newValue];\n } else {\n this._error = [];\n }\n }\n } else if (newValue) {\n this._error = newValue;\n } else {\n this._error = [];\n }\n }\n\n private id: string;\n private renderPromiseResolve: (value?: unknown) => void;\n\n private waitForNextRender() {\n return new Promise(resolve => this.renderPromiseResolve = resolve);\n }\n\n private handleReset = async () => {\n this.value = this.defaultValue;\n\n // this.stzhChange.emit({\n // component: \"stzh-chipselect\",\n // value: this.value\n // });\n }\n\n private handleChipClick = async (data: StzhChipselectItem, index: number) => {\n if (this.multiple) {\n if (data.value === \"\" && this._value.length > 0 && !(this._value.length === 1 && this._value[0] === \"\")) {\n this.value = [];\n } else if (data.value !== \"\") {\n this.value = this._value.includes(data.value)\n ? this._value.filter(value => value !== data.value)\n : [...this._value, data.value];\n }\n } else {\n this.value = data.value;\n }\n\n this.activeFocusOptionIndex = index;\n\n await this.waitForNextRender();\n\n this.stzhChange.emit({\n component: \"stzh-chipselect\",\n value: this.multiple ? this._value : this._value[0]\n });\n }\n\n // private handleDropdownChange = async (event: CustomEvent<StzhDropdownChangeEvent>) => {\n // this.value = Array.isArray(event.detail.value) ? event.detail.value[0] : event.detail.value;\n\n // this.activeFocusOptionIndex = this._data.findIndex(data => {\n // return data.value === this.value;\n // });\n\n // await this.waitForNextRender();\n\n // this.stzhChange.emit({\n // component: \"stzh-chipselect\",\n // value: this.value\n // })\n // }\n\n private handleKeydown = (event: KeyboardEvent) => {\n let newActiveIndex: number = null;\n const activeOptionIndex = this.activeFocusOptionIndex;\n\n if (event.key === \"ArrowUp\" || event.key === \"ArrowLeft\") {\n event.preventDefault();\n\n if (activeOptionIndex > 0) {\n newActiveIndex = activeOptionIndex - 1;\n }\n } else if (event.key === \"ArrowDown\" || event.key === \"ArrowRight\") {\n event.preventDefault();\n\n if (activeOptionIndex < this._data.length - 1) {\n newActiveIndex = activeOptionIndex + 1;\n }\n } else if (event.key === \" \" || event.key === \"Enter\") {\n event.preventDefault();\n if (this.multiple) {\n if (this._data[activeOptionIndex].value === \"\" && this._value.length > 0 && !(this._value.length === 1 && this._value[0] === \"\")) {\n this.value = [];\n } else if (this._data[activeOptionIndex].value !== \"\") {\n this.value = this._value.includes(this._data[activeOptionIndex].value)\n ? this._value.filter(value => value !== this._data[activeOptionIndex].value)\n : [...this._value, this._data[activeOptionIndex].value];\n }\n } else {\n this.value = this._data[activeOptionIndex].value; //HERE\n }\n this.stzhChange.emit({\n component: \"stzh-chipselect\",\n value: this.value\n });\n }\n\n if (newActiveIndex !== null) {\n this.activeFocusOptionIndex = newActiveIndex;\n }\n }\n\n componentDidRender() {\n if (this.renderPromiseResolve) {\n this.renderPromiseResolve();\n }\n }\n\n async componentWillLoad() {\n this.id = `stzh-chipselect-${chipselectCounter++}`;\n\n this.dataWatcher(this.data);\n this.errorWatcher(this.error);\n this.valueWatcher(this.value);\n\n this.defaultValue = this.defaultValue || this.value;\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"chipselect\");\n }\n }\n\n render() {\n const descriptionUsed = !!this.description;\n const descriptionLongUsed = !!this.descriptionLong;\n const errorUsed = !!this.error;\n\n const classes = {\n \"stzh-chipselect\": true,\n \"stzh-chipselect--has-description\": descriptionUsed,\n \"stzh-chipselect--has-description-long\": descriptionLongUsed,\n \"stzh-chipselect--has-error\": errorUsed,\n \"stzh-chipselect--is-invalid\": this.invalid || errorUsed,\n \"stzh-chipselect--is-disabled\": this.disabled,\n \"stzh-chipselect--is-required\": this.required,\n \"stzh-chipselect--has-label-hidden\": this.labelHidden,\n };\n\n return (\n <Host is-invalid={this.invalid || errorUsed}>\n <div class={classes}>\n {this.multiple\n ?\n <Fragment>\n {this._value.map((value) =>\n <input type=\"hidden\" name={this.name} value={value} />\n )}\n </Fragment>\n :\n <input\n type=\"hidden\"\n name={this.name}\n value={this.value}\n />\n }\n\n <label class=\"stzh-chipselect__label\" htmlFor={this.id}>\n {this.label ? this.label : <slot></slot>}\n {!this.hideOptional &&\n <span class=\"stzh-chipselect__marker\">\n <span class=\"stzh-chipselect__marker-symbol\" aria-hidden=\"true\">\n {this.required\n ? this.localization.$globals.requiredFieldMarker\n : this.localization.$globals.optionalFieldMarker\n }\n </span>\n <span class=\"stzh-chipselect__marker-text\">\n {this.required\n ? this.localization.$globals.requiredFieldText\n : this.localization.$globals.optionalFieldText\n }\n </span>\n </span>\n }\n </label>\n\n {this._data.length > 0 &&\n <Fragment>\n <div\n id={this.id}\n class=\"stzh-chipselect__chips\"\n role=\"listbox\"\n tabindex=\"0\"\n aria-multiselectable={this.multiple ? \"true\" : \"false\"}\n aria-activedescendant={`${this.id}-option-${this.activeFocusOptionIndex}`}\n aria-describedby={`${this.id}-description ${this.a11yDescribedby}`}\n onKeyDown={this.handleKeydown}\n >\n {this._data.map((data, index) => (\n <stzh-chip\n role=\"option\"\n class={{\n \"stzh-chipselect__chip\": true,\n \"is-focused\": this.activeFocusOptionIndex === index\n }}\n label={data.label}\n counter={data.counter}\n icon={data.icon}\n type={data.type}\n inverted={data.inverted}\n variant={data.variant}\n size={data.size || \"small\"}\n disabled={this.disabled || data.disabled}\n active={\n this._value.includes(data.value)\n || (!this.multiple && !data.value && (this._value.length === 0 || this._value[0] === \"\"))\n || (!data.value && this.multiple && (this._value.length === 0 || (this._value.length === 1 && this._value[0] === \"\")))\n }\n aria-selected={\n this._value.includes(data.value)\n || (!this.multiple && !data.value && (this._value.length === 0 || this._value[0] === \"\"))\n || (!data.value && this.multiple && (this._value.length === 0 || (this._value.length === 1 && this._value[0] === \"\")))\n ? \"true\" : \"false\"\n }\n id={`${this.id}-option-${index}`}\n a11yTabindex=\"-1\"\n onClick={() => this.handleChipClick(data, index)}\n ></stzh-chip>\n ))}\n </div>\n\n <StzhInputDescription\n classPrefix=\"stzh-chipselect\"\n id={`${this.id}-description`}\n error={this._error}\n description={this.description}\n descriptionLong={this.descriptionLong}\n descriptionLongTitle={this.descriptionLongTitle}\n descriptionLongUsed={descriptionLongUsed}\n moreInfoButtonLabel={this.localization.$globals.moreInfoButtonLabel}\n />\n\n {/* <stzh-dropdown\n class=\"stzh-chipselect__dropdown\"\n multiple={this.multiple}\n disabled={this.disabled}\n error={this._error}\n description={this.description}\n descriptionLong={this.descriptionLong}\n required={this.required}\n invalid={this.invalid}\n items={[this.value]}\n label={this.label}\n labelHidden={this.labelHidden}\n options={this._dataDropdown}\n hideOptional={this.hideOptional}\n onStzhChange={this.handleDropdownChange}\n ></stzh-dropdown> */}\n </Fragment>\n }\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}