@oiz/stzh-components 3.1.0 → 3.2.0-beta1

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 (673) hide show
  1. package/dist/cjs/{app-globals-0699ef40.js → app-globals-efe6d21d.js} +2 -2
  2. package/dist/cjs/{app-globals-0699ef40.js.map → app-globals-efe6d21d.js.map} +1 -1
  3. package/dist/cjs/index-92254d32.js +28 -16
  4. package/dist/cjs/index.cjs.js.map +1 -1
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/stzh-accordion_3.cjs.entry.js +24 -8
  7. package/dist/cjs/stzh-accordion_3.cjs.entry.js.map +1 -1
  8. package/dist/cjs/stzh-actions.cjs.entry.js +1 -1
  9. package/dist/cjs/stzh-anchornav.cjs.entry.js +4 -3
  10. package/dist/cjs/stzh-anchornav.cjs.entry.js.map +1 -1
  11. package/dist/cjs/stzh-app-bar.cjs.entry.js +48 -0
  12. package/dist/cjs/stzh-app-bar.cjs.entry.js.map +1 -0
  13. package/dist/cjs/stzh-appointments.cjs.entry.js +1 -1
  14. package/dist/cjs/stzh-audio.cjs.entry.js +1 -1
  15. package/dist/cjs/stzh-badge_3.cjs.entry.js +1 -1
  16. package/dist/cjs/stzh-card-navigation.cjs.entry.js +1 -1
  17. package/dist/cjs/stzh-card-searchresult.cjs.entry.js +1 -1
  18. package/dist/cjs/stzh-card-superteaser.cjs.entry.js +1 -1
  19. package/dist/cjs/stzh-card_2.cjs.entry.js +8 -2
  20. package/dist/cjs/stzh-card_2.cjs.entry.js.map +1 -1
  21. package/dist/cjs/stzh-carousel.cjs.entry.js +1 -1
  22. package/dist/cjs/stzh-checkbox.cjs.entry.js +1 -1
  23. package/dist/cjs/stzh-checkboxgroup.cjs.entry.js +1 -1
  24. package/dist/cjs/stzh-chip.cjs.entry.js +22 -32
  25. package/dist/cjs/stzh-chip.cjs.entry.js.map +1 -1
  26. package/dist/cjs/stzh-components.cjs.js +2 -2
  27. package/dist/cjs/stzh-contact-cv.cjs.entry.js +63 -0
  28. package/dist/cjs/stzh-contact-cv.cjs.entry.js.map +1 -0
  29. package/dist/cjs/stzh-contact.cjs.entry.js +5 -3
  30. package/dist/cjs/stzh-contact.cjs.entry.js.map +1 -1
  31. package/dist/cjs/stzh-container.cjs.entry.js +1 -1
  32. package/dist/cjs/stzh-container.cjs.entry.js.map +1 -1
  33. package/dist/cjs/stzh-cspace.cjs.entry.js +2 -2
  34. package/dist/cjs/stzh-cspace.cjs.entry.js.map +1 -1
  35. package/dist/cjs/stzh-cta.cjs.entry.js +1 -1
  36. package/dist/cjs/stzh-datatable.cjs.entry.js +1 -1
  37. package/dist/cjs/stzh-datepicker_3.cjs.entry.js +1 -1
  38. package/dist/cjs/stzh-datepicker_3.cjs.entry.js.map +1 -1
  39. package/dist/cjs/stzh-daterange.cjs.entry.js +1 -1
  40. package/dist/cjs/stzh-details.cjs.entry.js +1 -1
  41. package/dist/cjs/stzh-dialog.cjs.entry.js +1 -1
  42. package/dist/cjs/stzh-dialog.cjs.entry.js.map +1 -1
  43. package/dist/cjs/stzh-disturber.cjs.entry.js +1 -1
  44. package/dist/cjs/stzh-dropdown.cjs.entry.js +1 -1
  45. package/dist/cjs/stzh-eventinfo.cjs.entry.js +1 -1
  46. package/dist/cjs/stzh-figure.cjs.entry.js +1 -1
  47. package/dist/cjs/stzh-footer.cjs.entry.js +2 -2
  48. package/dist/cjs/stzh-footer.cjs.entry.js.map +1 -1
  49. package/dist/cjs/stzh-ghettobox_3.cjs.entry.js +27 -19
  50. package/dist/cjs/stzh-ghettobox_3.cjs.entry.js.map +1 -1
  51. package/dist/cjs/stzh-header.cjs.entry.js +2 -2
  52. package/dist/cjs/stzh-header.cjs.entry.js.map +1 -1
  53. package/dist/cjs/stzh-homepage-service-highlights.cjs.entry.js +1 -1
  54. package/dist/cjs/stzh-homepage-service-highlights.cjs.entry.js.map +1 -1
  55. package/dist/cjs/stzh-iframe.cjs.entry.js +2881 -24
  56. package/dist/cjs/stzh-iframe.cjs.entry.js.map +1 -1
  57. package/dist/cjs/stzh-input.cjs.entry.js +8 -4
  58. package/dist/cjs/stzh-input.cjs.entry.js.map +1 -1
  59. package/dist/cjs/stzh-link.cjs.entry.js +1 -1
  60. package/dist/cjs/{stzh-list.cjs.entry.js → stzh-list_2.cjs.entry.js} +20 -1
  61. package/dist/cjs/stzh-list_2.cjs.entry.js.map +1 -0
  62. package/dist/cjs/stzh-menu_2.cjs.entry.js +1 -1
  63. package/dist/cjs/stzh-pagecontent.cjs.entry.js +1 -1
  64. package/dist/cjs/stzh-pagetitle-hero.cjs.entry.js +1 -1
  65. package/dist/cjs/stzh-pagetitle-home.cjs.entry.js +2 -2
  66. package/dist/cjs/stzh-pagetitle-home.cjs.entry.js.map +1 -1
  67. package/dist/cjs/stzh-pagetitle.cjs.entry.js +2 -2
  68. package/dist/cjs/stzh-pagetitle.cjs.entry.js.map +1 -1
  69. package/dist/cjs/stzh-panorama.cjs.entry.js +1 -1
  70. package/dist/cjs/stzh-panorama.cjs.entry.js.map +1 -1
  71. package/dist/cjs/stzh-pi-content-navigation.cjs.entry.js +1 -1
  72. package/dist/cjs/stzh-pi-pagetitle.cjs.entry.js +1 -1
  73. package/dist/cjs/stzh-pi-teaser.cjs.entry.js +1 -1
  74. package/dist/cjs/stzh-popover_2.cjs.entry.js +90 -67
  75. package/dist/cjs/stzh-popover_2.cjs.entry.js.map +1 -1
  76. package/dist/cjs/stzh-print_2.cjs.entry.js +1 -1
  77. package/dist/cjs/stzh-ratio.cjs.entry.js +1 -1
  78. package/dist/cjs/stzh-ratio.cjs.entry.js.map +1 -1
  79. package/dist/cjs/stzh-readspeaker.cjs.entry.js +1 -1
  80. package/dist/cjs/stzh-scrollup.cjs.entry.js +6 -6
  81. package/dist/cjs/stzh-scrollup.cjs.entry.js.map +1 -1
  82. package/dist/cjs/stzh-search.cjs.entry.js +1 -1
  83. package/dist/cjs/stzh-section.cjs.entry.js +1 -1
  84. package/dist/cjs/stzh-section.cjs.entry.js.map +1 -1
  85. package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js +1 -1
  86. package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js.map +1 -1
  87. package/dist/cjs/stzh-sticky-actions.cjs.entry.js +9 -8
  88. package/dist/cjs/stzh-sticky-actions.cjs.entry.js.map +1 -1
  89. package/dist/cjs/stzh-sticky.cjs.entry.js +1 -1
  90. package/dist/cjs/stzh-table.cjs.entry.js +1 -1
  91. package/dist/cjs/stzh-textandimage.cjs.entry.js +1 -1
  92. package/dist/cjs/stzh-timeline-item.cjs.entry.js +1 -1
  93. package/dist/cjs/stzh-toast.cjs.entry.js +1 -1
  94. package/dist/cjs/stzh-toggle.cjs.entry.js +1 -1
  95. package/dist/cjs/stzh-tooltip.cjs.entry.js +2 -2
  96. package/dist/cjs/stzh-tooltip.cjs.entry.js.map +1 -1
  97. package/dist/cjs/stzh-twocolumns.cjs.entry.js +1 -1
  98. package/dist/cjs/stzh-upload.cjs.entry.js +3101 -7
  99. package/dist/cjs/stzh-upload.cjs.entry.js.map +1 -1
  100. package/dist/cjs/stzh-vbz-carousel.cjs.entry.js +1 -1
  101. package/dist/cjs/stzh-vbz-carousel.cjs.entry.js.map +1 -1
  102. package/dist/cjs/stzh-vbz-connection-finder.cjs.entry.js +25 -0
  103. package/dist/cjs/stzh-vbz-connection-finder.cjs.entry.js.map +1 -0
  104. package/dist/cjs/stzh-vbz-intro.cjs.entry.js +58 -0
  105. package/dist/cjs/stzh-vbz-intro.cjs.entry.js.map +1 -0
  106. package/dist/cjs/stzh-vbz-linechip.cjs.entry.js +1 -1
  107. package/dist/cjs/stzh-vbz-linechip.cjs.entry.js.map +1 -1
  108. package/dist/cjs/stzh-vbz-ticker.cjs.entry.js +33 -44
  109. package/dist/cjs/stzh-vbz-ticker.cjs.entry.js.map +1 -1
  110. package/dist/cjs/{utils-d0fff87f.js → utils-d091c010.js} +40 -9
  111. package/dist/cjs/utils-d091c010.js.map +1 -0
  112. package/dist/collection/assets/i18n/de.json +22 -7
  113. package/dist/collection/assets/i18n/en.json +22 -7
  114. package/dist/collection/assets/media/icons/mono/construction.svg +1 -1
  115. package/dist/collection/assets/media/icons/mono/crop.svg +1 -0
  116. package/dist/collection/assets/meta/icons-preview.html +6 -1
  117. package/dist/collection/assets/mock/appl/mobiscan/publicEndpoint/image/retreive-pdf +5 -0
  118. package/dist/collection/assets/mock/appl/mobiscan/publicEndpoint/ping +3 -0
  119. package/dist/collection/assets/mock/appl/mobiscan/publicEndpoint/url +3 -0
  120. package/dist/collection/assets/mock/appl/mobiscan/rs/auth +4 -0
  121. package/dist/collection/assets/mock/appl/mobiscan/rs/config +5 -0
  122. package/dist/collection/assets/vendors/iframe-resizer/iframeResizer.contentWindow.js +1311 -0
  123. package/dist/collection/collection-manifest.json +4 -0
  124. package/dist/collection/components/stzh-accordion/stzh-accordion.css +39 -0
  125. package/dist/collection/components/stzh-accordion/stzh-accordion.js +20 -0
  126. package/dist/collection/components/stzh-accordion/stzh-accordion.js.map +1 -1
  127. package/dist/collection/components/stzh-accordion-item/stzh-accordion-item.css +5 -0
  128. package/dist/collection/components/stzh-anchornav/stzh-anchornav.js +5 -4
  129. package/dist/collection/components/stzh-anchornav/stzh-anchornav.js.map +1 -1
  130. package/dist/collection/components/stzh-app-bar/stzh-app-bar.css +253 -0
  131. package/dist/collection/components/stzh-app-bar/stzh-app-bar.e2e.js +16 -0
  132. package/dist/collection/components/stzh-app-bar/stzh-app-bar.e2e.js.map +1 -0
  133. package/dist/collection/components/stzh-app-bar/stzh-app-bar.js +54 -0
  134. package/dist/collection/components/stzh-app-bar/stzh-app-bar.js.map +1 -0
  135. package/dist/collection/components/stzh-app-bar/stzh-app-bar.stories.js +45 -0
  136. package/dist/collection/components/stzh-cardlist/stzh-cardlist.css +5 -0
  137. package/dist/collection/components/stzh-cardlist/stzh-cardlist.js +9 -2
  138. package/dist/collection/components/stzh-cardlist/stzh-cardlist.js.map +1 -1
  139. package/dist/collection/components/stzh-chip/stzh-chip.js +23 -33
  140. package/dist/collection/components/stzh-chip/stzh-chip.js.map +1 -1
  141. package/dist/collection/components/stzh-contact/stzh-contact.css +47 -15
  142. package/dist/collection/components/stzh-contact/stzh-contact.js +21 -1
  143. package/dist/collection/components/stzh-contact/stzh-contact.js.map +1 -1
  144. package/dist/collection/components/stzh-contact/stzh-contact.stories.js +68 -49
  145. package/dist/collection/components/stzh-contact-cv/stzh-contact-cv.css +196 -0
  146. package/dist/collection/components/stzh-contact-cv/stzh-contact-cv.e2e.js +16 -0
  147. package/dist/collection/components/stzh-contact-cv/stzh-contact-cv.e2e.js.map +1 -0
  148. package/dist/collection/components/stzh-contact-cv/stzh-contact-cv.js +163 -0
  149. package/dist/collection/components/stzh-contact-cv/stzh-contact-cv.js.map +1 -0
  150. package/dist/collection/components/stzh-contact-cv/stzh-contact-cv.localization.js +2 -0
  151. package/dist/collection/components/stzh-contact-cv/stzh-contact-cv.localization.js.map +1 -0
  152. package/dist/collection/components/stzh-contact-cv/stzh-contact-cv.stories.js +52 -0
  153. package/dist/collection/components/stzh-container/stzh-container.css +2 -1
  154. package/dist/collection/components/stzh-cspace/stzh-cspace.css +53 -0
  155. package/dist/collection/components/stzh-datepicker/stzh-datepicker.js +1 -1
  156. package/dist/collection/components/stzh-datepicker/stzh-datepicker.js.map +1 -1
  157. package/dist/collection/components/stzh-footer/stzh-footer.css +10 -2
  158. package/dist/collection/components/stzh-header/stzh-header.css +19 -3
  159. package/dist/collection/components/stzh-homepage-service-highlights/stzh-homepage-service-highlights.css +14 -3
  160. package/dist/collection/components/stzh-homepage-service-highlights/stzh-homepage-service-highlights.stories.js +1 -1
  161. package/dist/collection/components/stzh-iframe/stzh-iframe.css +8 -1
  162. package/dist/collection/components/stzh-iframe/stzh-iframe.js +139 -26
  163. package/dist/collection/components/stzh-iframe/stzh-iframe.js.map +1 -1
  164. package/dist/collection/components/stzh-iframe/stzh-iframe.stories.js +30 -11
  165. package/dist/collection/components/stzh-input/stzh-input.css +1 -1
  166. package/dist/collection/components/stzh-input/stzh-input.js +8 -3
  167. package/dist/collection/components/stzh-input/stzh-input.js.map +1 -1
  168. package/dist/collection/components/stzh-pagetitle/stzh-pagetitle.css +2 -1
  169. package/dist/collection/components/stzh-pagetitle-home/stzh-pagetitle-home.css +19 -0
  170. package/dist/collection/components/stzh-pagination/stzh-pagination.css +11 -1
  171. package/dist/collection/components/stzh-pagination/stzh-pagination.js +43 -6
  172. package/dist/collection/components/stzh-pagination/stzh-pagination.js.map +1 -1
  173. package/dist/collection/components/stzh-panorama/stzh-panorama.js +1 -1
  174. package/dist/collection/components/stzh-panorama/stzh-panorama.js.map +1 -1
  175. package/dist/collection/components/stzh-popover/stzh-popover.js +101 -75
  176. package/dist/collection/components/stzh-popover/stzh-popover.js.map +1 -1
  177. package/dist/collection/components/stzh-ratio/stzh-ratio.css +6 -0
  178. package/dist/collection/components/stzh-richtext/stzh-richtext.js +28 -20
  179. package/dist/collection/components/stzh-richtext/stzh-richtext.js.map +1 -1
  180. package/dist/collection/components/stzh-richtext/stzh-richtext.stories.js +15 -6
  181. package/dist/collection/components/stzh-scrollup/stzh-scrollup.js +6 -6
  182. package/dist/collection/components/stzh-scrollup/stzh-scrollup.js.map +1 -1
  183. package/dist/collection/components/stzh-section/stzh-section.css +134 -1
  184. package/dist/collection/components/stzh-section/stzh-section.js +2 -2
  185. package/dist/collection/components/stzh-section/stzh-section.js.map +1 -1
  186. package/dist/collection/components/stzh-skin-portal-mitwirken/stzh-skin-portal-mitwirken.css +206 -22
  187. package/dist/collection/components/stzh-sticky-actions/stzh-sticky-actions.css +4 -0
  188. package/dist/collection/components/stzh-sticky-actions/stzh-sticky-actions.js +11 -9
  189. package/dist/collection/components/stzh-sticky-actions/stzh-sticky-actions.js.map +1 -1
  190. package/dist/collection/components/stzh-tooltip/stzh-tooltip.css +8 -4
  191. package/dist/collection/components/stzh-upload/models/stzh-photographing-configuration.dto.js +2 -0
  192. package/dist/collection/components/stzh-upload/models/stzh-photographing-configuration.dto.js.map +1 -0
  193. package/dist/collection/components/stzh-upload/models/stzh-photographing-pdf-file.dto.js +3 -0
  194. package/dist/collection/components/stzh-upload/models/stzh-photographing-pdf-file.dto.js.map +1 -0
  195. package/dist/collection/components/stzh-upload/models/stzh-photographing-url-details.dto.js +2 -0
  196. package/dist/collection/components/stzh-upload/models/stzh-photographing-url-details.dto.js.map +1 -0
  197. package/dist/collection/components/stzh-upload/stzh-upload.css +84 -11
  198. package/dist/collection/components/stzh-upload/stzh-upload.js +274 -4
  199. package/dist/collection/components/stzh-upload/stzh-upload.js.map +1 -1
  200. package/dist/collection/components/stzh-upload/stzh-upload.localization.js.map +1 -1
  201. package/dist/collection/components/stzh-upload/stzh-upload.stories.js +13 -7
  202. package/dist/collection/components/stzh-vbz-carousel/stzh-vbz-carousel.css +6 -4
  203. package/dist/collection/components/stzh-vbz-carousel/stzh-vbz-carousel.stories.js +2 -5
  204. package/dist/collection/components/stzh-vbz-connection-finder/stzh-vbz-connection-finder.css +192 -0
  205. package/dist/collection/components/stzh-vbz-connection-finder/stzh-vbz-connection-finder.e2e.js +18 -0
  206. package/dist/collection/components/stzh-vbz-connection-finder/stzh-vbz-connection-finder.e2e.js.map +1 -0
  207. package/dist/collection/components/stzh-vbz-connection-finder/stzh-vbz-connection-finder.js +26 -0
  208. package/dist/collection/components/stzh-vbz-connection-finder/stzh-vbz-connection-finder.js.map +1 -0
  209. package/dist/collection/components/stzh-vbz-connection-finder/stzh-vbz-connection-finder.stories.js +39 -0
  210. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.css +341 -0
  211. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.e2e.js +16 -0
  212. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.e2e.js.map +1 -0
  213. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.js +110 -0
  214. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.js.map +1 -0
  215. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.localization.js +2 -0
  216. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.localization.js.map +1 -0
  217. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.stories.js +75 -0
  218. package/dist/collection/components/stzh-vbz-linechip/stzh-vbz-linechip.css +3 -3
  219. package/dist/collection/components/stzh-vbz-majorticker/stzh-vbz-majorticker.stories.js +8 -10
  220. package/dist/collection/components/stzh-vbz-ticker/stzh-vbz-ticker.css +17 -21
  221. package/dist/collection/components/stzh-vbz-ticker/stzh-vbz-ticker.js +34 -45
  222. package/dist/collection/components/stzh-vbz-ticker/stzh-vbz-ticker.js.map +1 -1
  223. package/dist/collection/components/stzh-vbz-ticker/stzh-vbz-ticker.localization.js.map +1 -1
  224. package/dist/collection/components/stzh-vbz-ticker/stzh-vbz-ticker.stories.js +10 -12
  225. package/dist/collection/index.js.map +1 -1
  226. package/dist/collection/pages/mkz/mkz.e2e.js +16 -0
  227. package/dist/collection/pages/mkz/mkz.e2e.js.map +1 -0
  228. package/dist/collection/pages/upload-photographing/upload-photographing.e2e.js +16 -0
  229. package/dist/collection/pages/upload-photographing/upload-photographing.e2e.js.map +1 -0
  230. package/dist/collection/patterns/contact-accordion/contact-accordion.e2e.js +21 -0
  231. package/dist/collection/patterns/contact-accordion/contact-accordion.e2e.js.map +1 -0
  232. package/dist/collection/patterns/poi/poi.e2e.js +21 -0
  233. package/dist/collection/patterns/poi/poi.e2e.js.map +1 -0
  234. package/dist/collection/utils/utils.js +38 -8
  235. package/dist/collection/utils/utils.js.map +1 -1
  236. package/dist/components/index.js +1 -1
  237. package/dist/components/index2.js.map +1 -1
  238. package/dist/components/stzh-accordion-item2.js +1 -1
  239. package/dist/components/stzh-accordion-item2.js.map +1 -1
  240. package/dist/components/stzh-accordion2.js +17 -1
  241. package/dist/components/stzh-accordion2.js.map +1 -1
  242. package/dist/components/stzh-anchornav.js +4 -3
  243. package/dist/components/stzh-anchornav.js.map +1 -1
  244. package/dist/components/stzh-app-bar.d.ts +11 -0
  245. package/dist/components/stzh-app-bar.js +60 -0
  246. package/dist/components/stzh-app-bar.js.map +1 -0
  247. package/dist/components/stzh-cardlist2.js +9 -2
  248. package/dist/components/stzh-cardlist2.js.map +1 -1
  249. package/dist/components/stzh-chip2.js +22 -32
  250. package/dist/components/stzh-chip2.js.map +1 -1
  251. package/dist/components/stzh-contact-cv.d.ts +11 -0
  252. package/dist/components/stzh-contact-cv.js +102 -0
  253. package/dist/components/stzh-contact-cv.js.map +1 -0
  254. package/dist/components/stzh-contact.js +5 -2
  255. package/dist/components/stzh-contact.js.map +1 -1
  256. package/dist/components/stzh-container.js +1 -1
  257. package/dist/components/stzh-container.js.map +1 -1
  258. package/dist/components/stzh-cspace.js +1 -1
  259. package/dist/components/stzh-cspace.js.map +1 -1
  260. package/dist/components/stzh-datepicker2.js.map +1 -1
  261. package/dist/components/stzh-dialog.js +1 -226
  262. package/dist/components/stzh-dialog.js.map +1 -1
  263. package/dist/components/stzh-dialog2.js +230 -0
  264. package/dist/components/stzh-dialog2.js.map +1 -0
  265. package/dist/components/stzh-footer.js +1 -1
  266. package/dist/components/stzh-footer.js.map +1 -1
  267. package/dist/components/stzh-header.js +1 -1
  268. package/dist/components/stzh-header.js.map +1 -1
  269. package/dist/components/stzh-homepage-service-highlights.js +1 -1
  270. package/dist/components/stzh-homepage-service-highlights.js.map +1 -1
  271. package/dist/components/stzh-iframe2.js +2883 -23
  272. package/dist/components/stzh-iframe2.js.map +1 -1
  273. package/dist/components/stzh-input2.js +9 -4
  274. package/dist/components/stzh-input2.js.map +1 -1
  275. package/dist/components/stzh-list-item.js +1 -34
  276. package/dist/components/stzh-list-item.js.map +1 -1
  277. package/dist/{esm/stzh-list-item.entry.js → components/stzh-list-item2.js} +24 -9
  278. package/dist/components/stzh-list-item2.js.map +1 -0
  279. package/dist/components/stzh-list.js +1 -36
  280. package/dist/components/stzh-list.js.map +1 -1
  281. package/dist/{esm/stzh-list.entry.js → components/stzh-list2.js} +26 -9
  282. package/dist/components/stzh-list2.js.map +1 -0
  283. package/dist/components/stzh-pagetitle-home.js +1 -1
  284. package/dist/components/stzh-pagetitle-home.js.map +1 -1
  285. package/dist/components/stzh-pagetitle.js +1 -1
  286. package/dist/components/stzh-pagetitle.js.map +1 -1
  287. package/dist/components/stzh-pagination2.js +9 -6
  288. package/dist/components/stzh-pagination2.js.map +1 -1
  289. package/dist/components/stzh-panorama.js +1 -1
  290. package/dist/components/stzh-panorama.js.map +1 -1
  291. package/dist/components/stzh-popover2.js +93 -67
  292. package/dist/components/stzh-popover2.js.map +1 -1
  293. package/dist/components/stzh-ratio2.js +1 -1
  294. package/dist/components/stzh-ratio2.js.map +1 -1
  295. package/dist/components/stzh-richtext2.js +26 -18
  296. package/dist/components/stzh-richtext2.js.map +1 -1
  297. package/dist/components/stzh-scrollup.js +5 -5
  298. package/dist/components/stzh-scrollup.js.map +1 -1
  299. package/dist/components/stzh-section.js +1 -1
  300. package/dist/components/stzh-section.js.map +1 -1
  301. package/dist/components/stzh-share2.js +1 -1
  302. package/dist/components/stzh-skin-portal-mitwirken.js +1 -1
  303. package/dist/components/stzh-skin-portal-mitwirken.js.map +1 -1
  304. package/dist/components/stzh-sticky-actions.js +10 -8
  305. package/dist/components/stzh-sticky-actions.js.map +1 -1
  306. package/dist/components/stzh-tooltip2.js +1 -1
  307. package/dist/components/stzh-tooltip2.js.map +1 -1
  308. package/dist/components/stzh-upload.js +3127 -6
  309. package/dist/components/stzh-upload.js.map +1 -1
  310. package/dist/components/stzh-vbz-carousel.js +1 -1
  311. package/dist/components/stzh-vbz-carousel.js.map +1 -1
  312. package/dist/components/stzh-vbz-connection-finder.d.ts +11 -0
  313. package/dist/components/stzh-vbz-connection-finder.js +38 -0
  314. package/dist/components/stzh-vbz-connection-finder.js.map +1 -0
  315. package/dist/components/stzh-vbz-intro.d.ts +11 -0
  316. package/dist/components/stzh-vbz-intro.js +100 -0
  317. package/dist/components/stzh-vbz-intro.js.map +1 -0
  318. package/dist/components/stzh-vbz-linechip2.js +1 -1
  319. package/dist/components/stzh-vbz-linechip2.js.map +1 -1
  320. package/dist/components/stzh-vbz-majorticker.js +1 -1
  321. package/dist/components/stzh-vbz-ticker.js +33 -44
  322. package/dist/components/stzh-vbz-ticker.js.map +1 -1
  323. package/dist/components/utils.js +39 -9
  324. package/dist/components/utils.js.map +1 -1
  325. package/dist/esm/{app-globals-ab5b077d.js → app-globals-93678901.js} +2 -2
  326. package/dist/esm/{app-globals-ab5b077d.js.map → app-globals-93678901.js.map} +1 -1
  327. package/dist/esm/index-e3050b18.js +28 -16
  328. package/dist/esm/index.js.map +1 -1
  329. package/dist/esm/loader.js +2 -2
  330. package/dist/esm/stzh-accordion_3.entry.js +25 -9
  331. package/dist/esm/stzh-accordion_3.entry.js.map +1 -1
  332. package/dist/esm/stzh-actions.entry.js +1 -1
  333. package/dist/esm/stzh-anchornav.entry.js +4 -3
  334. package/dist/esm/stzh-anchornav.entry.js.map +1 -1
  335. package/dist/esm/stzh-app-bar.entry.js +44 -0
  336. package/dist/esm/stzh-app-bar.entry.js.map +1 -0
  337. package/dist/esm/stzh-appointments.entry.js +1 -1
  338. package/dist/esm/stzh-audio.entry.js +1 -1
  339. package/dist/esm/stzh-badge_3.entry.js +1 -1
  340. package/dist/esm/stzh-card-navigation.entry.js +1 -1
  341. package/dist/esm/stzh-card-searchresult.entry.js +1 -1
  342. package/dist/esm/stzh-card-superteaser.entry.js +1 -1
  343. package/dist/esm/stzh-card_2.entry.js +8 -2
  344. package/dist/esm/stzh-card_2.entry.js.map +1 -1
  345. package/dist/esm/stzh-carousel.entry.js +1 -1
  346. package/dist/esm/stzh-checkbox.entry.js +1 -1
  347. package/dist/esm/stzh-checkboxgroup.entry.js +1 -1
  348. package/dist/esm/stzh-chip.entry.js +22 -32
  349. package/dist/esm/stzh-chip.entry.js.map +1 -1
  350. package/dist/esm/stzh-components.js +2 -2
  351. package/dist/esm/stzh-contact-cv.entry.js +59 -0
  352. package/dist/esm/stzh-contact-cv.entry.js.map +1 -0
  353. package/dist/esm/stzh-contact.entry.js +5 -3
  354. package/dist/esm/stzh-contact.entry.js.map +1 -1
  355. package/dist/esm/stzh-container.entry.js +1 -1
  356. package/dist/esm/stzh-container.entry.js.map +1 -1
  357. package/dist/esm/stzh-cspace.entry.js +2 -2
  358. package/dist/esm/stzh-cspace.entry.js.map +1 -1
  359. package/dist/esm/stzh-cta.entry.js +1 -1
  360. package/dist/esm/stzh-datatable.entry.js +1 -1
  361. package/dist/esm/stzh-datepicker_3.entry.js +1 -1
  362. package/dist/esm/stzh-datepicker_3.entry.js.map +1 -1
  363. package/dist/esm/stzh-daterange.entry.js +1 -1
  364. package/dist/esm/stzh-details.entry.js +1 -1
  365. package/dist/esm/stzh-dialog.entry.js +1 -1
  366. package/dist/esm/stzh-dialog.entry.js.map +1 -1
  367. package/dist/esm/stzh-disturber.entry.js +1 -1
  368. package/dist/esm/stzh-dropdown.entry.js +1 -1
  369. package/dist/esm/stzh-eventinfo.entry.js +1 -1
  370. package/dist/esm/stzh-figure.entry.js +1 -1
  371. package/dist/esm/stzh-footer.entry.js +2 -2
  372. package/dist/esm/stzh-footer.entry.js.map +1 -1
  373. package/dist/esm/stzh-ghettobox_3.entry.js +27 -19
  374. package/dist/esm/stzh-ghettobox_3.entry.js.map +1 -1
  375. package/dist/esm/stzh-header.entry.js +2 -2
  376. package/dist/esm/stzh-header.entry.js.map +1 -1
  377. package/dist/esm/stzh-homepage-service-highlights.entry.js +1 -1
  378. package/dist/esm/stzh-homepage-service-highlights.entry.js.map +1 -1
  379. package/dist/esm/stzh-iframe.entry.js +2881 -24
  380. package/dist/esm/stzh-iframe.entry.js.map +1 -1
  381. package/dist/esm/stzh-input.entry.js +8 -4
  382. package/dist/esm/stzh-input.entry.js.map +1 -1
  383. package/dist/esm/stzh-link.entry.js +1 -1
  384. package/dist/esm/stzh-list_2.entry.js +41 -0
  385. package/dist/esm/stzh-list_2.entry.js.map +1 -0
  386. package/dist/esm/stzh-menu_2.entry.js +1 -1
  387. package/dist/esm/stzh-pagecontent.entry.js +1 -1
  388. package/dist/esm/stzh-pagetitle-hero.entry.js +1 -1
  389. package/dist/esm/stzh-pagetitle-home.entry.js +2 -2
  390. package/dist/esm/stzh-pagetitle-home.entry.js.map +1 -1
  391. package/dist/esm/stzh-pagetitle.entry.js +2 -2
  392. package/dist/esm/stzh-pagetitle.entry.js.map +1 -1
  393. package/dist/esm/stzh-panorama.entry.js +1 -1
  394. package/dist/esm/stzh-panorama.entry.js.map +1 -1
  395. package/dist/esm/stzh-pi-content-navigation.entry.js +1 -1
  396. package/dist/esm/stzh-pi-pagetitle.entry.js +1 -1
  397. package/dist/esm/stzh-pi-teaser.entry.js +1 -1
  398. package/dist/esm/stzh-popover_2.entry.js +91 -68
  399. package/dist/esm/stzh-popover_2.entry.js.map +1 -1
  400. package/dist/esm/stzh-print_2.entry.js +1 -1
  401. package/dist/esm/stzh-ratio.entry.js +1 -1
  402. package/dist/esm/stzh-ratio.entry.js.map +1 -1
  403. package/dist/esm/stzh-readspeaker.entry.js +1 -1
  404. package/dist/esm/stzh-scrollup.entry.js +6 -6
  405. package/dist/esm/stzh-scrollup.entry.js.map +1 -1
  406. package/dist/esm/stzh-search.entry.js +1 -1
  407. package/dist/esm/stzh-section.entry.js +1 -1
  408. package/dist/esm/stzh-section.entry.js.map +1 -1
  409. package/dist/esm/stzh-skin-portal-mitwirken.entry.js +1 -1
  410. package/dist/esm/stzh-skin-portal-mitwirken.entry.js.map +1 -1
  411. package/dist/esm/stzh-sticky-actions.entry.js +9 -8
  412. package/dist/esm/stzh-sticky-actions.entry.js.map +1 -1
  413. package/dist/esm/stzh-sticky.entry.js +1 -1
  414. package/dist/esm/stzh-table.entry.js +1 -1
  415. package/dist/esm/stzh-textandimage.entry.js +1 -1
  416. package/dist/esm/stzh-timeline-item.entry.js +1 -1
  417. package/dist/esm/stzh-toast.entry.js +1 -1
  418. package/dist/esm/stzh-toggle.entry.js +1 -1
  419. package/dist/esm/stzh-tooltip.entry.js +2 -2
  420. package/dist/esm/stzh-tooltip.entry.js.map +1 -1
  421. package/dist/esm/stzh-twocolumns.entry.js +1 -1
  422. package/dist/esm/stzh-upload.entry.js +3098 -4
  423. package/dist/esm/stzh-upload.entry.js.map +1 -1
  424. package/dist/esm/stzh-vbz-carousel.entry.js +1 -1
  425. package/dist/esm/stzh-vbz-carousel.entry.js.map +1 -1
  426. package/dist/esm/stzh-vbz-connection-finder.entry.js +21 -0
  427. package/dist/esm/stzh-vbz-connection-finder.entry.js.map +1 -0
  428. package/dist/esm/stzh-vbz-intro.entry.js +54 -0
  429. package/dist/esm/stzh-vbz-intro.entry.js.map +1 -0
  430. package/dist/esm/stzh-vbz-linechip.entry.js +1 -1
  431. package/dist/esm/stzh-vbz-linechip.entry.js.map +1 -1
  432. package/dist/esm/stzh-vbz-ticker.entry.js +33 -44
  433. package/dist/esm/stzh-vbz-ticker.entry.js.map +1 -1
  434. package/dist/esm/{utils-54aead01.js → utils-90658cfe.js} +40 -10
  435. package/dist/esm/utils-90658cfe.js.map +1 -0
  436. package/dist/stzh-components/assets/i18n/de.json +22 -7
  437. package/dist/stzh-components/assets/i18n/en.json +22 -7
  438. package/dist/stzh-components/assets/media/icons/mono/construction.svg +1 -1
  439. package/dist/stzh-components/assets/media/icons/mono/crop.svg +1 -0
  440. package/dist/stzh-components/assets/meta/icons-preview.html +6 -1
  441. package/dist/stzh-components/assets/mock/appl/mobiscan/publicEndpoint/image/retreive-pdf +5 -0
  442. package/dist/stzh-components/assets/mock/appl/mobiscan/publicEndpoint/ping +3 -0
  443. package/dist/stzh-components/assets/mock/appl/mobiscan/publicEndpoint/url +3 -0
  444. package/dist/stzh-components/assets/mock/appl/mobiscan/rs/auth +4 -0
  445. package/dist/stzh-components/assets/mock/appl/mobiscan/rs/config +5 -0
  446. package/dist/stzh-components/assets/vendors/iframe-resizer/iframeResizer.contentWindow.js +1311 -0
  447. package/dist/stzh-components/index.esm.js.map +1 -1
  448. package/dist/stzh-components/p-05127d71.entry.js +2 -0
  449. package/dist/stzh-components/p-05127d71.entry.js.map +1 -0
  450. package/dist/stzh-components/{p-9684b22d.entry.js → p-09480ffe.entry.js} +2 -2
  451. package/dist/stzh-components/{p-c877d32c.entry.js → p-0b0c7cb8.entry.js} +2 -2
  452. package/dist/stzh-components/p-0b0c7cb8.entry.js.map +1 -0
  453. package/dist/stzh-components/{p-161ae3d1.entry.js → p-0b15d79b.entry.js} +2 -2
  454. package/dist/stzh-components/p-109a885b.entry.js +2 -0
  455. package/dist/stzh-components/{p-2d7966cf.entry.js.map → p-109a885b.entry.js.map} +1 -1
  456. package/dist/stzh-components/{p-c1cd45e1.entry.js → p-12bffe97.entry.js} +2 -2
  457. package/dist/stzh-components/p-13cd7748.entry.js +2 -0
  458. package/dist/stzh-components/p-13cd7748.entry.js.map +1 -0
  459. package/dist/stzh-components/{p-27d5ad01.entry.js → p-16a2675e.entry.js} +2 -2
  460. package/dist/stzh-components/{p-75b79adf.entry.js → p-1cbf5c84.entry.js} +2 -2
  461. package/dist/stzh-components/p-1cbf5c84.entry.js.map +1 -0
  462. package/dist/stzh-components/{p-20db8d01.entry.js → p-1fd858a2.entry.js} +2 -2
  463. package/dist/stzh-components/p-1fd858a2.entry.js.map +1 -0
  464. package/dist/stzh-components/p-21c351b4.entry.js +2 -0
  465. package/dist/stzh-components/p-21c351b4.entry.js.map +1 -0
  466. package/dist/stzh-components/{p-59a1a257.entry.js → p-21f7064d.entry.js} +2 -2
  467. package/dist/stzh-components/p-21f7064d.entry.js.map +1 -0
  468. package/dist/stzh-components/p-23de5712.entry.js +2 -0
  469. package/dist/stzh-components/p-23de5712.entry.js.map +1 -0
  470. package/dist/stzh-components/{p-0fb40e48.entry.js → p-24ea178a.entry.js} +2 -2
  471. package/dist/stzh-components/{p-3f0d3919.entry.js → p-2812752a.entry.js} +2 -2
  472. package/dist/stzh-components/{p-68d33cd3.entry.js → p-29c1cb5c.entry.js} +2 -2
  473. package/dist/stzh-components/p-2d405b51.js +2 -0
  474. package/dist/stzh-components/{p-cc1f8acc.js.map → p-2d405b51.js.map} +1 -1
  475. package/dist/stzh-components/{p-801af922.entry.js → p-30a522e0.entry.js} +2 -2
  476. package/dist/stzh-components/{p-d10a6897.entry.js → p-30a7c058.entry.js} +2 -2
  477. package/dist/stzh-components/{p-7ca981d1.entry.js → p-3261eab4.entry.js} +2 -2
  478. package/dist/stzh-components/{p-5d4a2df0.entry.js → p-32cb5b94.entry.js} +2 -2
  479. package/dist/stzh-components/{p-97df1d9f.entry.js → p-346d2f3d.entry.js} +2 -2
  480. package/dist/stzh-components/p-346f8661.entry.js +2 -0
  481. package/dist/stzh-components/p-346f8661.entry.js.map +1 -0
  482. package/dist/stzh-components/{p-8f1dbd3b.entry.js → p-3912a256.entry.js} +2 -2
  483. package/dist/stzh-components/{p-6fdc4c74.entry.js → p-39acdb68.entry.js} +2 -2
  484. package/dist/stzh-components/p-3cc6f193.entry.js +2 -0
  485. package/dist/stzh-components/p-3cc6f193.entry.js.map +1 -0
  486. package/dist/stzh-components/{p-204a6e41.entry.js → p-466263ff.entry.js} +2 -2
  487. package/dist/stzh-components/p-466263ff.entry.js.map +1 -0
  488. package/dist/stzh-components/p-49d356da.entry.js +2 -0
  489. package/dist/stzh-components/p-49d356da.entry.js.map +1 -0
  490. package/dist/stzh-components/p-585551c1.entry.js +2 -0
  491. package/dist/stzh-components/p-585551c1.entry.js.map +1 -0
  492. package/dist/stzh-components/{p-edf77853.entry.js → p-63c76fd5.entry.js} +2 -2
  493. package/dist/stzh-components/{p-533fea0b.entry.js → p-67e61035.entry.js} +2 -2
  494. package/dist/stzh-components/p-6e0c8764.entry.js +2 -0
  495. package/dist/stzh-components/p-6e0c8764.entry.js.map +1 -0
  496. package/dist/stzh-components/{p-80fafa1d.entry.js → p-6fffe2c8.entry.js} +2 -2
  497. package/dist/stzh-components/p-7b14ef7a.entry.js +2 -0
  498. package/dist/stzh-components/p-7b14ef7a.entry.js.map +1 -0
  499. package/dist/stzh-components/{p-eb79f3ed.entry.js → p-82c53e4f.entry.js} +2 -2
  500. package/dist/stzh-components/p-85143b35.entry.js +2 -0
  501. package/dist/stzh-components/p-85143b35.entry.js.map +1 -0
  502. package/dist/stzh-components/{p-8e0a2441.entry.js → p-87f3052b.entry.js} +2 -2
  503. package/dist/stzh-components/{p-b566a2c0.entry.js → p-8a82bf60.entry.js} +2 -2
  504. package/dist/stzh-components/{p-9b43127f.entry.js → p-8b04698a.entry.js} +2 -2
  505. package/dist/stzh-components/p-8b3828e7.entry.js +2 -0
  506. package/dist/stzh-components/p-8b3828e7.entry.js.map +1 -0
  507. package/dist/stzh-components/{p-4db427d5.entry.js → p-8c4d543d.entry.js} +2 -2
  508. package/dist/stzh-components/p-8c4d543d.entry.js.map +1 -0
  509. package/dist/stzh-components/p-90772ec6.entry.js +2 -0
  510. package/dist/stzh-components/p-90772ec6.entry.js.map +1 -0
  511. package/dist/stzh-components/p-9bc12eff.entry.js +2 -0
  512. package/dist/stzh-components/p-9bc12eff.entry.js.map +1 -0
  513. package/dist/stzh-components/{p-7754870d.entry.js → p-9c1b3929.entry.js} +2 -2
  514. package/dist/stzh-components/{p-5c3fddec.entry.js → p-9c643610.entry.js} +2 -2
  515. package/dist/stzh-components/{p-5c3fddec.entry.js.map → p-9c643610.entry.js.map} +1 -1
  516. package/dist/stzh-components/{p-4f49450d.entry.js → p-9e4f0532.entry.js} +2 -2
  517. package/dist/stzh-components/p-9e4f0532.entry.js.map +1 -0
  518. package/dist/stzh-components/{p-cff05968.entry.js → p-a249f3f6.entry.js} +2 -2
  519. package/dist/stzh-components/{p-a2e9723b.entry.js → p-aa3e4203.entry.js} +2 -2
  520. package/dist/stzh-components/{p-f5821678.entry.js → p-ab5ee55b.entry.js} +2 -2
  521. package/dist/stzh-components/{p-ce99f5e8.entry.js → p-acef653a.entry.js} +2 -2
  522. package/dist/stzh-components/{p-c5dbf7ad.entry.js → p-b03f41c3.entry.js} +2 -2
  523. package/dist/stzh-components/p-b273f95c.entry.js +2 -0
  524. package/dist/stzh-components/p-b273f95c.entry.js.map +1 -0
  525. package/dist/stzh-components/{p-72c375c7.entry.js → p-b397337c.entry.js} +2 -2
  526. package/dist/stzh-components/p-b397337c.entry.js.map +1 -0
  527. package/dist/stzh-components/{p-ef21f4dc.entry.js → p-ba716237.entry.js} +2 -2
  528. package/dist/stzh-components/p-ba716237.entry.js.map +1 -0
  529. package/dist/stzh-components/p-bcaef6d7.entry.js +2 -0
  530. package/dist/stzh-components/{p-012dc71e.entry.js.map → p-bcaef6d7.entry.js.map} +1 -1
  531. package/dist/stzh-components/p-bdff55a6.entry.js +2 -0
  532. package/dist/stzh-components/{p-78a16599.entry.js.map → p-bdff55a6.entry.js.map} +1 -1
  533. package/dist/stzh-components/{p-ee82f53c.entry.js → p-c169f243.entry.js} +2 -2
  534. package/dist/stzh-components/{p-7d030c40.entry.js → p-c3816fd3.entry.js} +2 -2
  535. package/dist/stzh-components/{p-7aac960b.entry.js → p-ce6dbd52.entry.js} +2 -2
  536. package/dist/stzh-components/{p-50c1632e.entry.js → p-d0ecdd5b.entry.js} +2 -2
  537. package/dist/stzh-components/{p-50c1632e.entry.js.map → p-d0ecdd5b.entry.js.map} +1 -1
  538. package/dist/stzh-components/{p-722b9e40.entry.js → p-d46bbc8c.entry.js} +2 -2
  539. package/dist/stzh-components/{p-c9eecee7.entry.js → p-d48ecb2f.entry.js} +2 -2
  540. package/dist/stzh-components/{p-ea152ff3.entry.js → p-d7697cf8.entry.js} +2 -2
  541. package/dist/stzh-components/p-d789647a.entry.js +2 -0
  542. package/dist/stzh-components/p-d789647a.entry.js.map +1 -0
  543. package/dist/stzh-components/{p-472b3327.entry.js → p-d7f1ed07.entry.js} +2 -2
  544. package/dist/stzh-components/{p-afde3fcd.entry.js → p-d8265b82.entry.js} +2 -2
  545. package/dist/stzh-components/{p-afde3fcd.entry.js.map → p-d8265b82.entry.js.map} +1 -1
  546. package/dist/stzh-components/{p-56346206.entry.js → p-d9fa718c.entry.js} +2 -2
  547. package/dist/stzh-components/p-e30a5acc.js +2 -0
  548. package/dist/stzh-components/p-e30a5acc.js.map +1 -0
  549. package/dist/stzh-components/{p-f4ed8d7e.entry.js → p-ef47c976.entry.js} +2 -2
  550. package/dist/stzh-components/p-ef47c976.entry.js.map +1 -0
  551. package/dist/stzh-components/{p-66007952.entry.js → p-f34720e2.entry.js} +2 -2
  552. package/dist/stzh-components/p-f34720e2.entry.js.map +1 -0
  553. package/dist/stzh-components/p-ffbb7594.entry.js +2 -0
  554. package/dist/stzh-components/p-ffbb7594.entry.js.map +1 -0
  555. package/dist/stzh-components/stzh-components.css +206 -22
  556. package/dist/stzh-components/stzh-components.esm.js +1 -1
  557. package/dist/stzh-components/stzh-components.esm.js.map +1 -1
  558. package/dist/types/components/stzh-accordion/stzh-accordion.d.ts +3 -0
  559. package/dist/types/components/stzh-app-bar/stzh-app-bar.d.ts +15 -0
  560. package/dist/types/components/stzh-cardlist/stzh-cardlist.d.ts +1 -0
  561. package/dist/types/components/stzh-chip/stzh-chip.d.ts +1 -1
  562. package/dist/types/components/stzh-contact/stzh-contact.d.ts +2 -0
  563. package/dist/types/components/stzh-contact-cv/stzh-contact-cv.d.ts +23 -0
  564. package/dist/types/components/stzh-contact-cv/stzh-contact-cv.localization.d.ts +8 -0
  565. package/dist/types/components/stzh-datepicker/stzh-datepicker.d.ts +1 -1
  566. package/dist/types/components/stzh-iframe/stzh-iframe.d.ts +9 -1
  567. package/dist/types/components/stzh-input/stzh-input.d.ts +3 -0
  568. package/dist/types/components/stzh-pagination/stzh-pagination.d.ts +4 -0
  569. package/dist/types/components/stzh-popover/stzh-popover.d.ts +12 -3
  570. package/dist/types/components/stzh-section/stzh-section.d.ts +1 -1
  571. package/dist/types/components/stzh-sticky-actions/stzh-sticky-actions.d.ts +1 -0
  572. package/dist/types/components/stzh-upload/models/stzh-photographing-configuration.dto.d.ts +5 -0
  573. package/dist/types/components/stzh-upload/models/stzh-photographing-pdf-file.dto.d.ts +5 -0
  574. package/dist/types/components/stzh-upload/models/stzh-photographing-url-details.dto.d.ts +4 -0
  575. package/dist/types/components/stzh-upload/stzh-upload.d.ts +36 -0
  576. package/dist/types/components/stzh-upload/stzh-upload.localization.d.ts +6 -0
  577. package/dist/types/components/stzh-vbz-connection-finder/stzh-vbz-connection-finder.d.ts +7 -0
  578. package/dist/types/components/stzh-vbz-intro/stzh-vbz-intro.d.ts +15 -0
  579. package/dist/types/components/stzh-vbz-intro/stzh-vbz-intro.localization.d.ts +4 -0
  580. package/dist/types/components/stzh-vbz-ticker/stzh-vbz-ticker.d.ts +2 -1
  581. package/dist/types/components/stzh-vbz-ticker/stzh-vbz-ticker.localization.d.ts +1 -2
  582. package/dist/types/components.d.ts +186 -10
  583. package/dist/types/index.d.ts +4 -0
  584. package/dist/types/utils/utils.d.ts +7 -0
  585. package/dist/vscode-data.json +120 -1
  586. package/package.json +3 -1
  587. package/dist/cjs/stzh-list-item.cjs.entry.js +0 -27
  588. package/dist/cjs/stzh-list-item.cjs.entry.js.map +0 -1
  589. package/dist/cjs/stzh-list.cjs.entry.js.map +0 -1
  590. package/dist/cjs/utils-d0fff87f.js.map +0 -1
  591. package/dist/esm/stzh-list-item.entry.js.map +0 -1
  592. package/dist/esm/stzh-list.entry.js.map +0 -1
  593. package/dist/esm/utils-54aead01.js.map +0 -1
  594. package/dist/stzh-components/p-012dc71e.entry.js +0 -2
  595. package/dist/stzh-components/p-100d4052.entry.js +0 -2
  596. package/dist/stzh-components/p-100d4052.entry.js.map +0 -1
  597. package/dist/stzh-components/p-1f0e8499.entry.js +0 -2
  598. package/dist/stzh-components/p-1f0e8499.entry.js.map +0 -1
  599. package/dist/stzh-components/p-204a6e41.entry.js.map +0 -1
  600. package/dist/stzh-components/p-20db8d01.entry.js.map +0 -1
  601. package/dist/stzh-components/p-2d7966cf.entry.js +0 -2
  602. package/dist/stzh-components/p-4db427d5.entry.js.map +0 -1
  603. package/dist/stzh-components/p-4f49450d.entry.js.map +0 -1
  604. package/dist/stzh-components/p-523c0bb1.entry.js +0 -2
  605. package/dist/stzh-components/p-523c0bb1.entry.js.map +0 -1
  606. package/dist/stzh-components/p-52a914cd.entry.js +0 -2
  607. package/dist/stzh-components/p-52a914cd.entry.js.map +0 -1
  608. package/dist/stzh-components/p-59a1a257.entry.js.map +0 -1
  609. package/dist/stzh-components/p-648b7232.entry.js +0 -2
  610. package/dist/stzh-components/p-648b7232.entry.js.map +0 -1
  611. package/dist/stzh-components/p-66007952.entry.js.map +0 -1
  612. package/dist/stzh-components/p-6ab9dee8.entry.js +0 -2
  613. package/dist/stzh-components/p-6ab9dee8.entry.js.map +0 -1
  614. package/dist/stzh-components/p-6c2289da.entry.js +0 -2
  615. package/dist/stzh-components/p-6c2289da.entry.js.map +0 -1
  616. package/dist/stzh-components/p-72c375c7.entry.js.map +0 -1
  617. package/dist/stzh-components/p-75b79adf.entry.js.map +0 -1
  618. package/dist/stzh-components/p-771d370d.entry.js +0 -2
  619. package/dist/stzh-components/p-771d370d.entry.js.map +0 -1
  620. package/dist/stzh-components/p-77ba1f21.entry.js +0 -2
  621. package/dist/stzh-components/p-77ba1f21.entry.js.map +0 -1
  622. package/dist/stzh-components/p-78a16599.entry.js +0 -2
  623. package/dist/stzh-components/p-7e304ea3.js +0 -2
  624. package/dist/stzh-components/p-7e304ea3.js.map +0 -1
  625. package/dist/stzh-components/p-7efbb643.entry.js +0 -2
  626. package/dist/stzh-components/p-7efbb643.entry.js.map +0 -1
  627. package/dist/stzh-components/p-991309dd.entry.js +0 -2
  628. package/dist/stzh-components/p-991309dd.entry.js.map +0 -1
  629. package/dist/stzh-components/p-af7855ff.entry.js +0 -2
  630. package/dist/stzh-components/p-af7855ff.entry.js.map +0 -1
  631. package/dist/stzh-components/p-c877d32c.entry.js.map +0 -1
  632. package/dist/stzh-components/p-cc1f8acc.js +0 -2
  633. package/dist/stzh-components/p-cf856610.entry.js +0 -2
  634. package/dist/stzh-components/p-cf856610.entry.js.map +0 -1
  635. package/dist/stzh-components/p-ef21f4dc.entry.js.map +0 -1
  636. package/dist/stzh-components/p-f4ed8d7e.entry.js.map +0 -1
  637. package/dist/stzh-components/p-fdd6e755.entry.js +0 -2
  638. package/dist/stzh-components/p-fdd6e755.entry.js.map +0 -1
  639. /package/dist/stzh-components/{p-9684b22d.entry.js.map → p-09480ffe.entry.js.map} +0 -0
  640. /package/dist/stzh-components/{p-161ae3d1.entry.js.map → p-0b15d79b.entry.js.map} +0 -0
  641. /package/dist/stzh-components/{p-c1cd45e1.entry.js.map → p-12bffe97.entry.js.map} +0 -0
  642. /package/dist/stzh-components/{p-27d5ad01.entry.js.map → p-16a2675e.entry.js.map} +0 -0
  643. /package/dist/stzh-components/{p-0fb40e48.entry.js.map → p-24ea178a.entry.js.map} +0 -0
  644. /package/dist/stzh-components/{p-3f0d3919.entry.js.map → p-2812752a.entry.js.map} +0 -0
  645. /package/dist/stzh-components/{p-68d33cd3.entry.js.map → p-29c1cb5c.entry.js.map} +0 -0
  646. /package/dist/stzh-components/{p-801af922.entry.js.map → p-30a522e0.entry.js.map} +0 -0
  647. /package/dist/stzh-components/{p-d10a6897.entry.js.map → p-30a7c058.entry.js.map} +0 -0
  648. /package/dist/stzh-components/{p-7ca981d1.entry.js.map → p-3261eab4.entry.js.map} +0 -0
  649. /package/dist/stzh-components/{p-5d4a2df0.entry.js.map → p-32cb5b94.entry.js.map} +0 -0
  650. /package/dist/stzh-components/{p-97df1d9f.entry.js.map → p-346d2f3d.entry.js.map} +0 -0
  651. /package/dist/stzh-components/{p-8f1dbd3b.entry.js.map → p-3912a256.entry.js.map} +0 -0
  652. /package/dist/stzh-components/{p-6fdc4c74.entry.js.map → p-39acdb68.entry.js.map} +0 -0
  653. /package/dist/stzh-components/{p-edf77853.entry.js.map → p-63c76fd5.entry.js.map} +0 -0
  654. /package/dist/stzh-components/{p-533fea0b.entry.js.map → p-67e61035.entry.js.map} +0 -0
  655. /package/dist/stzh-components/{p-80fafa1d.entry.js.map → p-6fffe2c8.entry.js.map} +0 -0
  656. /package/dist/stzh-components/{p-eb79f3ed.entry.js.map → p-82c53e4f.entry.js.map} +0 -0
  657. /package/dist/stzh-components/{p-8e0a2441.entry.js.map → p-87f3052b.entry.js.map} +0 -0
  658. /package/dist/stzh-components/{p-b566a2c0.entry.js.map → p-8a82bf60.entry.js.map} +0 -0
  659. /package/dist/stzh-components/{p-9b43127f.entry.js.map → p-8b04698a.entry.js.map} +0 -0
  660. /package/dist/stzh-components/{p-7754870d.entry.js.map → p-9c1b3929.entry.js.map} +0 -0
  661. /package/dist/stzh-components/{p-cff05968.entry.js.map → p-a249f3f6.entry.js.map} +0 -0
  662. /package/dist/stzh-components/{p-a2e9723b.entry.js.map → p-aa3e4203.entry.js.map} +0 -0
  663. /package/dist/stzh-components/{p-f5821678.entry.js.map → p-ab5ee55b.entry.js.map} +0 -0
  664. /package/dist/stzh-components/{p-ce99f5e8.entry.js.map → p-acef653a.entry.js.map} +0 -0
  665. /package/dist/stzh-components/{p-c5dbf7ad.entry.js.map → p-b03f41c3.entry.js.map} +0 -0
  666. /package/dist/stzh-components/{p-ee82f53c.entry.js.map → p-c169f243.entry.js.map} +0 -0
  667. /package/dist/stzh-components/{p-7d030c40.entry.js.map → p-c3816fd3.entry.js.map} +0 -0
  668. /package/dist/stzh-components/{p-7aac960b.entry.js.map → p-ce6dbd52.entry.js.map} +0 -0
  669. /package/dist/stzh-components/{p-722b9e40.entry.js.map → p-d46bbc8c.entry.js.map} +0 -0
  670. /package/dist/stzh-components/{p-c9eecee7.entry.js.map → p-d48ecb2f.entry.js.map} +0 -0
  671. /package/dist/stzh-components/{p-ea152ff3.entry.js.map → p-d7697cf8.entry.js.map} +0 -0
  672. /package/dist/stzh-components/{p-472b3327.entry.js.map → p-d7f1ed07.entry.js.map} +0 -0
  673. /package/dist/stzh-components/{p-56346206.entry.js.map → p-d9fa718c.entry.js.map} +0 -0
@@ -8,21 +8,22 @@ import { d as defineCustomElement$4 } from './stzh-text2.js';
8
8
  import { d as defineCustomElement$3 } from './stzh-tooltip2.js';
9
9
  import { d as defineCustomElement$2 } from './stzh-vbz-linechip2.js';
10
10
 
11
- const stzhVbzTickerCss = ".sc-stzh-vbz-ticker-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-ticker-h{display:none}.sc-stzh-vbz-ticker-h::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-vbz-ticker-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-vbz-ticker-h *.sc-stzh-vbz-ticker,.sc-stzh-vbz-ticker-h *.sc-stzh-vbz-ticker::before,.sc-stzh-vbz-ticker-h *.sc-stzh-vbz-ticker::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-ticker-h .has-focus.sc-stzh-vbz-ticker{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-vbz-ticker-h .stzh-fylingfocus-focused.sc-stzh-vbz-ticker{outline-style:none !important}.sc-stzh-vbz-ticker-h .stzh-fylingfocus-focused.sc-stzh-vbz-ticker::-moz-focus-inner{border:0 !important}.stzh-vbz-ticker.sc-stzh-vbz-ticker{display:flex;flex-direction:column;position:relative}@media screen and (min-width: 900px){.stzh-vbz-ticker.sc-stzh-vbz-ticker{flex-direction:row;align-items:flex-start}}.stzh-vbz-ticker__icon.sc-stzh-vbz-ticker{--size:var(--stzh-icon-size-small);margin-right:var(--stzh-space-xsmall)}.stzh-vbz-ticker__title.sc-stzh-vbz-ticker{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);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);display:flex;flex-wrap:wrap}@media screen and (min-width: 900px){.stzh-vbz-ticker__title.sc-stzh-vbz-ticker{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-vbz-ticker__title-parts.sc-stzh-vbz-ticker{display:flex;flex-wrap:wrap;margin:calc(var(--stzh-space-xxxsmall) / -1) 0}.stzh-vbz-ticker__title-part.sc-stzh-vbz-ticker{display:flex;align-items:center;white-space:nowrap;margin:var(--stzh-space-xxxsmall) 0}.stzh-vbz-ticker__title-part.sc-stzh-vbz-ticker:not(:last-child){margin-right:var(--stzh-space-large)}.stzh-vbz-ticker__title-part--no-disturbances.sc-stzh-vbz-ticker{color:var(--stzh-color-firgreen50)}.stzh-vbz-ticker__title-part--major-events.sc-stzh-vbz-ticker{color:var(--stzh-color-coral)}.stzh-vbz-ticker__title-part--disturbances.sc-stzh-vbz-ticker{color:var(--stzh-color-error60)}.stzh-vbz-ticker__link.sc-stzh-vbz-ticker{margin-top:var(--stzh-space-small)}@media screen and (min-width: 900px){.stzh-vbz-ticker__link.sc-stzh-vbz-ticker{position:absolute;top:0;right:0;margin-top:0}}.stzh-vbz-ticker__chips.sc-stzh-vbz-ticker{display:flex;flex-wrap:wrap}.stzh-vbz-ticker__chips.sc-stzh-vbz-ticker:not(:empty){margin:calc(var(--stzh-space-xxsmall) * -1);margin-top:calc(var(--stzh-space-medium) - var(--stzh-space-xxsmall))}.stzh-vbz-ticker__chip.sc-stzh-vbz-ticker{margin:var(--stzh-space-xxsmall)}.stzh-vbz-ticker__tooltip.sc-stzh-vbz-ticker{--width:20.875rem}.stzh-vbz-ticker__disturbance.sc-stzh-vbz-ticker{display:flex;align-items:flex-start}.stzh-vbz-ticker__disturbance.sc-stzh-vbz-ticker:not(:first-child){margin-top:var(--stzh-space-small)}.stzh-vbz-ticker__disturbance-title.sc-stzh-vbz-ticker{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);display:flex}.stzh-vbz-ticker__disturbance--type0.sc-stzh-vbz-ticker .stzh-vbz-ticker__disturbance-title.sc-stzh-vbz-ticker,.stzh-vbz-ticker__disturbance--type2.sc-stzh-vbz-ticker .stzh-vbz-ticker__disturbance-title.sc-stzh-vbz-ticker{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy)}.stzh-vbz-ticker__disturbance-icon.sc-stzh-vbz-ticker{--size:var(--stzh-icon-size-xsmall);margin-top:var(--stzh-space-xxxsmall);margin-right:var(--stzh-space-xsmall)}.stzh-vbz-ticker__disturbance-link.sc-stzh-vbz-ticker{margin-top:var(--stzh-space-xsmall)}";
11
+ const stzhVbzTickerCss = ".sc-stzh-vbz-ticker-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-ticker-h{display:none}.sc-stzh-vbz-ticker-h::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-vbz-ticker-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-vbz-ticker-h *.sc-stzh-vbz-ticker,.sc-stzh-vbz-ticker-h *.sc-stzh-vbz-ticker::before,.sc-stzh-vbz-ticker-h *.sc-stzh-vbz-ticker::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-ticker-h .has-focus.sc-stzh-vbz-ticker{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-vbz-ticker-h .stzh-fylingfocus-focused.sc-stzh-vbz-ticker{outline-style:none !important}.sc-stzh-vbz-ticker-h .stzh-fylingfocus-focused.sc-stzh-vbz-ticker::-moz-focus-inner{border:0 !important}.stzh-vbz-ticker.sc-stzh-vbz-ticker{display:flex;flex-direction:column;position:relative}@media screen and (min-width: 900px){.stzh-vbz-ticker.sc-stzh-vbz-ticker{flex-direction:row;align-items:flex-start}}.stzh-vbz-ticker__content.sc-stzh-vbz-ticker{display:flex;flex-direction:column;gap:var(--stzh-space-xsmall)}.stzh-vbz-ticker__icon.sc-stzh-vbz-ticker{--size:var(--stzh-icon-size-small);margin-right:var(--stzh-space-xsmall)}.stzh-vbz-ticker__title.sc-stzh-vbz-ticker{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);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);display:flex;flex-wrap:wrap}@media screen and (min-width: 900px){.stzh-vbz-ticker__title.sc-stzh-vbz-ticker{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-vbz-ticker__title-parts.sc-stzh-vbz-ticker{display:flex;flex-wrap:wrap;margin:calc(var(--stzh-space-xxxsmall) / -1) 0}.stzh-vbz-ticker__title-part.sc-stzh-vbz-ticker{display:flex;align-items:center;white-space:nowrap;margin:var(--stzh-space-xxxsmall) 0;color:var(--stzh-color-grey90)}.stzh-vbz-ticker__title-part.sc-stzh-vbz-ticker:not(:last-child){margin-right:var(--stzh-space-large)}.stzh-vbz-ticker__title-part--major-events.sc-stzh-vbz-ticker{color:var(--stzh-color-coral)}.stzh-vbz-ticker__title-part--disturbances.sc-stzh-vbz-ticker{color:var(--stzh-color-error60)}.stzh-vbz-ticker__chips.sc-stzh-vbz-ticker{display:flex;flex-wrap:wrap;gap:0 var(--stzh-space-xsmall)}.stzh-vbz-ticker__tooltip.sc-stzh-vbz-ticker{--width:20.875rem}.stzh-vbz-ticker__disturbance.sc-stzh-vbz-ticker{display:flex;align-items:flex-start}.stzh-vbz-ticker__disturbance.sc-stzh-vbz-ticker:not(:first-child){margin-top:var(--stzh-space-small)}.stzh-vbz-ticker__disturbance-title.sc-stzh-vbz-ticker{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);font-size:var(--stzh-font-micro-font-size);line-height:var(--stzh-font-micro-text-line-height);display:flex}.stzh-vbz-ticker__disturbance-date.sc-stzh-vbz-ticker{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);font-size:var(--stzh-font-micro-font-size);line-height:var(--stzh-font-micro-text-line-height);margin-top:var(--stzh-space-xsmall)}.stzh-vbz-ticker__disturbance--type0.sc-stzh-vbz-ticker .stzh-vbz-ticker__disturbance-title.sc-stzh-vbz-ticker,.stzh-vbz-ticker__disturbance--type2.sc-stzh-vbz-ticker .stzh-vbz-ticker__disturbance-title.sc-stzh-vbz-ticker{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy)}.stzh-vbz-ticker__disturbance-icon.sc-stzh-vbz-ticker{--size:var(--stzh-icon-size-xsmall);margin-top:var(--stzh-space-xxxsmall);margin-right:var(--stzh-space-xsmall)}.stzh-vbz-ticker__disturbance-link.sc-stzh-vbz-ticker{margin-top:var(--stzh-space-xsmall)}";
12
12
 
13
13
  const StzhVbzTicker$1 = /*@__PURE__*/ proxyCustomElement(class StzhVbzTicker extends HTMLElement {
14
14
  constructor() {
15
15
  super();
16
16
  this.__registerHost();
17
17
  this.globalDisturbances = [];
18
- this.lines = [];
18
+ this.linesWithDisturbances = [];
19
+ this.linesWithConstructions = [];
19
20
  this.counter = {
20
21
  [`${VBZ.DISTURBANCE_GLOBAL}`]: 0,
21
22
  [`${VBZ.DISTURBANCE_INFORMATION}`]: 0,
22
23
  [`${VBZ.DISTURBANCE_CONSTRUCTION}`]: 0,
23
24
  [`${VBZ.DISTURBANCE_NORMAL}`]: 0,
24
25
  [`${VBZ.DISTURBANCE_EVENT}`]: 0,
25
- [`${VBZ.DISTURBANCE_BUS}`]: 0
26
+ [`${VBZ.DISTURBANCE_BUS}`]: 0,
26
27
  };
27
28
  this.api = "https://fpbe.zvv.ch/restproxy/himsearch?format=json&accessId=unic&channels=ticker&additionalfields=tickers:VBZ&orderBy=LMOD_DESC&lang={lang}";
28
29
  this.data = "";
@@ -32,7 +33,7 @@ const StzhVbzTicker$1 = /*@__PURE__*/ proxyCustomElement(class StzhVbzTicker ext
32
33
  }
33
34
  localizationWatcher() {
34
35
  this.collator = new Intl.Collator(this.localization.$locale, {
35
- numeric: true
36
+ numeric: true,
36
37
  });
37
38
  }
38
39
  async apiWatcher(newValue) {
@@ -58,14 +59,13 @@ const StzhVbzTicker$1 = /*@__PURE__*/ proxyCustomElement(class StzhVbzTicker ext
58
59
  else {
59
60
  this._data = newValue;
60
61
  }
61
- const lines = {};
62
+ const linesToDisplay = {};
62
63
  (_b = (_a = this._data) === null || _a === void 0 ? void 0 : _a.Message) === null || _b === void 0 ? void 0 : _b.forEach(message => {
63
64
  const urls = message.channel
64
65
  .filter(channel => channel.name === VBZ.CHANNEL_TICKER && channel.url)
65
66
  .map(channel => channel.url)
66
67
  .reduce((a, b) => a.concat(b), []);
67
- const infoUrl = urls
68
- .find(url => url.url.indexOf(VBZ.CHANNEL_INFO_URL_FILTER) !== -1);
68
+ const infoUrl = urls.find(url => url.url.indexOf(VBZ.CHANNEL_INFO_URL_FILTER) !== -1);
69
69
  if (message.baseType === VBZ.BASE_TYPE_GLOBAL) {
70
70
  this.counter[VBZ.DISTURBANCE_GLOBAL]++;
71
71
  this.globalDisturbances.push({
@@ -77,35 +77,35 @@ const StzhVbzTicker$1 = /*@__PURE__*/ proxyCustomElement(class StzhVbzTicker ext
77
77
  endDate: new Date(`${message.eDate}T${message.eTime}+02:00`),
78
78
  altStart: message.altStart,
79
79
  altEnd: message.altEnd,
80
- infoUrl: infoUrl
80
+ infoUrl: infoUrl,
81
81
  });
82
82
  }
83
83
  else {
84
84
  this.counter[message.category]++;
85
85
  }
86
- // don't add to lines if no line/product has been linked to
86
+ // don't add to linesWithDisturbances if no line/product has been linked to
87
87
  // or if it is a information disturbance or global
88
- if (message.affectedProduct
89
- && message.category !== VBZ.DISTURBANCE_INFORMATION
90
- && message.baseType !== VBZ.BASE_TYPE_GLOBAL) {
88
+ if (message.affectedProduct &&
89
+ message.category !== VBZ.DISTURBANCE_INFORMATION &&
90
+ message.baseType !== VBZ.BASE_TYPE_GLOBAL) {
91
91
  const affectedLines = [];
92
92
  message.affectedProduct.forEach(product => {
93
- if (typeof lines[product.lineId] === "undefined") {
94
- lines[product.lineId] = {
93
+ if (typeof linesToDisplay[product.lineId] === "undefined") {
94
+ linesToDisplay[product.lineId] = {
95
95
  line: product.line,
96
96
  name: product.name,
97
97
  category: product.cls,
98
98
  disturbances: [],
99
- alert: false
99
+ alert: false,
100
100
  };
101
101
  }
102
- if (message.category === VBZ.DISTURBANCE_NORMAL) {
103
- lines[product.lineId].alert = true;
102
+ if (message.category === VBZ.DISTURBANCE_EVENT || message.category === VBZ.DISTURBANCE_GLOBAL) {
103
+ linesToDisplay[product.lineId].alert = true;
104
104
  }
105
105
  // only add disturbance message to line if it was not already added (avoiding same message twice)
106
106
  if (!affectedLines.includes(product.lineId)) {
107
107
  affectedLines.push(product.lineId);
108
- lines[product.lineId].disturbances.push({
108
+ linesToDisplay[product.lineId].disturbances.push({
109
109
  id: message.id,
110
110
  head: message.head,
111
111
  category: message.category,
@@ -114,17 +114,21 @@ const StzhVbzTicker$1 = /*@__PURE__*/ proxyCustomElement(class StzhVbzTicker ext
114
114
  endDate: new Date(`${message.eDate}T${message.eTime}+02:00`),
115
115
  altStart: message.altStart,
116
116
  altEnd: message.altEnd,
117
- infoUrl: infoUrl
117
+ infoUrl: infoUrl,
118
118
  });
119
119
  }
120
120
  });
121
121
  }
122
122
  });
123
- this.lines = Object.keys(lines)
124
- .map(key => lines[key]);
123
+ this.linesWithDisturbances = Object.keys(linesToDisplay)
124
+ .map(key => linesToDisplay[key])
125
+ .filter(line => line.disturbances.findIndex(disturbance => disturbance.category !== VBZ.DISTURBANCE_CONSTRUCTION) > -1);
126
+ this.linesWithConstructions = Object.keys(linesToDisplay)
127
+ .map(key => linesToDisplay[key])
128
+ .filter(line => line.disturbances.findIndex(disturbance => disturbance.category === VBZ.DISTURBANCE_CONSTRUCTION) > -1);
125
129
  // sort by line name
126
- this.lines.sort((a, b) => this.collator
127
- .compare(a.line, b.line));
130
+ this.linesWithDisturbances.sort((a, b) => this.collator.compare(a.line, b.line));
131
+ this.linesWithConstructions.sort((a, b) => this.collator.compare(a.line, b.line));
128
132
  }
129
133
  async componentWillLoad() {
130
134
  if (!this.localization) {
@@ -142,31 +146,16 @@ const StzhVbzTicker$1 = /*@__PURE__*/ proxyCustomElement(class StzhVbzTicker ext
142
146
  renderDisturbance(disturbance) {
143
147
  return (h("div", { class: {
144
148
  "stzh-vbz-ticker__disturbance": true,
145
- [`stzh-vbz-ticker__disturbance--type${disturbance.category}`]: !!disturbance.category
146
- } }, disturbance.category === VBZ.DISTURBANCE_NORMAL
147
- || disturbance.baseType === VBZ.BASE_TYPE_GLOBAL
148
- ?
149
- h("stzh-icon", { name: "warning-big", class: "stzh-vbz-ticker__disturbance-icon" })
150
- :
151
- h("stzh-icon", { name: "construction", class: "stzh-vbz-ticker__disturbance-icon" }), h("div", { class: "stzh-vbz-ticker__disturbance-text" }, h("div", { class: "stzh-vbz-ticker__disturbance-title" }, disturbance.head), h("div", { class: "stzh-vbz-ticker__disturbance-date" }, this.dateAdapter.formatSpan(disturbance.altStart || disturbance.startDate, disturbance.altEnd || disturbance.endDate, "date")), disturbance.infoUrl ?
152
- h("stzh-link", { class: "stzh-vbz-ticker__disturbance-link", size: "small", href: disturbance.infoUrl.url }, this.localization.moreInfo)
153
- :
154
- h("stzh-link", { class: "stzh-vbz-ticker__disturbance-link", size: "small", target: "_blank", icon: "external-link", href: this.moreInfoLink
155
- .replace(/\{lang\}/, this.localization.$locale)
156
- .replace(/\{id\}/, disturbance.id) }, this.localization.moreInfo))));
149
+ [`stzh-vbz-ticker__disturbance--type${disturbance.category}`]: !!disturbance.category,
150
+ } }, h("div", { class: "stzh-vbz-ticker__disturbance-text" }, h("div", { class: "stzh-vbz-ticker__disturbance-title" }, disturbance.head), h("div", { class: "stzh-vbz-ticker__disturbance-date" }, this.dateAdapter.formatSpan(disturbance.altStart || disturbance.startDate, disturbance.altEnd || disturbance.endDate, "date")), disturbance.infoUrl ? (h("stzh-link", { class: "stzh-vbz-ticker__disturbance-link", size: "small", href: disturbance.infoUrl.url }, this.localization.moreInfo)) : (h("stzh-link", { class: "stzh-vbz-ticker__disturbance-link", size: "small", target: "_blank", icon: "external-link", href: this.moreInfoLink.replace(/\{lang\}/, this.localization.$locale).replace(/\{id\}/, disturbance.id) }, this.localization.moreInfo)))));
157
151
  }
158
152
  render() {
159
153
  const classes = {
160
- "stzh-vbz-ticker": true
154
+ "stzh-vbz-ticker": true,
161
155
  };
162
- return (h(Host, null, h("div", { class: classes }, h("div", { class: "stzh-vbz-ticker__text" }, h("div", { class: "stzh-vbz-ticker__title" }, h("div", { class: "stzh-vbz-ticker__title-parts" }, this.lines.length === 0 && this.counter[VBZ.DISTURBANCE_GLOBAL] === 0 &&
163
- h("div", { class: "stzh-vbz-ticker__title-part stzh-vbz-ticker__title-part--no-disturbances" }, h("stzh-icon", { class: "stzh-vbz-ticker__icon", name: "checkmark-circle" }), this.localization.noDisturbances), this.counter[VBZ.DISTURBANCE_NORMAL] > 0 &&
164
- h("div", { class: "stzh-vbz-ticker__title-part stzh-vbz-ticker__title-part--disturbances" }, h("stzh-icon", { class: "stzh-vbz-ticker__icon", name: "warning" }), this.counter[VBZ.DISTURBANCE_GLOBAL] > 0 ?
165
- this.localization.furtherDisturbanceTitle : this.localization.disturbanceTitle), (this.counter[VBZ.DISTURBANCE_CONSTRUCTION] > 0
166
- || this.counter[VBZ.DISTURBANCE_EVENT] > 0
167
- || this.counter[VBZ.DISTURBANCE_BUS] > 0) &&
168
- h("div", { class: "stzh-vbz-ticker__title-part stzh-vbz-ticker__title-part--others" }, h("stzh-icon", { class: "stzh-vbz-ticker__icon", name: "construction" }), this.localization.constructionsTitle))), (this.lines.length > 0 || this.counter[VBZ.DISTURBANCE_GLOBAL] > 0) &&
169
- h(Fragment, null, h("div", { class: "stzh-vbz-ticker__chips", role: "list" }, this.lines.map((line) => h("div", { class: "stzh-vbz-ticker__chip", role: "listitem" }, h("stzh-tooltip", { class: "stzh-vbz-ticker__tooltip" }, h("stzh-vbz-linechip", { line: line.line, alert: line.alert }), h("div", { class: "stzh-vbz-ticker__tooltip-content", slot: "content" }, line.disturbances.map((disturbance) => this.renderDisturbance(disturbance))))))))), h("div", { class: "stzh-vbz-ticker__link" }, h("slot", { name: "link" })))));
156
+ return (h(Host, null, h("div", { class: classes }, h("div", { class: "stzh-vbz-ticker__content" }, this.counter[VBZ.DISTURBANCE_NORMAL] > 0 && (h(Fragment, null, h("div", { class: "stzh-vbz-ticker__title" }, h("div", { class: "stzh-vbz-ticker__title-part stzh-vbz-ticker__title-part--disturbances" }, h("stzh-icon", { class: "stzh-vbz-ticker__icon", name: "warning" }), this.localization.disturbancesTitle)), h("div", { class: "stzh-vbz-ticket__lines" }, h("div", { class: "stzh-vbz-ticker__chips", role: "list" }, this.linesWithDisturbances.map(line => (h("div", { class: "stzh-vbz-ticker__chip", role: "listitem" }, h("stzh-tooltip", { class: "stzh-vbz-ticker__tooltip" }, h("stzh-vbz-linechip", { line: line.line, alert: line.alert }), h("div", { class: "stzh-vbz-ticker__tooltip-content", slot: "content" }, line.disturbances.map(disturbance => this.renderDisturbance(disturbance))))))))))), (this.counter[VBZ.DISTURBANCE_CONSTRUCTION] > 0 ||
157
+ this.counter[VBZ.DISTURBANCE_EVENT] > 0 ||
158
+ this.counter[VBZ.DISTURBANCE_BUS] > 0) && (h(Fragment, null, h("div", { class: "stzh-vbz-ticker__title" }, h("div", { class: "stzh-vbz-ticker__title-parts" }, h("div", { class: "stzh-vbz-ticker__title-part stzh-vbz-ticker__title-part--others" }, h("stzh-icon", { class: "stzh-vbz-ticker__icon", name: "construction" }), this.localization.constructionsTitle))), h("div", { class: "stzh-vbz-ticket__lines" }, h("div", { class: "stzh-vbz-ticker__chips", role: "list" }, this.linesWithConstructions.map(line => (h("div", { class: "stzh-vbz-ticker__chip", role: "listitem" }, h("stzh-tooltip", { class: "stzh-vbz-ticker__tooltip" }, h("stzh-vbz-linechip", { line: line.line, alert: line.alert }), h("div", { class: "stzh-vbz-ticker__tooltip-content", slot: "content" }, line.disturbances.map(disturbance => this.renderDisturbance(disturbance))))))))))), h("div", { class: "stzh-vbz-ticker__link" }, h("slot", { name: "link" }))))));
170
159
  }
171
160
  get element() { return this; }
172
161
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"stzh-vbz-ticker.js","mappings":"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","names":["StzhVbzTicker"],"sources":["src/components/stzh-vbz-ticker/stzh-vbz-ticker.scss?tag=stzh-vbz-ticker&encapsulation=scoped","src/components/stzh-vbz-ticker/stzh-vbz-ticker.tsx"],"sourcesContent":[":host {\n}\n\n.stzh-vbz-ticker {\n display: flex;\n flex-direction: column;\n position: relative;\n\n @include mq($from: medium) {\n flex-direction: row;\n align-items: flex-start;\n }\n\n &__icon {\n --size: #{iconSize('small')};\n margin-right: space('xsmall');\n }\n\n &__title {\n @include font;\n @include fontCurve('p1');\n display: flex;\n flex-wrap: wrap;\n }\n\n &__title-parts {\n display: flex;\n flex-wrap: wrap;\n margin: calc(#{space('xxxsmall')} / -1) 0;\n }\n\n &__title-part {\n display: flex;\n align-items: center;\n white-space: nowrap;\n margin: space('xxxsmall') 0;\n\n &:not(:last-child) {\n margin-right: space('large');\n }\n\n &--no-disturbances {\n color: $colorFirgreen50;\n }\n\n &--major-events {\n color: $colorCoral;\n }\n\n &--disturbances {\n color: $colorError60;\n }\n }\n\n // &__description {\n // @include fontSize('micro');\n // @include spaceCurve('margin-top', 'tiny');\n // }\n\n &__link {\n margin-top: space('small');\n\n @include mq($from: medium) {\n position: absolute;\n top: 0;\n right: 0;\n margin-top: 0;\n }\n }\n\n &__chips {\n display: flex;\n flex-wrap: wrap;\n\n &:not(:empty) {\n margin: calc(#{space('xxsmall')} * -1);\n margin-top: calc(#{space('medium')} - #{space('xxsmall')});\n }\n }\n\n &__chip {\n margin: space('xxsmall');\n }\n\n &__tooltip {\n --width: 334px;\n }\n\n &__disturbance {\n display: flex;\n align-items: flex-start;\n\n &:not(:first-child) {\n margin-top: space('small');\n }\n }\n\n // TODO: look after rws how to restyle (was previously colored red but doesn't fit anymore with new tooltip background color)\n // &__disturbance--type0 &__disturbance-title,\n // &__disturbance--type0 &__disturbance-icon,\n // &__disturbance--type2 &__disturbance-title,\n // &__disturbance--type2 &__disturbance-icon {\n // color: $colorError60;\n // }\n\n &__disturbance-title {\n @include font;\n display: flex;\n }\n\n &__disturbance--type0 &__disturbance-title,\n &__disturbance--type2 &__disturbance-title {\n @include font('heavy');\n }\n\n &__disturbance-icon {\n --size: #{iconSize('xsmall')};\n margin-top: space('xxxsmall');\n margin-right: space('xsmall');\n }\n\n &__disturbance-link {\n margin-top: space('xsmall');\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Watch,\n Element,\n Fragment\n} from \"@stencil/core\";\n\nimport axios from 'axios';\n\nimport { StzhLocaleAdapter } from \"../../utils/date-adapter\";\n\nimport {\n VBZ,\n VbzTickerInfoUrl,\n VbzTickerDisturbance,\n VbzTickerLine\n} from \"../../index\";\n\nimport { StzhVbzTickerLocalizedText } from \"./stzh-vbz-ticker.localization\";\n\n/**\n * @slot link - Optional link to traffic situation\n */\n@Component({\n tag: \"stzh-vbz-ticker\",\n styleUrl: \"stzh-vbz-ticker.scss\",\n scoped: true\n})\nexport class StzhVbzTicker {\n /** API URL (`{lang}` is replaced in the URL) */\n @Prop() api: string = \"https://fpbe.zvv.ch/restproxy/himsearch?format=json&accessId=unic&channels=ticker&additionalfields=tickers:VBZ&orderBy=LMOD_DESC&lang={lang}\";\n\n /** Data to pass in directly (alternative for API call) */\n @Prop() data: any = \"\";\n private _data: any;\n\n /** More info link (`{lang}` and `{id}` are replaced in the URL) */\n @Prop() moreInfoLink: string = \"https://zvv.ch/zvv/{lang}/fahrplan/vl.html?himIds={id}\";\n\n /**\n * Date adapter, for custom parsing/formatting.\n * Must be object with a `parse` function which accepts a `string` and returns a `Date`,\n * and a `format` function which accepts a `Date` and returns a `string`.\n */\n @Prop() dateAdapter: StzhLocaleAdapter;\n\n /** Translation strings. */\n @Prop() localization: StzhVbzTickerLocalizedText;\n\n @Element() element: HTMLStzhVbzTickerElement;\n\n private globalDisturbances: VbzTickerDisturbance[] = [];\n private lines: VbzTickerLine[] = [];\n private collator: Intl.Collator;\n\n private counter = {\n [`${VBZ.DISTURBANCE_GLOBAL}`]: 0,\n [`${VBZ.DISTURBANCE_INFORMATION}`]: 0,\n [`${VBZ.DISTURBANCE_CONSTRUCTION}`]: 0,\n [`${VBZ.DISTURBANCE_NORMAL}`]: 0,\n [`${VBZ.DISTURBANCE_EVENT}`]: 0,\n [`${VBZ.DISTURBANCE_BUS}`]: 0\n };\n\n @Watch(\"localization\")\n localizationWatcher() {\n this.collator = new Intl.Collator(this.localization.$locale, {\n numeric: true\n });\n }\n\n @Watch(\"api\")\n async apiWatcher(newValue: string) {\n if (!newValue) {\n return;\n }\n\n let apiUrl = this.api.replace(/\\{lang\\}/, this.localization.$locale)\n apiUrl = apiUrl + (apiUrl.includes(\"?\") ? \"&\" : \"?\") + Date.now();\n\n // load data from API\n const { data } = await axios.get(apiUrl);\n\n this.data = data;\n }\n\n @Watch(\"dateAdapter\")\n dateAdapterWatcher(newValue: StzhLocaleAdapter) {\n if (!newValue) {\n this.dateAdapter = window.stzhComponents.utils.createFormatParseAdapter(\n this.localization.$formats,\n this.localization.$globals\n );\n }\n }\n\n @Watch(\"data\")\n async dataWatcher(newValue: any) {\n if (typeof newValue === \"string\") {\n this._data = JSON.parse(newValue);\n } else {\n this._data = newValue;\n }\n\n const lines: { [key: string]: VbzTickerLine } = {};\n\n this._data?.Message?.forEach(message => {\n const urls: VbzTickerInfoUrl[] = message.channel\n .filter(channel => channel.name === VBZ.CHANNEL_TICKER && channel.url)\n .map(channel => channel.url)\n .reduce((a, b) => a.concat(b), []);\n\n const infoUrl = urls\n .find(url => url.url.indexOf(VBZ.CHANNEL_INFO_URL_FILTER) !== -1);\n\n if (message.baseType === VBZ.BASE_TYPE_GLOBAL) {\n this.counter[VBZ.DISTURBANCE_GLOBAL]++;\n\n this.globalDisturbances.push({\n id: message.id,\n head: message.head,\n category: message.category,\n baseType: message.baseType,\n startDate: new Date(`${message.sDate}T${message.sTime}+02:00`),\n endDate: new Date(`${message.eDate}T${message.eTime}+02:00`),\n altStart: message.altStart,\n altEnd: message.altEnd,\n infoUrl: infoUrl\n });\n } else {\n this.counter[message.category]++;\n }\n\n // don't add to lines if no line/product has been linked to\n // or if it is a information disturbance or global\n if (\n message.affectedProduct\n && message.category !== VBZ.DISTURBANCE_INFORMATION\n && message.baseType !== VBZ.BASE_TYPE_GLOBAL\n ) {\n const affectedLines = [];\n\n message.affectedProduct.forEach(product => {\n if (typeof lines[product.lineId] === \"undefined\") {\n lines[product.lineId] = {\n line: product.line,\n name: product.name,\n category: product.cls,\n disturbances: [],\n alert: false\n }\n }\n\n if (message.category === VBZ.DISTURBANCE_NORMAL) {\n lines[product.lineId].alert = true;\n }\n\n // only add disturbance message to line if it was not already added (avoiding same message twice)\n if (!affectedLines.includes(product.lineId)) {\n affectedLines.push(product.lineId);\n\n lines[product.lineId].disturbances.push({\n id: message.id,\n head: message.head,\n category: message.category,\n baseType: message.baseType,\n startDate: new Date(`${message.sDate}T${message.sTime}+02:00`),\n endDate: new Date(`${message.eDate}T${message.eTime}+02:00`),\n altStart: message.altStart,\n altEnd: message.altEnd,\n infoUrl: infoUrl\n })\n }\n })\n }\n });\n\n this.lines = Object.keys(lines)\n .map(key => lines[key]);\n\n // sort by line name\n this.lines.sort((a, b) => this.collator\n .compare(a.line, b.line));\n }\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"vbz-ticker\");\n this.localizationWatcher();\n }\n\n this.dateAdapterWatcher(this.dateAdapter);\n\n if (this.data) {\n await this.dataWatcher(this.data);\n } else {\n await this.apiWatcher(this.api);\n }\n }\n\n renderDisturbance(disturbance: VbzTickerDisturbance) {\n return (\n <div class={{\n \"stzh-vbz-ticker__disturbance\": true,\n [`stzh-vbz-ticker__disturbance--type${disturbance.category}`]: !!disturbance.category\n }}>\n {disturbance.category === VBZ.DISTURBANCE_NORMAL\n || disturbance.baseType === VBZ.BASE_TYPE_GLOBAL\n ?\n <stzh-icon name=\"warning-big\" class=\"stzh-vbz-ticker__disturbance-icon\"></stzh-icon>\n :\n <stzh-icon name=\"construction\" class=\"stzh-vbz-ticker__disturbance-icon\"></stzh-icon>\n }\n\n <div class=\"stzh-vbz-ticker__disturbance-text\">\n <div class=\"stzh-vbz-ticker__disturbance-title\">\n {disturbance.head}\n </div>\n\n <div class=\"stzh-vbz-ticker__disturbance-date\">\n {this.dateAdapter.formatSpan(\n disturbance.altStart || disturbance.startDate,\n disturbance.altEnd || disturbance.endDate,\n \"date\"\n )}\n </div>\n\n {disturbance.infoUrl ?\n <stzh-link\n class=\"stzh-vbz-ticker__disturbance-link\"\n size=\"small\"\n href={disturbance.infoUrl.url}\n >\n {this.localization.moreInfo}\n </stzh-link>\n :\n <stzh-link\n class=\"stzh-vbz-ticker__disturbance-link\"\n size=\"small\"\n target=\"_blank\"\n icon=\"external-link\"\n href={this.moreInfoLink\n .replace(/\\{lang\\}/, this.localization.$locale)\n .replace(/\\{id\\}/, disturbance.id)}\n >\n {this.localization.moreInfo}\n </stzh-link>\n }\n </div>\n </div>\n );\n }\n\n render() {\n const classes = {\n \"stzh-vbz-ticker\": true\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"stzh-vbz-ticker__text\">\n <div class=\"stzh-vbz-ticker__title\">\n <div class=\"stzh-vbz-ticker__title-parts\">\n {this.lines.length === 0 && this.counter[VBZ.DISTURBANCE_GLOBAL] === 0 &&\n <div class=\"stzh-vbz-ticker__title-part stzh-vbz-ticker__title-part--no-disturbances\">\n <stzh-icon class=\"stzh-vbz-ticker__icon\" name=\"checkmark-circle\"></stzh-icon>\n {this.localization.noDisturbances}\n </div>}\n\n {/* {this.counter[DISTURBANCE_GLOBAL] > 0 &&\n <div class=\"stzh-vbz-ticker__title-part stzh-vbz-ticker__title-part--major-events\">\n <stzh-icon class=\"stzh-vbz-ticker__icon\" name=\"important-warning\"></stzh-icon>\n {this.localization.majorEventTitle}\n </div>} */}\n\n {this.counter[VBZ.DISTURBANCE_NORMAL] > 0 &&\n <div class=\"stzh-vbz-ticker__title-part stzh-vbz-ticker__title-part--disturbances\">\n <stzh-icon class=\"stzh-vbz-ticker__icon\" name=\"warning\"></stzh-icon>\n {this.counter[VBZ.DISTURBANCE_GLOBAL] > 0 ?\n this.localization.furtherDisturbanceTitle : this.localization.disturbanceTitle}\n </div>}\n\n {(this.counter[VBZ.DISTURBANCE_CONSTRUCTION] > 0\n || this.counter[VBZ.DISTURBANCE_EVENT] > 0\n || this.counter[VBZ.DISTURBANCE_BUS] > 0) &&\n <div class=\"stzh-vbz-ticker__title-part stzh-vbz-ticker__title-part--others\">\n <stzh-icon class=\"stzh-vbz-ticker__icon\" name=\"construction\"></stzh-icon>\n {this.localization.constructionsTitle}\n </div>}\n </div>\n </div>\n\n {(this.lines.length > 0 || this.counter[VBZ.DISTURBANCE_GLOBAL] > 0) &&\n <Fragment>\n {/* <div class=\"stzh-vbz-ticker__description\">\n {this.counter[VBZ.DISTURBANCE_GLOBAL] > 0\n ? this.localization.globalDisturbance\n : this.localization.affectedLines}\n </div> */}\n <div class=\"stzh-vbz-ticker__chips\" role=\"list\">\n {/* {this.counter[VBZ.DISTURBANCE_GLOBAL] > 0 &&\n <div class=\"stzh-vbz-ticker__chip\" role=\"listitem\">\n <stzh-tooltip class=\"stzh-vbz-ticker__tooltip\">\n <stzh-vbz-linechip global></stzh-vbz-linechip>\n <div class=\"stzh-vbz-ticker__tooltip-content\" slot=\"content\">\n {this.globalDisturbances.map((disturbance) => this.renderDisturbance(disturbance))}\n </div>\n </stzh-tooltip>\n </div>} */}\n\n {this.lines.map((line) =>\n <div class=\"stzh-vbz-ticker__chip\" role=\"listitem\">\n <stzh-tooltip class=\"stzh-vbz-ticker__tooltip\">\n <stzh-vbz-linechip line={line.line} alert={line.alert}></stzh-vbz-linechip>\n <div class=\"stzh-vbz-ticker__tooltip-content\" slot=\"content\">\n {line.disturbances.map((disturbance) => this.renderDisturbance(disturbance))}\n </div>\n </stzh-tooltip>\n </div>\n )}\n </div>\n </Fragment>}\n </div>\n\n <div class=\"stzh-vbz-ticker__link\">\n <slot name=\"link\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"stzh-vbz-ticker.js","mappings":"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","names":["StzhVbzTicker"],"sources":["src/components/stzh-vbz-ticker/stzh-vbz-ticker.scss?tag=stzh-vbz-ticker&encapsulation=scoped","src/components/stzh-vbz-ticker/stzh-vbz-ticker.tsx"],"sourcesContent":[":host {\n}\n\n.stzh-vbz-ticker {\n display: flex;\n flex-direction: column;\n position: relative;\n\n @include mq($from: medium) {\n flex-direction: row;\n align-items: flex-start;\n }\n\n &__content {\n display: flex;\n flex-direction: column;\n gap: var(--stzh-space-xsmall);\n }\n\n &__icon {\n --size: #{iconSize('small')};\n margin-right: space('xsmall');\n }\n\n &__title {\n @include font;\n @include fontCurve('p1');\n display: flex;\n flex-wrap: wrap;\n }\n\n &__title-parts {\n display: flex;\n flex-wrap: wrap;\n margin: calc(#{space('xxxsmall')} / -1) 0;\n }\n\n &__title-part {\n display: flex;\n align-items: center;\n white-space: nowrap;\n margin: space('xxxsmall') 0;\n color: $colorGrey90;\n\n\n &:not(:last-child) {\n margin-right: space('large');\n }\n\n &--major-events {\n color: $colorCoral;\n }\n\n &--disturbances {\n color: $colorError60;\n }\n }\n\n &__chips {\n display: flex;\n flex-wrap: wrap;\n gap: 0 var(--stzh-space-xsmall);\n }\n\n &__tooltip {\n --width: 334px;\n }\n\n &__disturbance {\n display: flex;\n align-items: flex-start;\n\n &:not(:first-child) {\n margin-top: space('small');\n }\n }\n\n &__disturbance-title {\n @include font;\n @include fontSize('micro');\n display: flex;\n }\n\n &__disturbance-date {\n @include font;\n @include fontSize('micro');\n margin-top: space('xsmall');\n }\n\n &__disturbance--type0 &__disturbance-title,\n &__disturbance--type2 &__disturbance-title {\n @include font('heavy');\n }\n\n &__disturbance-icon {\n --size: #{iconSize('xsmall')};\n margin-top: space('xxxsmall');\n margin-right: space('xsmall');\n }\n\n &__disturbance-link {\n margin-top: space('xsmall');\n }\n}\n\n","import { Component, Element, Fragment, h, Host, Prop, Watch } from \"@stencil/core\";\n\nimport axios from \"axios\";\n\nimport { StzhLocaleAdapter } from \"../../utils/date-adapter\";\n\nimport { VBZ, VbzTickerDisturbance, VbzTickerInfoUrl, VbzTickerLine } from \"../../index\";\n\nimport { StzhVbzTickerLocalizedText } from \"./stzh-vbz-ticker.localization\";\n\n/**\n * @slot link - Optional link to traffic situation\n */\n@Component({\n tag: \"stzh-vbz-ticker\",\n styleUrl: \"stzh-vbz-ticker.scss\",\n scoped: true,\n})\nexport class StzhVbzTicker {\n /** API URL (`{lang}` is replaced in the URL) */\n @Prop() api: string =\n \"https://fpbe.zvv.ch/restproxy/himsearch?format=json&accessId=unic&channels=ticker&additionalfields=tickers:VBZ&orderBy=LMOD_DESC&lang={lang}\";\n\n /** Data to pass in directly (alternative for API call) */\n @Prop() data: any = \"\";\n private _data: any;\n\n /** More info link (`{lang}` and `{id}` are replaced in the URL) */\n @Prop() moreInfoLink: string = \"https://zvv.ch/zvv/{lang}/fahrplan/vl.html?himIds={id}\";\n\n /**\n * Date adapter, for custom parsing/formatting.\n * Must be object with a `parse` function which accepts a `string` and returns a `Date`,\n * and a `format` function which accepts a `Date` and returns a `string`.\n */\n @Prop() dateAdapter: StzhLocaleAdapter;\n\n /** Translation strings. */\n @Prop() localization: StzhVbzTickerLocalizedText;\n\n @Element() element: HTMLStzhVbzTickerElement;\n\n private globalDisturbances: VbzTickerDisturbance[] = [];\n private linesWithDisturbances: VbzTickerLine[] = [];\n private linesWithConstructions: VbzTickerLine[] = [];\n private collator: Intl.Collator;\n\n private counter = {\n [`${VBZ.DISTURBANCE_GLOBAL}`]: 0,\n [`${VBZ.DISTURBANCE_INFORMATION}`]: 0,\n [`${VBZ.DISTURBANCE_CONSTRUCTION}`]: 0,\n [`${VBZ.DISTURBANCE_NORMAL}`]: 0,\n [`${VBZ.DISTURBANCE_EVENT}`]: 0,\n [`${VBZ.DISTURBANCE_BUS}`]: 0,\n };\n\n @Watch(\"localization\")\n localizationWatcher() {\n this.collator = new Intl.Collator(this.localization.$locale, {\n numeric: true,\n });\n }\n\n @Watch(\"api\")\n async apiWatcher(newValue: string) {\n if (!newValue) {\n return;\n }\n\n let apiUrl = this.api.replace(/\\{lang\\}/, this.localization.$locale);\n apiUrl = apiUrl + (apiUrl.includes(\"?\") ? \"&\" : \"?\") + Date.now();\n\n // load data from API\n const { data } = await axios.get(apiUrl);\n\n this.data = data;\n }\n\n @Watch(\"dateAdapter\")\n dateAdapterWatcher(newValue: StzhLocaleAdapter) {\n if (!newValue) {\n this.dateAdapter = window.stzhComponents.utils.createFormatParseAdapter(\n this.localization.$formats,\n this.localization.$globals\n );\n }\n }\n\n @Watch(\"data\")\n async dataWatcher(newValue: any) {\n if (typeof newValue === \"string\") {\n this._data = JSON.parse(newValue);\n } else {\n this._data = newValue;\n }\n\n const linesToDisplay: { [key: string]: VbzTickerLine } = {};\n\n this._data?.Message?.forEach(message => {\n const urls: VbzTickerInfoUrl[] = message.channel\n .filter(channel => channel.name === VBZ.CHANNEL_TICKER && channel.url)\n .map(channel => channel.url)\n .reduce((a, b) => a.concat(b), []);\n\n const infoUrl = urls.find(url => url.url.indexOf(VBZ.CHANNEL_INFO_URL_FILTER) !== -1);\n\n if (message.baseType === VBZ.BASE_TYPE_GLOBAL) {\n this.counter[VBZ.DISTURBANCE_GLOBAL]++;\n\n this.globalDisturbances.push({\n id: message.id,\n head: message.head,\n category: message.category,\n baseType: message.baseType,\n startDate: new Date(`${message.sDate}T${message.sTime}+02:00`),\n endDate: new Date(`${message.eDate}T${message.eTime}+02:00`),\n altStart: message.altStart,\n altEnd: message.altEnd,\n infoUrl: infoUrl,\n });\n } else {\n this.counter[message.category]++;\n }\n\n // don't add to linesWithDisturbances if no line/product has been linked to\n // or if it is a information disturbance or global\n if (\n message.affectedProduct &&\n message.category !== VBZ.DISTURBANCE_INFORMATION &&\n message.baseType !== VBZ.BASE_TYPE_GLOBAL\n ) {\n const affectedLines = [];\n\n message.affectedProduct.forEach(product => {\n if (typeof linesToDisplay[product.lineId] === \"undefined\") {\n linesToDisplay[product.lineId] = {\n line: product.line,\n name: product.name,\n category: product.cls,\n disturbances: [],\n alert: false,\n };\n }\n\n if (message.category === VBZ.DISTURBANCE_EVENT || message.category === VBZ.DISTURBANCE_GLOBAL) {\n linesToDisplay[product.lineId].alert = true;\n }\n\n // only add disturbance message to line if it was not already added (avoiding same message twice)\n if (!affectedLines.includes(product.lineId)) {\n affectedLines.push(product.lineId);\n\n linesToDisplay[product.lineId].disturbances.push({\n id: message.id,\n head: message.head,\n category: message.category,\n baseType: message.baseType,\n startDate: new Date(`${message.sDate}T${message.sTime}+02:00`),\n endDate: new Date(`${message.eDate}T${message.eTime}+02:00`),\n altStart: message.altStart,\n altEnd: message.altEnd,\n infoUrl: infoUrl,\n });\n }\n });\n }\n });\n\n this.linesWithDisturbances = Object.keys(linesToDisplay)\n .map(key => linesToDisplay[key])\n .filter(\n line => line.disturbances.findIndex(disturbance => disturbance.category !== VBZ.DISTURBANCE_CONSTRUCTION) > -1\n );\n\n this.linesWithConstructions = Object.keys(linesToDisplay)\n .map(key => linesToDisplay[key])\n .filter(\n line => line.disturbances.findIndex(disturbance => disturbance.category === VBZ.DISTURBANCE_CONSTRUCTION) > -1\n );\n\n // sort by line name\n this.linesWithDisturbances.sort((a, b) => this.collator.compare(a.line, b.line));\n this.linesWithConstructions.sort((a, b) => this.collator.compare(a.line, b.line));\n }\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"vbz-ticker\");\n this.localizationWatcher();\n }\n\n this.dateAdapterWatcher(this.dateAdapter);\n\n if (this.data) {\n await this.dataWatcher(this.data);\n } else {\n await this.apiWatcher(this.api);\n }\n }\n\n renderDisturbance(disturbance: VbzTickerDisturbance) {\n return (\n <div\n class={{\n \"stzh-vbz-ticker__disturbance\": true,\n [`stzh-vbz-ticker__disturbance--type${disturbance.category}`]: !!disturbance.category,\n }}\n >\n <div class=\"stzh-vbz-ticker__disturbance-text\">\n <div class=\"stzh-vbz-ticker__disturbance-title\">{disturbance.head}</div>\n\n <div class=\"stzh-vbz-ticker__disturbance-date\">\n {this.dateAdapter.formatSpan(\n disturbance.altStart || disturbance.startDate,\n disturbance.altEnd || disturbance.endDate,\n \"date\"\n )}\n </div>\n\n {disturbance.infoUrl ? (\n <stzh-link class=\"stzh-vbz-ticker__disturbance-link\" size=\"small\" href={disturbance.infoUrl.url}>\n {this.localization.moreInfo}\n </stzh-link>\n ) : (\n <stzh-link\n class=\"stzh-vbz-ticker__disturbance-link\"\n size=\"small\"\n target=\"_blank\"\n icon=\"external-link\"\n href={this.moreInfoLink.replace(/\\{lang\\}/, this.localization.$locale).replace(/\\{id\\}/, disturbance.id)}\n >\n {this.localization.moreInfo}\n </stzh-link>\n )}\n </div>\n </div>\n );\n }\n\n render() {\n const classes = {\n \"stzh-vbz-ticker\": true,\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"stzh-vbz-ticker__content\">\n {/* TODO: Old stuff currently in verification whether to redesign or remove. */}\n\n {/*{this.linesWithDisturbances.length === 0 && this.counter[VBZ.DISTURBANCE_GLOBAL] === 0 && (*/}\n {/* <div class=\"stzh-vbz-ticker__title-part stzh-vbz-ticker__title-part--no-disturbances\">*/}\n {/* <stzh-icon class=\"stzh-vbz-ticker__icon\" name=\"checkmark-circle\"></stzh-icon>*/}\n {/* {this.localization.noDisturbances}*/}\n {/* </div>*/}\n {/*)}*/}\n\n {/*{this.counter[DISTURBANCE_GLOBAL] > 0 && (*/}\n {/* <div class=\"stzh-vbz-ticker__title-part stzh-vbz-ticker__title-part--major-events\">*/}\n {/* <stzh-icon class=\"stzh-vbz-ticker__icon\" name=\"important-warning\"></stzh-icon>*/}\n {/* {this.localization.majorEventTitle}*/}\n {/* </div>*/}\n {/*)}*/}\n\n {/*<div class=\"stzh-vbz-ticker__description\">*/}\n {/* {this.counter[VBZ.DISTURBANCE_GLOBAL] > 0*/}\n {/* ? this.localization.globalDisturbance*/}\n {/* : this.localization.affectedLines}*/}\n {/*</div>*/}\n\n {/*{this.counter[VBZ.DISTURBANCE_GLOBAL] > 0 && (*/}\n {/* <div class=\"stzh-vbz-ticker__chip\" role=\"listitem\">*/}\n {/* <stzh-tooltip class=\"stzh-vbz-ticker__tooltip\">*/}\n {/* <stzh-vbz-linechip global></stzh-vbz-linechip>*/}\n {/* <div class=\"stzh-vbz-ticker__tooltip-content\" slot=\"content\">*/}\n {/* {this.globalDisturbances.map(disturbance => this.renderDisturbance(disturbance))}*/}\n {/* </div>*/}\n {/* </stzh-tooltip>*/}\n {/* </div>*/}\n {/*)}*/}\n\n {this.counter[VBZ.DISTURBANCE_NORMAL] > 0 && (\n <Fragment>\n <div class=\"stzh-vbz-ticker__title\">\n <div class=\"stzh-vbz-ticker__title-part stzh-vbz-ticker__title-part--disturbances\">\n <stzh-icon class=\"stzh-vbz-ticker__icon\" name=\"warning\"></stzh-icon>\n {this.localization.disturbancesTitle}\n </div>\n </div>\n <div class=\"stzh-vbz-ticket__lines\">\n <div class=\"stzh-vbz-ticker__chips\" role=\"list\">\n {this.linesWithDisturbances.map(line => (\n <div class=\"stzh-vbz-ticker__chip\" role=\"listitem\">\n <stzh-tooltip class=\"stzh-vbz-ticker__tooltip\">\n <stzh-vbz-linechip line={line.line} alert={line.alert}></stzh-vbz-linechip>\n <div class=\"stzh-vbz-ticker__tooltip-content\" slot=\"content\">\n {line.disturbances.map(disturbance => this.renderDisturbance(disturbance))}\n </div>\n </stzh-tooltip>\n </div>\n ))}\n </div>\n </div>\n </Fragment>\n )}\n\n {/* Constructions etc. */}\n {(this.counter[VBZ.DISTURBANCE_CONSTRUCTION] > 0 ||\n this.counter[VBZ.DISTURBANCE_EVENT] > 0 ||\n this.counter[VBZ.DISTURBANCE_BUS] > 0) && (\n <Fragment>\n <div class=\"stzh-vbz-ticker__title\">\n <div class=\"stzh-vbz-ticker__title-parts\">\n <div class=\"stzh-vbz-ticker__title-part stzh-vbz-ticker__title-part--others\">\n <stzh-icon class=\"stzh-vbz-ticker__icon\" name=\"construction\"></stzh-icon>\n {this.localization.constructionsTitle}\n </div>\n </div>\n </div>\n <div class=\"stzh-vbz-ticket__lines\">\n <div class=\"stzh-vbz-ticker__chips\" role=\"list\">\n {this.linesWithConstructions.map(line => (\n <div class=\"stzh-vbz-ticker__chip\" role=\"listitem\">\n <stzh-tooltip class=\"stzh-vbz-ticker__tooltip\">\n <stzh-vbz-linechip line={line.line} alert={line.alert}></stzh-vbz-linechip>\n <div class=\"stzh-vbz-ticker__tooltip-content\" slot=\"content\">\n {line.disturbances.map(disturbance => this.renderDisturbance(disturbance))}\n </div>\n </stzh-tooltip>\n </div>\n ))}\n </div>\n </div>\n </Fragment>\n )}\n\n <div class=\"stzh-vbz-ticker__link\">\n <slot name=\"link\"></slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -35,13 +35,13 @@ function hasSlot(el, name) {
35
35
  return el.querySelector(`[slot="${name}"]`) !== null;
36
36
  }
37
37
  // Look for a default slot
38
- return Array.from(childNodes(el)).some(node => {
39
- if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== '') {
38
+ return Array.from(childNodes(el)).some((node) => {
39
+ if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== "") {
40
40
  return true;
41
41
  }
42
42
  if (node.nodeType === node.ELEMENT_NODE) {
43
43
  const el = node;
44
- if (!el.hasAttribute('slot')) {
44
+ if (!el.hasAttribute("slot")) {
45
45
  return true;
46
46
  }
47
47
  }
@@ -49,7 +49,7 @@ function hasSlot(el, name) {
49
49
  });
50
50
  }
51
51
  function setPropsIfNull(element, attributes) {
52
- Object.keys(attributes).forEach(attribute => {
52
+ Object.keys(attributes).forEach((attribute) => {
53
53
  if (element.getAttribute(dashCase(attribute)) === null) {
54
54
  element[attribute] = attributes[attribute];
55
55
  }
@@ -59,7 +59,7 @@ function isStzhElement(element) {
59
59
  if (!element || element.nodeType !== 1) {
60
60
  return false;
61
61
  }
62
- return element.tagName.toLowerCase().indexOf('stzh-') === 0;
62
+ return element.tagName.toLowerCase().indexOf("stzh-") === 0;
63
63
  }
64
64
  // returns content of <meta name="" content=""> tags or '' if empty/non existant
65
65
  function getMeta(name) {
@@ -83,14 +83,18 @@ function childNodes(node) {
83
83
  return Array.from(childNodes);
84
84
  }
85
85
  function isVisible(element) {
86
+ // @ts-ignore
86
87
  if (typeof element.checkVisibility !== "undefined") {
88
+ // @ts-ignore
87
89
  return element.checkVisibility({
88
90
  checkOpacity: false,
89
- checkVisibilityCSS: false
91
+ checkVisibilityCSS: false,
90
92
  });
91
93
  }
92
94
  else {
93
- return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length);
95
+ return !!(element.offsetWidth ||
96
+ element.offsetHeight ||
97
+ element.getClientRects().length);
94
98
  }
95
99
  }
96
100
  function offset(element) {
@@ -101,7 +105,7 @@ function offset(element) {
101
105
  let win = element.ownerDocument.defaultView;
102
106
  return {
103
107
  top: rect.top + win.pageYOffset,
104
- left: rect.left + win.pageXOffset
108
+ left: rect.left + win.pageXOffset,
105
109
  };
106
110
  }
107
111
  async function raf() {
@@ -111,6 +115,32 @@ async function raf() {
111
115
  });
112
116
  });
113
117
  }
118
+ var StzhEnvironmentEnum;
119
+ (function (StzhEnvironmentEnum) {
120
+ StzhEnvironmentEnum["UNKNOWN"] = "UNKNOWN";
121
+ StzhEnvironmentEnum["DEV"] = "DEV";
122
+ StzhEnvironmentEnum["UAT"] = "UAT";
123
+ StzhEnvironmentEnum["PROD"] = "PROD";
124
+ })(StzhEnvironmentEnum || (StzhEnvironmentEnum = {}));
125
+ function getStzhEnvironment() {
126
+ const url = window.location.href;
127
+ if (url.includes("test.stadt-zuerich.ch") ||
128
+ url.match(/\.dev\.cmp\.szh\.loc/)) {
129
+ return StzhEnvironmentEnum.DEV;
130
+ }
131
+ else if (url.includes("integ.stadt-zuerich.ch") ||
132
+ url.includes("stzh-desi-unic-preview.netlify.app") ||
133
+ url.match(/\.uat\.cmp\.szh\.loc/)) {
134
+ return StzhEnvironmentEnum.UAT;
135
+ }
136
+ else if (url.includes("www.stadt-zuerich.ch") ||
137
+ url.match(/\.cmp\.szh\.loc/)) {
138
+ return StzhEnvironmentEnum.PROD;
139
+ }
140
+ else {
141
+ return StzhEnvironmentEnum.UNKNOWN;
142
+ }
143
+ }
114
144
  // `extras.experimentalSlotFixes` stencil config flag resolves cloning light dom elements
115
145
  // so our own cloneElement / cloneWrappedStzhElement helpers are not needed right now
116
146
  // (used before in cardlist and sortable component).
@@ -164,6 +194,6 @@ async function raf() {
164
194
  // return [clonedElement, clonedStzhElement, originalStzhElement];
165
195
  // }
166
196
 
167
- export { isVisible as a, abbreviateText as b, camelCase as c, createParagraphsFromBrs as d, getMeta as g, hasSlot as h, isStzhElement as i, offset as o, raf as r, setPropsIfNull as s };
197
+ export { StzhEnvironmentEnum as S, isVisible as a, abbreviateText as b, camelCase as c, getMeta as d, createParagraphsFromBrs as e, getStzhEnvironment as g, hasSlot as h, isStzhElement as i, offset as o, raf as r, setPropsIfNull as s };
168
198
 
169
199
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"file":"utils.js","mappings":"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","names":[],"sources":["src/utils/string-utils.ts","src/utils/utils.ts"],"sourcesContent":["export function createParagraphsFromBrs(content: string) {\n const replaced = content\n .replace(/^\\s*(?:<br\\s*\\/?>\\s*)*/i, \"\")\n .replace(/\\s*(?:<br\\s*\\/?>\\s*)*$/i, \"\")\n .replace(/(?:<br\\s*\\/?>\\s*?){2,}/gi, \"</p><p>\");\n\n return `<p>${replaced}</p>`;\n}\n\nexport function camelCase(dashString: string) {\n return dashString\n .replace(/-([a-z])/g, function (g) {\n return g[1].toUpperCase();\n });\n}\n\nexport function dashCase(camelString: string) {\n return camelString.replace(/[A-Z]/g, m => \"-\" + m.toLowerCase());\n}\n\nexport function abbreviateText(text, length) {\n if (text.length <= length) {\n return text;\n }\n\n var lastWhitespaceIndex = text.substring(0, length - 1).lastIndexOf(' ');\n\n if (lastWhitespaceIndex) {\n return text.substring(0, lastWhitespaceIndex) + '\\u2026';\n } else {\n return text.substring(0, length - 1);\n }\n}\n","import { dashCase } from \"./string-utils\";\n\n// Determines whether an element has a slot. If name is specified, the function will look for a corresponding named\n// slot, otherwise it will look for a \"default\" slot (e.g. a non-empty text node or an element with no slot attribute).\nexport function hasSlot(el: HTMLElement, name?: string) {\n // Look for a named slot\n if (name) {\n return el.querySelector(`[slot=\"${name}\"]`) !== null;\n }\n\n // Look for a default slot\n return Array.from(childNodes(el)).some(node => {\n if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== '') {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n if (!el.hasAttribute('slot')) {\n return true;\n }\n }\n\n return false;\n });\n}\n\nexport function setPropsIfNull(element: Element, attributes: any) {\n Object.keys(attributes).forEach(attribute => {\n if (element.getAttribute(dashCase(attribute)) === null) {\n element[attribute] = attributes[attribute];\n }\n })\n}\n\nexport function isStzhElement(element: Element) {\n if (!element || element.nodeType !== 1) {\n return false;\n }\n\n return element.tagName.toLowerCase().indexOf('stzh-') === 0;\n}\n\n// returns content of <meta name=\"\" content=\"\"> tags or '' if empty/non existant\nexport function getMeta(name) {\n const meta = document.querySelector(`meta[name=\"${name}\"],[property=\"${name}\"]`);\n return meta ? meta.getAttribute(\"content\") : \"\";\n}\n\nexport function parents(node: Element | Node) {\n const parents = [];\n\n while (node) {\n parents.unshift(node);\n node = node.parentNode;\n }\n\n return parents;\n}\n\nexport function childNodes(node: Element) {\n const childNodes = node.childNodes;\n\n // check if element is stencil element without shadow dom\n // and then detect elements that were slotted into the element\n if (node[\"s-sc\"]) {\n const result = [];\n\n for (let i = 0; i < childNodes.length; i++) {\n const slot = childNodes[i][\"s-nr\"];\n\n if (slot) {\n result.push(slot);\n }\n }\n\n return result;\n }\n\n return Array.from(childNodes);\n}\n\nexport function isVisible(element: HTMLElement): boolean {\n if (typeof element.checkVisibility !== \"undefined\") {\n return element.checkVisibility({\n checkOpacity: false,\n checkVisibilityCSS: false\n });\n } else {\n return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length);\n }\n}\n\nexport function offset(element): { top: number, left: number } {\n if (!element.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n\n let rect = element.getBoundingClientRect();\n let win = element.ownerDocument.defaultView;\n\n return {\n top: rect.top + win.pageYOffset,\n left: rect.left + win.pageXOffset\n };\n}\n\nexport async function raf() {\n return new Promise<void>((resolve) => {\n requestAnimationFrame(() => {\n resolve();\n });\n });\n}\n\nexport async function setTimeout(time: number) {\n return new Promise<void>((resolve) => {\n window.setTimeout(() => {\n resolve();\n }, time);\n });\n}\n\n\n// `extras.experimentalSlotFixes` stencil config flag resolves cloning light dom elements\n// so our own cloneElement / cloneWrappedStzhElement helpers are not needed right now\n// (used before in cardlist and sortable component).\n\n// export function children(node: Element) {\n// return childNodes(node).map((n: any) => n.nodeType === 1);\n// }\n\n// const nativeCloneNodeFn = Node.prototype.cloneNode;\n\n// export function cloneElement(node: Element, deep: boolean) {\n// const clonedNode = nativeCloneNodeFn.call(node, false);\n// const srcChildNodes = childNodes(node);\n\n// if (deep) {\n// for (let i = 0; i < srcChildNodes.length; i++) {\n// if (srcChildNodes[i].nodeType !== 2) {\n// const childClone = cloneElement(srcChildNodes[i], true);\n// clonedNode.appendChild(childClone);\n// }\n// }\n// }\n\n// return clonedNode;\n// }\n\n// // Clone an stzh-* element that is using stencil polyfilled slots (no shadow dom)\n// // and potentially wrapped in normal elements (e.g. angular component)\n// export function cloneWrappedStzhElement(elementToClone: Element): [Element, Element, Element] {\n// let clonedElement: Element;\n// let clonedStzhElement: Element;\n// let originalStzhElement: Element;\n\n// if (isStzhElement(elementToClone)) {\n// clonedElement = cloneElement(elementToClone, true);\n// clonedStzhElement = clonedElement;\n// originalStzhElement = elementToClone;\n// } else {\n// clonedElement = elementToClone.cloneNode() as Element;\n\n// let clonedInnerElementLast: Element = clonedElement;\n// let originalInnerElementLast: Element = elementToClone;\n\n// // clone inner root elements separately until we find a stzh element\n// while (originalInnerElementLast.children.length === 1 && !isStzhElement(originalInnerElementLast.children[0])) {\n// originalInnerElementLast = originalInnerElementLast.children[0];\n// const clonedInnerElementCurrent = originalInnerElementLast.cloneNode() as Element;\n\n// clonedInnerElementLast.appendChild(clonedInnerElementCurrent);\n// clonedInnerElementLast = clonedInnerElementCurrent;\n// }\n\n// if (isStzhElement(originalInnerElementLast.children[0])) {\n// clonedStzhElement = cloneElement(originalInnerElementLast.children[0], true);\n// originalStzhElement = originalInnerElementLast.children[0];\n// clonedInnerElementLast.appendChild(clonedStzhElement);\n// } else {\n// // no root stzh element found, so we give up and just deep clone the root\n// clonedElement = cloneElement(elementToClone, true);\n// }\n// }\n\n// return [clonedElement, clonedStzhElement, originalStzhElement];\n// }\n"],"version":3}
1
+ {"file":"utils.js","mappings":"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","names":[],"sources":["src/utils/string-utils.ts","src/utils/utils.ts"],"sourcesContent":["export function createParagraphsFromBrs(content: string) {\n const replaced = content\n .replace(/^\\s*(?:<br\\s*\\/?>\\s*)*/i, \"\")\n .replace(/\\s*(?:<br\\s*\\/?>\\s*)*$/i, \"\")\n .replace(/(?:<br\\s*\\/?>\\s*?){2,}/gi, \"</p><p>\");\n\n return `<p>${replaced}</p>`;\n}\n\nexport function camelCase(dashString: string) {\n return dashString\n .replace(/-([a-z])/g, function (g) {\n return g[1].toUpperCase();\n });\n}\n\nexport function dashCase(camelString: string) {\n return camelString.replace(/[A-Z]/g, m => \"-\" + m.toLowerCase());\n}\n\nexport function abbreviateText(text, length) {\n if (text.length <= length) {\n return text;\n }\n\n var lastWhitespaceIndex = text.substring(0, length - 1).lastIndexOf(' ');\n\n if (lastWhitespaceIndex) {\n return text.substring(0, lastWhitespaceIndex) + '\\u2026';\n } else {\n return text.substring(0, length - 1);\n }\n}\n","import { dashCase } from \"./string-utils\";\n\n// Determines whether an element has a slot. If name is specified, the function will look for a corresponding named\n// slot, otherwise it will look for a \"default\" slot (e.g. a non-empty text node or an element with no slot attribute).\nexport function hasSlot(el: HTMLElement, name?: string) {\n // Look for a named slot\n if (name) {\n return el.querySelector(`[slot=\"${name}\"]`) !== null;\n }\n\n // Look for a default slot\n return Array.from(childNodes(el)).some((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== \"\") {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n\n return false;\n });\n}\n\nexport function setPropsIfNull(element: Element, attributes: any) {\n Object.keys(attributes).forEach((attribute) => {\n if (element.getAttribute(dashCase(attribute)) === null) {\n element[attribute] = attributes[attribute];\n }\n });\n}\n\nexport function isStzhElement(element: Element) {\n if (!element || element.nodeType !== 1) {\n return false;\n }\n\n return element.tagName.toLowerCase().indexOf(\"stzh-\") === 0;\n}\n\n// returns content of <meta name=\"\" content=\"\"> tags or '' if empty/non existant\nexport function getMeta(name) {\n const meta = document.querySelector(\n `meta[name=\"${name}\"],[property=\"${name}\"]`\n );\n return meta ? meta.getAttribute(\"content\") : \"\";\n}\n\nexport function parents(node: Element | Node) {\n const parents = [];\n\n while (node) {\n parents.unshift(node);\n node = node.parentNode;\n }\n\n return parents;\n}\n\nexport function childNodes(node: Element) {\n const childNodes = node.childNodes;\n\n // check if element is stencil element without shadow dom\n // and then detect elements that were slotted into the element\n if (node[\"s-sc\"]) {\n const result = [];\n\n for (let i = 0; i < childNodes.length; i++) {\n const slot = childNodes[i][\"s-nr\"];\n\n if (slot) {\n result.push(slot);\n }\n }\n\n return result;\n }\n\n return Array.from(childNodes);\n}\n\nexport function isVisible(element: HTMLElement): boolean {\n // @ts-ignore\n if (typeof element.checkVisibility !== \"undefined\") {\n // @ts-ignore\n return element.checkVisibility({\n checkOpacity: false,\n checkVisibilityCSS: false,\n });\n } else {\n return !!(\n element.offsetWidth ||\n element.offsetHeight ||\n element.getClientRects().length\n );\n }\n}\n\nexport function offset(element): { top: number; left: number } {\n if (!element.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n\n let rect = element.getBoundingClientRect();\n let win = element.ownerDocument.defaultView;\n\n return {\n top: rect.top + win.pageYOffset,\n left: rect.left + win.pageXOffset,\n };\n}\n\nexport async function raf() {\n return new Promise<void>((resolve) => {\n requestAnimationFrame(() => {\n resolve();\n });\n });\n}\n\nexport async function setTimeout(time: number) {\n return new Promise<void>((resolve) => {\n window.setTimeout(() => {\n resolve();\n }, time);\n });\n}\n\nexport enum StzhEnvironmentEnum {\n UNKNOWN = \"UNKNOWN\",\n DEV = \"DEV\",\n UAT = \"UAT\",\n PROD = \"PROD\",\n}\n\nexport function getStzhEnvironment(): StzhEnvironmentEnum {\n const url = window.location.href;\n if (\n url.includes(\"test.stadt-zuerich.ch\") ||\n url.match(/\\.dev\\.cmp\\.szh\\.loc/)\n ) {\n return StzhEnvironmentEnum.DEV;\n } else if (\n url.includes(\"integ.stadt-zuerich.ch\") ||\n url.includes(\"stzh-desi-unic-preview.netlify.app\") ||\n url.match(/\\.uat\\.cmp\\.szh\\.loc/)\n ) {\n return StzhEnvironmentEnum.UAT;\n } else if (\n url.includes(\"www.stadt-zuerich.ch\") ||\n url.match(/\\.cmp\\.szh\\.loc/)\n ) {\n return StzhEnvironmentEnum.PROD;\n } else {\n return StzhEnvironmentEnum.UNKNOWN;\n }\n}\n\n// `extras.experimentalSlotFixes` stencil config flag resolves cloning light dom elements\n// so our own cloneElement / cloneWrappedStzhElement helpers are not needed right now\n// (used before in cardlist and sortable component).\n\n// export function children(node: Element) {\n// return childNodes(node).map((n: any) => n.nodeType === 1);\n// }\n\n// const nativeCloneNodeFn = Node.prototype.cloneNode;\n\n// export function cloneElement(node: Element, deep: boolean) {\n// const clonedNode = nativeCloneNodeFn.call(node, false);\n// const srcChildNodes = childNodes(node);\n\n// if (deep) {\n// for (let i = 0; i < srcChildNodes.length; i++) {\n// if (srcChildNodes[i].nodeType !== 2) {\n// const childClone = cloneElement(srcChildNodes[i], true);\n// clonedNode.appendChild(childClone);\n// }\n// }\n// }\n\n// return clonedNode;\n// }\n\n// // Clone an stzh-* element that is using stencil polyfilled slots (no shadow dom)\n// // and potentially wrapped in normal elements (e.g. angular component)\n// export function cloneWrappedStzhElement(elementToClone: Element): [Element, Element, Element] {\n// let clonedElement: Element;\n// let clonedStzhElement: Element;\n// let originalStzhElement: Element;\n\n// if (isStzhElement(elementToClone)) {\n// clonedElement = cloneElement(elementToClone, true);\n// clonedStzhElement = clonedElement;\n// originalStzhElement = elementToClone;\n// } else {\n// clonedElement = elementToClone.cloneNode() as Element;\n\n// let clonedInnerElementLast: Element = clonedElement;\n// let originalInnerElementLast: Element = elementToClone;\n\n// // clone inner root elements separately until we find a stzh element\n// while (originalInnerElementLast.children.length === 1 && !isStzhElement(originalInnerElementLast.children[0])) {\n// originalInnerElementLast = originalInnerElementLast.children[0];\n// const clonedInnerElementCurrent = originalInnerElementLast.cloneNode() as Element;\n\n// clonedInnerElementLast.appendChild(clonedInnerElementCurrent);\n// clonedInnerElementLast = clonedInnerElementCurrent;\n// }\n\n// if (isStzhElement(originalInnerElementLast.children[0])) {\n// clonedStzhElement = cloneElement(originalInnerElementLast.children[0], true);\n// originalStzhElement = originalInnerElementLast.children[0];\n// clonedInnerElementLast.appendChild(clonedStzhElement);\n// } else {\n// // no root stzh element found, so we give up and just deep clone the root\n// clonedElement = cloneElement(elementToClone, true);\n// }\n// }\n\n// return [clonedElement, clonedStzhElement, originalStzhElement];\n// }\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  const name = "@oiz/stzh-components";
2
- const version = "3.1.0";
2
+ const version = "3.2.0-beta1";
3
3
 
4
4
  const packageName = name.substring(name.indexOf('/')+1);
5
5
  // let focused = false;
@@ -376,4 +376,4 @@ const globalScripts = appGlobalScript;
376
376
 
377
377
  export { globalScripts as g };
378
378
 
379
- //# sourceMappingURL=app-globals-ab5b077d.js.map
379
+ //# sourceMappingURL=app-globals-93678901.js.map
@@ -1 +1 @@
1
- {"file":"app-globals-ab5b077d.js","mappings":"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","names":["packageNameScoped"],"sources":["src/global/js/helpers/autofocus.js","src/global/js/helpers/scrollbar-width.js","src/global/js/helpers/utils.js","src/global/js/script.js","@stencil/core/internal/app-globals"],"sourcesContent":["import { name as packageNameScoped } from '../../../../package.json';\n\nconst packageName = packageNameScoped.substring(packageNameScoped.indexOf('/')+1);\n// let focused = false;\n\n// function debounce(func, timeout = 500){\n// let timer;\n// return (...args) => {\n// clearTimeout(timer);\n// timer = setTimeout(() => { func.apply(this, args); }, timeout);\n// };\n// }\n\nconst debouncedFocus = (event) => {\n // if (focused) {\n // return false;\n // }\n\n const autofocus = document.querySelector('[autofocus]');\n\n if (window.stzhComponents.fixAutofocus\n && !document.location.hash\n && autofocus\n && event.detail.namespace === packageName\n && autofocus.tagName.toLowerCase().indexOf('stzh-') === 0\n && 'focus' in autofocus\n ) {\n autofocus.focus();\n // focused = true;\n } else if (window.stzhComponents.fixHashfocus && document.location.hash) {\n const hashElement = document.querySelector(document.location.hash);\n\n if (hashElement) {\n hashElement.scrollIntoView();\n // focused = true;\n }\n }\n}\n\n/**\n * Execute setFocus method if it exists\n * on stzh-element with autofocus on pageload\n * when (child components are loaded)\n */\nexport function applyAutofocus() {\n window.addEventListener('appload', debouncedFocus);\n}\n","export function observeScrollbarWidth() {\n const config = {\n threshold: 1.0\n };\n\n const handleIntersect = (entries) => {\n entries.forEach(entry => {\n let scrollbarWidth = 0;\n\n if (entry.intersectionRatio < 1) {\n // scrollbarWidth = window.innerWidth - document.body.clientWidth;\n scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n }\n\n document.documentElement.style.setProperty('--stzh-scrollbar-width', scrollbarWidth + 'px');\n document.documentElement.style.setProperty('--stzh-scrollbar-active', scrollbarWidth > 0 ? '1' : '0');\n });\n };\n\n const bodyScrollObserver = new IntersectionObserver(handleIntersect, config);\n bodyScrollObserver.observe(document.body);\n}\n","\nexport function format(date, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.format(date, type);\n}\n\nexport function parse(string, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.parse(string, type);\n}\n\nexport function formatSpan(date, date2, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.formatSpan(date, date2, type);\n}\n\nexport function parseSpan(string, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.parseSpan(string, type);\n}\n\nexport function createFormatParseAdapter(formats, globals) {\n // format letters from https://www.php.net/manual/de/datetime.format.php\n const globalFormatter = function (format, date) {\n if (!date || !(date instanceof Date) || isNaN(date.getTime())) {\n return \"\";\n }\n\n let j = date.getDate().toString(10);\n let d = j;\n let n = (date.getMonth() + 1).toString(10);\n let m = n;\n let yC = date.getFullYear().toString(10);\n let gC = date.getHours().toString(10);\n let hC = gC;\n let i = date.getMinutes().toString(10);\n\n // full textual representation of a month\n let fC = globals.monthNames[date.getMonth()];\n // short textual representation of a month\n let mC = globals.monthNamesShort[date.getMonth()];\n // full textual representation of the day\n let l = globals.dayNames[date.getDay()];\n // short textual representation of the day\n let D = globals.dayNamesShort[date.getDay()];\n\n // months *are* zero-indexed, pad if less than 9!\n if (date.getMonth() < 9) {\n m = `0${m}`;\n }\n\n if (date.getDate() < 10) {\n d = `0${d}`;\n }\n\n if (date.getHours() < 10) {\n hC = `0${hC}`;\n }\n\n if (date.getMinutes() < 10) {\n i = `0${i}`;\n }\n\n return format\n .replace(/\\{j\\}/g, j)\n .replace(/\\{d\\}/g, d)\n .replace(/\\{D\\}/g, D)\n .replace(/\\{l\\}/g, l)\n .replace(/\\{n\\}/g, n)\n .replace(/\\{m\\}/g, m)\n .replace(/\\{F\\}/g, fC)\n .replace(/\\{M\\}/g, mC)\n .replace(/\\{Y\\}/g, yC)\n .replace(/\\{H\\}/g, hC)\n .replace(/\\{G\\}/g, gC)\n .replace(/\\{i\\}/g, i);\n }\n\n const globalParser = function (parse, input) {\n if (!input) {\n return;\n }\n\n const regex = new RegExp(parse);\n const match = input.match(regex);\n\n if (match) {\n const { groups } = match;\n\n const year = parseInt(groups.Y || '', 10);\n const month = parseInt(groups.n || groups.m || '', 10);\n const day = parseInt(groups.j || groups.d || '', 10);\n const hours = parseInt(groups.G || groups.H || '', 10);\n const minutes = parseInt(groups.i || '', 10);\n\n if (!isNaN(year) && (year < 1000 || year > 9999)) {\n return;\n }\n\n if (!isNaN(month) && (month < 1 || month > 12)) {\n return;\n }\n\n // we check day later again (if month changed, it was out of range)\n if (!isNaN(day) && (day < 1 || day > 31)) {\n return;\n }\n\n if (!isNaN(hours) && (hours < 0 || hours > 23)) {\n return;\n }\n\n if (!isNaN(minutes) && (minutes < 0 || minutes > 59)) {\n return;\n }\n\n const date = new Date(\n !isNaN(year) ? year : null,\n !isNaN(month) ? month - 1 : null,\n !isNaN(day) ? day : null,\n !isNaN(hours) ? hours : null,\n !isNaN(minutes) ? minutes : null\n );\n\n // if day was out of possible range (1 - 28/29/30/31)\n // we find out by check if month has changed\n if (date.getMonth() + 1 !== month) {\n return;\n }\n\n return date;\n }\n }\n\n const globalAdapter = {\n format: function (date, type = \"datetime\") {\n const dateFormats = {\n ...formats[type],\n ...window.stzhComponents?.formats[type] || {}\n };\n\n if (typeof dateFormats.format === \"string\") {\n return globalFormatter(dateFormats.format, date);\n } else {\n return dateFormats.format(date);\n }\n },\n parse: function (input, type = \"datetime\") {\n const dateFormats = {\n ...formats[type],\n ...window.stzhComponents?.formats[type] || {}\n };\n\n if (typeof dateFormats.parse === \"string\") {\n return globalParser(dateFormats.parse, input);\n } else {\n return dateFormats.parse(input);\n }\n },\n formatSpan: function(date, date2, type = \"datetime\") {\n let formattedDate = date;\n let formattedDate2 = date2;\n\n if (date instanceof Date && !isNaN(date.getTime())) {\n formattedDate = this.format(date, type);\n }\n\n if (date2 instanceof Date && !isNaN(date2.getTime())) {\n formattedDate2 = this.format(date2, type);\n }\n\n let range = globals.dateRange;\n\n if (type.startsWith('time')) {\n range = globals.timeRange;\n }\n\n return formattedDate\n + ((formattedDate2 && (\n !(formattedDate2 instanceof Date)\n || formattedDate2 instanceof Date && !isNaN(date.getTime())\n )) ? range + formattedDate2 : '');\n },\n parseSpan: function(string, type) {\n let range = globals.dateRange;\n\n if (type.startsWith('time')) {\n range = globals.timeRange;\n }\n\n const dates = string.split(range);\n const date = this.parse(dates[0], type);\n const date2 = this.parse(dates[1], type);\n\n return [date, date2, range];\n }\n };\n\n return globalAdapter;\n}\n\nexport function getLocale(element) {\n const closestElement = element.closest(\"[lang]\");\n const locale = closestElement && closestElement.lang.split(\"-\")[0];\n\n if (window.stzhComponents.supportedLocales.indexOf(locale) === -1 || !locale) {\n return window.stzhComponents.defaultLocale;\n } else {\n return locale;\n }\n}\n\nexport async function fetchTranslations(host, component) {\n const locale = getLocale(host);\n const existingTranslations = JSON.parse(sessionStorage.getItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`));\n\n if (\n window.stzhComponents.cacheTranslations\n && window.stzhComponents.version.match(/-dev-snapshot/i) === null\n && existingTranslations\n && Object.keys(existingTranslations).length > 0\n ) {\n return {\n ...existingTranslations[component] || {},\n $globals: existingTranslations.$globals,\n $locale: existingTranslations.$code,\n $formats: existingTranslations.$formats,\n $formatsIso: existingTranslations.$formatsIso,\n $formatsLegacy: existingTranslations.$formatsLegacy\n };\n }\n\n try {\n const result = await fetch(\n `${window.stzhComponents.pathTranslations}/${locale}.json`\n );\n\n if (result.ok) {\n const data = await result.json();\n sessionStorage.setItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`, JSON.stringify(data));\n return {\n ...data[component] || {},\n $globals: data.$globals,\n $locale: data.$code,\n $formats: data.$formats,\n $formatsIso: data.$formatsIso,\n $formatsLegacy: data.$formatsLegacy\n };\n }\n\n } catch (exception) {\n console.error(`Error loading locale: ${locale}`, exception);\n }\n}\n","import { version } from '../../../package.json';\nimport { applyAutofocus } from './helpers/autofocus';\nimport { observeScrollbarWidth } from './helpers/scrollbar-width';\nimport * as utils from './helpers/utils';\n\nexport default function () {\n window.stzhComponents = {\n defaultLocale: 'de',\n pathMedia: '/',\n pathTranslations: '/',\n cacheTranslations: true,\n formats: {},\n translations: null,\n fixAutofocus: true,\n fixHashfocus: true,\n ...window.stzhComponents || {},\n version,\n supportedLocales: ['de', 'en'],\n utils\n };\n\n if (window.stzhComponents.translations === null) {\n window.stzhComponents.translationsLoading = utils.fetchTranslations(document.documentElement).then((translations) => {\n window.stzhComponents.translations = translations;\n }).catch((reason) => {\n console.error(\"Translations couldn't load:\", reason)\n });\n }\n\n applyAutofocus();\n observeScrollbarWidth();\n}\n","import appGlobalScript from '/builds/OE-5041/desi/desi-code/stzh-components/src/global/js/script.js';\nexport const globalScripts = appGlobalScript;\n"],"version":3}
1
+ {"file":"app-globals-93678901.js","mappings":"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","names":["packageNameScoped"],"sources":["src/global/js/helpers/autofocus.js","src/global/js/helpers/scrollbar-width.js","src/global/js/helpers/utils.js","src/global/js/script.js","@stencil/core/internal/app-globals"],"sourcesContent":["import { name as packageNameScoped } from '../../../../package.json';\n\nconst packageName = packageNameScoped.substring(packageNameScoped.indexOf('/')+1);\n// let focused = false;\n\n// function debounce(func, timeout = 500){\n// let timer;\n// return (...args) => {\n// clearTimeout(timer);\n// timer = setTimeout(() => { func.apply(this, args); }, timeout);\n// };\n// }\n\nconst debouncedFocus = (event) => {\n // if (focused) {\n // return false;\n // }\n\n const autofocus = document.querySelector('[autofocus]');\n\n if (window.stzhComponents.fixAutofocus\n && !document.location.hash\n && autofocus\n && event.detail.namespace === packageName\n && autofocus.tagName.toLowerCase().indexOf('stzh-') === 0\n && 'focus' in autofocus\n ) {\n autofocus.focus();\n // focused = true;\n } else if (window.stzhComponents.fixHashfocus && document.location.hash) {\n const hashElement = document.querySelector(document.location.hash);\n\n if (hashElement) {\n hashElement.scrollIntoView();\n // focused = true;\n }\n }\n}\n\n/**\n * Execute setFocus method if it exists\n * on stzh-element with autofocus on pageload\n * when (child components are loaded)\n */\nexport function applyAutofocus() {\n window.addEventListener('appload', debouncedFocus);\n}\n","export function observeScrollbarWidth() {\n const config = {\n threshold: 1.0\n };\n\n const handleIntersect = (entries) => {\n entries.forEach(entry => {\n let scrollbarWidth = 0;\n\n if (entry.intersectionRatio < 1) {\n // scrollbarWidth = window.innerWidth - document.body.clientWidth;\n scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n }\n\n document.documentElement.style.setProperty('--stzh-scrollbar-width', scrollbarWidth + 'px');\n document.documentElement.style.setProperty('--stzh-scrollbar-active', scrollbarWidth > 0 ? '1' : '0');\n });\n };\n\n const bodyScrollObserver = new IntersectionObserver(handleIntersect, config);\n bodyScrollObserver.observe(document.body);\n}\n","\nexport function format(date, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.format(date, type);\n}\n\nexport function parse(string, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.parse(string, type);\n}\n\nexport function formatSpan(date, date2, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.formatSpan(date, date2, type);\n}\n\nexport function parseSpan(string, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.parseSpan(string, type);\n}\n\nexport function createFormatParseAdapter(formats, globals) {\n // format letters from https://www.php.net/manual/de/datetime.format.php\n const globalFormatter = function (format, date) {\n if (!date || !(date instanceof Date) || isNaN(date.getTime())) {\n return \"\";\n }\n\n let j = date.getDate().toString(10);\n let d = j;\n let n = (date.getMonth() + 1).toString(10);\n let m = n;\n let yC = date.getFullYear().toString(10);\n let gC = date.getHours().toString(10);\n let hC = gC;\n let i = date.getMinutes().toString(10);\n\n // full textual representation of a month\n let fC = globals.monthNames[date.getMonth()];\n // short textual representation of a month\n let mC = globals.monthNamesShort[date.getMonth()];\n // full textual representation of the day\n let l = globals.dayNames[date.getDay()];\n // short textual representation of the day\n let D = globals.dayNamesShort[date.getDay()];\n\n // months *are* zero-indexed, pad if less than 9!\n if (date.getMonth() < 9) {\n m = `0${m}`;\n }\n\n if (date.getDate() < 10) {\n d = `0${d}`;\n }\n\n if (date.getHours() < 10) {\n hC = `0${hC}`;\n }\n\n if (date.getMinutes() < 10) {\n i = `0${i}`;\n }\n\n return format\n .replace(/\\{j\\}/g, j)\n .replace(/\\{d\\}/g, d)\n .replace(/\\{D\\}/g, D)\n .replace(/\\{l\\}/g, l)\n .replace(/\\{n\\}/g, n)\n .replace(/\\{m\\}/g, m)\n .replace(/\\{F\\}/g, fC)\n .replace(/\\{M\\}/g, mC)\n .replace(/\\{Y\\}/g, yC)\n .replace(/\\{H\\}/g, hC)\n .replace(/\\{G\\}/g, gC)\n .replace(/\\{i\\}/g, i);\n }\n\n const globalParser = function (parse, input) {\n if (!input) {\n return;\n }\n\n const regex = new RegExp(parse);\n const match = input.match(regex);\n\n if (match) {\n const { groups } = match;\n\n const year = parseInt(groups.Y || '', 10);\n const month = parseInt(groups.n || groups.m || '', 10);\n const day = parseInt(groups.j || groups.d || '', 10);\n const hours = parseInt(groups.G || groups.H || '', 10);\n const minutes = parseInt(groups.i || '', 10);\n\n if (!isNaN(year) && (year < 1000 || year > 9999)) {\n return;\n }\n\n if (!isNaN(month) && (month < 1 || month > 12)) {\n return;\n }\n\n // we check day later again (if month changed, it was out of range)\n if (!isNaN(day) && (day < 1 || day > 31)) {\n return;\n }\n\n if (!isNaN(hours) && (hours < 0 || hours > 23)) {\n return;\n }\n\n if (!isNaN(minutes) && (minutes < 0 || minutes > 59)) {\n return;\n }\n\n const date = new Date(\n !isNaN(year) ? year : null,\n !isNaN(month) ? month - 1 : null,\n !isNaN(day) ? day : null,\n !isNaN(hours) ? hours : null,\n !isNaN(minutes) ? minutes : null\n );\n\n // if day was out of possible range (1 - 28/29/30/31)\n // we find out by check if month has changed\n if (date.getMonth() + 1 !== month) {\n return;\n }\n\n return date;\n }\n }\n\n const globalAdapter = {\n format: function (date, type = \"datetime\") {\n const dateFormats = {\n ...formats[type],\n ...window.stzhComponents?.formats[type] || {}\n };\n\n if (typeof dateFormats.format === \"string\") {\n return globalFormatter(dateFormats.format, date);\n } else {\n return dateFormats.format(date);\n }\n },\n parse: function (input, type = \"datetime\") {\n const dateFormats = {\n ...formats[type],\n ...window.stzhComponents?.formats[type] || {}\n };\n\n if (typeof dateFormats.parse === \"string\") {\n return globalParser(dateFormats.parse, input);\n } else {\n return dateFormats.parse(input);\n }\n },\n formatSpan: function(date, date2, type = \"datetime\") {\n let formattedDate = date;\n let formattedDate2 = date2;\n\n if (date instanceof Date && !isNaN(date.getTime())) {\n formattedDate = this.format(date, type);\n }\n\n if (date2 instanceof Date && !isNaN(date2.getTime())) {\n formattedDate2 = this.format(date2, type);\n }\n\n let range = globals.dateRange;\n\n if (type.startsWith('time')) {\n range = globals.timeRange;\n }\n\n return formattedDate\n + ((formattedDate2 && (\n !(formattedDate2 instanceof Date)\n || formattedDate2 instanceof Date && !isNaN(date.getTime())\n )) ? range + formattedDate2 : '');\n },\n parseSpan: function(string, type) {\n let range = globals.dateRange;\n\n if (type.startsWith('time')) {\n range = globals.timeRange;\n }\n\n const dates = string.split(range);\n const date = this.parse(dates[0], type);\n const date2 = this.parse(dates[1], type);\n\n return [date, date2, range];\n }\n };\n\n return globalAdapter;\n}\n\nexport function getLocale(element) {\n const closestElement = element.closest(\"[lang]\");\n const locale = closestElement && closestElement.lang.split(\"-\")[0];\n\n if (window.stzhComponents.supportedLocales.indexOf(locale) === -1 || !locale) {\n return window.stzhComponents.defaultLocale;\n } else {\n return locale;\n }\n}\n\nexport async function fetchTranslations(host, component) {\n const locale = getLocale(host);\n const existingTranslations = JSON.parse(sessionStorage.getItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`));\n\n if (\n window.stzhComponents.cacheTranslations\n && window.stzhComponents.version.match(/-dev-snapshot/i) === null\n && existingTranslations\n && Object.keys(existingTranslations).length > 0\n ) {\n return {\n ...existingTranslations[component] || {},\n $globals: existingTranslations.$globals,\n $locale: existingTranslations.$code,\n $formats: existingTranslations.$formats,\n $formatsIso: existingTranslations.$formatsIso,\n $formatsLegacy: existingTranslations.$formatsLegacy\n };\n }\n\n try {\n const result = await fetch(\n `${window.stzhComponents.pathTranslations}/${locale}.json`\n );\n\n if (result.ok) {\n const data = await result.json();\n sessionStorage.setItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`, JSON.stringify(data));\n return {\n ...data[component] || {},\n $globals: data.$globals,\n $locale: data.$code,\n $formats: data.$formats,\n $formatsIso: data.$formatsIso,\n $formatsLegacy: data.$formatsLegacy\n };\n }\n\n } catch (exception) {\n console.error(`Error loading locale: ${locale}`, exception);\n }\n}\n","import { version } from '../../../package.json';\nimport { applyAutofocus } from './helpers/autofocus';\nimport { observeScrollbarWidth } from './helpers/scrollbar-width';\nimport * as utils from './helpers/utils';\n\nexport default function () {\n window.stzhComponents = {\n defaultLocale: 'de',\n pathMedia: '/',\n pathTranslations: '/',\n cacheTranslations: true,\n formats: {},\n translations: null,\n fixAutofocus: true,\n fixHashfocus: true,\n ...window.stzhComponents || {},\n version,\n supportedLocales: ['de', 'en'],\n utils\n };\n\n if (window.stzhComponents.translations === null) {\n window.stzhComponents.translationsLoading = utils.fetchTranslations(document.documentElement).then((translations) => {\n window.stzhComponents.translations = translations;\n }).catch((reason) => {\n console.error(\"Translations couldn't load:\", reason)\n });\n }\n\n applyAutofocus();\n observeScrollbarWidth();\n}\n","import appGlobalScript from '/builds/OE-5041/desi/desi-code/stzh-components/src/global/js/script.js';\nexport const globalScripts = appGlobalScript;\n"],"version":3}