@oiz/stzh-components 2.11.0 → 2.12.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 (252) hide show
  1. package/dist/cjs/{app-globals-909813e1.js → app-globals-749422d7.js} +8 -4
  2. package/dist/cjs/app-globals-749422d7.js.map +1 -0
  3. package/dist/cjs/index.cjs.js.map +1 -1
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/stzh-accordion.cjs.entry.js +1 -1
  6. package/dist/cjs/stzh-accordion.cjs.entry.js.map +1 -1
  7. package/dist/cjs/stzh-appointments.cjs.entry.js +7 -3
  8. package/dist/cjs/stzh-appointments.cjs.entry.js.map +1 -1
  9. package/dist/cjs/stzh-components.cjs.js +2 -2
  10. package/dist/cjs/stzh-container.cjs.entry.js +1 -1
  11. package/dist/cjs/stzh-container.cjs.entry.js.map +1 -1
  12. package/dist/cjs/stzh-datalist_2.cjs.entry.js +1 -1
  13. package/dist/cjs/stzh-datalist_2.cjs.entry.js.map +1 -1
  14. package/dist/cjs/stzh-datepicker_3.cjs.entry.js +33 -14
  15. package/dist/cjs/stzh-datepicker_3.cjs.entry.js.map +1 -1
  16. package/dist/cjs/stzh-gallery.cjs.entry.js +1 -1
  17. package/dist/cjs/stzh-gallery.cjs.entry.js.map +1 -1
  18. package/dist/cjs/stzh-progressbar-item.cjs.entry.js +2 -1
  19. package/dist/cjs/stzh-progressbar-item.cjs.entry.js.map +1 -1
  20. package/dist/cjs/stzh-progressbar.cjs.entry.js +14 -0
  21. package/dist/cjs/stzh-progressbar.cjs.entry.js.map +1 -1
  22. package/dist/cjs/stzh-sticky.cjs.entry.js +1 -1
  23. package/dist/cjs/stzh-sticky.cjs.entry.js.map +1 -1
  24. package/dist/cjs/stzh-toastbar.cjs.entry.js +8 -1
  25. package/dist/cjs/stzh-toastbar.cjs.entry.js.map +1 -1
  26. package/dist/cjs/stzh-vbz-majorticker.cjs.entry.js +7 -3
  27. package/dist/cjs/stzh-vbz-majorticker.cjs.entry.js.map +1 -1
  28. package/dist/cjs/stzh-vbz-ticker.cjs.entry.js +7 -3
  29. package/dist/cjs/stzh-vbz-ticker.cjs.entry.js.map +1 -1
  30. package/dist/collection/assets/i18n/de.json +12 -0
  31. package/dist/collection/assets/i18n/en.json +12 -0
  32. package/dist/collection/components/stzh-accordion/stzh-accordion.css +3 -2
  33. package/dist/collection/components/stzh-appointments/stzh-appointments.js +9 -3
  34. package/dist/collection/components/stzh-appointments/stzh-appointments.js.map +1 -1
  35. package/dist/collection/components/stzh-button/stzh-button.js +1 -1
  36. package/dist/collection/components/stzh-checkbox/stzh-checkbox.js +1 -1
  37. package/dist/collection/components/stzh-checkboxgroup/stzh-checkboxgroup.js +1 -1
  38. package/dist/collection/components/stzh-chip-select/stzh-chip-select.js +1 -1
  39. package/dist/collection/components/stzh-container/stzh-container.css +8 -8
  40. package/dist/collection/components/stzh-datalist/stzh-datalist.css +1 -1
  41. package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.js +1 -1
  42. package/dist/collection/components/stzh-datepicker/stzh-datepicker.js +62 -15
  43. package/dist/collection/components/stzh-datepicker/stzh-datepicker.js.map +1 -1
  44. package/dist/collection/components/stzh-gallery/stzh-gallery.css +0 -4
  45. package/dist/collection/components/stzh-input/stzh-input.js +1 -1
  46. package/dist/collection/components/stzh-link/stzh-link.js +1 -1
  47. package/dist/collection/components/stzh-progressbar/stzh-progressbar.js +35 -0
  48. package/dist/collection/components/stzh-progressbar/stzh-progressbar.js.map +1 -1
  49. package/dist/collection/components/stzh-progressbar-item/stzh-progressbar-item.js +3 -2
  50. package/dist/collection/components/stzh-progressbar-item/stzh-progressbar-item.js.map +1 -1
  51. package/dist/collection/components/stzh-radio/stzh-radio.js +1 -1
  52. package/dist/collection/components/stzh-radiogroup/stzh-radiogroup.js +1 -1
  53. package/dist/collection/components/stzh-richtext/stzh-richtext.js +1 -1
  54. package/dist/collection/components/stzh-sticky/stzh-sticky.css +4 -4
  55. package/dist/collection/components/stzh-timepicker/stzh-timepicker.js +1 -1
  56. package/dist/collection/components/stzh-toastbar/stzh-toastbar.js +8 -1
  57. package/dist/collection/components/stzh-toastbar/stzh-toastbar.js.map +1 -1
  58. package/dist/collection/components/stzh-toggle/stzh-toggle.js +1 -1
  59. package/dist/collection/components/stzh-vbz-majorticker/stzh-vbz-majorticker.js +9 -3
  60. package/dist/collection/components/stzh-vbz-majorticker/stzh-vbz-majorticker.js.map +1 -1
  61. package/dist/collection/components/stzh-vbz-ticker/stzh-vbz-ticker.js +9 -3
  62. package/dist/collection/components/stzh-vbz-ticker/stzh-vbz-ticker.js.map +1 -1
  63. package/dist/collection/global/js/helpers/utils.js +6 -2
  64. package/dist/collection/index.js.map +1 -1
  65. package/dist/collection/utils/translation-utils.js.map +1 -1
  66. package/dist/components/index.js +7 -3
  67. package/dist/components/index.js.map +1 -1
  68. package/dist/components/index2.js.map +1 -1
  69. package/dist/components/stzh-accordion.js +1 -1
  70. package/dist/components/stzh-accordion.js.map +1 -1
  71. package/dist/components/stzh-appointments.js +8 -3
  72. package/dist/components/stzh-appointments.js.map +1 -1
  73. package/dist/components/stzh-container.js +1 -1
  74. package/dist/components/stzh-container.js.map +1 -1
  75. package/dist/components/stzh-datalist2.js +1 -1
  76. package/dist/components/stzh-datalist2.js.map +1 -1
  77. package/dist/components/stzh-datepicker2.js +38 -16
  78. package/dist/components/stzh-datepicker2.js.map +1 -1
  79. package/dist/components/stzh-gallery.js +1 -1
  80. package/dist/components/stzh-gallery.js.map +1 -1
  81. package/dist/components/stzh-progressbar-item2.js +2 -1
  82. package/dist/components/stzh-progressbar-item2.js.map +1 -1
  83. package/dist/components/stzh-progressbar.js +16 -1
  84. package/dist/components/stzh-progressbar.js.map +1 -1
  85. package/dist/components/stzh-sticky.js +1 -1
  86. package/dist/components/stzh-sticky.js.map +1 -1
  87. package/dist/components/stzh-toastbar.js +8 -1
  88. package/dist/components/stzh-toastbar.js.map +1 -1
  89. package/dist/components/stzh-vbz-majorticker.js +8 -3
  90. package/dist/components/stzh-vbz-majorticker.js.map +1 -1
  91. package/dist/components/stzh-vbz-ticker.js +8 -3
  92. package/dist/components/stzh-vbz-ticker.js.map +1 -1
  93. package/dist/esm/{app-globals-8bdc0f78.js → app-globals-5f5be02f.js} +8 -4
  94. package/dist/esm/app-globals-5f5be02f.js.map +1 -0
  95. package/dist/esm/index.js.map +1 -1
  96. package/dist/esm/loader.js +2 -2
  97. package/dist/esm/stzh-accordion.entry.js +1 -1
  98. package/dist/esm/stzh-accordion.entry.js.map +1 -1
  99. package/dist/esm/stzh-appointments.entry.js +7 -3
  100. package/dist/esm/stzh-appointments.entry.js.map +1 -1
  101. package/dist/esm/stzh-components.js +2 -2
  102. package/dist/esm/stzh-container.entry.js +1 -1
  103. package/dist/esm/stzh-container.entry.js.map +1 -1
  104. package/dist/esm/stzh-datalist_2.entry.js +1 -1
  105. package/dist/esm/stzh-datalist_2.entry.js.map +1 -1
  106. package/dist/esm/stzh-datepicker_3.entry.js +34 -15
  107. package/dist/esm/stzh-datepicker_3.entry.js.map +1 -1
  108. package/dist/esm/stzh-gallery.entry.js +1 -1
  109. package/dist/esm/stzh-gallery.entry.js.map +1 -1
  110. package/dist/esm/stzh-progressbar-item.entry.js +2 -1
  111. package/dist/esm/stzh-progressbar-item.entry.js.map +1 -1
  112. package/dist/esm/stzh-progressbar.entry.js +14 -0
  113. package/dist/esm/stzh-progressbar.entry.js.map +1 -1
  114. package/dist/esm/stzh-sticky.entry.js +1 -1
  115. package/dist/esm/stzh-sticky.entry.js.map +1 -1
  116. package/dist/esm/stzh-toastbar.entry.js +8 -1
  117. package/dist/esm/stzh-toastbar.entry.js.map +1 -1
  118. package/dist/esm/stzh-vbz-majorticker.entry.js +7 -3
  119. package/dist/esm/stzh-vbz-majorticker.entry.js.map +1 -1
  120. package/dist/esm/stzh-vbz-ticker.entry.js +7 -3
  121. package/dist/esm/stzh-vbz-ticker.entry.js.map +1 -1
  122. package/dist/esm-es5/{app-globals-8bdc0f78.js → app-globals-5f5be02f.js} +2 -2
  123. package/dist/esm-es5/app-globals-5f5be02f.js.map +1 -0
  124. package/dist/esm-es5/index.js.map +1 -1
  125. package/dist/esm-es5/loader.js +1 -1
  126. package/dist/esm-es5/loader.js.map +1 -1
  127. package/dist/esm-es5/stzh-accordion.entry.js +1 -1
  128. package/dist/esm-es5/stzh-accordion.entry.js.map +1 -1
  129. package/dist/esm-es5/stzh-appointments.entry.js +1 -1
  130. package/dist/esm-es5/stzh-appointments.entry.js.map +1 -1
  131. package/dist/esm-es5/stzh-components.js +1 -1
  132. package/dist/esm-es5/stzh-components.js.map +1 -1
  133. package/dist/esm-es5/stzh-container.entry.js +1 -1
  134. package/dist/esm-es5/stzh-container.entry.js.map +1 -1
  135. package/dist/esm-es5/stzh-datalist_2.entry.js +1 -1
  136. package/dist/esm-es5/stzh-datalist_2.entry.js.map +1 -1
  137. package/dist/esm-es5/stzh-datepicker_3.entry.js +1 -1
  138. package/dist/esm-es5/stzh-datepicker_3.entry.js.map +1 -1
  139. package/dist/esm-es5/stzh-gallery.entry.js +1 -1
  140. package/dist/esm-es5/stzh-gallery.entry.js.map +1 -1
  141. package/dist/esm-es5/stzh-progressbar-item.entry.js +1 -1
  142. package/dist/esm-es5/stzh-progressbar-item.entry.js.map +1 -1
  143. package/dist/esm-es5/stzh-progressbar.entry.js +1 -1
  144. package/dist/esm-es5/stzh-progressbar.entry.js.map +1 -1
  145. package/dist/esm-es5/stzh-sticky.entry.js +1 -1
  146. package/dist/esm-es5/stzh-sticky.entry.js.map +1 -1
  147. package/dist/esm-es5/stzh-toastbar.entry.js +1 -1
  148. package/dist/esm-es5/stzh-toastbar.entry.js.map +1 -1
  149. package/dist/esm-es5/stzh-vbz-majorticker.entry.js +1 -1
  150. package/dist/esm-es5/stzh-vbz-majorticker.entry.js.map +1 -1
  151. package/dist/esm-es5/stzh-vbz-ticker.entry.js +1 -1
  152. package/dist/esm-es5/stzh-vbz-ticker.entry.js.map +1 -1
  153. package/dist/stzh-components/assets/i18n/de.json +12 -0
  154. package/dist/stzh-components/assets/i18n/en.json +12 -0
  155. package/dist/stzh-components/index.esm.js.map +1 -1
  156. package/dist/stzh-components/p-0b1b2aa6.system.entry.js +2 -0
  157. package/dist/stzh-components/p-0b1b2aa6.system.entry.js.map +1 -0
  158. package/dist/stzh-components/{p-11784b90.entry.js → p-0ba7ce34.entry.js} +2 -2
  159. package/dist/stzh-components/p-0ba7ce34.entry.js.map +1 -0
  160. package/dist/stzh-components/p-0bb08043.system.js.map +1 -1
  161. package/dist/stzh-components/p-222ba06a.entry.js +2 -0
  162. package/dist/stzh-components/p-222ba06a.entry.js.map +1 -0
  163. package/dist/stzh-components/{p-c658502d.system.entry.js → p-241997a2.system.entry.js} +2 -2
  164. package/dist/stzh-components/p-241997a2.system.entry.js.map +1 -0
  165. package/dist/stzh-components/p-2d88c544.system.entry.js +2 -0
  166. package/dist/stzh-components/p-2d88c544.system.entry.js.map +1 -0
  167. package/dist/stzh-components/p-361996d1.entry.js +2 -0
  168. package/dist/stzh-components/p-361996d1.entry.js.map +1 -0
  169. package/dist/stzh-components/{p-54dbcd0e.system.entry.js → p-383c2c21.system.entry.js} +2 -2
  170. package/dist/stzh-components/{p-54dbcd0e.system.entry.js.map → p-383c2c21.system.entry.js.map} +1 -1
  171. package/dist/stzh-components/{p-15980af0.entry.js → p-534dc28e.entry.js} +2 -2
  172. package/dist/stzh-components/{p-15980af0.entry.js.map → p-534dc28e.entry.js.map} +1 -1
  173. package/dist/stzh-components/{p-5fdf0a8e.entry.js → p-5486402c.entry.js} +2 -2
  174. package/dist/stzh-components/{p-5fdf0a8e.entry.js.map → p-5486402c.entry.js.map} +1 -1
  175. package/dist/stzh-components/p-55d76b46.system.entry.js +2 -0
  176. package/dist/stzh-components/p-55d76b46.system.entry.js.map +1 -0
  177. package/dist/stzh-components/{p-ca32a687.js → p-5e014c0e.js} +2 -2
  178. package/dist/stzh-components/p-5e014c0e.js.map +1 -0
  179. package/dist/stzh-components/{p-e5c1f04c.system.entry.js → p-628b5b0d.system.entry.js} +2 -2
  180. package/dist/stzh-components/p-628b5b0d.system.entry.js.map +1 -0
  181. package/dist/stzh-components/p-66b0d1f3.entry.js +2 -0
  182. package/dist/stzh-components/p-66b0d1f3.entry.js.map +1 -0
  183. package/dist/stzh-components/{p-8b4cc10d.entry.js → p-761909d5.entry.js} +2 -2
  184. package/dist/stzh-components/p-761909d5.entry.js.map +1 -0
  185. package/dist/stzh-components/{p-50914ed3.system.entry.js → p-87a3758c.system.entry.js} +2 -2
  186. package/dist/stzh-components/p-87a3758c.system.entry.js.map +1 -0
  187. package/dist/stzh-components/p-a1e1261a.entry.js +2 -0
  188. package/dist/stzh-components/p-a1e1261a.entry.js.map +1 -0
  189. package/dist/stzh-components/p-aa9975e6.entry.js +2 -0
  190. package/dist/stzh-components/p-aa9975e6.entry.js.map +1 -0
  191. package/dist/stzh-components/{p-bb2fe16f.system.entry.js → p-b3d76f2a.system.entry.js} +2 -2
  192. package/dist/stzh-components/{p-bb2fe16f.system.entry.js.map → p-b3d76f2a.system.entry.js.map} +1 -1
  193. package/dist/stzh-components/p-bf7316ab.system.js +2 -0
  194. package/dist/stzh-components/{p-428eacce.system.js.map → p-bf7316ab.system.js.map} +1 -1
  195. package/dist/stzh-components/{p-aefc1441.entry.js → p-c57402af.entry.js} +2 -2
  196. package/dist/stzh-components/p-c57402af.entry.js.map +1 -0
  197. package/dist/stzh-components/{p-cbcb366a.system.entry.js → p-c60ccc16.system.entry.js} +2 -2
  198. package/dist/stzh-components/p-c60ccc16.system.entry.js.map +1 -0
  199. package/dist/stzh-components/{p-cc260e20.entry.js → p-d5ee8b1a.entry.js} +2 -2
  200. package/dist/stzh-components/{p-cc260e20.entry.js.map → p-d5ee8b1a.entry.js.map} +1 -1
  201. package/dist/stzh-components/{p-d9984b93.system.entry.js → p-dc30c467.system.entry.js} +2 -2
  202. package/dist/stzh-components/p-dc30c467.system.entry.js.map +1 -0
  203. package/dist/stzh-components/{p-9bfe7d0d.system.entry.js → p-e69312e4.system.entry.js} +2 -2
  204. package/dist/stzh-components/p-e69312e4.system.entry.js.map +1 -0
  205. package/dist/stzh-components/{p-0c972915.system.js → p-ebb38041.system.js} +2 -2
  206. package/dist/stzh-components/p-ebb38041.system.js.map +1 -0
  207. package/dist/stzh-components/p-fa0e39e0.system.entry.js +2 -0
  208. package/dist/stzh-components/p-fa0e39e0.system.entry.js.map +1 -0
  209. package/dist/stzh-components/p-ffb4e717.entry.js +2 -0
  210. package/dist/stzh-components/p-ffb4e717.entry.js.map +1 -0
  211. package/dist/stzh-components/stzh-components.esm.js +1 -1
  212. package/dist/stzh-components/stzh-components.esm.js.map +1 -1
  213. package/dist/stzh-components/stzh-components.js +1 -1
  214. package/dist/types/components.d.ts +14 -2
  215. package/dist/types/utils/translation-utils.d.ts +2 -0
  216. package/dist/vscode-data.json +12 -0
  217. package/package.json +1 -1
  218. package/dist/cjs/app-globals-909813e1.js.map +0 -1
  219. package/dist/esm/app-globals-8bdc0f78.js.map +0 -1
  220. package/dist/esm-es5/app-globals-8bdc0f78.js.map +0 -1
  221. package/dist/stzh-components/p-07819ba5.entry.js +0 -2
  222. package/dist/stzh-components/p-07819ba5.entry.js.map +0 -1
  223. package/dist/stzh-components/p-0c972915.system.js.map +0 -1
  224. package/dist/stzh-components/p-1095d872.system.entry.js +0 -2
  225. package/dist/stzh-components/p-1095d872.system.entry.js.map +0 -1
  226. package/dist/stzh-components/p-11784b90.entry.js.map +0 -1
  227. package/dist/stzh-components/p-428eacce.system.js +0 -2
  228. package/dist/stzh-components/p-446dcea5.entry.js +0 -2
  229. package/dist/stzh-components/p-446dcea5.entry.js.map +0 -1
  230. package/dist/stzh-components/p-50914ed3.system.entry.js.map +0 -1
  231. package/dist/stzh-components/p-7b0da017.entry.js +0 -2
  232. package/dist/stzh-components/p-7b0da017.entry.js.map +0 -1
  233. package/dist/stzh-components/p-7fdd98fe.entry.js +0 -2
  234. package/dist/stzh-components/p-7fdd98fe.entry.js.map +0 -1
  235. package/dist/stzh-components/p-8b4cc10d.entry.js.map +0 -1
  236. package/dist/stzh-components/p-8f98fc45.system.entry.js +0 -2
  237. package/dist/stzh-components/p-8f98fc45.system.entry.js.map +0 -1
  238. package/dist/stzh-components/p-9bfe7d0d.system.entry.js.map +0 -1
  239. package/dist/stzh-components/p-aafc8687.entry.js +0 -2
  240. package/dist/stzh-components/p-aafc8687.entry.js.map +0 -1
  241. package/dist/stzh-components/p-aefc1441.entry.js.map +0 -1
  242. package/dist/stzh-components/p-afb2885a.entry.js +0 -2
  243. package/dist/stzh-components/p-afb2885a.entry.js.map +0 -1
  244. package/dist/stzh-components/p-c658502d.system.entry.js.map +0 -1
  245. package/dist/stzh-components/p-ca32a687.js.map +0 -1
  246. package/dist/stzh-components/p-cbcb366a.system.entry.js.map +0 -1
  247. package/dist/stzh-components/p-d9984b93.system.entry.js.map +0 -1
  248. package/dist/stzh-components/p-e278cda2.system.entry.js +0 -2
  249. package/dist/stzh-components/p-e278cda2.system.entry.js.map +0 -1
  250. package/dist/stzh-components/p-e5c1f04c.system.entry.js.map +0 -1
  251. package/dist/stzh-components/p-ff356dc8.system.entry.js +0 -2
  252. package/dist/stzh-components/p-ff356dc8.system.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-progressbar.js","sourceRoot":"","sources":["../../../../src/components/stzh-progressbar/stzh-progressbar.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Watch\n} from \"@stencil/core\";\n\nimport {\n StzhProgressbarDataItem\n} from '../../index';\n\nimport { addMediaChangeListener, removeMediaChangeListener, media } from \"../../utils/media-utils\";\nimport { StzhProgressbarLocalizedText } from \"./stzh-progressbar.localization\"\n\n/**\n * @slot - Slot for any text content\n */\n@Component({\n tag: \"stzh-progressbar\",\n styleUrl: \"stzh-progressbar.scss\",\n scoped: true\n})\nexport class StzhProgressbar {\n /** Translation strings */\n @Prop() localization: StzhProgressbarLocalizedText;\n\n /**\n * Step data (JSON array with objects that have `label` attribute and optional:\n * - `disabled`, if step should be disabled\n * - `icon`, if icon instead of step number should be displayed):\n * - `analyticsId`, for Adobe Analytics, rendered as `s-object-id` (default is `label`)\n *\n * ```\n * {\n * \"label\": \"Step Label\"\n * \"icon\": \"clock\",\n * \"disabled\": true\n * }\n * ```\n */\n @Prop() data: StzhProgressbarDataItem[] | string = [];\n private _data: StzhProgressbarDataItem[];\n\n /** Index of the item that be active */\n @Prop() index: number = 0;\n\n /** Number of steps to show below small breakpoint */\n @Prop() steps: number = 5;\n\n /** Number of steps to show above small breakpoint */\n @Prop() stepsSmall: number = 6;\n\n /** Number of steps to show above medium breakpoint */\n @Prop() stepsMedium: number = 0;\n\n /** Number of steps to show above large breakpoint */\n @Prop() stepsLarge: number = 0;\n\n /** Number of steps to show above ultra breakpoint */\n @Prop() stepsUltra: number = 0;\n\n @State() currentSteps: number;\n\n @Element() element: HTMLStzhProgressbarElement;\n\n @Watch(\"data\")\n dataWatcher(newValue: any[] | string) {\n if (typeof newValue === \"string\") {\n this._data = JSON.parse(newValue);\n }\n else {\n this._data = newValue;\n }\n\n this.lastItemIndex = this._data.length - 1;\n this.maxStepIndex = this.currentSteps - 1;\n this.withinLastFewSteps = this.index >= this._data.length - this.maxStepIndex;\n }\n\n private lastItemIndex: number;\n private maxStepIndex: number;\n private withinLastFewSteps: boolean;\n\n private getItemAttributes(itemIndex: number): any {\n const item = {} as HTMLStzhProgressbarItemElement;\n\n item.step = itemIndex + 1;\n item.first = itemIndex === 0;\n item.last = itemIndex === this.lastItemIndex;\n item.current = itemIndex === this.index;\n item.passed = itemIndex < this.index;\n\n // hide overflowings if more items than max steps in DOM\n if (this._data.length > this.currentSteps) {\n // add dots to last item if current index is below the last few items\n if (itemIndex === this.lastItemIndex && !this.withinLastFewSteps) {\n item.dotted = true;\n }\n\n if (this.index < 2) {\n // hide overflowing items on the right\n item.hide = itemIndex > this.maxStepIndex - 1 && itemIndex < this.lastItemIndex;\n } else {\n // add dots to first item if current item is third or above\n if (itemIndex === 0) {\n item.dotted = true;\n }\n\n let substract = this.index;\n\n // if is within the last elements, calculate how much previous\n // should be shown to stay on 5 visible elements\n if (this.withinLastFewSteps) {\n substract = this._data.length - this.maxStepIndex;\n }\n\n // hide overflowing items on left and right side\n item.hide = itemIndex > 0 && itemIndex < substract\n || itemIndex > this.index + (this.currentSteps - 3) && itemIndex < this.lastItemIndex;\n }\n }\n\n return item;\n }\n\n private setCurrentSteps = () => {\n if (media(\"ultra\").matches && this.stepsUltra) {\n this.currentSteps = this.stepsUltra;\n } else if (media(\"large\").matches && this.stepsLarge) {\n this.currentSteps = this.stepsLarge;\n } else if (media(\"medium\").matches && this.stepsMedium) {\n this.currentSteps = this.stepsMedium;\n } else if (media(\"small\").matches && this.stepsSmall) {\n this.currentSteps = this.stepsSmall;\n } else {\n this.currentSteps = this.steps;\n }\n\n this.element.style.setProperty(\"--steps\", this.currentSteps.toString());\n }\n\n async componentWillLoad() {\n this.dataWatcher(this.data);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"progressbar\");\n }\n }\n\n connectedCallback() {\n this.setCurrentSteps();\n addMediaChangeListener(this.setCurrentSteps);\n }\n\n disconnectedCallback() {\n removeMediaChangeListener(this.setCurrentSteps);\n }\n\n render() {\n const classes = {\n \"stzh-progressbar\": true,\n [`stzh-progressbar--index-${this.index}`]: !!this.index\n };\n\n return (\n <Host>\n <div class={classes}>\n <div\n class=\"stzh-progressbar__items\"\n role=\"list\"\n aria-label={this.localization.label}\n >\n {this._data.map((step, index) =>\n <stzh-progressbar-item\n {...this.getItemAttributes(index)}\n icon={step.icon}\n disabled={step.disabled}\n label={step.label}\n class=\"stzh-progressbar__item\"\n ></stzh-progressbar-item>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"stzh-progressbar.js","sourceRoot":"","sources":["../../../../src/components/stzh-progressbar/stzh-progressbar.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Watch,\n Method\n} from \"@stencil/core\";\n\nimport {\n StzhProgressbarDataItem\n} from '../../index';\n\nimport { addMediaChangeListener, removeMediaChangeListener, media } from \"../../utils/media-utils\";\nimport { StzhProgressbarLocalizedText } from \"./stzh-progressbar.localization\"\n\n/**\n * @slot - Slot for any text content\n */\n@Component({\n tag: \"stzh-progressbar\",\n styleUrl: \"stzh-progressbar.scss\",\n scoped: true\n})\nexport class StzhProgressbar {\n /** Translation strings */\n @Prop() localization: StzhProgressbarLocalizedText;\n\n /**\n * Step data (JSON array with objects that have `label` attribute and optional:\n * - `disabled`, if step should be disabled\n * - `icon`, if icon instead of step number should be displayed):\n * - `analyticsId`, for Adobe Analytics, rendered as `s-object-id` (default is `label`)\n *\n * ```\n * {\n * \"label\": \"Step Label\"\n * \"icon\": \"clock\",\n * \"disabled\": true\n * }\n * ```\n */\n @Prop() data: StzhProgressbarDataItem[] | string = [];\n private _data: StzhProgressbarDataItem[];\n\n /** Index of the item that be active */\n @Prop() index: number = 0;\n\n /** Number of steps to show below small breakpoint */\n @Prop() steps: number = 5;\n\n /** Number of steps to show above small breakpoint */\n @Prop() stepsSmall: number = 6;\n\n /** Number of steps to show above medium breakpoint */\n @Prop() stepsMedium: number = 0;\n\n /** Number of steps to show above large breakpoint */\n @Prop() stepsLarge: number = 0;\n\n /** Number of steps to show above ultra breakpoint */\n @Prop() stepsUltra: number = 0;\n\n @State() currentSteps: number;\n\n @Element() element: HTMLStzhProgressbarElement;\n\n /**\n * Return infos about rendered progressbar items.\n * Array of objects including: hide (whether step is hidden)\n * / passed (whether step has been passed)\n * / current (whether step is currently active)\n * / dotted (whether step has dotted style active)\n * / first|last (whether step is first or last)\n * / label\n */\n @Method()\n async getItemData() {\n return this._data.map((step, index) => {\n return {\n ...step,\n ...this.getItemAttributes(index)\n }\n });\n }\n\n @Watch(\"data\")\n dataWatcher(newValue: any[] | string) {\n if (typeof newValue === \"string\") {\n this._data = JSON.parse(newValue);\n }\n else {\n this._data = newValue;\n }\n\n this.lastItemIndex = this._data.length - 1;\n this.maxStepIndex = this.currentSteps - 1;\n this.withinLastFewSteps = this.index >= this._data.length - this.maxStepIndex;\n }\n\n private lastItemIndex: number;\n private maxStepIndex: number;\n private withinLastFewSteps: boolean;\n\n private getItemAttributes(itemIndex: number): any {\n const item = {} as HTMLStzhProgressbarItemElement;\n\n item.step = itemIndex + 1;\n item.first = itemIndex === 0;\n item.last = itemIndex === this.lastItemIndex;\n item.current = itemIndex === this.index;\n item.passed = itemIndex < this.index;\n\n // hide overflowings if more items than max steps in DOM\n if (this._data.length > this.currentSteps) {\n // add dots to last item if current index is below the last few items\n if (itemIndex === this.lastItemIndex && !this.withinLastFewSteps) {\n item.dotted = true;\n }\n\n if (this.index < 2) {\n // hide overflowing items on the right\n item.hide = itemIndex > this.maxStepIndex - 1 && itemIndex < this.lastItemIndex;\n } else {\n // add dots to first item if current item is third or above\n if (itemIndex === 0) {\n item.dotted = true;\n }\n\n let substract = this.index;\n\n // if is within the last elements, calculate how much previous\n // should be shown to stay on 5 visible elements\n if (this.withinLastFewSteps) {\n substract = this._data.length - this.maxStepIndex;\n }\n\n // hide overflowing items on left and right side\n item.hide = itemIndex > 0 && itemIndex < substract\n || itemIndex > this.index + (this.currentSteps - 3) && itemIndex < this.lastItemIndex;\n }\n }\n\n return item;\n }\n\n private setCurrentSteps = () => {\n if (media(\"ultra\").matches && this.stepsUltra) {\n this.currentSteps = this.stepsUltra;\n } else if (media(\"large\").matches && this.stepsLarge) {\n this.currentSteps = this.stepsLarge;\n } else if (media(\"medium\").matches && this.stepsMedium) {\n this.currentSteps = this.stepsMedium;\n } else if (media(\"small\").matches && this.stepsSmall) {\n this.currentSteps = this.stepsSmall;\n } else {\n this.currentSteps = this.steps;\n }\n\n this.element.style.setProperty(\"--steps\", this.currentSteps.toString());\n }\n\n async componentWillLoad() {\n this.dataWatcher(this.data);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"progressbar\");\n }\n }\n\n connectedCallback() {\n this.setCurrentSteps();\n addMediaChangeListener(this.setCurrentSteps);\n }\n\n disconnectedCallback() {\n removeMediaChangeListener(this.setCurrentSteps);\n }\n\n render() {\n const classes = {\n \"stzh-progressbar\": true,\n [`stzh-progressbar--index-${this.index}`]: !!this.index\n };\n\n return (\n <Host>\n <div class={classes}>\n <div\n class=\"stzh-progressbar__items\"\n role=\"list\"\n aria-label={this.localization.label}\n >\n {this._data.map((step, index) =>\n <stzh-progressbar-item\n {...this.getItemAttributes(index)}\n icon={step.icon}\n disabled={step.disabled}\n label={step.label}\n class=\"stzh-progressbar__item\"\n ></stzh-progressbar-item>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -14,7 +14,8 @@ export class StzhProgressbarItem {
14
14
  this.onDottedClick = (event) => {
15
15
  this.stzhDottedClick.emit({
16
16
  component: "stzh-progressbar-item",
17
- originalEvent: event
17
+ originalEvent: event,
18
+ index: Array.prototype.indexOf.call(this.element.parentNode.children, this.element),
18
19
  });
19
20
  };
20
21
  this.label = undefined;
@@ -300,7 +301,7 @@ export class StzhProgressbarItem {
300
301
  },
301
302
  "complexType": {
302
303
  "original": "StzhProgressbarItemDottedClickEvent",
303
- "resolved": "{ component: \"stzh-progressbar-item\"; originalEvent: MouseEvent; }",
304
+ "resolved": "{ component: \"stzh-progressbar-item\"; originalEvent: MouseEvent; index: number; }",
304
305
  "references": {
305
306
  "StzhProgressbarItemDottedClickEvent": {
306
307
  "location": "import",
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-progressbar-item.js","sourceRoot":"","sources":["../../../../src/components/stzh-progressbar-item/stzh-progressbar-item.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Fragment,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n\nimport {\n StzhProgressbarItemClickEvent,\n StzhProgressbarItemDottedClickEvent\n} from '../../index';\n\n/**\n * @slot - Slot for label (or use label prop)\n */\n@Component({\n tag: \"stzh-progressbar-item\",\n styleUrl: \"stzh-progressbar-item.scss\",\n scoped: true\n})\nexport class StzhProgressbarItem {\n @Prop({ reflect: true }) label: string;\n\n @Prop({ reflect: true }) disabled: boolean = false;\n\n @Prop({ reflect: true }) first: boolean = false;\n\n @Prop({ reflect: true }) last: boolean = false;\n\n @Prop({ reflect: true }) passed: boolean = false;\n\n @Prop({ reflect: true }) current: boolean = false;\n\n @Prop({ reflect: true }) hide: boolean = false;\n\n @Prop({ reflect: true }) dotted: boolean = false;\n\n @Prop({ reflect: true }) step: number = 1;\n\n @Prop({ reflect: true }) icon: string = \"\";\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the button element.\n * Default value will be taken from `label` prop or default slot.\n */\n @Prop() analyticsId: string;\n\n /** Click event */\n @Event() stzhClick: EventEmitter<StzhProgressbarItemClickEvent>;\n\n /** Dotted click event */\n @Event() stzhDottedClick: EventEmitter<StzhProgressbarItemDottedClickEvent>;\n\n @Element() element: HTMLStzhProgressbarItemElement;\n\n private button: HTMLButtonElement;\n private text: HTMLElement;\n\n private onClick = (event: MouseEvent) => {\n this.stzhClick.emit({\n component: \"stzh-progressbar-item\",\n originalEvent: event,\n index: Array.prototype.indexOf.call(this.element.parentNode.children, this.element),\n });\n }\n\n private onDottedClick = (event: MouseEvent) => {\n this.stzhDottedClick.emit({\n component: \"stzh-progressbar-item\",\n originalEvent: event\n });\n }\n\n componentDidRender() {\n requestAnimationFrame(() => {\n this.button.setAttribute(\"s-object-id\", this.analyticsId || this.text.innerText);\n });\n }\n\n render() {\n const classes = {\n \"stzh-progressbar-item\": true,\n \"stzh-progressbar-item--first\": this.first,\n \"stzh-progressbar-item--last\": this.last,\n \"stzh-progressbar-item--passed\": this.passed,\n \"stzh-progressbar-item--current\": this.current,\n \"stzh-progressbar-item--hide\": this.hide,\n \"stzh-progressbar-item--dotted\": this.dotted,\n \"stzh-progressbar-item--has-icon\": !!this.icon,\n \"stzh-progressbar-item--is-disabled\": this.disabled\n };\n\n const dotted = (\n <button\n class=\"stzh-progressbar-item__dotted\"\n onClick={this.onDottedClick}\n >\n <stzh-icon class=\"stzh-progressbar-item__dotted-icon\" name=\"more-horizontal\"></stzh-icon>\n </button>\n );\n\n return (\n <Host role=\"listitem\">\n <div class={classes}>\n {this.last && this.dotted && dotted}\n <button\n ref={(el) => (this.button = el as HTMLButtonElement)}\n class=\"stzh-progressbar-item__button\"\n aria-pressed={this.current ? \"true\" : \"false\"}\n disabled={(this.dotted && this.first) || this.disabled}\n onClick={this.onClick}\n >\n <span class=\"stzh-progressbar-item__number-block\">\n {this.icon\n ?\n <stzh-icon class=\"stzh-progressbar-item__user-icon\" name={this.icon}></stzh-icon>\n :\n <Fragment>\n <span class=\"stzh-progressbar-item__number\">{this.step}</span>\n {this.passed &&\n <stzh-icon class=\"stzh-progressbar-item__icon\" name=\"checkmark\"></stzh-icon>\n }\n </Fragment>\n }\n </span>\n <span\n ref={(el) => (this.text = el as HTMLElement)}\n class=\"stzh-progressbar-item__label-block\"\n >\n {this.label ? this.label : <slot></slot>}\n </span>\n </button>\n {this.first && this.dotted && dotted}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"stzh-progressbar-item.js","sourceRoot":"","sources":["../../../../src/components/stzh-progressbar-item/stzh-progressbar-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,KAAK,EAEN,MAAM,eAAe,CAAC;AAOvB;;GAEG;AAMH,MAAM,OAAO,mBAAmB;;IAuCtB,YAAO,GAAG,CAAC,KAAiB,EAAE,EAAE;MACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAClB,SAAS,EAAE,uBAAuB;QAClC,aAAa,EAAE,KAAK;QACpB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC;OACpF,CAAC,CAAC;IACL,CAAC,CAAA;IAEO,kBAAa,GAAG,CAAC,KAAiB,EAAE,EAAE;MAC5C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QACxB,SAAS,EAAE,uBAAuB;QAClC,aAAa,EAAE,KAAK;QACpB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC;OACpF,CAAC,CAAC;IACL,CAAC,CAAA;;oBAlD4C,KAAK;iBAER,KAAK;gBAEN,KAAK;kBAEH,KAAK;mBAEJ,KAAK;gBAER,KAAK;kBAEH,KAAK;gBAER,CAAC;gBAED,EAAE;;;EAoC1C,kBAAkB;IAChB,qBAAqB,CAAC,GAAG,EAAE;MACzB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;EACL,CAAC;EAED,MAAM;IACJ,MAAM,OAAO,GAAG;MACd,uBAAuB,EAAE,IAAI;MAC7B,8BAA8B,EAAE,IAAI,CAAC,KAAK;MAC1C,6BAA6B,EAAE,IAAI,CAAC,IAAI;MACxC,+BAA+B,EAAE,IAAI,CAAC,MAAM;MAC5C,gCAAgC,EAAE,IAAI,CAAC,OAAO;MAC9C,6BAA6B,EAAE,IAAI,CAAC,IAAI;MACxC,+BAA+B,EAAE,IAAI,CAAC,MAAM;MAC5C,iCAAiC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;MAC9C,oCAAoC,EAAE,IAAI,CAAC,QAAQ;KACpD,CAAC;IAEF,MAAM,MAAM,GAAG,CACb,cACE,KAAK,EAAC,+BAA+B,EACrC,OAAO,EAAE,IAAI,CAAC,aAAa;MAE3B,iBAAW,KAAK,EAAC,oCAAoC,EAAC,IAAI,EAAC,iBAAiB,GAAa,CAClF,CACV,CAAC;IAEF,OAAO,CACL,EAAC,IAAI,IAAC,IAAI,EAAC,UAAU;MACnB,WAAK,KAAK,EAAE,OAAO;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM;QACnC,cACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,EAAuB,CAAC,EACpD,KAAK,EAAC,+BAA+B,kBACvB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAC7C,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,EACtD,OAAO,EAAE,IAAI,CAAC,OAAO;UAErB,YAAM,KAAK,EAAC,qCAAqC,IAC9C,IAAI,CAAC,IAAI;YACR,CAAC;cACD,iBAAW,KAAK,EAAC,kCAAkC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAc;YACjF,CAAC;cACD,EAAC,QAAQ;gBACP,YAAM,KAAK,EAAC,+BAA+B,IAAE,IAAI,CAAC,IAAI,CAAQ;gBAC7D,IAAI,CAAC,MAAM;kBACV,iBAAW,KAAK,EAAC,6BAA6B,EAAC,IAAI,EAAC,WAAW,GAAa,CAErE,CAER;UACP,YACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,EAAiB,CAAC,EAC5C,KAAK,EAAC,oCAAoC,IAEzC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,eAAa,CACnC,CACA;QACR,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAChC,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Fragment,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n\nimport {\n StzhProgressbarItemClickEvent,\n StzhProgressbarItemDottedClickEvent\n} from '../../index';\n\n/**\n * @slot - Slot for label (or use label prop)\n */\n@Component({\n tag: \"stzh-progressbar-item\",\n styleUrl: \"stzh-progressbar-item.scss\",\n scoped: true\n})\nexport class StzhProgressbarItem {\n @Prop({ reflect: true }) label: string;\n\n @Prop({ reflect: true }) disabled: boolean = false;\n\n @Prop({ reflect: true }) first: boolean = false;\n\n @Prop({ reflect: true }) last: boolean = false;\n\n @Prop({ reflect: true }) passed: boolean = false;\n\n @Prop({ reflect: true }) current: boolean = false;\n\n @Prop({ reflect: true }) hide: boolean = false;\n\n @Prop({ reflect: true }) dotted: boolean = false;\n\n @Prop({ reflect: true }) step: number = 1;\n\n @Prop({ reflect: true }) icon: string = \"\";\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the button element.\n * Default value will be taken from `label` prop or default slot.\n */\n @Prop() analyticsId: string;\n\n /** Click event */\n @Event() stzhClick: EventEmitter<StzhProgressbarItemClickEvent>;\n\n /** Dotted click event */\n @Event() stzhDottedClick: EventEmitter<StzhProgressbarItemDottedClickEvent>;\n\n @Element() element: HTMLStzhProgressbarItemElement;\n\n private button: HTMLButtonElement;\n private text: HTMLElement;\n\n private onClick = (event: MouseEvent) => {\n this.stzhClick.emit({\n component: \"stzh-progressbar-item\",\n originalEvent: event,\n index: Array.prototype.indexOf.call(this.element.parentNode.children, this.element),\n });\n }\n\n private onDottedClick = (event: MouseEvent) => {\n this.stzhDottedClick.emit({\n component: \"stzh-progressbar-item\",\n originalEvent: event,\n index: Array.prototype.indexOf.call(this.element.parentNode.children, this.element),\n });\n }\n\n componentDidRender() {\n requestAnimationFrame(() => {\n this.button.setAttribute(\"s-object-id\", this.analyticsId || this.text.innerText);\n });\n }\n\n render() {\n const classes = {\n \"stzh-progressbar-item\": true,\n \"stzh-progressbar-item--first\": this.first,\n \"stzh-progressbar-item--last\": this.last,\n \"stzh-progressbar-item--passed\": this.passed,\n \"stzh-progressbar-item--current\": this.current,\n \"stzh-progressbar-item--hide\": this.hide,\n \"stzh-progressbar-item--dotted\": this.dotted,\n \"stzh-progressbar-item--has-icon\": !!this.icon,\n \"stzh-progressbar-item--is-disabled\": this.disabled\n };\n\n const dotted = (\n <button\n class=\"stzh-progressbar-item__dotted\"\n onClick={this.onDottedClick}\n >\n <stzh-icon class=\"stzh-progressbar-item__dotted-icon\" name=\"more-horizontal\"></stzh-icon>\n </button>\n );\n\n return (\n <Host role=\"listitem\">\n <div class={classes}>\n {this.last && this.dotted && dotted}\n <button\n ref={(el) => (this.button = el as HTMLButtonElement)}\n class=\"stzh-progressbar-item__button\"\n aria-pressed={this.current ? \"true\" : \"false\"}\n disabled={(this.dotted && this.first) || this.disabled}\n onClick={this.onClick}\n >\n <span class=\"stzh-progressbar-item__number-block\">\n {this.icon\n ?\n <stzh-icon class=\"stzh-progressbar-item__user-icon\" name={this.icon}></stzh-icon>\n :\n <Fragment>\n <span class=\"stzh-progressbar-item__number\">{this.step}</span>\n {this.passed &&\n <stzh-icon class=\"stzh-progressbar-item__icon\" name=\"checkmark\"></stzh-icon>\n }\n </Fragment>\n }\n </span>\n <span\n ref={(el) => (this.text = el as HTMLElement)}\n class=\"stzh-progressbar-item__label-block\"\n >\n {this.label ? this.label : <slot></slot>}\n </span>\n </button>\n {this.first && this.dotted && dotted}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -137,7 +137,7 @@ export class StzhRadio {
137
137
  "mutable": false,
138
138
  "complexType": {
139
139
  "original": "StzhLocaleComponent",
140
- "resolved": "{ $locale: \"de\" | \"en\"; $formats: StzhLocaleFormats; $globals: StzhLocaleGlobals; }",
140
+ "resolved": "{ $locale: \"de\" | \"en\"; $formats: StzhLocaleFormats; $formatsIso: StzhLocaleFormats; $formatsLegacy: StzhLocaleFormats; $globals: StzhLocaleGlobals; }",
141
141
  "references": {
142
142
  "StzhLocaleComponent": {
143
143
  "location": "import",
@@ -186,7 +186,7 @@ export class StzhRadiogroup {
186
186
  "mutable": false,
187
187
  "complexType": {
188
188
  "original": "StzhLocaleComponent",
189
- "resolved": "{ $locale: \"de\" | \"en\"; $formats: StzhLocaleFormats; $globals: StzhLocaleGlobals; }",
189
+ "resolved": "{ $locale: \"de\" | \"en\"; $formats: StzhLocaleFormats; $formatsIso: StzhLocaleFormats; $formatsLegacy: StzhLocaleFormats; $globals: StzhLocaleGlobals; }",
190
190
  "references": {
191
191
  "StzhLocaleComponent": {
192
192
  "location": "import",
@@ -64,7 +64,7 @@ export class StzhRichtext {
64
64
  "mutable": false,
65
65
  "complexType": {
66
66
  "original": "StzhLocaleComponent",
67
- "resolved": "{ $locale: \"de\" | \"en\"; $formats: StzhLocaleFormats; $globals: StzhLocaleGlobals; }",
67
+ "resolved": "{ $locale: \"de\" | \"en\"; $formats: StzhLocaleFormats; $formatsIso: StzhLocaleFormats; $formatsLegacy: StzhLocaleFormats; $globals: StzhLocaleGlobals; }",
68
68
  "references": {
69
69
  "StzhLocaleComponent": {
70
70
  "location": "import",
@@ -190,8 +190,8 @@
190
190
  position: relative;
191
191
  left: 50%;
192
192
  right: 50%;
193
- margin-left: -50vw;
194
- margin-right: -50vw;
195
- width: 100vw;
196
- max-width: 100vw;
193
+ margin-left: calc(-50vw + var(--stzh-scrollbar-width) / 2);
194
+ margin-right: calc(-50vw + var(--stzh-scrollbar-width) / 2);
195
+ width: calc(100vw - var(--stzh-scrollbar-width));
196
+ max-width: calc(100vw - var(--stzh-scrollbar-width));
197
197
  }
@@ -411,7 +411,7 @@ export class StzhTimepicker {
411
411
  "mutable": false,
412
412
  "complexType": {
413
413
  "original": "StzhTimepickerLocalizedText",
414
- "resolved": "{ $locale: \"de\" | \"en\"; $formats: StzhLocaleFormats; $globals: StzhLocaleGlobals; }",
414
+ "resolved": "{ $locale: \"de\" | \"en\"; $formats: StzhLocaleFormats; $formatsIso: StzhLocaleFormats; $formatsLegacy: StzhLocaleFormats; $globals: StzhLocaleGlobals; }",
415
415
  "references": {
416
416
  "StzhTimepickerLocalizedText": {
417
417
  "location": "import",
@@ -105,9 +105,16 @@ export class StzhToastbar {
105
105
  link: link
106
106
  });
107
107
  if (data.cookie) {
108
+ let cookieExpires = 365;
109
+ if (data.cookieExpires === 0) {
110
+ cookieExpires = null;
111
+ }
112
+ else if (data.cookieExpires) {
113
+ cookieExpires = data.cookieExpires;
114
+ }
108
115
  toast.addEventListener("stzhClosed", () => {
109
116
  Cookie.set(`${KEY_PREFIX_CLOSED}-${data.cookie}`, '1', {
110
- expires: typeof data.cookieExpires !== "undefined" ? data.cookieExpires : 365
117
+ expires: cookieExpires
111
118
  });
112
119
  });
113
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-toastbar.js","sourceRoot":"","sources":["../../../../src/components/stzh-toastbar/stzh-toastbar.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Method,\n Watch,\n} from \"@stencil/core\";\n\nimport {\n StzhToastbarInitialToast,\n StzhToastType,\n} from \"../../index\";\n\nimport Cookie from \"js-cookie\";\n\nconst KEY_PREFIX_CLOSED = \"stzh-components-toastbar-closed\";\n\n/**\n * @slot - Slot for stzh-toast elements\n */\n@Component({\n tag: \"stzh-toastbar\",\n styleUrl: \"stzh-toastbar.scss\",\n shadow: true\n})\nexport class StzhToastbar {\n /**\n * Time after toasts are hidden (in seconds).\n * Toasts with type `error` will stay, until the user closes them manually.\n */\n @Prop() hideAfter: number = 30;\n\n /**\n * Maximum of toasts allowed to be shown.\n * If more are created, oldest will be hidden, even if timeout not ended yet or toast type is `error`.\n */\n @Prop() max: number = 5;\n\n /**\n * Initial toasts.\n *\n * Array of objects that at least includes `label` and optionally `type`, `link` (object with `href` and `label`) `cookie` and `cookieExpires`:\n * `[{\"label\": \"Lorem ipsum\", \"link\": { \"label\": \"More info\", \"href\": \"https://example.com\" }, \"cookie\": \"cookie-banner\", \"cookieExpires\": 365 }]`\n *\n * If `cookie` exists in an object, it will check for that cookie name first (prefixed with `stzh-components-toastbar-closed-`) and only show if cookie doesn't exist.\n * `cookieExpires` sets the cookie lifetime (default 365 days, set 0 for session cookie).\n */\n @Prop() initialToasts: StzhToastbarInitialToast[] | string = [];\n private _initialToasts: StzhToastbarInitialToast[] = [];\n\n @Element() element: HTMLStzhToastbarElement;\n\n /** Create new toast. */\n @Method()\n async toast(\n label: string,\n { type, link }: { type?: StzhToastType, link?: HTMLStzhLinkElement } = { type: \"info\" }\n ): Promise<HTMLStzhToastElement> {\n const toast = document.createElement(\"stzh-toast\");\n toast.hidden = true;\n toast.label = label;\n toast.role = \"alert\";\n toast.type = type || \"info\";\n toast.initialOpenAnimation = true;\n\n if (link) {\n link.slot = \"link\";\n link.size = \"small\";\n toast.appendChild(link);\n }\n\n this.element.appendChild(toast);\n\n return toast;\n }\n\n @Watch(\"initialToasts\")\n initialToastsWatcher(newValue: any[] | string) {\n if (typeof newValue === \"string\") {\n this._initialToasts = JSON.parse(newValue);\n } else {\n this._initialToasts = newValue;\n }\n }\n\n private toastAppended(toast: HTMLStzhToastElement) {\n if (toast.getAttribute('data-stzh-toastbar-managed')) {\n return;\n }\n\n toast.setAttribute('data-stzh-toastbar-managed', '');\n\n toast.addEventListener(\"stzhClosed\", () => {\n toast.remove();\n });\n\n if (toast.type !== \"error\") {\n let timeoutStarted = new Date().getTime();\n let restTime = this.hideAfter * 1000;\n let currentTimeout = window.setTimeout(() => {\n toast.hide();\n }, restTime);\n\n toast.addEventListener(\"pointerenter\", () => {\n if (currentTimeout) {\n window.clearTimeout(currentTimeout);\n const timePassed = new Date().getTime() - timeoutStarted;\n restTime = restTime - timePassed;\n }\n });\n\n toast.addEventListener(\"pointerleave\", () => {\n timeoutStarted = new Date().getTime();\n currentTimeout = window.setTimeout(() => {\n toast.hide();\n }, restTime);\n });\n }\n }\n\n private toastsAppended() {\n Array.from(this.element.children).forEach((toast: HTMLStzhToastElement) => {\n this.toastAppended(toast);\n });\n }\n\n private hideOverflowingItems() {\n const childCount = this.element.children.length;\n\n Array.from(this.element.children)\n .splice(0, childCount - this.max)\n .forEach((toast: HTMLStzhToastElement) => {\n toast.hide();\n });\n }\n\n private handleSlotchange = () => {\n this.toastsAppended();\n this.hideOverflowingItems();\n }\n\n componentWillLoad() {\n this.initialToastsWatcher(this.initialToasts);\n }\n\n componentDidLoad() {\n this._initialToasts.forEach(async (data) => {\n if (data.cookie) {\n const alreadyClosedBefore = Cookie.get(`${KEY_PREFIX_CLOSED}-${data.cookie}`);\n\n if (alreadyClosedBefore) {\n return;\n }\n }\n\n let link = data.link;\n\n if (!(link instanceof HTMLElement)) {\n const generatedLink = document.createElement(\"stzh-link\");\n generatedLink.slot = \"link\";\n generatedLink.size = \"small\";\n\n Object.assign(generatedLink, data.link);\n link = generatedLink;\n }\n\n const toast = await this.toast(data.label, {\n type: data.type,\n link: link as HTMLStzhLinkElement\n })\n\n if (data.cookie) {\n toast.addEventListener(\"stzhClosed\", () => {\n Cookie.set(`${KEY_PREFIX_CLOSED}-${data.cookie}`, '1', {\n expires: typeof data.cookieExpires !== \"undefined\" ? data.cookieExpires : 365\n });\n });\n }\n })\n }\n\n render() {\n const classes = {\n \"stzh-toastbar\": true,\n };\n\n return (\n <Host>\n <div class={classes}>\n <slot onSlotchange={this.handleSlotchange}></slot>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"stzh-toastbar.js","sourceRoot":"","sources":["../../../../src/components/stzh-toastbar/stzh-toastbar.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Method,\n Watch,\n} from \"@stencil/core\";\n\nimport {\n StzhToastbarInitialToast,\n StzhToastType,\n} from \"../../index\";\n\nimport Cookie from \"js-cookie\";\n\nconst KEY_PREFIX_CLOSED = \"stzh-components-toastbar-closed\";\n\n/**\n * @slot - Slot for stzh-toast elements\n */\n@Component({\n tag: \"stzh-toastbar\",\n styleUrl: \"stzh-toastbar.scss\",\n shadow: true\n})\nexport class StzhToastbar {\n /**\n * Time after toasts are hidden (in seconds).\n * Toasts with type `error` will stay, until the user closes them manually.\n */\n @Prop() hideAfter: number = 30;\n\n /**\n * Maximum of toasts allowed to be shown.\n * If more are created, oldest will be hidden, even if timeout not ended yet or toast type is `error`.\n */\n @Prop() max: number = 5;\n\n /**\n * Initial toasts.\n *\n * Array of objects that at least includes `label` and optionally `type`, `link` (object with `href` and `label`) `cookie` and `cookieExpires`:\n * `[{\"label\": \"Lorem ipsum\", \"link\": { \"label\": \"More info\", \"href\": \"https://example.com\" }, \"cookie\": \"cookie-banner\", \"cookieExpires\": 365 }]`\n *\n * If `cookie` exists in an object, it will check for that cookie name first (prefixed with `stzh-components-toastbar-closed-`) and only show if cookie doesn't exist.\n * `cookieExpires` sets the cookie lifetime (default 365 days, set 0 for session cookie).\n */\n @Prop() initialToasts: StzhToastbarInitialToast[] | string = [];\n private _initialToasts: StzhToastbarInitialToast[] = [];\n\n @Element() element: HTMLStzhToastbarElement;\n\n /** Create new toast. */\n @Method()\n async toast(\n label: string,\n { type, link }: { type?: StzhToastType, link?: HTMLStzhLinkElement } = { type: \"info\" }\n ): Promise<HTMLStzhToastElement> {\n const toast = document.createElement(\"stzh-toast\");\n toast.hidden = true;\n toast.label = label;\n toast.role = \"alert\";\n toast.type = type || \"info\";\n toast.initialOpenAnimation = true;\n\n if (link) {\n link.slot = \"link\";\n link.size = \"small\";\n toast.appendChild(link);\n }\n\n this.element.appendChild(toast);\n\n return toast;\n }\n\n @Watch(\"initialToasts\")\n initialToastsWatcher(newValue: any[] | string) {\n if (typeof newValue === \"string\") {\n this._initialToasts = JSON.parse(newValue);\n } else {\n this._initialToasts = newValue;\n }\n }\n\n private toastAppended(toast: HTMLStzhToastElement) {\n if (toast.getAttribute('data-stzh-toastbar-managed')) {\n return;\n }\n\n toast.setAttribute('data-stzh-toastbar-managed', '');\n\n toast.addEventListener(\"stzhClosed\", () => {\n toast.remove();\n });\n\n if (toast.type !== \"error\") {\n let timeoutStarted = new Date().getTime();\n let restTime = this.hideAfter * 1000;\n let currentTimeout = window.setTimeout(() => {\n toast.hide();\n }, restTime);\n\n toast.addEventListener(\"pointerenter\", () => {\n if (currentTimeout) {\n window.clearTimeout(currentTimeout);\n const timePassed = new Date().getTime() - timeoutStarted;\n restTime = restTime - timePassed;\n }\n });\n\n toast.addEventListener(\"pointerleave\", () => {\n timeoutStarted = new Date().getTime();\n currentTimeout = window.setTimeout(() => {\n toast.hide();\n }, restTime);\n });\n }\n }\n\n private toastsAppended() {\n Array.from(this.element.children).forEach((toast: HTMLStzhToastElement) => {\n this.toastAppended(toast);\n });\n }\n\n private hideOverflowingItems() {\n const childCount = this.element.children.length;\n\n Array.from(this.element.children)\n .splice(0, childCount - this.max)\n .forEach((toast: HTMLStzhToastElement) => {\n toast.hide();\n });\n }\n\n private handleSlotchange = () => {\n this.toastsAppended();\n this.hideOverflowingItems();\n }\n\n componentWillLoad() {\n this.initialToastsWatcher(this.initialToasts);\n }\n\n componentDidLoad() {\n this._initialToasts.forEach(async (data) => {\n if (data.cookie) {\n const alreadyClosedBefore = Cookie.get(`${KEY_PREFIX_CLOSED}-${data.cookie}`);\n\n if (alreadyClosedBefore) {\n return;\n }\n }\n\n let link = data.link;\n\n if (!(link instanceof HTMLElement)) {\n const generatedLink = document.createElement(\"stzh-link\");\n generatedLink.slot = \"link\";\n generatedLink.size = \"small\";\n\n Object.assign(generatedLink, data.link);\n link = generatedLink;\n }\n\n const toast = await this.toast(data.label, {\n type: data.type,\n link: link as HTMLStzhLinkElement\n })\n\n if (data.cookie) {\n let cookieExpires = 365;\n\n if (data.cookieExpires === 0) {\n cookieExpires = null;\n } else if (data.cookieExpires) {\n cookieExpires = data.cookieExpires;\n }\n\n toast.addEventListener(\"stzhClosed\", () => {\n Cookie.set(`${KEY_PREFIX_CLOSED}-${data.cookie}`, '1', {\n expires: cookieExpires\n });\n });\n }\n })\n }\n\n render() {\n const classes = {\n \"stzh-toastbar\": true,\n };\n\n return (\n <Host>\n <div class={classes}>\n <slot onSlotchange={this.handleSlotchange}></slot>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -139,7 +139,7 @@ export class StzhToggle {
139
139
  "mutable": false,
140
140
  "complexType": {
141
141
  "original": "StzhLocaleComponent",
142
- "resolved": "{ $locale: \"de\" | \"en\"; $formats: StzhLocaleFormats; $globals: StzhLocaleGlobals; }",
142
+ "resolved": "{ $locale: \"de\" | \"en\"; $formats: StzhLocaleFormats; $formatsIso: StzhLocaleFormats; $formatsLegacy: StzhLocaleFormats; $globals: StzhLocaleGlobals; }",
143
143
  "references": {
144
144
  "StzhLocaleComponent": {
145
145
  "location": "import",
@@ -39,6 +39,11 @@ export class StzhVbzMajorticker {
39
39
  const { data } = await axios.get(apiUrl);
40
40
  this.data = data;
41
41
  }
42
+ dateAdapterWatcher(newValue) {
43
+ if (!newValue) {
44
+ this.dateAdapter = window.stzhComponents.utils.createFormatParseAdapter(this.localization.$formats, this.localization.$globals);
45
+ }
46
+ }
42
47
  async dataWatcher(newValue) {
43
48
  var _a, _b;
44
49
  if (typeof newValue === "string") {
@@ -75,9 +80,7 @@ export class StzhVbzMajorticker {
75
80
  if (!this.localization) {
76
81
  this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, "vbz-majorticker");
77
82
  }
78
- if (!this.dateAdapter) {
79
- this.dateAdapter = window.stzhComponents.utils.createFormatParseAdapter(this.localization.$formats, this.localization.$globals);
80
- }
83
+ this.dateAdapterWatcher(this.dateAdapter);
81
84
  if (this.data) {
82
85
  await this.dataWatcher(this.data);
83
86
  }
@@ -303,6 +306,9 @@ export class StzhVbzMajorticker {
303
306
  return [{
304
307
  "propName": "api",
305
308
  "methodName": "apiWatcher"
309
+ }, {
310
+ "propName": "dateAdapter",
311
+ "methodName": "dateAdapterWatcher"
306
312
  }, {
307
313
  "propName": "data",
308
314
  "methodName": "dataWatcher"
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-vbz-majorticker.js","sourceRoot":"","sources":["../../../../src/components/stzh-vbz-majorticker/stzh-vbz-majorticker.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Element,\n Event,\n EventEmitter,\n Method\n} from \"@stencil/core\";\n\nimport axios from \"axios\";\n\nimport { createParagraphsFromBrs } from \"../../utils/string-utils\";\nimport { StzhLocaleAdapter } from \"../../utils/date-adapter\";\n\nimport { StzhVbzMajortickerLocalizedText } from \"./stzh-vbz-majorticker.localization\";\n\nimport {\n VBZ,\n StzhVbzMajortickerDisturbanceFetchedEvent,\n StzhVbzMajortickerDisturbance,\n VbzTickerInfoUrl\n} from \"../../index\";\n\n/**\n */\n@Component({\n tag: \"stzh-vbz-majorticker\",\n styleUrl: \"stzh-vbz-majorticker.scss\",\n scoped: true\n})\nexport class StzhVbzMajorticker {\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: StzhVbzMajortickerLocalizedText;\n\n /** Overwrite ghettobox close time cookie option if needed */\n @Prop() ghettoboxCloseTimeKey: string;\n\n /** Whether ghettobox is shown (if has not been closed before) */\n @State() ghettoboxShown: boolean = true;\n\n @Element() element: HTMLStzhVbzMajortickerElement;\n\n /** Event when major disturbance was fetched */\n @Event() stzhDisturbanceFetched: EventEmitter<StzhVbzMajortickerDisturbanceFetchedEvent>;\n\n /** Return whether ghettobox is shown (if has not been closed before) */\n @Method()\n async getGhettoboxShown() {\n return this.ghettoboxShown;\n }\n\n /** Return fetched disturbance */\n @Method()\n async getDisturbance() {\n return this.disturbance;\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(\"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 bigDisturbance = this._data?.Message\n ?.find(message => message.category === VBZ.DISTURBANCE_INFORMATION && message.baseType === VBZ.BASE_TYPE_GLOBAL);\n\n if (bigDisturbance) {\n const urls: VbzTickerInfoUrl[] = bigDisturbance.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 this.disturbance = {\n id: bigDisturbance.id,\n head: bigDisturbance.head,\n text: createParagraphsFromBrs(bigDisturbance.text),\n startDate: new Date(`${bigDisturbance.sDate}T${bigDisturbance.sTime}+02:00`),\n endDate: new Date(`${bigDisturbance.eDate}T${bigDisturbance.eTime}+02:00`),\n altStart: bigDisturbance.altStart,\n altEnd: bigDisturbance.altEnd,\n infoUrl: infoUrl\n };\n }\n\n this.stzhDisturbanceFetched.emit({\n component: \"stzh-vbz-majorticker\",\n disturbance: this.disturbance\n })\n }\n\n private disturbance: StzhVbzMajortickerDisturbance = null;\n\n private onGhettoboxOpen = () => {\n this.ghettoboxShown = true;\n }\n\n private onGhettoboxClose = () => {\n this.ghettoboxShown = false;\n }\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"vbz-majorticker\");\n }\n\n if (!this.dateAdapter) {\n this.dateAdapter = window.stzhComponents.utils.createFormatParseAdapter(\n this.localization.$formats,\n this.localization.$globals\n );\n }\n\n if (this.data) {\n await this.dataWatcher(this.data);\n } else {\n await this.apiWatcher(this.api);\n }\n }\n\n render() {\n const classes = {\n \"stzh-vbz-majorticker\": true\n };\n\n return (\n <Host hidden={!this.disturbance || !this.ghettoboxShown}>\n <div class={classes}>\n {this.disturbance &&\n <stzh-ghettobox\n onStzhOpen={this.onGhettoboxOpen}\n onStzhClose={this.onGhettoboxClose}\n class=\"stzh-vbz-majorticker__ghettobox\"\n hideClose={true}\n closeTimeKey={this.ghettoboxCloseTimeKey}\n mainTitle={this.disturbance.head}\n publishDate={this.disturbance.startDate}\n >\n <stzh-richtext innerHTML={this.disturbance.text}></stzh-richtext>\n {this.disturbance.infoUrl ?\n <stzh-button\n slot=\"button\"\n href={this.disturbance.infoUrl.url}\n >\n {this.disturbance.infoUrl.name}\n </stzh-button>\n :\n <stzh-button\n slot=\"button\"\n target=\"_blank\"\n href={this.moreInfoLink\n .replace(/\\{lang\\}/, this.localization.$locale)\n .replace(/\\{id\\}/, this.disturbance.id)}\n >\n {this.localization.moreInfo}\n </stzh-button>\n }\n </stzh-ghettobox>\n }\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"stzh-vbz-majorticker.js","sourceRoot":"","sources":["../../../../src/components/stzh-vbz-majorticker/stzh-vbz-majorticker.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Element,\n Event,\n EventEmitter,\n Method\n} from \"@stencil/core\";\n\nimport axios from \"axios\";\n\nimport { createParagraphsFromBrs } from \"../../utils/string-utils\";\nimport { StzhLocaleAdapter } from \"../../utils/date-adapter\";\n\nimport { StzhVbzMajortickerLocalizedText } from \"./stzh-vbz-majorticker.localization\";\n\nimport {\n VBZ,\n StzhVbzMajortickerDisturbanceFetchedEvent,\n StzhVbzMajortickerDisturbance,\n VbzTickerInfoUrl\n} from \"../../index\";\n\n/**\n */\n@Component({\n tag: \"stzh-vbz-majorticker\",\n styleUrl: \"stzh-vbz-majorticker.scss\",\n scoped: true\n})\nexport class StzhVbzMajorticker {\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: StzhVbzMajortickerLocalizedText;\n\n /** Overwrite ghettobox close time cookie option if needed */\n @Prop() ghettoboxCloseTimeKey: string;\n\n /** Whether ghettobox is shown (if has not been closed before) */\n @State() ghettoboxShown: boolean = true;\n\n @Element() element: HTMLStzhVbzMajortickerElement;\n\n /** Event when major disturbance was fetched */\n @Event() stzhDisturbanceFetched: EventEmitter<StzhVbzMajortickerDisturbanceFetchedEvent>;\n\n /** Return whether ghettobox is shown (if has not been closed before) */\n @Method()\n async getGhettoboxShown() {\n return this.ghettoboxShown;\n }\n\n /** Return fetched disturbance */\n @Method()\n async getDisturbance() {\n return this.disturbance;\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 bigDisturbance = this._data?.Message\n ?.find(message => message.category === VBZ.DISTURBANCE_INFORMATION && message.baseType === VBZ.BASE_TYPE_GLOBAL);\n\n if (bigDisturbance) {\n const urls: VbzTickerInfoUrl[] = bigDisturbance.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 this.disturbance = {\n id: bigDisturbance.id,\n head: bigDisturbance.head,\n text: createParagraphsFromBrs(bigDisturbance.text),\n startDate: new Date(`${bigDisturbance.sDate}T${bigDisturbance.sTime}+02:00`),\n endDate: new Date(`${bigDisturbance.eDate}T${bigDisturbance.eTime}+02:00`),\n altStart: bigDisturbance.altStart,\n altEnd: bigDisturbance.altEnd,\n infoUrl: infoUrl\n };\n }\n\n this.stzhDisturbanceFetched.emit({\n component: \"stzh-vbz-majorticker\",\n disturbance: this.disturbance\n })\n }\n\n private disturbance: StzhVbzMajortickerDisturbance = null;\n\n private onGhettoboxOpen = () => {\n this.ghettoboxShown = true;\n }\n\n private onGhettoboxClose = () => {\n this.ghettoboxShown = false;\n }\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"vbz-majorticker\");\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 render() {\n const classes = {\n \"stzh-vbz-majorticker\": true\n };\n\n return (\n <Host hidden={!this.disturbance || !this.ghettoboxShown}>\n <div class={classes}>\n {this.disturbance &&\n <stzh-ghettobox\n onStzhOpen={this.onGhettoboxOpen}\n onStzhClose={this.onGhettoboxClose}\n class=\"stzh-vbz-majorticker__ghettobox\"\n hideClose={true}\n closeTimeKey={this.ghettoboxCloseTimeKey}\n mainTitle={this.disturbance.head}\n publishDate={this.disturbance.startDate}\n >\n <stzh-richtext innerHTML={this.disturbance.text}></stzh-richtext>\n {this.disturbance.infoUrl ?\n <stzh-button\n slot=\"button\"\n href={this.disturbance.infoUrl.url}\n >\n {this.disturbance.infoUrl.name}\n </stzh-button>\n :\n <stzh-button\n slot=\"button\"\n target=\"_blank\"\n href={this.moreInfoLink\n .replace(/\\{lang\\}/, this.localization.$locale)\n .replace(/\\{id\\}/, this.disturbance.id)}\n >\n {this.localization.moreInfo}\n </stzh-button>\n }\n </stzh-ghettobox>\n }\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -37,6 +37,11 @@ export class StzhVbzTicker {
37
37
  const { data } = await axios.get(apiUrl);
38
38
  this.data = data;
39
39
  }
40
+ dateAdapterWatcher(newValue) {
41
+ if (!newValue) {
42
+ this.dateAdapter = window.stzhComponents.utils.createFormatParseAdapter(this.localization.$formats, this.localization.$globals);
43
+ }
44
+ }
40
45
  async dataWatcher(newValue) {
41
46
  var _a, _b;
42
47
  if (typeof newValue === "string") {
@@ -118,9 +123,7 @@ export class StzhVbzTicker {
118
123
  this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, "vbz-ticker");
119
124
  this.localizationWatcher();
120
125
  }
121
- if (!this.dateAdapter) {
122
- this.dateAdapter = window.stzhComponents.utils.createFormatParseAdapter(this.localization.$formats, this.localization.$globals);
123
- }
126
+ this.dateAdapterWatcher(this.dateAdapter);
124
127
  if (this.data) {
125
128
  await this.dataWatcher(this.data);
126
129
  }
@@ -277,6 +280,9 @@ export class StzhVbzTicker {
277
280
  }, {
278
281
  "propName": "api",
279
282
  "methodName": "apiWatcher"
283
+ }, {
284
+ "propName": "dateAdapter",
285
+ "methodName": "dateAdapterWatcher"
280
286
  }, {
281
287
  "propName": "data",
282
288
  "methodName": "dataWatcher"
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-vbz-ticker.js","sourceRoot":"","sources":["../../../../src/components/stzh-vbz-ticker/stzh-vbz-ticker.tsx"],"names":[],"mappings":"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","sourcesContent":["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(\"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 if (!this.dateAdapter) {\n this.dateAdapter = window.stzhComponents.utils.createFormatParseAdapter(\n this.localization.$formats,\n this.localization.$globals\n );\n }\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"]}
1
+ {"version":3,"file":"stzh-vbz-ticker.js","sourceRoot":"","sources":["../../../../src/components/stzh-vbz-ticker/stzh-vbz-ticker.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,KAAK,EACL,OAAO,EACP,QAAQ,EACT,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EACL,GAAG,EAIJ,MAAM,aAAa,CAAC;AAIrB;;GAEG;AAMH,MAAM,OAAO,aAAa;;IAuBhB,uBAAkB,GAA2B,EAAE,CAAC;IAChD,UAAK,GAAoB,EAAE,CAAC;IAG5B,YAAO,GAAG;MAChB,CAAC,GAAG,GAAG,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC;MAChC,CAAC,GAAG,GAAG,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC;MACrC,CAAC,GAAG,GAAG,CAAC,wBAAwB,EAAE,CAAC,EAAE,CAAC;MACtC,CAAC,GAAG,GAAG,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC;MAChC,CAAC,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;MAC/B,CAAC,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC;KAC9B,CAAC;eAhCoB,8IAA8I;gBAGhJ,EAAE;wBAIS,wDAAwD;;;;EA4BvF,mBAAmB;IACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;MAC3D,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;EACL,CAAC;EAGD,KAAK,CAAC,UAAU,CAAC,QAAgB;IAC/B,IAAI,CAAC,QAAQ,EAAE;MACb,OAAO;KACR;IAED,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IACpE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAElE,qBAAqB;IACrB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;EACnB,CAAC;EAGD,kBAAkB,CAAC,QAA2B;IAC5C,IAAI,CAAC,QAAQ,EAAE;MACb,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,wBAAwB,CACrE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAC1B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAC3B,CAAC;KACH;EACH,CAAC;EAGD,KAAK,CAAC,WAAW,CAAC,QAAa;;IAC7B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;MAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KACnC;SAAM;MACL,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;KACvB;IAED,MAAM,KAAK,GAAqC,EAAE,CAAC;IAEnD,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,0CAAE,OAAO,CAAC,OAAO,CAAC,EAAE;MACrC,MAAM,IAAI,GAAuB,OAAO,CAAC,OAAO;SAC7C,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC;SACrE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;MAErC,MAAM,OAAO,GAAG,IAAI;SACjB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;MAEpE,IAAI,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC,gBAAgB,EAAE;QAC7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAEvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;UAC3B,EAAE,EAAE,OAAO,CAAC,EAAE;UACd,IAAI,EAAE,OAAO,CAAC,IAAI;UAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;UAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;UAC1B,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC;UAC9D,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC;UAC5D,QAAQ,EAAE,OAAO,CAAC,QAAQ;UAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;UACtB,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;OACJ;WAAM;QACL,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;OAClC;MAED,2DAA2D;MAC3D,kDAAkD;MAClD,IACE,OAAO,CAAC,eAAe;WACpB,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC,uBAAuB;WAChD,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC,gBAAgB,EAC5C;QACA,MAAM,aAAa,GAAG,EAAE,CAAC;QAEzB,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;UACxC,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE;YAChD,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG;cACtB,IAAI,EAAE,OAAO,CAAC,IAAI;cAClB,IAAI,EAAE,OAAO,CAAC,IAAI;cAClB,QAAQ,EAAE,OAAO,CAAC,GAAG;cACrB,YAAY,EAAE,EAAE;cAChB,KAAK,EAAE,KAAK;aACb,CAAA;WACF;UAED,IAAI,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC,kBAAkB,EAAE;YAC/C,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;WACpC;UAED,iGAAiG;UACjG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC3C,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEnC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;cACtC,EAAE,EAAE,OAAO,CAAC,EAAE;cACd,IAAI,EAAE,OAAO,CAAC,IAAI;cAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;cAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;cAC1B,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC;cAC9D,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC;cAC5D,QAAQ,EAAE,OAAO,CAAC,QAAQ;cAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;cACtB,OAAO,EAAE,OAAO;aACjB,CAAC,CAAA;WACH;QACH,CAAC,CAAC,CAAA;OACH;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;OAC5B,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAE1B,oBAAoB;IACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ;OACpC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;EAC9B,CAAC;EAED,KAAK,CAAC,iBAAiB;IACrB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;MACtB,IAAI,CAAC,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;MACpG,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;IAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE1C,IAAI,IAAI,CAAC,IAAI,EAAE;MACb,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACnC;SAAM;MACL,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACjC;EACH,CAAC;EAED,iBAAiB,CAAC,WAAiC;IACjD,OAAO,CACL,WAAK,KAAK,EAAE;QACV,8BAA8B,EAAE,IAAI;QACpC,CAAC,qCAAqC,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ;OACtF;MACE,WAAW,CAAC,QAAQ,KAAK,GAAG,CAAC,kBAAkB;WAC3C,WAAW,CAAC,QAAQ,KAAK,GAAG,CAAC,gBAAgB;QAClD,CAAC;UACC,iBAAW,IAAI,EAAC,aAAa,EAAC,KAAK,EAAC,mCAAmC,GAAa;QACpF,CAAC;UACD,iBAAW,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,mCAAmC,GAAa;MAGvF,WAAK,KAAK,EAAC,mCAAmC;QAC5C,WAAK,KAAK,EAAC,oCAAoC,IAC5C,WAAW,CAAC,IAAI,CACb;QAEN,WAAK,KAAK,EAAC,mCAAmC,IAC3C,IAAI,CAAC,WAAW,CAAC,UAAU,CAC1B,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,SAAS,EAC7C,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,EACzC,MAAM,CACP,CACG;QAEL,WAAW,CAAC,OAAO,CAAC,CAAC;UACpB,iBACE,KAAK,EAAC,mCAAmC,EACzC,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,IAE5B,IAAI,CAAC,YAAY,CAAC,QAAQ,CACjB;UACd,CAAC;YACC,iBACE,KAAK,EAAC,mCAAmC,EACzC,IAAI,EAAC,OAAO,EACZ,MAAM,EAAC,QAAQ,EACf,IAAI,EAAC,eAAe,EACpB,IAAI,EAAE,IAAI,CAAC,YAAY;iBACpB,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;iBAC9C,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,IAEnC,IAAI,CAAC,YAAY,CAAC,QAAQ,CACjB,CAEV,CACF,CACP,CAAC;EACJ,CAAC;EAED,MAAM;IACJ,MAAM,OAAO,GAAG;MACd,iBAAiB,EAAE,IAAI;KACxB,CAAC;IAEF,OAAO,CACL,EAAC,IAAI;MACH,WAAK,KAAK,EAAE,OAAO;QACjB,WAAK,KAAK,EAAC,uBAAuB;UAChC,WAAK,KAAK,EAAC,wBAAwB;YACjC,WAAK,KAAK,EAAC,8BAA8B;cACtC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC;gBACpE,WAAK,KAAK,EAAC,0EAA0E;kBACnF,iBAAW,KAAK,EAAC,uBAAuB,EAAC,IAAI,EAAC,kBAAkB,GAAa;kBAC5E,IAAI,CAAC,YAAY,CAAC,cAAc,CAC7B;cAQP,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC;gBACvC,WAAK,KAAK,EAAC,uEAAuE;kBAChF,iBAAW,KAAK,EAAC,uBAAuB,EAAC,IAAI,EAAC,SAAS,GAAa;kBACnE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;oBACzC,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAC5E;cAEP,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,GAAG,CAAC;mBAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC;mBACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBACzC,WAAK,KAAK,EAAC,iEAAiE;kBAC1E,iBAAW,KAAK,EAAC,uBAAuB,EAAC,IAAI,EAAC,cAAc,GAAa;kBACxE,IAAI,CAAC,YAAY,CAAC,kBAAkB,CACjC,CACJ,CACF;UAEL,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAClE,EAAC,QAAQ;cAMP,WAAK,KAAK,EAAC,wBAAwB,EAAC,IAAI,EAAC,MAAM,IAW5C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACvB,WAAK,KAAK,EAAC,uBAAuB,EAAC,IAAI,EAAC,UAAU;gBAChD,oBAAc,KAAK,EAAC,0BAA0B;kBAC5C,yBAAmB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAsB;kBAC3E,WAAK,KAAK,EAAC,kCAAkC,EAAC,IAAI,EAAC,SAAS,IACzD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CACxE,CACO,CACX,CACP,CACG,CACG,CACT;QAEN,WAAK,KAAK,EAAC,uBAAuB;UAChC,YAAM,IAAI,EAAC,MAAM,GAAQ,CACrB,CACF,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
@@ -241,7 +241,9 @@ export async function fetchTranslations(host, component) {
241
241
  ...existingTranslations[component] || {},
242
242
  $globals: existingTranslations.$globals,
243
243
  $locale: existingTranslations.$code,
244
- $formats: existingTranslations.$formats
244
+ $formats: existingTranslations.$formats,
245
+ $formatsIso: existingTranslations.$formatsIso,
246
+ $formatsLegacy: existingTranslations.$formatsLegacy
245
247
  };
246
248
  }
247
249
 
@@ -257,7 +259,9 @@ export async function fetchTranslations(host, component) {
257
259
  ...data[component] || {},
258
260
  $globals: data.$globals,
259
261
  $locale: data.$code,
260
- $formats: data.$formats
262
+ $formats: data.$formats,
263
+ $formatsIso: data.$formatsIso,
264
+ $formatsLegacy: data.$formatsLegacy
261
265
  };
262
266
  }
263
267