@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 +0,0 @@
1
- {"version":3,"names":["_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","Constructor","protoProps","staticProps","prototype","_classCallCheck","instance","TypeError","window","slice","Array","matches","Element","msMatchesSelector","_focusableElementsString","join","InertRoot","rootElement","inertManager","this","_inertManager","_rootElement","_managedNodes","Set","hasAttribute","_savedAriaHidden","getAttribute","setAttribute","_makeSubtreeUnfocusable","_observer","MutationObserver","_onMutation","bind","observe","attributes","childList","subtree","value","destructor","disconnect","removeAttribute","forEach","inertNode","_unmanageNode","node","startNode","_this2","composedTreeWalk","_visitNode","activeElement","document","body","contains","root","undefined","nodeType","Node","DOCUMENT_FRAGMENT_NODE","parentNode","blur","focus","ELEMENT_NODE","element","_adoptInertRoot","call","_manageNode","register","add","deregister","_unmanageSubtree","_this3","inertSubroot","getInertRoot","setInert","managedNodes","savedInertNode","records","self","record","type","addedNodes","removedNodes","attributeName","managedNode","get","set","ariaHidden","InertNode","inertRoot","_node","_overrodeFocusMethod","_inertRoots","_savedTabIndex","_destroyed","ensureUntabbable","_throwIfDestroyed","destroyed","Error","tabIndex","hasSavedTabIndex","addInertRoot","removeInertRoot","size","InertManager","_document","Map","_watchForInert","addInertStyle","head","documentElement","readyState","addEventListener","_onDocumentLoaded","inert","has","parent","_inertRoot","inertElements","querySelectorAll","inertElement","_this","unshift","callback","shadowRootAncestor","shadowRoot","localName","content","distributedNodes","getDistributedNodes","slot","_distributedNodes","assignedNodes","flatten","_i","child","firstChild","nextSibling","querySelector","style","createElement","textContent","appendChild","HTMLElement","hasOwnProperty","packageName","packageNameScoped","substring","indexOf","applyAutofocus","event","autofocus","detail","namespace","tagName","toLowerCase","setFocus","observeScrollbarWidth","config","threshold","handleIntersect","entries","entry","scrollbarWidth","intersectionRatio","innerWidth","clientWidth","setProperty","bodyScrollObserver","IntersectionObserver","format","date","stzhComponents","translations","console","log","_a","$formats","$globals","adapter","createFormatParseAdapter","parse","string","formatSpan","date2","parseSpan","formats","globals","globalFormatter","Date","isNaN","getTime","j","getDate","toString","d","n","getMonth","m","yC","getFullYear","gC","getHours","hC","getMinutes","fC","monthNames","mC","monthNamesShort","l","dayNames","getDay","concat","replace","globalParser","input","regex","RegExp","match","groups","year","parseInt","Y","month","day","hours","G","H","minutes","globalAdapter","dateFormats","__assign","formattedDate","formattedDate2","range","dateRange","startsWith","timeRange","dates","split","getLocale","closestElement","closest","locale","lang","supportedLocales","defaultLocale","fetchTranslations","host","component","existingTranslations","JSON","sessionStorage","getItem","version","cacheTranslations","keys","$locale","$code","fetch","pathTranslations","result","sent","ok","json","data","setItem","stringify","error","exception_1","appGlobalScript","assign","labels","pathMedia","utils","translationsLoading","then","catch","reason","globalScripts","exports"],"sources":["node_modules/wicg-inert/dist/inert.esm.js","src/global/js/helpers/autofocus.js","src/global/js/helpers/scrollbar-width.js","src/global/js/helpers/utils.js","src/global/js/script.js","@stencil/core/internal/app-globals"],"sourcesContent":["var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * This work is licensed under the W3C Software and Document License\n * (http://www.w3.org/Consortium/Legal/2015/copyright-software-and-document).\n */\n\n(function () {\n // Return early if we're not running inside of the browser.\n if (typeof window === 'undefined') {\n return;\n }\n\n // Convenience function for converting NodeLists.\n /** @type {typeof Array.prototype.slice} */\n var slice = Array.prototype.slice;\n\n /**\n * IE has a non-standard name for \"matches\".\n * @type {typeof Element.prototype.matches}\n */\n var matches = Element.prototype.matches || Element.prototype.msMatchesSelector;\n\n /** @type {string} */\n var _focusableElementsString = ['a[href]', 'area[href]', 'input:not([disabled])', 'select:not([disabled])', 'textarea:not([disabled])', 'button:not([disabled])', 'details', 'summary', 'iframe', 'object', 'embed', '[contenteditable]'].join(',');\n\n /**\n * `InertRoot` manages a single inert subtree, i.e. a DOM subtree whose root element has an `inert`\n * attribute.\n *\n * Its main functions are:\n *\n * - to create and maintain a set of managed `InertNode`s, including when mutations occur in the\n * subtree. The `makeSubtreeUnfocusable()` method handles collecting `InertNode`s via registering\n * each focusable node in the subtree with the singleton `InertManager` which manages all known\n * focusable nodes within inert subtrees. `InertManager` ensures that a single `InertNode`\n * instance exists for each focusable node which has at least one inert root as an ancestor.\n *\n * - to notify all managed `InertNode`s when this subtree stops being inert (i.e. when the `inert`\n * attribute is removed from the root node). This is handled in the destructor, which calls the\n * `deregister` method on `InertManager` for each managed inert node.\n */\n\n var InertRoot = function () {\n /**\n * @param {!HTMLElement} rootElement The HTMLElement at the root of the inert subtree.\n * @param {!InertManager} inertManager The global singleton InertManager object.\n */\n function InertRoot(rootElement, inertManager) {\n _classCallCheck(this, InertRoot);\n\n /** @type {!InertManager} */\n this._inertManager = inertManager;\n\n /** @type {!HTMLElement} */\n this._rootElement = rootElement;\n\n /**\n * @type {!Set<!InertNode>}\n * All managed focusable nodes in this InertRoot's subtree.\n */\n this._managedNodes = new Set();\n\n // Make the subtree hidden from assistive technology\n if (this._rootElement.hasAttribute('aria-hidden')) {\n /** @type {?string} */\n this._savedAriaHidden = this._rootElement.getAttribute('aria-hidden');\n } else {\n this._savedAriaHidden = null;\n }\n this._rootElement.setAttribute('aria-hidden', 'true');\n\n // Make all focusable elements in the subtree unfocusable and add them to _managedNodes\n this._makeSubtreeUnfocusable(this._rootElement);\n\n // Watch for:\n // - any additions in the subtree: make them unfocusable too\n // - any removals from the subtree: remove them from this inert root's managed nodes\n // - attribute changes: if `tabindex` is added, or removed from an intrinsically focusable\n // element, make that node a managed node.\n this._observer = new MutationObserver(this._onMutation.bind(this));\n this._observer.observe(this._rootElement, { attributes: true, childList: true, subtree: true });\n }\n\n /**\n * Call this whenever this object is about to become obsolete. This unwinds all of the state\n * stored in this object and updates the state of all of the managed nodes.\n */\n\n\n _createClass(InertRoot, [{\n key: 'destructor',\n value: function destructor() {\n this._observer.disconnect();\n\n if (this._rootElement) {\n if (this._savedAriaHidden !== null) {\n this._rootElement.setAttribute('aria-hidden', this._savedAriaHidden);\n } else {\n this._rootElement.removeAttribute('aria-hidden');\n }\n }\n\n this._managedNodes.forEach(function (inertNode) {\n this._unmanageNode(inertNode.node);\n }, this);\n\n // Note we cast the nulls to the ANY type here because:\n // 1) We want the class properties to be declared as non-null, or else we\n // need even more casts throughout this code. All bets are off if an\n // instance has been destroyed and a method is called.\n // 2) We don't want to cast \"this\", because we want type-aware optimizations\n // to know which properties we're setting.\n this._observer = /** @type {?} */null;\n this._rootElement = /** @type {?} */null;\n this._managedNodes = /** @type {?} */null;\n this._inertManager = /** @type {?} */null;\n }\n\n /**\n * @return {!Set<!InertNode>} A copy of this InertRoot's managed nodes set.\n */\n\n }, {\n key: '_makeSubtreeUnfocusable',\n\n\n /**\n * @param {!Node} startNode\n */\n value: function _makeSubtreeUnfocusable(startNode) {\n var _this2 = this;\n\n composedTreeWalk(startNode, function (node) {\n return _this2._visitNode(node);\n });\n\n var activeElement = document.activeElement;\n\n if (!document.body.contains(startNode)) {\n // startNode may be in shadow DOM, so find its nearest shadowRoot to get the activeElement.\n var node = startNode;\n /** @type {!ShadowRoot|undefined} */\n var root = undefined;\n while (node) {\n if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n root = /** @type {!ShadowRoot} */node;\n break;\n }\n node = node.parentNode;\n }\n if (root) {\n activeElement = root.activeElement;\n }\n }\n if (startNode.contains(activeElement)) {\n activeElement.blur();\n // In IE11, if an element is already focused, and then set to tabindex=-1\n // calling blur() will not actually move the focus.\n // To work around this we call focus() on the body instead.\n if (activeElement === document.activeElement) {\n document.body.focus();\n }\n }\n }\n\n /**\n * @param {!Node} node\n */\n\n }, {\n key: '_visitNode',\n value: function _visitNode(node) {\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return;\n }\n var element = /** @type {!HTMLElement} */node;\n\n // If a descendant inert root becomes un-inert, its descendants will still be inert because of\n // this inert root, so all of its managed nodes need to be adopted by this InertRoot.\n if (element !== this._rootElement && element.hasAttribute('inert')) {\n this._adoptInertRoot(element);\n }\n\n if (matches.call(element, _focusableElementsString) || element.hasAttribute('tabindex')) {\n this._manageNode(element);\n }\n }\n\n /**\n * Register the given node with this InertRoot and with InertManager.\n * @param {!Node} node\n */\n\n }, {\n key: '_manageNode',\n value: function _manageNode(node) {\n var inertNode = this._inertManager.register(node, this);\n this._managedNodes.add(inertNode);\n }\n\n /**\n * Unregister the given node with this InertRoot and with InertManager.\n * @param {!Node} node\n */\n\n }, {\n key: '_unmanageNode',\n value: function _unmanageNode(node) {\n var inertNode = this._inertManager.deregister(node, this);\n if (inertNode) {\n this._managedNodes['delete'](inertNode);\n }\n }\n\n /**\n * Unregister the entire subtree starting at `startNode`.\n * @param {!Node} startNode\n */\n\n }, {\n key: '_unmanageSubtree',\n value: function _unmanageSubtree(startNode) {\n var _this3 = this;\n\n composedTreeWalk(startNode, function (node) {\n return _this3._unmanageNode(node);\n });\n }\n\n /**\n * If a descendant node is found with an `inert` attribute, adopt its managed nodes.\n * @param {!HTMLElement} node\n */\n\n }, {\n key: '_adoptInertRoot',\n value: function _adoptInertRoot(node) {\n var inertSubroot = this._inertManager.getInertRoot(node);\n\n // During initialisation this inert root may not have been registered yet,\n // so register it now if need be.\n if (!inertSubroot) {\n this._inertManager.setInert(node, true);\n inertSubroot = this._inertManager.getInertRoot(node);\n }\n\n inertSubroot.managedNodes.forEach(function (savedInertNode) {\n this._manageNode(savedInertNode.node);\n }, this);\n }\n\n /**\n * Callback used when mutation observer detects subtree additions, removals, or attribute changes.\n * @param {!Array<!MutationRecord>} records\n * @param {!MutationObserver} self\n */\n\n }, {\n key: '_onMutation',\n value: function _onMutation(records, self) {\n records.forEach(function (record) {\n var target = /** @type {!HTMLElement} */record.target;\n if (record.type === 'childList') {\n // Manage added nodes\n slice.call(record.addedNodes).forEach(function (node) {\n this._makeSubtreeUnfocusable(node);\n }, this);\n\n // Un-manage removed nodes\n slice.call(record.removedNodes).forEach(function (node) {\n this._unmanageSubtree(node);\n }, this);\n } else if (record.type === 'attributes') {\n if (record.attributeName === 'tabindex') {\n // Re-initialise inert node if tabindex changes\n this._manageNode(target);\n } else if (target !== this._rootElement && record.attributeName === 'inert' && target.hasAttribute('inert')) {\n // If a new inert root is added, adopt its managed nodes and make sure it knows about the\n // already managed nodes from this inert subroot.\n this._adoptInertRoot(target);\n var inertSubroot = this._inertManager.getInertRoot(target);\n this._managedNodes.forEach(function (managedNode) {\n if (target.contains(managedNode.node)) {\n inertSubroot._manageNode(managedNode.node);\n }\n });\n }\n }\n }, this);\n }\n }, {\n key: 'managedNodes',\n get: function get() {\n return new Set(this._managedNodes);\n }\n\n /** @return {boolean} */\n\n }, {\n key: 'hasSavedAriaHidden',\n get: function get() {\n return this._savedAriaHidden !== null;\n }\n\n /** @param {?string} ariaHidden */\n\n }, {\n key: 'savedAriaHidden',\n set: function set(ariaHidden) {\n this._savedAriaHidden = ariaHidden;\n }\n\n /** @return {?string} */\n ,\n get: function get() {\n return this._savedAriaHidden;\n }\n }]);\n\n return InertRoot;\n }();\n\n /**\n * `InertNode` initialises and manages a single inert node.\n * A node is inert if it is a descendant of one or more inert root elements.\n *\n * On construction, `InertNode` saves the existing `tabindex` value for the node, if any, and\n * either removes the `tabindex` attribute or sets it to `-1`, depending on whether the element\n * is intrinsically focusable or not.\n *\n * `InertNode` maintains a set of `InertRoot`s which are descendants of this `InertNode`. When an\n * `InertRoot` is destroyed, and calls `InertManager.deregister()`, the `InertManager` notifies the\n * `InertNode` via `removeInertRoot()`, which in turn destroys the `InertNode` if no `InertRoot`s\n * remain in the set. On destruction, `InertNode` reinstates the stored `tabindex` if one exists,\n * or removes the `tabindex` attribute if the element is intrinsically focusable.\n */\n\n\n var InertNode = function () {\n /**\n * @param {!Node} node A focusable element to be made inert.\n * @param {!InertRoot} inertRoot The inert root element associated with this inert node.\n */\n function InertNode(node, inertRoot) {\n _classCallCheck(this, InertNode);\n\n /** @type {!Node} */\n this._node = node;\n\n /** @type {boolean} */\n this._overrodeFocusMethod = false;\n\n /**\n * @type {!Set<!InertRoot>} The set of descendant inert roots.\n * If and only if this set becomes empty, this node is no longer inert.\n */\n this._inertRoots = new Set([inertRoot]);\n\n /** @type {?number} */\n this._savedTabIndex = null;\n\n /** @type {boolean} */\n this._destroyed = false;\n\n // Save any prior tabindex info and make this node untabbable\n this.ensureUntabbable();\n }\n\n /**\n * Call this whenever this object is about to become obsolete.\n * This makes the managed node focusable again and deletes all of the previously stored state.\n */\n\n\n _createClass(InertNode, [{\n key: 'destructor',\n value: function destructor() {\n this._throwIfDestroyed();\n\n if (this._node && this._node.nodeType === Node.ELEMENT_NODE) {\n var element = /** @type {!HTMLElement} */this._node;\n if (this._savedTabIndex !== null) {\n element.setAttribute('tabindex', this._savedTabIndex);\n } else {\n element.removeAttribute('tabindex');\n }\n\n // Use `delete` to restore native focus method.\n if (this._overrodeFocusMethod) {\n delete element.focus;\n }\n }\n\n // See note in InertRoot.destructor for why we cast these nulls to ANY.\n this._node = /** @type {?} */null;\n this._inertRoots = /** @type {?} */null;\n this._destroyed = true;\n }\n\n /**\n * @type {boolean} Whether this object is obsolete because the managed node is no longer inert.\n * If the object has been destroyed, any attempt to access it will cause an exception.\n */\n\n }, {\n key: '_throwIfDestroyed',\n\n\n /**\n * Throw if user tries to access destroyed InertNode.\n */\n value: function _throwIfDestroyed() {\n if (this.destroyed) {\n throw new Error('Trying to access destroyed InertNode');\n }\n }\n\n /** @return {boolean} */\n\n }, {\n key: 'ensureUntabbable',\n\n\n /** Save the existing tabindex value and make the node untabbable and unfocusable */\n value: function ensureUntabbable() {\n if (this.node.nodeType !== Node.ELEMENT_NODE) {\n return;\n }\n var element = /** @type {!HTMLElement} */this.node;\n if (matches.call(element, _focusableElementsString)) {\n if ( /** @type {!HTMLElement} */element.tabIndex === -1 && this.hasSavedTabIndex) {\n return;\n }\n\n if (element.hasAttribute('tabindex')) {\n this._savedTabIndex = /** @type {!HTMLElement} */element.tabIndex;\n }\n element.setAttribute('tabindex', '-1');\n if (element.nodeType === Node.ELEMENT_NODE) {\n element.focus = function () {};\n this._overrodeFocusMethod = true;\n }\n } else if (element.hasAttribute('tabindex')) {\n this._savedTabIndex = /** @type {!HTMLElement} */element.tabIndex;\n element.removeAttribute('tabindex');\n }\n }\n\n /**\n * Add another inert root to this inert node's set of managing inert roots.\n * @param {!InertRoot} inertRoot\n */\n\n }, {\n key: 'addInertRoot',\n value: function addInertRoot(inertRoot) {\n this._throwIfDestroyed();\n this._inertRoots.add(inertRoot);\n }\n\n /**\n * Remove the given inert root from this inert node's set of managing inert roots.\n * If the set of managing inert roots becomes empty, this node is no longer inert,\n * so the object should be destroyed.\n * @param {!InertRoot} inertRoot\n */\n\n }, {\n key: 'removeInertRoot',\n value: function removeInertRoot(inertRoot) {\n this._throwIfDestroyed();\n this._inertRoots['delete'](inertRoot);\n if (this._inertRoots.size === 0) {\n this.destructor();\n }\n }\n }, {\n key: 'destroyed',\n get: function get() {\n return (/** @type {!InertNode} */this._destroyed\n );\n }\n }, {\n key: 'hasSavedTabIndex',\n get: function get() {\n return this._savedTabIndex !== null;\n }\n\n /** @return {!Node} */\n\n }, {\n key: 'node',\n get: function get() {\n this._throwIfDestroyed();\n return this._node;\n }\n\n /** @param {?number} tabIndex */\n\n }, {\n key: 'savedTabIndex',\n set: function set(tabIndex) {\n this._throwIfDestroyed();\n this._savedTabIndex = tabIndex;\n }\n\n /** @return {?number} */\n ,\n get: function get() {\n this._throwIfDestroyed();\n return this._savedTabIndex;\n }\n }]);\n\n return InertNode;\n }();\n\n /**\n * InertManager is a per-document singleton object which manages all inert roots and nodes.\n *\n * When an element becomes an inert root by having an `inert` attribute set and/or its `inert`\n * property set to `true`, the `setInert` method creates an `InertRoot` object for the element.\n * The `InertRoot` in turn registers itself as managing all of the element's focusable descendant\n * nodes via the `register()` method. The `InertManager` ensures that a single `InertNode` instance\n * is created for each such node, via the `_managedNodes` map.\n */\n\n\n var InertManager = function () {\n /**\n * @param {!Document} document\n */\n function InertManager(document) {\n _classCallCheck(this, InertManager);\n\n if (!document) {\n throw new Error('Missing required argument; InertManager needs to wrap a document.');\n }\n\n /** @type {!Document} */\n this._document = document;\n\n /**\n * All managed nodes known to this InertManager. In a map to allow looking up by Node.\n * @type {!Map<!Node, !InertNode>}\n */\n this._managedNodes = new Map();\n\n /**\n * All inert roots known to this InertManager. In a map to allow looking up by Node.\n * @type {!Map<!Node, !InertRoot>}\n */\n this._inertRoots = new Map();\n\n /**\n * Observer for mutations on `document.body`.\n * @type {!MutationObserver}\n */\n this._observer = new MutationObserver(this._watchForInert.bind(this));\n\n // Add inert style.\n addInertStyle(document.head || document.body || document.documentElement);\n\n // Wait for document to be loaded.\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', this._onDocumentLoaded.bind(this));\n } else {\n this._onDocumentLoaded();\n }\n }\n\n /**\n * Set whether the given element should be an inert root or not.\n * @param {!HTMLElement} root\n * @param {boolean} inert\n */\n\n\n _createClass(InertManager, [{\n key: 'setInert',\n value: function setInert(root, inert) {\n if (inert) {\n if (this._inertRoots.has(root)) {\n // element is already inert\n return;\n }\n\n var inertRoot = new InertRoot(root, this);\n root.setAttribute('inert', '');\n this._inertRoots.set(root, inertRoot);\n // If not contained in the document, it must be in a shadowRoot.\n // Ensure inert styles are added there.\n if (!this._document.body.contains(root)) {\n var parent = root.parentNode;\n while (parent) {\n if (parent.nodeType === 11) {\n addInertStyle(parent);\n }\n parent = parent.parentNode;\n }\n }\n } else {\n if (!this._inertRoots.has(root)) {\n // element is already non-inert\n return;\n }\n\n var _inertRoot = this._inertRoots.get(root);\n _inertRoot.destructor();\n this._inertRoots['delete'](root);\n root.removeAttribute('inert');\n }\n }\n\n /**\n * Get the InertRoot object corresponding to the given inert root element, if any.\n * @param {!Node} element\n * @return {!InertRoot|undefined}\n */\n\n }, {\n key: 'getInertRoot',\n value: function getInertRoot(element) {\n return this._inertRoots.get(element);\n }\n\n /**\n * Register the given InertRoot as managing the given node.\n * In the case where the node has a previously existing inert root, this inert root will\n * be added to its set of inert roots.\n * @param {!Node} node\n * @param {!InertRoot} inertRoot\n * @return {!InertNode} inertNode\n */\n\n }, {\n key: 'register',\n value: function register(node, inertRoot) {\n var inertNode = this._managedNodes.get(node);\n if (inertNode !== undefined) {\n // node was already in an inert subtree\n inertNode.addInertRoot(inertRoot);\n } else {\n inertNode = new InertNode(node, inertRoot);\n }\n\n this._managedNodes.set(node, inertNode);\n\n return inertNode;\n }\n\n /**\n * De-register the given InertRoot as managing the given inert node.\n * Removes the inert root from the InertNode's set of managing inert roots, and remove the inert\n * node from the InertManager's set of managed nodes if it is destroyed.\n * If the node is not currently managed, this is essentially a no-op.\n * @param {!Node} node\n * @param {!InertRoot} inertRoot\n * @return {?InertNode} The potentially destroyed InertNode associated with this node, if any.\n */\n\n }, {\n key: 'deregister',\n value: function deregister(node, inertRoot) {\n var inertNode = this._managedNodes.get(node);\n if (!inertNode) {\n return null;\n }\n\n inertNode.removeInertRoot(inertRoot);\n if (inertNode.destroyed) {\n this._managedNodes['delete'](node);\n }\n\n return inertNode;\n }\n\n /**\n * Callback used when document has finished loading.\n */\n\n }, {\n key: '_onDocumentLoaded',\n value: function _onDocumentLoaded() {\n // Find all inert roots in document and make them actually inert.\n var inertElements = slice.call(this._document.querySelectorAll('[inert]'));\n inertElements.forEach(function (inertElement) {\n this.setInert(inertElement, true);\n }, this);\n\n // Comment this out to use programmatic API only.\n this._observer.observe(this._document.body || this._document.documentElement, { attributes: true, subtree: true, childList: true });\n }\n\n /**\n * Callback used when mutation observer detects attribute changes.\n * @param {!Array<!MutationRecord>} records\n * @param {!MutationObserver} self\n */\n\n }, {\n key: '_watchForInert',\n value: function _watchForInert(records, self) {\n var _this = this;\n records.forEach(function (record) {\n switch (record.type) {\n case 'childList':\n slice.call(record.addedNodes).forEach(function (node) {\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return;\n }\n var inertElements = slice.call(node.querySelectorAll('[inert]'));\n if (matches.call(node, '[inert]')) {\n inertElements.unshift(node);\n }\n inertElements.forEach(function (inertElement) {\n this.setInert(inertElement, true);\n }, _this);\n }, _this);\n break;\n case 'attributes':\n if (record.attributeName !== 'inert') {\n return;\n }\n var target = /** @type {!HTMLElement} */record.target;\n var inert = target.hasAttribute('inert');\n _this.setInert(target, inert);\n break;\n }\n }, this);\n }\n }]);\n\n return InertManager;\n }();\n\n /**\n * Recursively walk the composed tree from |node|.\n * @param {!Node} node\n * @param {(function (!HTMLElement))=} callback Callback to be called for each element traversed,\n * before descending into child nodes.\n * @param {?ShadowRoot=} shadowRootAncestor The nearest ShadowRoot ancestor, if any.\n */\n\n\n function composedTreeWalk(node, callback, shadowRootAncestor) {\n if (node.nodeType == Node.ELEMENT_NODE) {\n var element = /** @type {!HTMLElement} */node;\n if (callback) {\n callback(element);\n }\n\n // Descend into node:\n // If it has a ShadowRoot, ignore all child elements - these will be picked\n // up by the <content> or <shadow> elements. Descend straight into the\n // ShadowRoot.\n var shadowRoot = /** @type {!HTMLElement} */element.shadowRoot;\n if (shadowRoot) {\n composedTreeWalk(shadowRoot, callback, shadowRoot);\n return;\n }\n\n // If it is a <content> element, descend into distributed elements - these\n // are elements from outside the shadow root which are rendered inside the\n // shadow DOM.\n if (element.localName == 'content') {\n var content = /** @type {!HTMLContentElement} */element;\n // Verifies if ShadowDom v0 is supported.\n var distributedNodes = content.getDistributedNodes ? content.getDistributedNodes() : [];\n for (var i = 0; i < distributedNodes.length; i++) {\n composedTreeWalk(distributedNodes[i], callback, shadowRootAncestor);\n }\n return;\n }\n\n // If it is a <slot> element, descend into assigned nodes - these\n // are elements from outside the shadow root which are rendered inside the\n // shadow DOM.\n if (element.localName == 'slot') {\n var slot = /** @type {!HTMLSlotElement} */element;\n // Verify if ShadowDom v1 is supported.\n var _distributedNodes = slot.assignedNodes ? slot.assignedNodes({ flatten: true }) : [];\n for (var _i = 0; _i < _distributedNodes.length; _i++) {\n composedTreeWalk(_distributedNodes[_i], callback, shadowRootAncestor);\n }\n return;\n }\n }\n\n // If it is neither the parent of a ShadowRoot, a <content> element, a <slot>\n // element, nor a <shadow> element recurse normally.\n var child = node.firstChild;\n while (child != null) {\n composedTreeWalk(child, callback, shadowRootAncestor);\n child = child.nextSibling;\n }\n }\n\n /**\n * Adds a style element to the node containing the inert specific styles\n * @param {!Node} node\n */\n function addInertStyle(node) {\n if (node.querySelector('style#inert-style, link#inert-style')) {\n return;\n }\n var style = document.createElement('style');\n style.setAttribute('id', 'inert-style');\n style.textContent = '\\n' + '[inert] {\\n' + ' pointer-events: none;\\n' + ' cursor: default;\\n' + '}\\n' + '\\n' + '[inert], [inert] * {\\n' + ' -webkit-user-select: none;\\n' + ' -moz-user-select: none;\\n' + ' -ms-user-select: none;\\n' + ' user-select: none;\\n' + '}\\n';\n node.appendChild(style);\n }\n\n if (!HTMLElement.prototype.hasOwnProperty('inert')) {\n /** @type {!InertManager} */\n var inertManager = new InertManager(document);\n\n Object.defineProperty(HTMLElement.prototype, 'inert', {\n enumerable: true,\n /** @this {!HTMLElement} */\n get: function get() {\n return this.hasAttribute('inert');\n },\n /** @this {!HTMLElement} */\n set: function set(inert) {\n inertManager.setInert(this, inert);\n }\n });\n }\n})();\n","import { name as packageNameScoped } from '../../../../package.json';\n\nconst packageName = packageNameScoped.substring(packageNameScoped.indexOf('/')+1);\n\n/**\n * Execute setFocus method if it exists\n * on stzh-element with autofocus on pageload\n * when (child components are loaded)\n */\nexport function applyAutofocus() {\n window.addEventListener('appload', (event) => {\n const autofocus = document.querySelector('[autofocus]');\n\n if (autofocus\n && event.detail.namespace === packageName\n && autofocus.tagName.toLowerCase().indexOf('stzh-') === 0\n && 'setFocus' in autofocus\n ) {\n autofocus.setFocus();\n }\n });\n}\n","export function observeScrollbarWidth() {\n const config = {\n threshold: 1.0\n };\n\n const handleIntersect = (entries) => {\n entries.forEach(entry => {\n let scrollbarWidth = 0;\n\n if (entry.intersectionRatio < 1) {\n scrollbarWidth = window.innerWidth - document.body.clientWidth;\n }\n\n document.documentElement.style.setProperty('--stzh-scrollbar-width', scrollbarWidth + 'px');\n });\n };\n\n const bodyScrollObserver = new IntersectionObserver(handleIntersect, config);\n bodyScrollObserver.observe(document.body);\n}\n","\nexport function format(date, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.format(date, type);\n}\n\nexport function parse(string, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.parse(string, type);\n}\n\nexport function formatSpan(date, date2, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.formatSpan(date, date2, type);\n}\n\nexport function parseSpan(string, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.parseSpan(string, type);\n}\n\nexport function createFormatParseAdapter(formats, globals) {\n // format letters from https://www.php.net/manual/de/datetime.format.php\n const globalFormatter = function (format, date) {\n if (!date || !(date instanceof Date) || isNaN(date.getTime())) {\n return \"\";\n }\n\n let j = date.getDate().toString(10);\n let d = j;\n let n = (date.getMonth() + 1).toString(10);\n let m = n;\n let yC = date.getFullYear().toString(10);\n let gC = date.getHours().toString(10);\n let hC = gC;\n let i = date.getMinutes().toString(10);\n\n // full textual representation of a month\n let fC = globals.monthNames[date.getMonth()];\n // short textual representation of a month\n let mC = globals.monthNamesShort[date.getMonth()];\n // full textual representation of the day\n let l = globals.dayNames[date.getDay()];\n\n // months *are* zero-indexed, pad if less than 9!\n if (date.getMonth() < 9) {\n m = `0${m}`;\n }\n\n if (date.getDate() < 10) {\n d = `0${d}`;\n }\n\n if (date.getHours() < 10) {\n hC = `0${hC}`;\n }\n\n if (date.getMinutes() < 10) {\n i = `0${i}`;\n }\n\n return format\n .replace(/\\{j\\}/g, j)\n .replace(/\\{d\\}/g, d)\n .replace(/\\{l\\}/g, l)\n .replace(/\\{n\\}/g, n)\n .replace(/\\{m\\}/g, m)\n .replace(/\\{F\\}/g, fC)\n .replace(/\\{M\\}/g, mC)\n .replace(/\\{Y\\}/g, yC)\n .replace(/\\{H\\}/g, hC)\n .replace(/\\{G\\}/g, gC)\n .replace(/\\{i\\}/g, i);\n }\n\n const globalParser = function (parse, input) {\n if (!input) {\n return;\n }\n\n const regex = new RegExp(parse);\n const match = input.match(regex);\n\n if (match) {\n const { groups } = match;\n\n const year = parseInt(groups.Y || '', 10);\n const month = parseInt(groups.n || groups.m || '', 10);\n const day = parseInt(groups.j || groups.d || '', 10);\n const hours = parseInt(groups.G || groups.H || '', 10);\n const minutes = parseInt(groups.i || '', 10);\n\n if (!isNaN(year) && (year < 1000 || year > 9999)) {\n return;\n }\n\n if (!isNaN(month) && (month < 1 || month > 12)) {\n return;\n }\n\n // we check day later again (if month changed, it was out of range)\n if (!isNaN(day) && (day < 1 || day > 31)) {\n return;\n }\n\n if (!isNaN(hours) && (hours < 0 || hours > 23)) {\n return;\n }\n\n if (!isNaN(minutes) && (minutes < 0 || minutes > 59)) {\n return;\n }\n\n const date = new Date(\n !isNaN(year) ? year : null,\n !isNaN(month) ? month - 1 : null,\n !isNaN(day) ? day : null,\n !isNaN(hours) ? hours : null,\n !isNaN(minutes) ? minutes : null\n );\n\n // if day was out of possible range (1 - 28/29/30/31)\n // we find out by check if month has changed\n if (date.getMonth() + 1 !== month) {\n return;\n }\n\n return date;\n }\n }\n\n const globalAdapter = {\n format: function (date, type = \"datetime\") {\n const dateFormats = {\n ...formats[type],\n ...window.stzhComponents?.formats[type] || {}\n };\n\n if (typeof dateFormats.format === \"string\") {\n return globalFormatter(dateFormats.format, date);\n } else {\n return dateFormats.format(date);\n }\n },\n parse: function (input, type = \"datetime\") {\n const dateFormats = {\n ...formats[type],\n ...window.stzhComponents?.formats[type] || {}\n };\n\n if (typeof dateFormats.parse === \"string\") {\n return globalParser(dateFormats.parse, input);\n } else {\n return dateFormats.parse(input);\n }\n },\n formatSpan: function(date, date2, type = \"datetime\") {\n let formattedDate = date;\n let formattedDate2 = date2;\n\n if (date instanceof Date) {\n formattedDate = this.format(date, type);\n }\n\n if (date2 instanceof Date) {\n formattedDate2 = this.format(date2, type);\n }\n\n let range = globals.dateRange;\n\n if (type.startsWith('time')) {\n range = globals.timeRange;\n }\n\n return `${formattedDate}${range}${formattedDate2}`;\n },\n parseSpan: function(string, type) {\n let range = globals.dateRange;\n\n if (type.startsWith('time')) {\n range = globals.timeRange;\n }\n\n const dates = string.split(range);\n const date = this.parse(dates[0], type);\n const date2 = this.parse(dates[1], type);\n\n return [date, date2, range];\n }\n };\n\n return globalAdapter;\n}\n\nfunction getLocale(element) {\n const closestElement = element.closest(\"[lang]\");\n const locale = closestElement && closestElement.lang.split(\"-\")[0];\n\n if (window.stzhComponents.supportedLocales.indexOf(locale) === -1 || !locale) {\n return window.stzhComponents.defaultLocale;\n } else {\n return locale;\n }\n}\n\nexport async function fetchTranslations(host, component) {\n const locale = getLocale(host);\n const existingTranslations = JSON.parse(sessionStorage.getItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`));\n\n if (\n window.stzhComponents.cacheTranslations\n && window.stzhComponents.version.match(/-dev-snapshot/i) === null\n && existingTranslations\n && Object.keys(existingTranslations).length > 0\n ) {\n return {\n ...existingTranslations[component] || {},\n $globals: existingTranslations.$globals,\n $locale: existingTranslations.$code,\n $formats: existingTranslations.$formats\n };\n }\n\n try {\n const result = await fetch(\n `${window.stzhComponents.pathTranslations}/${locale}.json`\n );\n\n if (result.ok) {\n const data = await result.json();\n sessionStorage.setItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`, JSON.stringify(data));\n return {\n ...data[component] || {},\n $globals: data.$globals,\n $locale: data.$code,\n $formats: data.$formats\n };\n }\n\n } catch (exception) {\n console.error(`Error loading locale: ${locale}`, exception);\n }\n}\n","import \"wicg-inert\";\n\nimport { version } from '../../../package.json';\nimport { applyAutofocus } from './helpers/autofocus';\nimport { observeScrollbarWidth } from './helpers/scrollbar-width';\nimport * as utils from './helpers/utils';\n\nexport default function () {\n window.stzhComponents = {\n defaultLocale: 'de',\n labels: 'fixed',\n pathMedia: '/',\n pathTranslations: '/',\n cacheTranslations: true,\n formats: {},\n translations: null,\n ...window.stzhComponents || {},\n version,\n supportedLocales: ['de', 'en'],\n utils\n };\n\n if (window.stzhComponents.translations === null) {\n window.stzhComponents.translationsLoading = utils.fetchTranslations(document.documentElement).then((translations) => {\n window.stzhComponents.translations = translations;\n }).catch((reason) => {\n console.error(\"Translations couldn't load:\", reason)\n });\n }\n\n applyAutofocus();\n observeScrollbarWidth();\n}\n","import appGlobalScript from '/builds/OE-5041/desi/desi-code/stzh-components/src/global/js/script.js';\nexport const globalScripts = appGlobalScript;\n"],"mappings":"sxDAAA,IAAIA,EAAe,WAAc,SAASC,EAAiBC,EAAQC,GAAS,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CAAE,IAAIE,EAAaH,EAAMC,GAAIE,EAAWC,WAAaD,EAAWC,YAAc,MAAOD,EAAWE,aAAe,KAAM,GAAI,UAAWF,EAAYA,EAAWG,SAAW,KAAMC,OAAOC,eAAeT,EAAQI,EAAWM,IAAKN,E,CAAc,CAAG,OAAO,SAAUO,EAAaC,EAAYC,GAAe,GAAID,EAAYb,EAAiBY,EAAYG,UAAWF,GAAa,GAAIC,EAAad,EAAiBY,EAAaE,GAAc,OAAOF,CAAY,CAAG,CAA5hB,GAEnB,SAASI,EAAgBC,EAAUL,GAAe,KAAMK,aAAoBL,GAAc,CAAE,MAAM,IAAIM,UAAU,oC,CAAuC,EAOvJ,WAEE,UAAWC,SAAW,YAAa,CACjC,M,CAKF,IAAIC,EAAQC,MAAMN,UAAUK,MAM5B,IAAIE,EAAUC,QAAQR,UAAUO,SAAWC,QAAQR,UAAUS,kBAG7D,IAAIC,EAA2B,CAAC,UAAW,aAAc,wBAAyB,yBAA0B,2BAA4B,yBAA0B,UAAW,UAAW,SAAU,SAAU,QAAS,qBAAqBC,KAAK,KAmB/O,IAAIC,EAAY,WAKd,SAASA,EAAUC,EAAaC,GAC9Bb,EAAgBc,KAAMH,GAGtBG,KAAKC,cAAgBF,EAGrBC,KAAKE,aAAeJ,EAMpBE,KAAKG,cAAgB,IAAIC,IAGzB,GAAIJ,KAAKE,aAAaG,aAAa,eAAgB,CAEjDL,KAAKM,iBAAmBN,KAAKE,aAAaK,aAAa,c,KAClD,CACLP,KAAKM,iBAAmB,I,CAE1BN,KAAKE,aAAaM,aAAa,cAAe,QAG9CR,KAAKS,wBAAwBT,KAAKE,cAOlCF,KAAKU,UAAY,IAAIC,iBAAiBX,KAAKY,YAAYC,KAAKb,OAC5DA,KAAKU,UAAUI,QAAQd,KAAKE,aAAc,CAAEa,WAAY,KAAMC,UAAW,KAAMC,QAAS,MAC9F,CAQIhD,EAAa4B,EAAW,CAAC,CACvBhB,IAAK,aACLqC,MAAO,SAASC,IACdnB,KAAKU,UAAUU,aAEf,GAAIpB,KAAKE,aAAc,CACrB,GAAIF,KAAKM,mBAAqB,KAAM,CAClCN,KAAKE,aAAaM,aAAa,cAAeR,KAAKM,iB,KAC9C,CACLN,KAAKE,aAAamB,gBAAgB,c,EAItCrB,KAAKG,cAAcmB,SAAQ,SAAUC,GACnCvB,KAAKwB,cAAcD,EAAUE,KACvC,GAAWzB,MAQHA,KAAKU,UAA4B,KACjCV,KAAKE,aAA+B,KACpCF,KAAKG,cAAgC,KACrCH,KAAKC,cAAgC,IAC7C,GAMO,CACDpB,IAAK,0BAMLqC,MAAO,SAAST,EAAwBiB,GACtC,IAAIC,EAAS3B,KAEb4B,EAAiBF,GAAW,SAAUD,GACpC,OAAOE,EAAOE,WAAWJ,EACnC,IAEQ,IAAIK,EAAgBC,SAASD,cAE7B,IAAKC,SAASC,KAAKC,SAASP,GAAY,CAEtC,IAAID,EAAOC,EAEX,IAAIQ,EAAOC,UACX,MAAOV,EAAM,CACX,GAAIA,EAAKW,WAAaC,KAAKC,uBAAwB,CACjDJ,EAAiCT,EACjC,K,CAEFA,EAAOA,EAAKc,U,CAEd,GAAIL,EAAM,CACRJ,EAAgBI,EAAKJ,a,EAGzB,GAAIJ,EAAUO,SAASH,GAAgB,CACrCA,EAAcU,OAId,GAAIV,IAAkBC,SAASD,cAAe,CAC5CC,SAASC,KAAKS,O,EAG1B,GAMO,CACD5D,IAAK,aACLqC,MAAO,SAASW,EAAWJ,GACzB,GAAIA,EAAKW,WAAaC,KAAKK,aAAc,CACvC,M,CAEF,IAAIC,EAAqClB,EAIzC,GAAIkB,IAAY3C,KAAKE,cAAgByC,EAAQtC,aAAa,SAAU,CAClEL,KAAK4C,gBAAgBD,E,CAGvB,GAAInD,EAAQqD,KAAKF,EAAShD,IAA6BgD,EAAQtC,aAAa,YAAa,CACvFL,KAAK8C,YAAYH,E,CAE3B,GAOO,CACD9D,IAAK,cACLqC,MAAO,SAAS4B,EAAYrB,GAC1B,IAAIF,EAAYvB,KAAKC,cAAc8C,SAAStB,EAAMzB,MAClDA,KAAKG,cAAc6C,IAAIzB,EAC/B,GAOO,CACD1C,IAAK,gBACLqC,MAAO,SAASM,EAAcC,GAC5B,IAAIF,EAAYvB,KAAKC,cAAcgD,WAAWxB,EAAMzB,MACpD,GAAIuB,EAAW,CACbvB,KAAKG,cAAc,UAAUoB,E,CAEvC,GAOO,CACD1C,IAAK,mBACLqC,MAAO,SAASgC,EAAiBxB,GAC/B,IAAIyB,EAASnD,KAEb4B,EAAiBF,GAAW,SAAUD,GACpC,OAAO0B,EAAO3B,cAAcC,EACtC,GACA,GAOO,CACD5C,IAAK,kBACLqC,MAAO,SAAS0B,EAAgBnB,GAC9B,IAAI2B,EAAepD,KAAKC,cAAcoD,aAAa5B,GAInD,IAAK2B,EAAc,CACjBpD,KAAKC,cAAcqD,SAAS7B,EAAM,MAClC2B,EAAepD,KAAKC,cAAcoD,aAAa5B,E,CAGjD2B,EAAaG,aAAajC,SAAQ,SAAUkC,GAC1CxD,KAAK8C,YAAYU,EAAe/B,KAC1C,GAAWzB,KACX,GAQO,CACDnB,IAAK,cACLqC,MAAO,SAASN,EAAY6C,EAASC,GACnCD,EAAQnC,SAAQ,SAAUqC,GACxB,IAAIxF,EAAoCwF,EAAOxF,OAC/C,GAAIwF,EAAOC,OAAS,YAAa,CAE/BtE,EAAMuD,KAAKc,EAAOE,YAAYvC,SAAQ,SAAUG,GAC9CzB,KAAKS,wBAAwBgB,EAC3C,GAAezB,MAGHV,EAAMuD,KAAKc,EAAOG,cAAcxC,SAAQ,SAAUG,GAChDzB,KAAKkD,iBAAiBzB,EACpC,GAAezB,K,MACE,GAAI2D,EAAOC,OAAS,aAAc,CACvC,GAAID,EAAOI,gBAAkB,WAAY,CAEvC/D,KAAK8C,YAAY3E,E,MACZ,GAAIA,IAAW6B,KAAKE,cAAgByD,EAAOI,gBAAkB,SAAW5F,EAAOkC,aAAa,SAAU,CAG3GL,KAAK4C,gBAAgBzE,GACrB,IAAIiF,EAAepD,KAAKC,cAAcoD,aAAalF,GACnD6B,KAAKG,cAAcmB,SAAQ,SAAU0C,GACnC,GAAI7F,EAAO8D,SAAS+B,EAAYvC,MAAO,CACrC2B,EAAaN,YAAYkB,EAAYvC,K,CAEvD,G,EAGA,GAAWzB,KACX,GACO,CACDnB,IAAK,eACLoF,IAAK,SAASA,IACZ,OAAO,IAAI7D,IAAIJ,KAAKG,cAC5B,GAIO,CACDtB,IAAK,qBACLoF,IAAK,SAASA,IACZ,OAAOjE,KAAKM,mBAAqB,IACzC,GAIO,CACDzB,IAAK,kBACLqF,IAAK,SAASA,EAAIC,GAChBnE,KAAKM,iBAAmB6D,CAChC,EAIMF,IAAK,SAASA,IACZ,OAAOjE,KAAKM,gBACpB,KAGI,OAAOT,CACX,CAtRkB,GAwShB,IAAIuE,EAAY,WAKd,SAASA,EAAU3C,EAAM4C,GACvBnF,EAAgBc,KAAMoE,GAGtBpE,KAAKsE,MAAQ7C,EAGbzB,KAAKuE,qBAAuB,MAM5BvE,KAAKwE,YAAc,IAAIpE,IAAI,CAACiE,IAG5BrE,KAAKyE,eAAiB,KAGtBzE,KAAK0E,WAAa,MAGlB1E,KAAK2E,kBACX,CAQI1G,EAAamG,EAAW,CAAC,CACvBvF,IAAK,aACLqC,MAAO,SAASC,IACdnB,KAAK4E,oBAEL,GAAI5E,KAAKsE,OAAStE,KAAKsE,MAAMlC,WAAaC,KAAKK,aAAc,CAC3D,IAAIC,EAAqC3C,KAAKsE,MAC9C,GAAItE,KAAKyE,iBAAmB,KAAM,CAChC9B,EAAQnC,aAAa,WAAYR,KAAKyE,e,KACjC,CACL9B,EAAQtB,gBAAgB,W,CAI1B,GAAIrB,KAAKuE,qBAAsB,QACtB5B,EAAQF,K,EAKnBzC,KAAKsE,MAAwB,KAC7BtE,KAAKwE,YAA8B,KACnCxE,KAAK0E,WAAa,IAC1B,GAOO,CACD7F,IAAK,oBAMLqC,MAAO,SAAS0D,IACd,GAAI5E,KAAK6E,UAAW,CAClB,MAAM,IAAIC,MAAM,uC,CAE1B,GAIO,CACDjG,IAAK,mBAILqC,MAAO,SAASyD,IACd,GAAI3E,KAAKyB,KAAKW,WAAaC,KAAKK,aAAc,CAC5C,M,CAEF,IAAIC,EAAqC3C,KAAKyB,KAC9C,GAAIjC,EAAQqD,KAAKF,EAAShD,GAA2B,CACnD,GAAgCgD,EAAQoC,YAAc,GAAK/E,KAAKgF,iBAAkB,CAChF,M,CAGF,GAAIrC,EAAQtC,aAAa,YAAa,CACpCL,KAAKyE,eAA4C9B,EAAQoC,Q,CAE3DpC,EAAQnC,aAAa,WAAY,MACjC,GAAImC,EAAQP,WAAaC,KAAKK,aAAc,CAC1CC,EAAQF,MAAQ,WAAY,EAC5BzC,KAAKuE,qBAAuB,I,OAEzB,GAAI5B,EAAQtC,aAAa,YAAa,CAC3CL,KAAKyE,eAA4C9B,EAAQoC,SACzDpC,EAAQtB,gBAAgB,W,CAElC,GAOO,CACDxC,IAAK,eACLqC,MAAO,SAAS+D,EAAaZ,GAC3BrE,KAAK4E,oBACL5E,KAAKwE,YAAYxB,IAAIqB,EAC7B,GASO,CACDxF,IAAK,kBACLqC,MAAO,SAASgE,EAAgBb,GAC9BrE,KAAK4E,oBACL5E,KAAKwE,YAAY,UAAUH,GAC3B,GAAIrE,KAAKwE,YAAYW,OAAS,EAAG,CAC/BnF,KAAKmB,Y,CAEf,GACO,CACDtC,IAAK,YACLoF,IAAK,SAASA,IACZ,OAAiCjE,KAAe,UAExD,GACO,CACDnB,IAAK,mBACLoF,IAAK,SAASA,IACZ,OAAOjE,KAAKyE,iBAAmB,IACvC,GAIO,CACD5F,IAAK,OACLoF,IAAK,SAASA,IACZjE,KAAK4E,oBACL,OAAO5E,KAAKsE,KACpB,GAIO,CACDzF,IAAK,gBACLqF,IAAK,SAASA,EAAIa,GAChB/E,KAAK4E,oBACL5E,KAAKyE,eAAiBM,CAC9B,EAIMd,IAAK,SAASA,IACZjE,KAAK4E,oBACL,OAAO5E,KAAKyE,cACpB,KAGI,OAAOL,CACX,CAjLkB,GA8LhB,IAAIgB,EAAe,WAIjB,SAASA,EAAarD,GACpB7C,EAAgBc,KAAMoF,GAEtB,IAAKrD,EAAU,CACb,MAAM,IAAI+C,MAAM,oE,CAIlB9E,KAAKqF,UAAYtD,EAMjB/B,KAAKG,cAAgB,IAAImF,IAMzBtF,KAAKwE,YAAc,IAAIc,IAMvBtF,KAAKU,UAAY,IAAIC,iBAAiBX,KAAKuF,eAAe1E,KAAKb,OAG/DwF,EAAczD,EAAS0D,MAAQ1D,EAASC,MAAQD,EAAS2D,iBAGzD,GAAI3D,EAAS4D,aAAe,UAAW,CACrC5D,EAAS6D,iBAAiB,mBAAoB5F,KAAK6F,kBAAkBhF,KAAKb,M,KACrE,CACLA,KAAK6F,mB,CAEb,CASI5H,EAAamH,EAAc,CAAC,CAC1BvG,IAAK,WACLqC,MAAO,SAASoC,EAASpB,EAAM4D,GAC7B,GAAIA,EAAO,CACT,GAAI9F,KAAKwE,YAAYuB,IAAI7D,GAAO,CAE9B,M,CAGF,IAAImC,EAAY,IAAIxE,EAAUqC,EAAMlC,MACpCkC,EAAK1B,aAAa,QAAS,IAC3BR,KAAKwE,YAAYN,IAAIhC,EAAMmC,GAG3B,IAAKrE,KAAKqF,UAAUrD,KAAKC,SAASC,GAAO,CACvC,IAAI8D,EAAS9D,EAAKK,WAClB,MAAOyD,EAAQ,CACb,GAAIA,EAAO5D,WAAa,GAAI,CAC1BoD,EAAcQ,E,CAEhBA,EAASA,EAAOzD,U,OAGf,CACL,IAAKvC,KAAKwE,YAAYuB,IAAI7D,GAAO,CAE/B,M,CAGF,IAAI+D,EAAajG,KAAKwE,YAAYP,IAAI/B,GACtC+D,EAAW9E,aACXnB,KAAKwE,YAAY,UAAUtC,GAC3BA,EAAKb,gBAAgB,Q,CAE/B,GAQO,CACDxC,IAAK,eACLqC,MAAO,SAASmC,EAAaV,GAC3B,OAAO3C,KAAKwE,YAAYP,IAAItB,EACpC,GAWO,CACD9D,IAAK,WACLqC,MAAO,SAAS6B,EAAStB,EAAM4C,GAC7B,IAAI9C,EAAYvB,KAAKG,cAAc8D,IAAIxC,GACvC,GAAIF,IAAcY,UAAW,CAE3BZ,EAAU0D,aAAaZ,E,KAClB,CACL9C,EAAY,IAAI6C,EAAU3C,EAAM4C,E,CAGlCrE,KAAKG,cAAc+D,IAAIzC,EAAMF,GAE7B,OAAOA,CACf,GAYO,CACD1C,IAAK,aACLqC,MAAO,SAAS+B,EAAWxB,EAAM4C,GAC/B,IAAI9C,EAAYvB,KAAKG,cAAc8D,IAAIxC,GACvC,IAAKF,EAAW,CACd,OAAO,I,CAGTA,EAAU2D,gBAAgBb,GAC1B,GAAI9C,EAAUsD,UAAW,CACvB7E,KAAKG,cAAc,UAAUsB,E,CAG/B,OAAOF,CACf,GAMO,CACD1C,IAAK,oBACLqC,MAAO,SAAS2E,IAEd,IAAIK,EAAgB5G,EAAMuD,KAAK7C,KAAKqF,UAAUc,iBAAiB,YAC/DD,EAAc5E,SAAQ,SAAU8E,GAC9BpG,KAAKsD,SAAS8C,EAAc,KACtC,GAAWpG,MAGHA,KAAKU,UAAUI,QAAQd,KAAKqF,UAAUrD,MAAQhC,KAAKqF,UAAUK,gBAAiB,CAAE3E,WAAY,KAAME,QAAS,KAAMD,UAAW,MACpI,GAQO,CACDnC,IAAK,iBACLqC,MAAO,SAASqE,EAAe9B,EAASC,GACtC,IAAI2C,EAAQrG,KACZyD,EAAQnC,SAAQ,SAAUqC,GACxB,OAAQA,EAAOC,MACb,IAAK,YACHtE,EAAMuD,KAAKc,EAAOE,YAAYvC,SAAQ,SAAUG,GAC9C,GAAIA,EAAKW,WAAaC,KAAKK,aAAc,CACvC,M,CAEF,IAAIwD,EAAgB5G,EAAMuD,KAAKpB,EAAK0E,iBAAiB,YACrD,GAAI3G,EAAQqD,KAAKpB,EAAM,WAAY,CACjCyE,EAAcI,QAAQ7E,E,CAExByE,EAAc5E,SAAQ,SAAU8E,GAC9BpG,KAAKsD,SAAS8C,EAAc,KAC9C,GAAmBC,EACnB,GAAiBA,GACH,MACF,IAAK,aACH,GAAI1C,EAAOI,gBAAkB,QAAS,CACpC,M,CAEF,IAAI5F,EAAoCwF,EAAOxF,OAC/C,IAAI2H,EAAQ3H,EAAOkC,aAAa,SAChCgG,EAAM/C,SAASnF,EAAQ2H,GACvB,MAEd,GAAW9F,KACX,KAGI,OAAOoF,CACX,CA9MqB,GAyNnB,SAASxD,EAAiBH,EAAM8E,EAAUC,GACxC,GAAI/E,EAAKW,UAAYC,KAAKK,aAAc,CACtC,IAAIC,EAAqClB,EACzC,GAAI8E,EAAU,CACZA,EAAS5D,E,CAOX,IAAI8D,EAAwC9D,EAAQ8D,WACpD,GAAIA,EAAY,CACd7E,EAAiB6E,EAAYF,GAC7B,M,CAMF,GAAI5D,EAAQ+D,WAAa,UAAW,CAClC,IAAIC,EAA4ChE,EAEhD,IAAIiE,EAAmBD,EAAQE,oBAAsBF,EAAQE,sBAAwB,GACrF,IAAK,IAAIxI,EAAI,EAAGA,EAAIuI,EAAiBtI,OAAQD,IAAK,CAChDuD,EAAiBgF,EAAiBvI,GAAIkI,E,CAExC,M,CAMF,GAAI5D,EAAQ+D,WAAa,OAAQ,CAC/B,IAAII,EAAsCnE,EAE1C,IAAIoE,EAAoBD,EAAKE,cAAgBF,EAAKE,cAAc,CAAEC,QAAS,OAAU,GACrF,IAAK,IAAIC,EAAK,EAAGA,EAAKH,EAAkBzI,OAAQ4I,IAAM,CACpDtF,EAAiBmF,EAAkBG,GAAKX,E,CAE1C,M,EAMJ,IAAIY,EAAQ1F,EAAK2F,WACjB,MAAOD,GAAS,KAAM,CACpBvF,EAAiBuF,EAAOZ,GACxBY,EAAQA,EAAME,W,CAEpB,CAME,SAAS7B,EAAc/D,GACrB,GAAIA,EAAK6F,cAAc,uCAAwC,CAC7D,M,CAEF,IAAIC,EAAQxF,SAASyF,cAAc,SACnCD,EAAM/G,aAAa,KAAM,eACzB+G,EAAME,YAAc,KAAO,cAAgB,4BAA8B,uBAAyB,MAAQ,KAAO,yBAA2B,iCAAmC,8BAAgC,6BAA+B,yBAA2B,MACzQhG,EAAKiG,YAAYH,EACrB,CAEE,IAAKI,YAAY1I,UAAU2I,eAAe,SAAU,CAElD,IAAI7H,EAAe,IAAIqF,EAAarD,UAEpCpD,OAAOC,eAAe+I,YAAY1I,UAAW,QAAS,CACpDT,WAAY,KAEZyF,IAAK,SAASA,IACZ,OAAOjE,KAAKK,aAAa,QACjC,EAEM6D,IAAK,SAASA,EAAI4B,GAChB/F,EAAauD,SAAStD,KAAM8F,EACpC,G,CAGC,EAtzBD,G,4CCPA,IAAM+B,EAAcC,EAAkBC,UAAUD,EAAkBE,QAAQ,KAAK,GAOxE,SAASC,IACd5I,OAAOuG,iBAAiB,WAAW,SAACsC,GAClC,IAAMC,EAAYpG,SAASuF,cAAc,eAEzC,GAAIa,GACGD,EAAME,OAAOC,YAAcR,GAC3BM,EAAUG,QAAQC,cAAcP,QAAQ,WAAa,GACrD,aAAcG,EACnB,CACAA,EAAUK,U,CAEhB,GACA,CCrBO,SAASC,IACd,IAAMC,EAAS,CACbC,UAAW,GAGb,IAAMC,EAAkB,SAACC,GACvBA,EAAQvH,SAAQ,SAAAwH,GACd,IAAIC,EAAiB,EAErB,GAAID,EAAME,kBAAoB,EAAG,CAC/BD,EAAiB1J,OAAO4J,WAAalH,SAASC,KAAKkH,W,CAGrDnH,SAAS2D,gBAAgB6B,MAAM4B,YAAY,yBAA0BJ,EAAiB,KAC5F,GACA,EAEE,IAAMK,EAAqB,IAAIC,qBAAqBT,EAAiBF,GACrEU,EAAmBtI,QAAQiB,SAASC,KACtC,CClBO,SAASsH,EAAOC,EAAM3F,GAAA,GAAAA,SAAA,GAAAA,EAAA,UAAiB,CAC5C,IAAKvE,OAAOmK,eAAeC,aAAc,CACvCC,QAAQC,IAAI,8FACZ,M,CAGI,IAAAC,EAAyBvK,OAAOmK,eAAeC,aAA7CI,EAAQD,EAAAC,SAAEC,EAAQF,EAAAE,SAC1B,IAAMC,EAAUC,EAAyBH,EAAUC,GACnD,OAAOC,EAAQT,OAAOC,EAAM3F,EAC9B,CAEO,SAASqG,EAAMC,EAAQtG,GAAA,GAAAA,SAAA,GAAAA,EAAA,UAAiB,CAC7C,IAAKvE,OAAOmK,eAAeC,aAAc,CACvCC,QAAQC,IAAI,8FACZ,M,CAGI,IAAAC,EAAyBvK,OAAOmK,eAAeC,aAA7CI,EAAQD,EAAAC,SAAEC,EAAQF,EAAAE,SAC1B,IAAMC,EAAUC,EAAyBH,EAAUC,GACnD,OAAOC,EAAQE,MAAMC,EAAQtG,EAC/B,CAEO,SAASuG,EAAWZ,EAAMa,EAAOxG,GAAA,GAAAA,SAAA,GAAAA,EAAA,UAAiB,CACvD,IAAKvE,OAAOmK,eAAeC,aAAc,CACvCC,QAAQC,IAAI,8FACZ,M,CAGI,IAAAC,EAAyBvK,OAAOmK,eAAeC,aAA7CI,EAAQD,EAAAC,SAAEC,EAAQF,EAAAE,SAC1B,IAAMC,EAAUC,EAAyBH,EAAUC,GACnD,OAAOC,EAAQI,WAAWZ,EAAMa,EAAOxG,EACzC,CAEO,SAASyG,EAAUH,EAAQtG,GAAA,GAAAA,SAAA,GAAAA,EAAA,UAAiB,CACjD,IAAKvE,OAAOmK,eAAeC,aAAc,CACvCC,QAAQC,IAAI,8FACZ,M,CAGI,IAAAC,EAAyBvK,OAAOmK,eAAeC,aAA7CI,EAAQD,EAAAC,SAAEC,EAAQF,EAAAE,SAC1B,IAAMC,EAAUC,EAAyBH,EAAUC,GACnD,OAAOC,EAAQM,UAAUH,EAAQtG,EACnC,CAEO,SAASoG,EAAyBM,EAASC,GAEhD,IAAMC,EAAkB,SAAUlB,EAAQC,GACxC,IAAKA,KAAUA,aAAgBkB,OAASC,MAAMnB,EAAKoB,WAAY,CAC7D,MAAO,E,CAGT,IAAIC,EAAIrB,EAAKsB,UAAUC,SAAS,IAChC,IAAIC,EAAIH,EACR,IAAII,GAAKzB,EAAK0B,WAAa,GAAGH,SAAS,IACvC,IAAII,EAAIF,EACR,IAAIG,EAAK5B,EAAK6B,cAAcN,SAAS,IACrC,IAAIO,EAAK9B,EAAK+B,WAAWR,SAAS,IAClC,IAAIS,EAAKF,EACT,IAAIhN,EAAIkL,EAAKiC,aAAaV,SAAS,IAGnC,IAAIW,EAAKlB,EAAQmB,WAAWnC,EAAK0B,YAEjC,IAAIU,EAAKpB,EAAQqB,gBAAgBrC,EAAK0B,YAEtC,IAAIY,EAAItB,EAAQuB,SAASvC,EAAKwC,UAG9B,GAAIxC,EAAK0B,WAAa,EAAG,CACvBC,EAAI,IAAAc,OAAId,E,CAGV,GAAI3B,EAAKsB,UAAY,GAAI,CACvBE,EAAI,IAAAiB,OAAIjB,E,CAGV,GAAIxB,EAAK+B,WAAa,GAAI,CACxBC,EAAK,IAAAS,OAAIT,E,CAGX,GAAIhC,EAAKiC,aAAe,GAAI,CAC1BnN,EAAI,IAAA2N,OAAI3N,E,CAGV,OAAOiL,EACJ2C,QAAQ,SAAUrB,GAClBqB,QAAQ,SAAUlB,GAClBkB,QAAQ,SAAUJ,GAClBI,QAAQ,SAAUjB,GAClBiB,QAAQ,SAAUf,GAClBe,QAAQ,SAAUR,GAClBQ,QAAQ,SAAUN,GAClBM,QAAQ,SAAUd,GAClBc,QAAQ,SAAUV,GAClBU,QAAQ,SAAUZ,GAClBY,QAAQ,SAAU5N,EACzB,EAEE,IAAM6N,EAAe,SAAUjC,EAAOkC,GACpC,IAAKA,EAAO,CACV,M,CAGF,IAAMC,EAAQ,IAAIC,OAAOpC,GACzB,IAAMqC,EAAQH,EAAMG,MAAMF,GAE1B,GAAIE,EAAO,CACD,IAAAC,EAAWD,EAAKC,OAExB,IAAMC,EAAOC,SAASF,EAAOG,GAAK,GAAI,IACtC,IAAMC,EAAQF,SAASF,EAAOvB,GAAKuB,EAAOrB,GAAK,GAAI,IACnD,IAAM0B,EAAMH,SAASF,EAAO3B,GAAK2B,EAAOxB,GAAK,GAAI,IACjD,IAAM8B,EAAQJ,SAASF,EAAOO,GAAKP,EAAOQ,GAAK,GAAI,IACnD,IAAMC,EAAUP,SAASF,EAAOlO,GAAK,GAAI,IAEzC,IAAKqM,MAAM8B,KAAUA,EAAO,KAAQA,EAAO,MAAO,CAChD,M,CAGF,IAAK9B,MAAMiC,KAAWA,EAAQ,GAAKA,EAAQ,IAAK,CAC9C,M,CAIF,IAAKjC,MAAMkC,KAASA,EAAM,GAAKA,EAAM,IAAK,CACxC,M,CAGF,IAAKlC,MAAMmC,KAAWA,EAAQ,GAAKA,EAAQ,IAAK,CAC9C,M,CAGF,IAAKnC,MAAMsC,KAAaA,EAAU,GAAKA,EAAU,IAAK,CACpD,M,CAGF,IAAMzD,EAAO,IAAIkB,MACdC,MAAM8B,GAAQA,EAAO,MACrB9B,MAAMiC,GAASA,EAAQ,EAAI,MAC3BjC,MAAMkC,GAAOA,EAAM,MACnBlC,MAAMmC,GAASA,EAAQ,MACvBnC,MAAMsC,GAAWA,EAAU,MAK9B,GAAIzD,EAAK0B,WAAa,IAAM0B,EAAO,CACjC,M,CAGF,OAAOpD,C,CAEb,EAEE,IAAM0D,EAAgB,CACpB3D,OAAQ,SAAUC,EAAM3F,G,MAAA,GAAAA,SAAA,GAAAA,EAAA,UAAiB,CACvC,IAAMsJ,EAAWC,kBAAA,GACZ7C,EAAQ1G,MACRgG,EAAAvK,OAAOmK,kBAAc,MAAAI,SAAA,SAAAA,EAAEU,QAAQ1G,KAAS,IAG7C,UAAWsJ,EAAY5D,SAAW,SAAU,CAC1C,OAAOkB,EAAgB0C,EAAY5D,OAAQC,E,KACtC,CACL,OAAO2D,EAAY5D,OAAOC,E,CAElC,EACIU,MAAO,SAAUkC,EAAOvI,G,MAAA,GAAAA,SAAA,GAAAA,EAAA,UAAiB,CACvC,IAAMsJ,EAAWC,kBAAA,GACZ7C,EAAQ1G,MACRgG,EAAAvK,OAAOmK,kBAAc,MAAAI,SAAA,SAAAA,EAAEU,QAAQ1G,KAAS,IAG7C,UAAWsJ,EAAYjD,QAAU,SAAU,CACzC,OAAOiC,EAAagB,EAAYjD,MAAOkC,E,KAClC,CACL,OAAOe,EAAYjD,MAAMkC,E,CAEjC,EACIhC,WAAY,SAASZ,EAAMa,EAAOxG,GAAA,GAAAA,SAAA,GAAAA,EAAA,UAAiB,CACjD,IAAIwJ,EAAgB7D,EACpB,IAAI8D,EAAiBjD,EAErB,GAAIb,aAAgBkB,KAAM,CACxB2C,EAAgBpN,KAAKsJ,OAAOC,EAAM3F,E,CAGpC,GAAIwG,aAAiBK,KAAM,CACzB4C,EAAiBrN,KAAKsJ,OAAOc,EAAOxG,E,CAGtC,IAAI0J,EAAQ/C,EAAQgD,UAEpB,GAAI3J,EAAK4J,WAAW,QAAS,CAC3BF,EAAQ/C,EAAQkD,S,CAGlB,MAAO,GAAAzB,OAAGoB,GAAapB,OAAGsB,GAAKtB,OAAGqB,EACxC,EACIhD,UAAW,SAASH,EAAQtG,GAC1B,IAAI0J,EAAQ/C,EAAQgD,UAEpB,GAAI3J,EAAK4J,WAAW,QAAS,CAC3BF,EAAQ/C,EAAQkD,S,CAGlB,IAAMC,EAAQxD,EAAOyD,MAAML,GAC3B,IAAM/D,EAAOvJ,KAAKiK,MAAMyD,EAAM,GAAI9J,GAClC,IAAMwG,EAAQpK,KAAKiK,MAAMyD,EAAM,GAAI9J,GAEnC,MAAO,CAAC2F,EAAMa,EAAOkD,EAC3B,GAGE,OAAOL,CACT,CAEA,SAASW,EAAUjL,GACjB,IAAMkL,EAAiBlL,EAAQmL,QAAQ,UACvC,IAAMC,EAASF,GAAkBA,EAAeG,KAAKL,MAAM,KAAK,GAEhE,GAAItO,OAAOmK,eAAeyE,iBAAiBjG,QAAQ+F,MAAa,IAAMA,EAAQ,CAC5E,OAAO1O,OAAOmK,eAAe0E,a,KACxB,CACL,OAAOH,C,CAEX,CAEO,SAAeI,EAAkBC,EAAMC,G,0HACtCN,EAASH,EAAUQ,GACnBE,EAAuBC,KAAKtE,MAAMuE,eAAeC,QAAQ,mBAAAzC,OAAmB3M,OAAOmK,eAAekF,QAAO,UAAA1C,OAAS+B,KAExH,GACE1O,OAAOmK,eAAemF,mBACnBtP,OAAOmK,eAAekF,QAAQpC,MAAM,oBAAsB,MAC1DgC,GACA3P,OAAOiQ,KAAKN,GAAsBhQ,OAAS,EAC9C,CACA,SAAA6O,kBAAA,GACKmB,EAAqBD,IAAc,IAAE,CACxCvE,SAAUwE,EAAqBxE,SAC/B+E,QAASP,EAAqBQ,MAC9BjF,SAAUyE,EAAqBzE,W,wCAKlB,SAAMkF,MACnB,GAAA/C,OAAG3M,OAAOmK,eAAewF,iBAAgB,KAAAhD,OAAI+B,EAAM,W,OAD/CkB,EAASrF,EAAAsF,O,IAIXD,EAAOE,GAAP,YACW,SAAMF,EAAOG,Q,OAApBC,EAAOzF,EAAAsF,OACbV,eAAec,QAAQ,mBAAAtD,OAAmB3M,OAAOmK,eAAekF,QAAO,UAAA1C,OAAS+B,GAAUQ,KAAKgB,UAAUF,IACzG,SAAAlC,kBAAA,GACKkC,EAAKhB,IAAc,IAAE,CACxBvE,SAAUuF,EAAKvF,SACf+E,QAASQ,EAAKP,MACdjF,SAAUwF,EAAKxF,Y,qCAKnBH,QAAQ8F,MAAM,yBAAAxD,OAAyB+B,GAAU0B,G,mKCnQtC,SAAAC,IACfrQ,OAAAmK,eAAA7K,OAAAgR,OAAAhR,OAAAgR,OAAA,CAAAzB,cAAA,KAAA0B,OAAA,QAAAC,UAAA,IAAAb,iBAAA,IAAAL,kBAAA,KAAArE,QAAA,GAAAb,aAAA,MAAApK,OAAAmK,gBAAA,KAAAkF,UAAAT,iBAAA,YAAA6B,UACE,GAAIzQ,OAAOmK,eAAeC,eAAA,MACxBpK,OAAOmK,eAAeuG,oBAAA5B,EAAApM,SAAA2D,iBAAAsK,MAAA,SAAAvG,GACpBpK,OAAOmK,eAAAC,cACb,IAAOwG,OAAM,SAACC,GACRxG,QAAQ8F,MAAK,8BAAAU,EACnB,G,CAEEjI,IACAQ,GACF,CCfY,IAAC0H,EAAaC,EAAA,IAAGV,E"}
@@ -1,2 +0,0 @@
1
- System.register(["./p-290fcb28.system.js","./p-f9cb0fcd.system.js","./p-774595ba.system.js"],(function(t){"use strict";var i,s,e,o,c,n,r;return{setters:[function(t){i=t.r;s=t.c;e=t.h;o=t.a;c=t.g},function(t){n=t.a;r=t.o},function(){}],execute:function(){var h='.sc-stzh-sticky-h{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:var(--stzh-font-style-regular);color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block}[hidden].sc-stzh-sticky-h{display:none}.sc-stzh-sticky-h *.sc-stzh-sticky,.sc-stzh-sticky-h *.sc-stzh-sticky::before,.sc-stzh-sticky-h *.sc-stzh-sticky::after{-webkit-box-sizing:border-box;box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness)}.sc-stzh-sticky-h .has-focus.sc-stzh-sticky{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.3125rem}.sc-stzh-sticky-h .stzh-fylingfocus-focused.sc-stzh-sticky{outline-style:none !important}.sc-stzh-sticky-h .stzh-fylingfocus-focused.sc-stzh-sticky::-moz-focus-inner{border:0 !important}.sc-stzh-sticky-h{--padding:var(--stzh-space-large) 0;display:contents}@media print{.sc-stzh-sticky-h{display:none}}.stzh-sticky.sc-stzh-sticky{display:contents}.stzh-sticky__sticky.sc-stzh-sticky{position:-webkit-sticky;position:sticky;top:-0.0625rem;bottom:-0.0625rem;z-index:var(--stzh-z-index-sticky)}.stzh-sticky__content.sc-stzh-sticky{position:relative;padding:var(--padding)}.stzh-sticky__content.sc-stzh-sticky::before,.stzh-sticky__content.sc-stzh-sticky::after{content:"";pointer-events:none;display:block;position:absolute;left:0;width:100%;height:var(--stzh-space-xxlarge);opacity:0;-webkit-transition:opacity var(--stzh-base-transition-animation-speed);transition:opacity var(--stzh-base-transition-animation-speed)}.stzh-sticky__content.sc-stzh-sticky::before{background:-webkit-gradient(linear, left bottom, left top, from(#FFFFFF), to(rgba(255, 255, 255, 0)));background:linear-gradient(0deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);top:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}.stzh-sticky__content.sc-stzh-sticky::after{background:-webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 0)), to(#FFFFFF));background:linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);bottom:0;-webkit-transform:translateY(100%);transform:translateY(100%)}.stzh-sticky__spacer.sc-stzh-sticky{display:none}.stzh-sticky--is-disabled-sticky-top.sc-stzh-sticky .stzh-sticky__sticky.sc-stzh-sticky{top:auto}.stzh-sticky--is-disabled-sticky-bottom.sc-stzh-sticky .stzh-sticky__sticky.sc-stzh-sticky{bottom:auto}.stzh-sticky--is-stuck.sc-stzh-sticky .stzh-sticky__content.sc-stzh-sticky{background-color:var(--stzh-color-white)}.stzh-sticky--is-stuck-bottom.sc-stzh-sticky .stzh-sticky__content.sc-stzh-sticky::before{opacity:1}.stzh-sticky--is-stuck-top.sc-stzh-sticky .stzh-sticky__content.sc-stzh-sticky::after{opacity:1}.stzh-sticky--is-breakout.sc-stzh-sticky .stzh-sticky__content.sc-stzh-sticky{position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw;max-width:100vw}';var a=t("stzh_sticky",function(){function t(t){var e=this;i(this,t);this.stzhStuckTop=s(this,"stzhStuckTop",7);this.stzhStuckBottom=s(this,"stzhStuckBottom",7);this.fixedHeight=0;this.fixedWidth=0;this.fixedLimit=null;this.handleScroll=function(){if(e.debounceScroll){window.cancelAnimationFrame(e.debounceScroll)}e.debounceScroll=requestAnimationFrame(e.updateFixedByScroll)};this.handleResize=function(){if(e.debounceResize){window.cancelAnimationFrame(e.debounceResize)}e.debounceResize=requestAnimationFrame(e.updateFixedByResize)};this.updateFixedByScroll=function(){if(!n(e.stickyElement)){return}e.scrollX=window.scrollX;e.scrollY=window.scrollY;e.fixedLimit=e.getFixedLimit();if(e.isStuckTop||e.isStuckBottom){var t=r(e.spacerElement);e.fixedTop=t.top;e.fixedLeft=t.left}else{var t=r(e.stickyElement);e.fixedTop=t.top;e.fixedLeft=t.left}e.isStuckBottom=!e.disableStickyBottom&&e.scrollY+e.windowHeight<=e.fixedTop+e.fixedHeight;e.isStuckTop=!e.disableStickyTop&&e.scrollY>=e.fixedTop;e.hasReachedTopLimit=e.fixedLimit&&e.scrollY+e.windowHeight-e.fixedHeight<=e.fixedLimit.top;e.hasReachedBottomLimit=e.fixedLimit&&e.scrollY>=e.fixedLimit.bottom-e.fixedHeight;if(e.isStuckTop||e.isStuckBottom){e.setFixed()}else{e.setUnfixed()}};this.updateFixedByResize=function(){e.setUnfixed();e.stickyElement.style.position="static";e.isStuckTop=false;e.isStuckBottom=false;if(n(e.stickyElement)){e.windowHeight=window.innerHeight;e.fixedHeight=e.stickyElement.offsetHeight;e.fixedWidth=e.stickyElement.offsetWidth;e.spacerElement.style.height="".concat(e.fixedHeight,"px");e.updateFixedByScroll()}};this.observe=function(){e.updateStuck()};this.disableStickyTop=false;this.disableStickyBottom=false;this.breakout=false;this.position="sticky";this.isStuckTop=false;this.isStuckBottom=false;this.hasReachedTopLimit=false;this.hasReachedBottomLimit=false}t.prototype.disableStickyWatcher=function(){var t=this;requestAnimationFrame((function(){requestAnimationFrame((function(){if(t.position==="fixed"){t.updateFixedByResize()}else{t.updateStuck()}}))}))};t.prototype.isStuckTopWatcher=function(t){this.stzhStuckTop.emit({component:"stzh-sticky",sticky:t})};t.prototype.isStuckBottomWatcher=function(t){this.stzhStuckBottom.emit({component:"stzh-sticky",sticky:t})};t.prototype.positionWatcher=function(t){if(t==="fixed"){if(this.observer){this.observer.disconnect()}window.addEventListener("scroll",this.handleScroll,{passive:true});window.addEventListener("resize",this.handleResize);this.updateFixedByResize()}else{window.removeEventListener("scroll",this.handleScroll);window.removeEventListener("resize",this.handleResize);this.setUnfixed();this.observer=new IntersectionObserver(this.observe,{threshold:[1]});this.observer.observe(this.stickyElement);this.updateStuck()}};t.prototype.updateStuck=function(){var t=parseInt(getComputedStyle(this.stickyElement).top,10);var i=parseInt(getComputedStyle(this.stickyElement).bottom,10);var s=this.stickyElement.getBoundingClientRect();if(t){this.isStuckTop=s.top<0}else{this.isStuckTop=false}if(i){this.isStuckBottom=document.documentElement.clientHeight<s.bottom}else{this.isStuckBottom=false}};t.prototype.getFixedLimit=function(){var t=this.element.closest("[data-stzh-sticky-container]");if(!t){return null}var i=r(t);return{top:i.top,bottom:i.top+t.scrollHeight}};t.prototype.setUnfixed=function(){Object.assign(this.stickyElement.style,{position:null,top:null,bottom:null,left:null,width:null});Object.assign(this.spacerElement.style,{display:"none"})};t.prototype.setFixed=function(){var t=this.hasReachedTopLimit||this.hasReachedBottomLimit?"absolute":"fixed";Object.assign(this.stickyElement.style,{position:t,top:t==="absolute"?"".concat(this.isStuckTop?this.fixedLimit.bottom-this.fixedHeight:this.fixedLimit.top,"px"):this.isStuckTop?"0px":"auto",bottom:this.isStuckTop||t==="absolute"?"auto":"0px",left:"".concat(this.fixedLeft+(t==="fixed"?this.scrollX:0),"px"),width:"".concat(this.fixedWidth,"px")});Object.assign(this.spacerElement.style,{display:"block"})};t.prototype.componentDidLoad=function(){this.positionWatcher(this.position)};t.prototype.disconnectedCallback=function(){if(this.observer){this.observer.disconnect()}window.removeEventListener("scroll",this.handleScroll);window.removeEventListener("resize",this.handleResize)};t.prototype.render=function(){var t;var i=this;var s=this.isStuckTop||this.isStuckBottom;var c=(t={"stzh-sticky":true,"stzh-sticky--is-stuck":s,"stzh-sticky--is-stuck-top":this.isStuckTop,"stzh-sticky--is-stuck-bottom":this.isStuckBottom,"stzh-sticky--is-breakout":this.breakout,"stzh-sticky--is-disabled-sticky-top":this.disableStickyTop,"stzh-sticky--is-disabled-sticky-bottom":this.disableStickyBottom},t["stzh-sticky--position-".concat(this.position)]=!!this.position,t);return e(o,{"is-stuck":this.isStuckTop||this.isStuckBottom,"is-stuck-top":this.isStuckTop,"is-stuck-bottom":this.isStuckBottom},e("div",{class:c},e("div",{ref:function(t){return i.spacerElement=t},class:"stzh-sticky__spacer"}),e("div",{ref:function(t){return i.stickyElement=t},class:"stzh-sticky__sticky"},e("div",{class:"stzh-sticky__content"},e("slot",null)))))};Object.defineProperty(t.prototype,"element",{get:function(){return c(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{disableStickyTop:["disableStickyWatcher"],disableStickyBottom:["disableStickyWatcher"],isStuckTop:["isStuckTopWatcher"],isStuckBottom:["isStuckBottomWatcher"],position:["positionWatcher"]}},enumerable:false,configurable:true});return t}());a.style=h}}}));
2
- //# sourceMappingURL=p-1095d872.system.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stzhStickyCss","StzhSticky","exports","this","fixedHeight","fixedWidth","fixedLimit","handleScroll","_this","debounceScroll","window","cancelAnimationFrame","requestAnimationFrame","updateFixedByScroll","handleResize","debounceResize","updateFixedByResize","isVisible","stickyElement","scrollX","scrollY","getFixedLimit","isStuckTop","isStuckBottom","off","offset","spacerElement","fixedTop","top","fixedLeft","left","disableStickyBottom","windowHeight","disableStickyTop","hasReachedTopLimit","hasReachedBottomLimit","bottom","setFixed","setUnfixed","style","position","innerHeight","offsetHeight","offsetWidth","height","concat","observe","updateStuck","class_1","prototype","disableStickyWatcher","isStuckTopWatcher","newValue","stzhStuckTop","emit","component","sticky","isStuckBottomWatcher","stzhStuckBottom","positionWatcher","observer","disconnect","addEventListener","passive","removeEventListener","IntersectionObserver","threshold","topCss","parseInt","getComputedStyle","bottomCss","rect","getBoundingClientRect","document","documentElement","clientHeight","stickyContainer","element","closest","scrollHeight","Object","assign","width","display","componentDidLoad","disconnectedCallback","render","isStuck","classes","_a","breakout","h","Host","class","ref","el"],"sources":["src/components/stzh-sticky/stzh-sticky.scss?tag=stzh-sticky&encapsulation=scoped","src/components/stzh-sticky/stzh-sticky.tsx"],"sourcesContent":["/**\n * @prop --padding: Padding of sticky element\n */\n\n:host {\n --padding: #{space('large')} 0;\n\n display: contents;\n\n @media print {\n display: none;\n }\n}\n\n.stzh-sticky {\n display: contents;\n\n &__sticky {\n position: sticky;\n top: -1px;\n bottom: -1px;\n z-index: $zIndexSticky;\n }\n\n &__content {\n position: relative;\n padding: var(--padding);\n\n &::before,\n &::after {\n content: '';\n pointer-events: none;\n display: block;\n position: absolute;\n left: 0;\n width: 100%;\n height: space('xxlarge');\n opacity: 0;\n transition: opacity $baseTransitionAnimationSpeed;\n }\n\n &::before {\n background: linear-gradient(0deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);\n top: 0;\n transform: translateY(-100%);\n }\n\n &::after {\n background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);\n bottom: 0;\n transform: translateY(100%);\n }\n }\n\n &__spacer {\n display: none;\n }\n\n &--is-disabled-sticky-top &__sticky {\n top: auto;\n }\n\n &--is-disabled-sticky-bottom &__sticky {\n bottom: auto;\n }\n\n &--is-stuck &__content {\n background-color: $colorWhite;\n }\n\n &--is-stuck-bottom &__content {\n &::before {\n opacity: 1;\n }\n }\n\n &--is-stuck-top &__content {\n &::after {\n opacity: 1;\n }\n }\n\n /* Position sticky variant */\n\n &--is-breakout &__content {\n position: relative;\n left: 50%;\n right: 50%;\n margin-left: -50vw;\n margin-right: -50vw;\n width: 100vw;\n max-width: 100vw;\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n State,\n Watch,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n\nimport {\n StzhStickyStuckTopEvent,\n StzhStickyStuckBottomEvent\n} from \"../../index\";\n\nimport { isVisible, offset } from \"../../utils/utils\";\n\n/**\n *\n */\n@Component({\n tag: \"stzh-sticky\",\n styleUrl: \"stzh-sticky.scss\",\n scoped: true\n})\nexport class StzhSticky {\n /** Whether to disable sticking to top */\n @Prop({ reflect: true }) disableStickyTop: boolean = false;\n\n /** Whether to disable sticking to bottom */\n @Prop({ reflect: true }) disableStickyBottom: boolean = false;\n\n /** Whether to breakout container */\n @Prop({ reflect: true }) breakout: boolean = false;\n\n /**\n * Position type used.\n *\n * - sticky: used only css position sticky\n * - fixed: uses position fixed with js for positioning (`data-stzh-sticky-container` can be used on a container element to limit sticky position)\n */\n @Prop({ reflect: true }) position: \"sticky\" | \"fixed\" = \"sticky\";\n\n @Watch(\"disableStickyTop\")\n @Watch(\"disableStickyBottom\")\n disableStickyWatcher() {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (this.position === \"fixed\") {\n this.updateFixedByResize();\n } else {\n this.updateStuck();\n }\n });\n });\n }\n\n @Element() element: HTMLStzhStickyElement;\n\n @State() isStuckTop: boolean = false;\n @State() isStuckBottom: boolean = false;\n\n @State() hasReachedTopLimit: boolean = false;\n @State() hasReachedBottomLimit: boolean = false;\n\n @Watch(\"isStuckTop\")\n isStuckTopWatcher(newValue: boolean) {\n this.stzhStuckTop.emit({\n component: \"stzh-sticky\",\n sticky: newValue\n });\n }\n\n @Watch(\"isStuckBottom\")\n isStuckBottomWatcher(newValue: boolean) {\n this.stzhStuckBottom.emit({\n component: \"stzh-sticky\",\n sticky: newValue\n });\n }\n\n @Watch(\"position\")\n positionWatcher(newValue: string) {\n if (newValue === \"fixed\") {\n if (this.observer) {\n this.observer.disconnect();\n }\n\n window.addEventListener(\"scroll\", this.handleScroll, { passive: true });\n window.addEventListener(\"resize\", this.handleResize);\n\n this.updateFixedByResize();\n } else {\n window.removeEventListener(\"scroll\", this.handleScroll);\n window.removeEventListener(\"resize\", this.handleResize);\n this.setUnfixed();\n\n this.observer = new IntersectionObserver(this.observe, { threshold: [1] });\n this.observer.observe(this.stickyElement);\n\n this.updateStuck();\n }\n }\n\n /** Sticky stuck top event */\n @Event() stzhStuckTop: EventEmitter<StzhStickyStuckTopEvent>;\n\n /** Sticky stuck bottom event */\n @Event() stzhStuckBottom: EventEmitter<StzhStickyStuckBottomEvent>;\n\n private observer: IntersectionObserver;\n private debounceScroll: number;\n private debounceResize: number;\n private stickyElement: HTMLElement;\n private spacerElement: HTMLElement;\n\n private windowHeight: number;\n private scrollX: number;\n private scrollY: number;\n private fixedTop: number;\n private fixedLeft: number;\n private fixedHeight: number = 0;\n private fixedWidth: number = 0;\n private fixedLimit: { top: number, bottom: number } | null = null;\n\n private updateStuck() {\n const topCss = parseInt(getComputedStyle(this.stickyElement).top, 10);\n const bottomCss = parseInt(getComputedStyle(this.stickyElement).bottom, 10);\n const rect = this.stickyElement.getBoundingClientRect();\n\n if (topCss) {\n this.isStuckTop = rect.top < 0;\n } else {\n this.isStuckTop = false;\n }\n\n if (bottomCss) {\n this.isStuckBottom = document.documentElement.clientHeight < rect.bottom;\n } else {\n this.isStuckBottom = false;\n }\n }\n\n private getFixedLimit(): { top: number, bottom: number } | null {\n const stickyContainer = this.element.closest(\"[data-stzh-sticky-container]\");\n\n if (!stickyContainer) {\n return null;\n }\n\n const off = offset(stickyContainer);\n\n return {\n top: off.top,\n bottom: off.top + stickyContainer.scrollHeight,\n };\n }\n\n private setUnfixed() {\n Object.assign(this.stickyElement.style, {\n position: null,\n top: null,\n bottom: null,\n left: null,\n width: null,\n });\n\n Object.assign(this.spacerElement.style, {\n display: \"none\",\n });\n }\n\n private setFixed() {\n const position = (this.hasReachedTopLimit || this.hasReachedBottomLimit)\n ? \"absolute\"\n : \"fixed\";\n\n Object.assign(this.stickyElement.style, {\n position,\n top: position === \"absolute\"\n ? `${this.isStuckTop ? this.fixedLimit.bottom - this.fixedHeight : this.fixedLimit.top}px`\n : this.isStuckTop ? \"0px\" : \"auto\",\n bottom: this.isStuckTop || position === \"absolute\"\n ? \"auto\" : \"0px\",\n left: `${this.fixedLeft + (position === \"fixed\" ? this.scrollX : 0)}px`,\n width: `${this.fixedWidth}px`,\n });\n\n Object.assign(this.spacerElement.style, {\n display: \"block\",\n });\n }\n\n private handleScroll = () => {\n if (this.debounceScroll) {\n window.cancelAnimationFrame(this.debounceScroll);\n }\n\n this.debounceScroll = requestAnimationFrame(this.updateFixedByScroll);\n }\n\n private handleResize = () => {\n if (this.debounceResize) {\n window.cancelAnimationFrame(this.debounceResize);\n }\n\n this.debounceResize = requestAnimationFrame(this.updateFixedByResize);\n }\n\n private updateFixedByScroll = () => {\n if (!isVisible(this.stickyElement)) {\n return;\n }\n\n this.scrollX = window.scrollX;\n this.scrollY = window.scrollY;\n this.fixedLimit = this.getFixedLimit();\n\n if (this.isStuckTop || this.isStuckBottom) {\n const off = offset(this.spacerElement);\n\n this.fixedTop = off.top;\n this.fixedLeft = off.left;\n } else {\n const off = offset(this.stickyElement);\n\n this.fixedTop = off.top;\n this.fixedLeft = off.left;\n }\n\n // console.log(\n // this.scrollX,\n // this.scrollY,\n // this.windowHeight, \n // this.fixedTop,\n // this.fixedLeft,\n // this.fixedHeight,\n // this.fixedLimit,\n // );\n\n this.isStuckBottom = !this.disableStickyBottom\n && this.scrollY + this.windowHeight <= this.fixedTop + this.fixedHeight;\n this.isStuckTop = !this.disableStickyTop\n && this.scrollY >= this.fixedTop;\n\n this.hasReachedTopLimit = this.fixedLimit \n && this.scrollY + this.windowHeight - this.fixedHeight <= this.fixedLimit.top;\n this.hasReachedBottomLimit = this.fixedLimit \n && this.scrollY >= this.fixedLimit.bottom - this.fixedHeight;\n\n // console.log(\n // this.isStuckBottom,\n // this.isStuckTop,\n // this.hasReachedBottomLimit,\n // this.hasReachedTopLimit,\n // );\n\n if (this.isStuckTop || this.isStuckBottom) {\n this.setFixed();\n } else {\n this.setUnfixed();\n }\n }\n\n private updateFixedByResize = () => {\n // reset sticky so we can read current offsets\n this.setUnfixed();\n this.stickyElement.style.position = \"static\";\n this.isStuckTop = false;\n this.isStuckBottom = false;\n\n if (isVisible(this.stickyElement)) {\n this.windowHeight = window.innerHeight;\n this.fixedHeight = this.stickyElement.offsetHeight; \n this.fixedWidth = this.stickyElement.offsetWidth;\n this.spacerElement.style.height = `${this.fixedHeight}px`;\n\n this.updateFixedByScroll();\n }\n }\n\n private observe = () => {\n this.updateStuck();\n };\n\n componentDidLoad() {\n this.positionWatcher(this.position);\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n\n window.removeEventListener(\"scroll\", this.handleScroll);\n window.removeEventListener(\"resize\", this.handleResize);\n }\n\n render() {\n const isStuck = this.isStuckTop || this.isStuckBottom;\n\n const classes = {\n \"stzh-sticky\": true,\n \"stzh-sticky--is-stuck\": isStuck,\n \"stzh-sticky--is-stuck-top\": this.isStuckTop,\n \"stzh-sticky--is-stuck-bottom\": this.isStuckBottom,\n \"stzh-sticky--is-breakout\": this.breakout,\n \"stzh-sticky--is-disabled-sticky-top\": this.disableStickyTop,\n \"stzh-sticky--is-disabled-sticky-bottom\": this.disableStickyBottom,\n [`stzh-sticky--position-${this.position}`]: !!this.position,\n };\n\n return (\n <Host\n is-stuck={this.isStuckTop || this.isStuckBottom}\n is-stuck-top={this.isStuckTop}\n is-stuck-bottom={this.isStuckBottom}\n >\n <div class={classes}>\n <div\n ref={(el) => (this.spacerElement = el as HTMLDivElement)}\n class=\"stzh-sticky__spacer\"\n ></div>\n <div\n ref={(el) => (this.stickyElement = el as HTMLDivElement)}\n class=\"stzh-sticky__sticky\"\n >\n <div class=\"stzh-sticky__content\">\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stzhVbzMajortickerCss","StzhVbzMajorticker","this","disturbance","onGhettoboxOpen","ghettoboxShown","onGhettoboxClose","getGhettoboxShown","getDisturbance","apiWatcher","newValue","apiUrl","api","replace","localization","$locale","includes","Date","now","data","axios","get","dataWatcher","_data","JSON","parse","bigDisturbance","_b","_a","Message","find","message","category","VBZ","DISTURBANCE_INFORMATION","baseType","BASE_TYPE_GLOBAL","urls","channel","filter","name","CHANNEL_TICKER","url","map","reduce","a","b","concat","infoUrl","indexOf","CHANNEL_INFO_URL_FILTER","id","head","text","createParagraphsFromBrs","startDate","sDate","sTime","endDate","eDate","eTime","altStart","altEnd","stzhDisturbanceFetched","emit","component","componentWillLoad","window","stzhComponents","utils","fetchTranslations","element","dateAdapter","createFormatParseAdapter","$formats","$globals","render","classes","h","Host","hidden","class","onStzhOpen","onStzhClose","hideClose","closeTimeKey","ghettoboxCloseTimeKey","mainTitle","publishDate","innerHTML","slot","href","target","moreInfoLink","moreInfo"],"sources":["src/components/stzh-vbz-majorticker/stzh-vbz-majorticker.scss?tag=stzh-vbz-majorticker&encapsulation=scoped","src/components/stzh-vbz-majorticker/stzh-vbz-majorticker.tsx"],"sourcesContent":[":host {\n}\n\n.stzh-vbz-majorticker {\n &__ghettobox {\n // --stzh-base-invert-color: #{$colorBlack};\n // --stzh-base-invert-color72: #{$colorBlack72};\n // --stzh-base-invert-color32: #{$colorBlack32};\n // --stzh-base-invert-color16: #{$colorBlack16};\n\n --stzh-base-invert-color-rgb: #{$colorBlackRgb};\n --color: #{$colorBlack};\n --background-color: #{$colorCoral};\n }\n}\n","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"],"mappings":"6KAAA,MAAMA,EAAwB,0rC,MCkCjBC,EAAkB,M,wFAiGrBC,KAAAC,YAA6C,KAE7CD,KAAAE,gBAAkB,KACxBF,KAAKG,eAAiB,IAAI,EAGpBH,KAAAI,iBAAmB,KACzBJ,KAAKG,eAAiB,KAAK,E,SAtGP,+I,UAGF,G,kBAIW,yD,gHAgBI,I,CASnC,uBAAME,GACJ,OAAOL,KAAKG,c,CAKd,oBAAMG,GACJ,OAAON,KAAKC,W,CAId,gBAAMM,CAAWC,GACf,IAAKA,EAAU,CACb,M,CAGF,IAAIC,EAAST,KAAKU,IAAIC,QAAQ,WAAYX,KAAKY,aAAaC,SAC5DJ,EAASA,GAAUA,EAAOK,SAAS,KAAO,IAAM,KAAOC,KAAKC,MAG5D,MAAMC,KAAEA,SAAeC,EAAMC,IAAIV,GAEjCT,KAAKiB,KAAOA,C,CAId,iBAAMG,CAAYZ,G,QAChB,UAAWA,IAAa,SAAU,CAChCR,KAAKqB,MAAQC,KAAKC,MAAMf,E,KACnB,CACLR,KAAKqB,MAAQb,C,CAGf,MAAMgB,GAAiBC,GAAAC,EAAA1B,KAAKqB,SAAK,MAAAK,SAAA,SAAAA,EAAEC,WAAO,MAAAF,SAAA,SAAAA,EACtCG,MAAKC,GAAWA,EAAQC,WAAaC,EAAIC,yBAA2BH,EAAQI,WAAaF,EAAIG,mBAEjG,GAAIV,EAAgB,CAClB,MAAMW,EAA2BX,EAAeY,QAC7CC,QAAOD,GAAWA,EAAQE,OAASP,EAAIQ,gBAAkBH,EAAQI,MACjEC,KAAIL,GAAWA,EAAQI,MACvBE,QAAO,CAACC,EAAGC,IAAMD,EAAEE,OAAOD,IAAI,IAEjC,MAAME,EAAUX,EACbP,MAAKY,GAAOA,EAAIA,IAAIO,QAAQhB,EAAIiB,4BAA8B,IAEjEhD,KAAKC,YAAc,CACjBgD,GAAIzB,EAAeyB,GACnBC,KAAM1B,EAAe0B,KACrBC,KAAMC,EAAwB5B,EAAe2B,MAC7CE,UAAW,IAAItC,KAAK,GAAGS,EAAe8B,SAAS9B,EAAe+B,eAC9DC,QAAS,IAAIzC,KAAK,GAAGS,EAAeiC,SAASjC,EAAekC,eAC5DC,SAAUnC,EAAemC,SACzBC,OAAQpC,EAAeoC,OACvBd,QAASA,E,CAIb9C,KAAK6D,uBAAuBC,KAAK,CAC/BC,UAAW,uBACX9D,YAAaD,KAAKC,a,CActB,uBAAM+D,GACJ,IAAKhE,KAAKY,aAAc,CACtBZ,KAAKY,mBAAqBqD,OAAOC,eAAeC,MAAMC,kBAAkBpE,KAAKqE,QAAS,kB,CAGxF,IAAKrE,KAAKsE,YAAa,CACrBtE,KAAKsE,YAAcL,OAAOC,eAAeC,MAAMI,yBAC7CvE,KAAKY,aAAa4D,SAClBxE,KAAKY,aAAa6D,S,CAItB,GAAIzE,KAAKiB,KAAM,OACPjB,KAAKoB,YAAYpB,KAAKiB,K,KACvB,OACCjB,KAAKO,WAAWP,KAAKU,I,EAI/B,MAAAgE,GACE,MAAMC,EAAU,CACd,uBAAwB,MAG1B,OACEC,EAACC,EAAI,CAACC,QAAS9E,KAAKC,cAAgBD,KAAKG,gBACvCyE,EAAA,OAAKG,MAAOJ,GACT3E,KAAKC,aACJ2E,EAAA,kBACEI,WAAYhF,KAAKE,gBACjB+E,YAAajF,KAAKI,iBAClB2E,MAAM,kCACNG,UAAW,KACXC,aAAcnF,KAAKoF,sBACnBC,UAAWrF,KAAKC,YAAYiD,KAC5BoC,YAAatF,KAAKC,YAAYoD,WAE9BuB,EAAA,iBAAeW,UAAWvF,KAAKC,YAAYkD,OAC1CnD,KAAKC,YAAY6C,QAChB8B,EAAA,eACEY,KAAK,SACLC,KAAMzF,KAAKC,YAAY6C,QAAQN,KAE9BxC,KAAKC,YAAY6C,QAAQR,MAG5BsC,EAAA,eACEY,KAAK,SACLE,OAAO,SACPD,KAAMzF,KAAK2F,aACRhF,QAAQ,WAAYX,KAAKY,aAAaC,SACtCF,QAAQ,SAAUX,KAAKC,YAAYgD,KAErCjD,KAAKY,aAAagF,Y"}
@@ -1,2 +0,0 @@
1
- System.register(["./p-290fcb28.system.js","./p-0c972915.system.js"],(function(e,a){"use strict";var t,i,s,l,o,r;return{setters:[function(a){t=a.p;i=a.d;s=a.N;l=a.H;o=a.b;e("setNonce",a.s)},function(e){r=e.g}],execute:function(){var e=function(){{n(l.prototype)}var e=Array.from(i.querySelectorAll("script")).find((function(e){return new RegExp("/".concat(s,"(\\.esm)?\\.js($|\\?|#)")).test(e.src)||e.getAttribute("data-stencil-namespace")===s}));var o=a.meta.url;var r=(e||{})["data-opts"]||{};if(o!==""){r.resourcesUrl=new URL(".",o).href}return t(r)};var n=function(e){var a=e.cloneNode;e.cloneNode=function(e){if(this.nodeName==="TEMPLATE"){return a.call(this,e)}var t=a.call(this,false);var i=this.childNodes;if(e){for(var s=0;s<i.length;s++){if(i[s].nodeType!==2){t.appendChild(i[s].cloneNode(true))}}}return t}};e().then((function(e){r();return o(JSON.parse('[["p-b39d06ea.system",[[4,"stzh-datatable",{"tableLayout":[1,"table-layout"],"localization":[16],"label":[1],"sortBy":[1025,"sort-by"],"sortDirection":[1025,"sort-direction"],"tokenize":[1],"idField":[1,"id-field"],"hideSearch":[516,"hide-search"],"showList":[516,"show-list"],"page":[1026],"pageSize":[2,"page-size"],"disableMinWidth":[516,"disable-min-width"],"rows":[1],"columns":[1],"query":[32],"hasScrollLeft":[32],"hasScrollRight":[32],"isScrollable":[32],"cellsStickyLeft":[32],"cellsStickyRight":[32],"toggleSort":[64]},null,{"rows":["rowsWatcher"],"columns":["columnsWatcher"],"sortBy":["sortByWatcher"],"sortDirection":["sortDirectionWatcher"]}]]],["p-2c3b8de4.system",[[2,"stzh-microsite-teaserlist",{"localization":[16],"api":[1],"tags":[1],"stepItems":[2,"step-items"],"showItems":[32],"activeFilter":[32]},null,{"showItems":["filterHandler"],"activeFilter":["filterHandler"],"tags":["tagsWatcher"],"api":["apiWatcher"]}]]],["p-cbcb366a.system",[[2,"stzh-appointments",{"localization":[16],"sortBy":[1025,"sort-by"],"appointments":[1],"currentDate":[1025,"current-date"],"value":[1025],"name":[513],"showItems":[1026,"show-items"],"stepItems":[2,"step-items"],"calendarTitle":[1,"calendar-title"],"appointmentsTitle":[1,"appointments-title"],"dateAdapter":[16]},null,{"currentDate":["currentDateWatcher"],"sortBy":["sortByWatcher"],"value":["valueWatcher"],"appointments":["appointmentsWatcher"]}]]],["p-59c9bb4a.system",[[2,"stzh-datamessagelist-item",{"localization":[16],"heading":[1],"unread":[4],"href":[1],"rel":[1],"target":[1],"description":[1],"icon":[1],"loadingStatus":[1,"loading-status"],"meta":[1],"actions":[1],"tags":[1],"analyticsId":[1,"analytics-id"],"external":[32]},null,{"rel":["externalWatcher"],"loadingStatus":["loadingStatusWatcher"],"meta":["metaWatcher"],"actions":["actionsWatcher"],"tags":["tagsWatcher"]}]]],["p-ff9a0645.system",[[6,"stzh-contact",{"type":[1],"heading":[1],"mainHeading":[1,"main-heading"],"name":[1],"address":[1],"street":[1],"streetInfo":[1,"street-info"],"postalCode":[1,"postal-code"],"location":[1],"numbers":[1],"poBoxHeading":[1,"po-box-heading"],"poboxTitle":[1,"pobox-title"],"poboxPostalCode":[1,"pobox-postal-code"],"poboxLocation":[1,"pobox-location"],"availabilityTitle":[1,"availability-title"],"availability":[1],"withBorder":[4,"with-border"]},null,{"availability":["availabilityWatcher"],"numbers":["numbersWatcher"]}]]],["p-54dbcd0e.system",[[4,"stzh-gallery",{"localization":[16],"images":[1],"variant":[1],"itemElement":[1,"item-element"],"openLightbox":[64]},[[8,"appload","apploadListener"]],{"images":["imagesWatcher"]}]]],["p-c1ab5b6a.system",[[0,"stzh-panorama",{"localization":[16],"caption":[1],"copyright":[1],"scene":[1025],"sceneFadeDuration":[2,"scene-fade-duration"],"autoload":[4],"orientationOnByDefault":[4,"orientation-on-by-default"],"scenes":[1],"isOrientationSupported":[32],"isOrientationActive":[32],"isFullscreen":[32],"getViewer":[64]},null,{"scenes":["scenesWatcher","updateWatcher"],"scene":["sceneWatcher"],"autoload":["updateWatcher"],"type":["updateWatcher"],"localization":["updateWatcher"],"orientationOnByDefault":["updateWatcher"],"sceneFadeDuration":["updateWatcher"]}]]],["p-f356fa70.system",[[0,"stzh-sitemap",{"items":[1]}]]],["p-05dd9d15.system",[[0,"stzh-amount",{"minValue":[2,"min-value"],"maxValue":[2,"max-value"],"minValueDropdown":[2,"min-value-dropdown"],"maxValueDropdown":[2,"max-value-dropdown"],"value":[1025],"step":[2],"name":[513],"size":[513],"disabled":[516],"popoverPlacement":[513,"popover-placement"],"label":[1],"labelHidden":[4,"label-hidden"],"invalid":[516],"required":[516],"clearable":[516],"showMarker":[516,"show-marker"],"description":[1],"descriptionLong":[1,"description-long"],"error":[1025],"a11yDescribedby":[1,"a11y-describedby"],"localization":[16]},null,{"minValueDropdown":["minMaxValueDropdownWatcher"],"maxValueDropdown":["minMaxValueDropdownWatcher"]}]]],["p-c658502d.system",[[1,"stzh-toastbar",{"hideAfter":[2,"hide-after"],"max":[2],"initialToasts":[1,"initial-toasts"],"toast":[64]},null,{"initialToasts":["initialToastsWatcher"]}]]],["p-7bba3418.system",[[2,"stzh-saptcha",{"localization":[16],"numbers":[1],"value":[1],"name":[513],"error":[1],"invalid":[516],"disabled":[516]},null,{"numbers":["numbersWatcher"],"error":["errorWatcher"]}]]],["p-50914ed3.system",[[2,"stzh-vbz-majorticker",{"api":[1],"data":[8],"moreInfoLink":[1,"more-info-link"],"dateAdapter":[16],"localization":[16],"ghettoboxCloseTimeKey":[1,"ghettobox-close-time-key"],"ghettoboxShown":[32],"getGhettoboxShown":[64],"getDisturbance":[64]},null,{"api":["apiWatcher"],"data":["dataWatcher"]}]]],["p-e5c1f04c.system",[[6,"stzh-vbz-ticker",{"api":[1],"data":[8],"moreInfoLink":[1,"more-info-link"],"dateAdapter":[16],"localization":[16]},null,{"localization":["localizationWatcher"],"api":["apiWatcher"],"data":["dataWatcher"]}]]],["p-d7cbaefa.system",[[6,"stzh-youtube",{"localization":[16],"url":[1],"cookie":[1],"cookieExpires":[2,"cookie-expires"],"skipPreviewIfCookieAccepted":[4,"skip-preview-if-cookie-accepted"],"skipPreview":[4,"skip-preview"],"previewSkipped":[32]}]]],["p-0d9721b6.system",[[2,"stzh-anchornav",{"columns":[514],"columnsSmall":[514,"columns-small"],"columnsMedium":[514,"columns-medium"],"columnsLarge":[514,"columns-large"],"columnsUltra":[514,"columns-ultra"],"items":[1],"withBorder":[516,"with-border"]},null,{"items":["appointmentsWatcher"]}]]],["p-3ceef7dd.system",[[6,"stzh-audio",{"localization":[16],"src":[1],"preload":[1],"transcript":[1],"transcriptShown":[1028,"transcript-shown"],"downloadAnalyticsId":[1,"download-analytics-id"],"transcriptAnalyticsId":[1,"transcript-analytics-id"],"play":[64],"pause":[64]}]]],["p-54a1fdcc.system",[[4,"stzh-upload",{"existingFiles":[1,"existing-files"],"label":[1],"description":[1],"button":[1],"url":[1],"method":[1],"withCredentials":[4,"with-credentials"],"disabled":[516],"invalid":[516],"downloadDisabled":[4,"download-disabled"],"downloadDisabledWhileProcessing":[4,"download-disabled-while-processing"],"error":[1],"acceptedFiles":[1,"accepted-files"],"autoProcessQueue":[4,"auto-process-queue"],"hideProgress":[4,"hide-progress"],"hideProgressWhileIdle":[4,"hide-progress-while-idle"],"maxFiles":[2,"max-files"],"maxFilesize":[2,"max-filesize"],"parallelUploads":[2,"parallel-uploads"],"uploadMultiple":[4,"upload-multiple"],"chunking":[4],"forceChunking":[4,"force-chunking"],"chunkSize":[2,"chunk-size"],"parallelChunkUploads":[4,"parallel-chunk-uploads"],"retryChunks":[4,"retry-chunks"],"retryChunksLimit":[2,"retry-chunks-limit"],"filesizeBase":[2,"filesize-base"],"headers":[16],"defaultHeaders":[4,"default-headers"],"accept":[16],"chunksUploaded":[16],"hiddenInputContainer":[1,"hidden-input-container"],"localization":[16],"processQueue":[64],"removeFile":[64],"removeAllFiles":[64]},null,{"existingFiles":["existingFilesWatcher"],"disabled":["disabledWatcher"],"error":["errorWatcher"]}]]],["p-194f6f51.system",[[1,"stzh-accordion-item",{"collapsible":[4],"open":[1540],"disabled":[516],"heading":[1],"subtitle":[1],"description":[1],"icon":[1],"badge":[1],"badgeEmpty":[516,"badge-empty"],"badgeType":[513,"badge-type"],"headingLevel":[513,"heading-level"],"analyticsId":[1,"analytics-id"],"show":[64],"hide":[64],"toggle":[64],"setFocus":[64]},null,{"open":["openWatcher"]}]]],["p-d22fbf2e.system",[[4,"stzh-footer",{"localization":[16],"copyright":[1],"variant":[1],"mainUrl":[1,"main-url"],"withBorder":[4,"with-border"]}]]],["p-a6af09e4.system",[[2,"stzh-langnav",{"languageActive":[1,"language-active"],"languages":[1],"popoverPlacement":[513,"popover-placement"],"preventUrlchange":[4,"prevent-urlchange"]}]]],["p-c20c6805.system",[[6,"stzh-message",{"label":[1],"description":[1],"closeKey":[1,"close-key"],"type":[513],"hideClose":[4,"hide-close"],"localization":[16],"open":[32],"show":[64],"hide":[64]}]]],["p-d3d21624.system",[[2,"stzh-monthyearpicker",{"monthOpen":[4,"month-open"],"yearOpen":[4,"year-open"],"months":[1],"years":[1],"min":[1],"max":[1],"minYear":[2,"min-year"],"maxYear":[2,"max-year"],"format":[513],"name":[513],"value":[1025],"popoverPlacement":[513,"popover-placement"],"monthLabel":[1,"month-label"],"yearLabel":[1,"year-label"],"readonly":[516],"disabled":[516],"required":[516],"showMarker":[516,"show-marker"],"size":[513],"descriptionMonth":[1,"description-month"],"descriptionYear":[1,"description-year"],"descriptionLongMonth":[1,"description-long-month"],"descriptionLongYear":[1,"description-long-year"],"errorMonth":[1,"error-month"],"errorYear":[1,"error-year"],"invalidMonth":[516,"invalid-month"],"invalidYear":[516,"invalid-year"],"a11yDescribedbyMonth":[1,"a11y-describedby"],"a11yDescribedbyYear":[1,"a11y-describedby"],"localization":[16]},null,{"months":["monthsWatcher"],"years":["yearsWatcher"],"value":["minMaxWatcher"],"min":["minMaxWatcher"],"max":["minMaxWatcher"]}]]],["p-42f483f6.system",[[6,"stzh-pagebottom",{"shareTitle":[1,"share-title"],"shareUrl":[1,"share-url"],"shareServices":[1,"share-services"],"shareDisabled":[4,"share-disabled"],"logoHref":[1,"logo-href"],"logoAnalyticsId":[1,"logo-analytics-id"],"withBorder":[4,"with-border"]}]]],["p-34ff6606.system",[[1,"stzh-timeline-item",{"foldable":[4],"collapsible":[4],"open":[1540],"disabled":[516],"heading":[1],"description":[1],"step":[514],"icon":[1],"badge":[1],"badgeEmpty":[516,"badge-empty"],"badgeType":[513,"badge-type"],"headingLevel":[513,"heading-level"],"analyticsId":[1,"analytics-id"],"_foldable":[32],"show":[64],"hide":[64],"toggle":[64],"setFocus":[64]},null,{"open":["openWatcher"],"foldable":["foldableWatcher"]}]]],["p-2f61dd4b.system",[[2,"stzh-timepicker",{"open":[4],"min":[2],"max":[2],"step":[2],"name":[513],"value":[1025],"popoverPlacement":[513,"popover-placement"],"label":[1],"readonly":[516],"disabled":[516],"description":[1],"descriptionLong":[1,"description-long"],"error":[1],"invalid":[516],"required":[516],"showMarker":[516,"show-marker"],"size":[513],"a11yDescribedby":[1,"a11y-describedby"],"localization":[16]},null,{"min":["minMaxWatcher"],"max":["minMaxWatcher"]}]]],["p-c143a3f0.system",[[6,"stzh-checkbox",{"localization":[16],"disabled":[516],"name":[513],"value":[1025],"invalid":[516],"required":[516],"checked":[1540],"label":[1],"description":[1],"descriptionLong":[1,"description-long"],"showMarker":[516,"show-marker"],"error":[1],"a11yDescribedby":[1,"a11y-describedby"],"setFocus":[64]},null,{"error":["errorWatcher"]}]]],["p-c41d9fa7.system",[[6,"stzh-checkboxgroup",{"localization":[16],"disabled":[516],"name":[513],"legend":[1],"hideLegend":[516,"hide-legend"],"invalid":[516],"showMarker":[516,"show-marker"],"value":[1025],"direction":[513],"description":[1],"descriptionLong":[1,"description-long"],"error":[1],"checkedCheckbox":[16],"preventUpdateProperties":[1,"prevent-update-properties"]},[[0,"stzhChange","onChange"]],{"name":["watchName"],"disabled":["watchDisabled"],"invalid":["watchInvalid"],"showMarker":["watchShowMarker"],"value":["watchValue"],"error":["errorWatcher"],"preventUpdateProperties":["preventUpdatePropertiesWatcher"]}]]],["p-e670eba0.system",[[6,"stzh-dialog",{"localization":[16],"closeOnEscapeKey":[4,"close-on-escape-key"],"closeOnBackdropClick":[4,"close-on-backdrop-click"],"open":[1028],"stay":[4],"size":[513],"hideClose":[4,"hide-close"],"heading":[1],"a11yRole":[1,"a11y-role"],"a11yLabel":[1,"a11y-label"],"closeAnalyticsId":[1,"close-analytics-id"],"show":[64],"hide":[64]},[[6,"click","handleOutsideClick"],[4,"keydown","handleKeydown"],[4,"click","handleOpenTriggerClick"]]]]],["p-d9984b93.system",[[2,"stzh-progressbar",{"localization":[16],"data":[1],"index":[2],"steps":[2],"stepsSmall":[2,"steps-small"],"stepsMedium":[2,"steps-medium"],"stepsLarge":[2,"steps-large"],"stepsUltra":[2,"steps-ultra"],"currentSteps":[32]},null,{"data":["dataWatcher"]}]]],["p-df322682.system",[[6,"stzh-toggle",{"localization":[16],"disabled":[516],"name":[513],"value":[1025],"invalid":[516],"required":[516],"showMarker":[516,"show-marker"],"checked":[1540],"label":[1],"labelPosition":[513,"label-position"],"description":[1],"descriptionLong":[1,"description-long"],"error":[1],"a11yDescribedby":[1,"a11y-describedby"],"setFocus":[64]},null,{"error":["errorWatcher"]}]]],["p-88cf07c8.system",[[6,"stzh-fieldset",{"legend":[1],"hideLegend":[4,"hide-legend"],"legendLevel":[1,"legend-level"],"legendCurve":[1,"legend-curve"]}]]],["p-6e979c9c.system",[[6,"stzh-imagecomparison",{"localization":[16],"hintLeft":[1,"hint-left"],"hintRight":[1,"hint-right"],"value":[1026],"label":[1],"a11yDescribedby":[1,"a11y-describedby"]}]]],["p-ecd0eee1.system",[[0,"stzh-olmap",{"localization":[16],"hostname":[1],"scaleControl":[4,"scale-control"],"layerControl":[4,"layer-control"],"printControl":[4,"print-control"],"locationControl":[4,"location-control"],"layer":[1025],"zoom":[2],"zoomLocation":[2,"zoom-location"],"center":[1],"centerMarker":[4,"center-marker"],"pinchRotateThreshold":[2,"pinch-rotate-threshold"],"resolutions":[1],"layers":[1],"getMap":[64],"addIconMarker":[64],"removeIconMarker":[64],"setIconMarkerActive":[64],"setIconMarkerInactive":[64],"enableLocationTracking":[64],"disableLocationTracking":[64],"getDistance":[64]},[[8,"load","handleLoad"],[8,"deviceorientation","handleLoad"],[8,"pageshow","handleLoad"]],{"layers":["layersWatcher"],"resolutions":["resolutionsWatcher"],"zoom":["zoomWatcher"],"scaleControl":["scaleControlWatcher"],"printControl":["printControlWatcher"],"layerControl":["layerControlWatcher"],"locationControl":["locationControlWatcher"],"layer":["layerWatcher"],"center":["centerWatcher"],"centerMarker":["centerMarkerWatcher"]}]]],["p-10b21279.system",[[6,"stzh-vbz-carousel",{"autoplayTimeout":[2,"autoplay-timeout"]}]]],["p-9bfe7d0d.system",[[1,"stzh-accordion",{"collapsible":[4],"multiselectable":[4],"setItemFocus":[64]},[[0,"stzhOpen","openListener"]]]]],["p-5e861cb6.system",[[6,"stzh-actions",{"variant":[513],"withBorder":[516,"with-border"]}]]],["p-0c2381f6.system",[[6,"stzh-appnav",{"appTitle":[1,"app-title"],"appStatus":[1,"app-status"],"appHref":[1,"app-href"],"appAnalyticsId":[1,"app-analytics-id"]}]]],["p-8c1c75a7.system",[[1,"stzh-cell",{"span":[514],"spanSmall":[514,"span-small"],"spanMedium":[514,"span-medium"],"spanLarge":[514,"span-large"],"spanUltra":[514,"span-ultra"],"align":[513],"alignSelf":[513,"align-self"]}]]],["p-b71dd6b1.system",[[0,"stzh-chart",{"chartId":[1,"chart-id"],"create":[16]},null,{"create":["createWatcher"]}]]],["p-e278cda2.system",[[6,"stzh-container",{"size":[1],"noMargin":[4,"no-margin"]}]]],["p-cfd1eed9.system",[[1,"stzh-cspace",{"removeFirstMargin":[516,"remove-first-margin"],"removeLastMargin":[516,"remove-last-margin"]}]]],["p-b193ae8e.system",[[6,"stzh-datamessagelist"]]],["p-2ff7c5db.system",[[6,"stzh-details",{"open":[1540],"show":[64],"hide":[64],"toggle":[64]},null,{"open":["openWatcher"]}]]],["p-94c8624d.system",[[2,"stzh-flyingfocus",{"style":[32],"position":[32],"enabled":[32],"visible":[32],"helper":[32],"moving":[32],"reposition":[64]},[[4,"keydown","handleKeydown"],[5,"mousedown","handleMousedown"],[6,"focus","handleFocus"],[6,"stzhFocus","handleFocus"],[6,"blur","handleBlur"],[7,"scroll","handleScrollResize"],[11,"resize","handleScrollResize"]]]]],["p-0c049996.system",[[6,"stzh-header",{"href":[1],"metabarStay":[4,"metabar-stay"],"stickyDisabled":[4,"sticky-disabled"],"preventAppnavPlaceholder":[4,"prevent-appnav-placeholder"],"logoAnalyticsId":[1,"logo-analytics-id"],"hideLogo":[32],"paddingTop":[32],"metabarTransform":[32],"sticky":[32],"stickyClosing":[32],"stickyMetabar":[32],"stickyMetabarEnd":[32],"updatePosition":[64]},[[9,"scroll","scrollListener"]]]]],["p-03eb4d68.system",[[2,"stzh-hr"]]],["p-d5d76cb3.system",[[6,"stzh-invert"]]],["p-d0e1f09b.system",[[1,"stzh-list",{"variant":[513]}]]],["p-9306653d.system",[[1,"stzh-list-item"]]],["p-3e447222.system",[[2,"stzh-loadingbar",{"percent":[2],"hidePercent":[4,"hide-percent"],"label":[1]}]]],["p-287edde1.system",[[1,"stzh-logo",{"type":[513]}]]],["p-edd46daa.system",[[6,"stzh-metanav"]]],["p-6528a6ce.system",[[6,"stzh-overlay",{"open":[1028],"stay":[4],"a11yLabel":[1,"a11y-label"],"show":[64],"hide":[64]}]]],["p-1faddb7a.system",[[6,"stzh-page-skiplinks"]]],["p-88adaf4b.system",[[6,"stzh-pagetitle"]]],["p-5d02c5e0.system",[[6,"stzh-pagetitle-hero",{"heading":[1],"leadAuthor":[1,"lead-author"],"subtitle":[1]}]]],["p-153f8f3f.system",[[1,"stzh-print"]]],["p-1a49012e.system",[[4,"stzh-readspeaker",{"href":[1],"eventId":[1,"event-id"]},[[8,"DOMContentLoaded","addClickEvents"],[8,"load","addClickEvents"]]]]],["p-0684cfac.system",[[1,"stzh-row",{"span":[514],"spanSmall":[514,"span-small"],"spanMedium":[514,"span-medium"],"spanLarge":[514,"span-large"],"spanUltra":[514,"span-ultra"],"justify":[513],"items":[513],"content":[513]}]]],["p-709514fc.system",[[1,"stzh-scrollup"]]],["p-ef393b81.system",[[6,"stzh-section",{"variant":[1]}]]],["p-53eaed5b.system",[[0,"stzh-skin-portal-mitwirken"]]],["p-9b086f39.system",[[0,"stzh-skin-storybook-preview"]]],["p-135d2e40.system",[[6,"stzh-skiplink",{"label":[1],"href":[1],"linkAccesskey":[1,"link-accesskey"],"linkTitle":[1,"link-title"],"analyticsId":[1,"analytics-id"],"focused":[32]},[[0,"focusin","focusinHandler"],[0,"focusout","focusoutHandler"]]]]],["p-e61f6afc.system",[[1,"stzh-space",{"curve":[513],"size":[513],"sizeSmall":[513,"size-small"],"sizeMedium":[513,"size-medium"],"sizeLarge":[513,"size-large"],"sizeUltra":[513,"size-ultra"],"justify":[513],"items":[513],"around":[516],"border":[513]}]]],["p-1095d872.system",[[6,"stzh-sticky",{"disableStickyTop":[516,"disable-sticky-top"],"disableStickyBottom":[516,"disable-sticky-bottom"],"breakout":[516],"position":[513],"isStuckTop":[32],"isStuckBottom":[32],"hasReachedTopLimit":[32],"hasReachedBottomLimit":[32]},null,{"disableStickyTop":["disableStickyWatcher"],"disableStickyBottom":["disableStickyWatcher"],"isStuckTop":["isStuckTopWatcher"],"isStuckBottom":["isStuckBottomWatcher"],"position":["positionWatcher"]}]]],["p-3154e4da.system",[[4,"stzh-table",{"fixedLeft":[2,"fixed-left"],"fixedRight":[2,"fixed-right"],"disableMinWidth":[516,"disable-min-width"],"hasScrollLeft":[32],"hasScrollRight":[32],"isScrollable":[32],"cellsStickyLeft":[32],"cellsStickyRight":[32]},null,{"fixedLeft":["fixedCellWatcher"],"fixedRight":["fixedCellWatcher"]}]]],["p-0b8a15cc.system",[[1,"stzh-textandimage",{"floating":[516],"fullwidth":[516],"size":[513]}]]],["p-235cfc86.system",[[1,"stzh-timeline",{"foldable":[4],"collapsible":[4],"multiselectable":[4],"setItemFocus":[64],"updateSteps":[64]},[[0,"stzhOpen","openListener"]],{"foldable":["foldableWatcher"]}]]],["p-2f7cac5b.system",[[6,"stzh-visuallyhidden"]]],["p-24c0e33a.system",[[1,"stzh-vspace",{"curve":[513],"size":[513],"sizeSmall":[513,"size-small"],"sizeMedium":[513,"size-medium"],"sizeLarge":[513,"size-large"],"sizeUltra":[513,"size-ultra"],"justify":[513],"items":[513],"around":[516],"aroundTop":[516,"around-top"],"aroundBottom":[516,"around-bottom"],"border":[513]}]]],["p-79eb298e.system",[[6,"stzh-chip-select",{"localization":[16],"data":[1],"name":[513],"label":[1],"value":[1],"description":[1],"descriptionLong":[1,"description-long"],"error":[1],"invalid":[516],"required":[516],"disabled":[516],"a11yDescribedby":[1,"a11y-describedby"],"activeFocusOptionIndex":[32]},null,{"data":["dataWatcher"],"error":["errorWatcher"]}]]],["p-b47299a3.system",[[2,"stzh-pagination",{"total":[2],"name":[513],"value":[1026],"label":[1],"labelHidden":[4,"label-hidden"],"readonly":[516],"disabled":[516],"description":[1],"descriptionLong":[1,"description-long"],"error":[1],"invalid":[516],"required":[516],"showMarker":[516,"show-marker"],"size":[513],"a11yDescribedby":[1,"a11y-describedby"],"localization":[16],"prev":[64],"next":[64]}]]],["p-f8511c39.system",[[1,"stzh-toast",{"label":[1],"type":[513],"hideClose":[516,"hide-close"],"open":[516],"initialOpenAnimation":[4,"initial-open-animation"],"localization":[16],"show":[64],"hide":[64]},null,{"open":["openWatcher"]}]]],["p-1834deba.system",[[6,"stzh-ghettobox",{"hiddenTitle":[1,"hidden-title"],"mainTitle":[1,"main-title"],"description":[1],"hideClose":[4,"hide-close"],"publishDate":[1,"publish-date"],"closeTimeKey":[1,"close-time-key"],"localization":[16],"open":[32],"show":[64],"hide":[64]},null,{"publishDate":["publishDateWatcher"]}]]],["p-3a113d93.system",[[6,"stzh-iframe",{"localization":[16],"src":[1],"cookie":[1],"cookieExpires":[2,"cookie-expires"],"cookieConfirmIcon":[1,"cookie-confirm-icon"],"cookieConfirmLabel":[1,"cookie-confirm-label"],"cookieConfirmText":[1,"cookie-confirm-text"],"previewLabel":[1,"preview-label"],"previewIcon":[1,"preview-icon"],"skipPreviewIfCookieAccepted":[4,"skip-preview-if-cookie-accepted"],"skipPreview":[4,"skip-preview"],"view":[32]},null,{"src":["srcWatcher"],"view":["viewWatcher"]}]]],["p-0b4cba00.system",[[2,"stzh-share",{"localization":[16],"url":[1],"services":[1]},null,{"services":["servicesWatcher"]}]]],["p-bb2fe16f.system",[[6,"stzh-progressbar-item",{"label":[513],"disabled":[516],"first":[516],"last":[516],"passed":[516],"current":[516],"hide":[516],"dotted":[516],"step":[514],"icon":[513],"analyticsId":[1,"analytics-id"]}]]],["p-b98ad3b6.system",[[2,"stzh-vbz-linechip",{"line":[1],"active":[516],"alert":[516],"global":[516],"disabled":[516],"analyticsId":[1,"analytics-id"],"setFocus":[64]}]]],["p-b073bc4f.system",[[6,"stzh-loader",{"size":[1],"label":[1],"hideLabel":[4,"hide-label"]}]]],["p-9ba341e2.system",[[2,"stzh-calendar",{"value":[1025],"min":[1],"max":[1],"firstDayOfWeek":[2,"first-day-of-week"],"localization":[16],"isDateDisabled":[16],"prevMonthAnalyticsId":[1,"prev-month-analytics-id"],"nextMonthAnalyticsId":[1,"next-month-analytics-id"],"activeFocus":[32],"focusedDay":[32],"setFocusedDay":[64],"setDate":[64]},null,{"localization":["createDateFormatters"],"value":["valueWatcher"]}]]],["p-80f1f324.system",[[1,"stzh-hspace",{"curve":[513],"size":[513],"sizeSmall":[513,"size-small"],"sizeMedium":[513,"size-medium"],"sizeLarge":[513,"size-large"],"sizeUltra":[513,"size-ultra"],"justify":[513],"items":[513],"around":[516],"aroundLeft":[516,"around-left"],"aroundRight":[516,"around-right"],"border":[513]}],[1,"stzh-show",{"mikro":[516],"small":[516],"medium":[516],"large":[516],"ultra":[516],"hideFromDate":[1,"hide-from-date"]},null,{"hideFromDate":["hideFromDateWatcher"]}]]],["p-a60e85c8.system",[[6,"stzh-carousel",{"localization":[16],"variant":[513],"disabled":[516],"noPeek":[516,"no-peek"],"slides":[2],"slidesSmall":[2,"slides-small"],"slidesMedium":[2,"slides-medium"],"slidesLarge":[2,"slides-large"],"slidesUltra":[2,"slides-ultra"],"slide":[2],"autoplay":[1028],"autoplayTimeout":[2,"autoplay-timeout"],"nonInteractive":[4,"non-interactive"],"preventMouseDrag":[4,"prevent-mouse-drag"],"preventAutoplayPause":[4,"prevent-autoplay-pause"],"preventAutoplayStop":[4,"prevent-autoplay-stop"],"tabThrough":[4,"tab-through"],"scrollTimeout":[32],"distanceQuickSwipe":[32],"distancePreventClick":[32],"autoplayRunning":[32],"autoplayDisabledByMotionMedia":[32],"autoplayDisabledByMouse":[32],"autoplayDisabledByFocus":[32],"autoplayDisabledByScroll":[32],"autoplayDisabledByDrag":[32],"dragging":[32],"scrolling":[32],"ariaLive":[32],"currentSlides":[32],"currentSwipeSlides":[32],"slideElements":[32],"previousElements":[32],"nextElements":[32],"navigationTextElements":[32],"slideTo":[64],"slideToPrevious":[64],"slideToNext":[64]},null,{"disabled":["disabledWatcher","preventMouseDragWatcher","autoplayRunningWatcher"],"preventMouseDrag":["preventMouseDragWatcher"],"autoplay":["autoplayRunningWatcher"],"autoplayDisabledByMotionMedia":["autoplayRunningWatcher"],"autoplayDisabledByMouse":["autoplayRunningWatcher"],"autoplayDisabledByFocus":["autoplayRunningWatcher"],"autoplayDisabledByScroll":["autoplayRunningWatcher"],"autoplayDisabledByDrag":["autoplayRunningWatcher"],"autoplayTimeout":["autoplayRunningWatcher"],"slideElements":["snapAlignWatcher","inertWatcher","prevNextHiddenWatcher","nextPrevDisabledWatcher"],"currentSwipeSlides":["snapAlignWatcher"],"slide":["inertWatcher","nextPrevDisabledWatcher"],"variant":["inertWatcher","prevNextNavigationWatcher"],"currentSlides":["inertWatcher","prevNextHiddenWatcher","nextPrevDisabledWatcher"],"tabThrough":["inertWatcher","prevNextNavigationWatcher"],"nextElements":["prevNextNavigationWatcher","prevNextHiddenWatcher","nextPrevDisabledWatcher","nextElementsWatcher"],"previousElements":["prevNextNavigationWatcher","prevNextHiddenWatcher","nextPrevDisabledWatcher","previousElementsWatcher"],"navigationTextElements":["prevNextHiddenWatcher"]}]]],["p-2547ec12.system",[[6,"stzh-text",{"font":[1],"curve":[513],"lead":[516],"size":[1],"sizeSmall":[1,"size-small"],"sizeMedium":[1,"size-medium"],"sizeLarge":[1,"size-large"],"sizeUltra":[1,"size-ultra"]}]]],["p-ff356dc8.system",[[6,"stzh-datepicker",{"calendarMin":[1,"calendar-min"],"calendarMax":[1,"calendar-max"],"calendarIsDateDisabled":[16],"name":[513],"value":[1025],"label":[1],"labelHidden":[4,"label-hidden"],"readonly":[516],"disabled":[516],"description":[1],"descriptionLong":[1,"description-long"],"error":[1],"invalid":[516],"required":[516],"showMarker":[516,"show-marker"],"size":[513],"inline":[4],"dateAdapter":[16],"localization":[16],"buttonLabel":[32],"setDate":[64],"getPopover":[64]},null,{"localization":["createDateFormatters"],"value":["valueWatcher"]}],[6,"stzh-radio",{"localization":[16],"disabled":[516],"name":[513],"value":[1025],"invalid":[516],"required":[516],"showMarker":[516,"show-marker"],"checked":[1540],"label":[1],"description":[1],"descriptionLong":[1,"description-long"],"error":[1],"a11yDescribedby":[1,"a11y-describedby"],"setFocus":[64]},null,{"error":["errorWatcher"]}],[6,"stzh-radiogroup",{"localization":[16],"disabled":[516],"name":[513],"legend":[1],"hideLegend":[516,"hide-legend"],"invalid":[516],"required":[516],"showMarker":[516,"show-marker"],"value":[1025],"direction":[513],"description":[1],"descriptionLong":[1,"description-long"],"error":[1],"checkedRadio":[8,"checked-radio"],"preventUpdateProperties":[1,"prevent-update-properties"]},[[0,"stzhChange","onChange"]],{"name":["watchName"],"disabled":["watchDisabled"],"invalid":["watchInvalid"],"required":["watchRequired"],"value":["watchValue"],"error":["errorWatcher"],"preventUpdateProperties":["preventUpdatePropertiesWatcher"]}]]],["p-ab5cfffa.system",[[6,"stzh-heading",{"level":[513],"curve":[513],"withBorder":[516,"with-border"]}]]],["p-a12c6ca5.system",[[6,"stzh-buttongroup"]]],["p-61de025a.system",[[0,"stzh-icon-sprite"]]],["p-2a3fdd90.system",[[6,"stzh-figure",{"caption":[1],"copyright":[1],"counter":[1],"heading":[1],"fullwidth":[516]}],[6,"stzh-ratio",{"ratio":[1],"ratioSmall":[1,"ratio-small"],"ratioMedium":[1,"ratio-medium"],"ratioLarge":[1,"ratio-large"],"ratioUltra":[1,"ratio-ultra"],"portrait":[516],"fit":[513]}]]],["p-9d0fedfe.system",[[6,"stzh-button",{"localization":[16],"badge":[1],"badgeType":[513,"badge-type"],"badgePosition":[513,"badge-position"],"badgeEmpty":[516,"badge-empty"],"fullwidth":[516],"rounded":[516],"floating":[516],"size":[513],"textAlign":[513,"text-align"],"variant":[513],"icon":[1],"iconPosition":[513,"icon-position"],"checked":[1540],"name":[513],"value":[1025],"href":[1],"rel":[1],"target":[1],"download":[1],"type":[1],"disabled":[516],"active":[516],"label":[1],"effect":[1],"iconOnly":[516,"icon-only"],"linkAccesskey":[1,"link-accesskey"],"a11yLabel":[1,"a11y-label"],"a11yDescribedby":[1,"a11y-describedby"],"a11yExpanded":[516,"a11y-expanded"],"a11yDisabled":[516,"a11y-disabled"],"a11yControls":[1,"a11y-controls"],"a11yTabindex":[1,"a11y-tabindex"],"analyticsId":[1,"analytics-id"],"setFocus":[64]}],[2,"stzh-badge",{"label":[1],"type":[513]}],[2,"stzh-icon",{"name":[1],"a11yTitle":[1,"a11y-title"]}]]],["p-ff1d24e2.system",[[6,"stzh-popover",{"open":[1540],"placement":[513],"variant":[513],"skidding":[2],"distance":[2],"label":[1],"strategy":[1],"localization":[16],"computedPlacement":[32],"show":[64],"hide":[64],"toggle":[64],"update":[64]},[[6,"click","handleOutsideClick"]],{"open":["openWatcher"],"distance":["distanceWatcher"]}]]],["p-a0b350c2.system",[[6,"stzh-input",{"localization":[16],"multiline":[4],"rows":[2],"type":[1],"step":[2],"min":[2],"max":[2],"showSpin":[516,"show-spin"],"readonly":[516],"disabled":[516],"clearable":[516],"showMarker":[516,"show-marker"],"minlength":[2],"maxlength":[2],"name":[513],"value":[1025],"description":[1],"descriptionLong":[1,"description-long"],"error":[1],"invalid":[516],"required":[516],"inputmode":[1],"autocomplete":[1],"noAutocomplete":[4,"no-autocomplete"],"label":[1],"labelHidden":[4,"label-hidden"],"size":[513],"a11yDescribedby":[1,"a11y-describedby"],"filled":[32],"setFocus":[64]},null,{"value":["valueWatcher"],"error":["errorWatcher"],"type":["typeWatcher"]}]]],["p-8f98fc45.system",[[6,"stzh-datalist",{"direction":[513],"directionSmall":[513,"direction-small"],"directionMedium":[513,"direction-medium"],"directionLarge":[513,"direction-large"],"directionUltra":[513,"direction-ultra"],"hideBorder":[516,"hide-border"],"disableLabelMinWidth":[516,"disable-label-min-width"],"currentDirection":[513,"current-direction"],"items":[1]},null,{"hideBorder":["hideBorderWatcher"],"direction":["directionWatcher"],"directionSmall":["directionWatcher"],"directionMedium":["directionWatcher"],"directionLarge":["directionWatcher"],"directionUltra":["directionWatcher"],"currentDirection":["currentDirectionWatcher"],"items":["itemsWatcher"]}],[6,"stzh-datalist-item",{"localization":[16],"direction":[513],"href":[513],"rel":[1],"target":[1],"download":[1],"leadingIcon":[1,"leading-icon"],"icon":[1],"iconLabel":[1,"icon-label"],"iconTooltip":[1,"icon-tooltip"],"label":[1],"value":[1],"meta":[1],"statusLabel":[1,"status-label"],"statusType":[1,"status-type"],"hideBorder":[516,"hide-border"],"a11yExpanded":[516,"a11y-expanded"],"a11yControls":[1,"a11y-controls"],"external":[32]},null,{"rel":["externalWatcher"]}]]],["p-509f90d0.system",[[6,"stzh-chip",{"label":[1],"icon":[1],"href":[1],"target":[1],"nonInteractive":[516,"non-interactive"],"removable":[516],"variant":[513],"size":[513],"type":[513],"counter":[1],"removeLabel":[1,"remove-label"],"active":[516],"disabled":[516],"a11yTabindex":[1,"a11y-tabindex"],"a11yLabel":[1,"a11y-label"],"a11yDescribedby":[1,"a11y-describedby"],"analyticsId":[1,"analytics-id"],"removeAnalyticsId":[1,"remove-analytics-id"],"setFocus":[64]}],[4,"stzh-clamp",{"localization":[16],"lines":[2],"linesSmall":[2,"lines-small"],"linesMedium":[2,"lines-medium"],"linesLarge":[2,"lines-large"],"linesUltra":[2,"lines-ultra"],"showExpandLink":[4,"show-expand-link"],"expanded":[1540],"clamped":[1540],"update":[64]}]]],["p-97704eb0.system",[[4,"stzh-dropdown",{"options":[1],"optgroups":[1],"items":[1],"searchField":[1,"search-field"],"multiple":[516],"inline":[516],"maxOptions":[2,"max-options"],"searchConjunction":[1,"search-conjunction"],"allowEmptyOption":[4,"allow-empty-option"],"openOnFocus":[4,"open-on-focus"],"closeAfterSelect":[4,"close-after-select"],"load":[16],"minCharacters":[2,"min-characters"],"loadThrottle":[2,"load-throttle"],"preload":[8],"labelField":[1,"label-field"],"valueField":[1,"value-field"],"optgroupField":[1,"optgroup-field"],"optgroupLabelField":[1,"optgroup-label-field"],"optgroupValueField":[1,"optgroup-value-field"],"lockOptgroupOrder":[4,"lock-optgroup-order"],"name":[513],"open":[4],"isOpen":[516,"is-open"],"variant":[513],"size":[513],"disabled":[516],"popoverPlacement":[513,"popover-placement"],"label":[1],"labelHidden":[4,"label-hidden"],"icon":[1],"iconAngle":[1,"icon-angle"],"noSearch":[4,"no-search"],"noBackspaceDelete":[4,"no-backspace-delete"],"invalid":[516],"required":[516],"showMarker":[516,"show-marker"],"description":[1],"descriptionLong":[1,"description-long"],"error":[1],"localization":[16],"a11yDescribedby":[1,"a11y-describedby"],"getValue":[64],"setValue":[64],"setFocus":[64],"resetLoadedSearches":[64],"getLoadedSearches":[64],"getItems":[64],"loadItems":[64],"show":[64],"hide":[64]},null,{"options":["optionsWatcher"],"items":["itemsWatcher"],"searchField":["searchFieldWatcher"],"optgroups":["optgroupsWatcher"],"error":["errorWatcher"]}]]],["p-188dd49d.system",[[6,"stzh-menu-item",{"badge":[1],"badgeType":[513,"badge-type"],"badgeEmpty":[516,"badge-empty"],"disabled":[516],"active":[516],"icon":[1],"label":[1],"href":[1],"target":[1],"a11yLabel":[1,"a11y-label"],"analyticsId":[1,"analytics-id"],"setFocus":[64]}],[6,"stzh-menu"]]],["p-3ab3a5a7.system",[[6,"stzh-link",{"localization":[16],"icon":[1],"iconPosition":[513,"icon-position"],"size":[513],"href":[1],"rel":[1],"target":[1],"download":[1],"type":[1],"variant":[513],"fullwidth":[516],"textAlign":[513,"text-align"],"badge":[1],"badgeType":[513,"badge-type"],"badgeEmpty":[516,"badge-empty"],"badgePosition":[513,"badge-position"],"disabled":[516],"active":[516],"iconOnly":[516,"icon-only"],"label":[1],"linkAccesskey":[1,"link-accesskey"],"a11yLabel":[1,"a11y-label"],"a11yDescribedby":[1,"a11y-describedby"],"a11yExpanded":[516,"a11y-expanded"],"a11yDisabled":[516,"a11y-disabled"],"a11yControls":[1,"a11y-controls"],"a11yTabindex":[1,"a11y-tabindex"],"analyticsId":[1,"analytics-id"],"setFocus":[64]}]]],["p-42e25ae1.system",[[6,"stzh-card",{"localization":[16],"collapsed":[1540],"starred":[1540],"starrable":[516],"selectable":[516],"checked":[516],"name":[513],"href":[513],"target":[1],"value":[1025],"disabled":[516],"withArrow":[516,"with-arrow"],"heading":[1],"subtitle":[1],"headerActions":[1,"header-actions"],"footerActions":[1,"footer-actions"],"subtitleInteractive":[4,"subtitle-interactive"],"sortableDisabled":[516,"sortable-disabled"],"collapsible":[516],"hideHeaderBorder":[516,"hide-header-border"],"hideFooterBorder":[516,"hide-footer-border"],"hideElevation":[516,"hide-elevation"],"hideMovementActions":[4,"hide-movement-actions"],"analyticsId":[1,"analytics-id"]},null,{"subtitle":["subtitleWatcher"],"headerActions":["headerActionsWatcher"],"footerActions":["footerActionsWatcher"],"collapsed":["collapsedWatcher"]}],[6,"stzh-card-list",{"localization":[16],"layout":[513],"description":[1],"showToggleLink":[516,"show-toggle-link"],"sortableEnabled":[4,"sortable-enabled"],"sortableDataIdAttribute":[1,"sortable-data-id-attribute"],"allCollapsed":[32]},[[0,"stzhCollapse","collapseListener"]]],[2,"stzh-actionset",{"localization":[16],"variant":[513],"popoverButtonVariant":[513,"popover-button-variant"],"popoverButtonSize":[513,"popover-button-size"],"popoverPlacement":[513,"popover-placement"],"actions":[1],"actionsCollapsed":[32],"dynamicActions":[32],"isSmall":[32],"isMedium":[32]},null,{"actions":["actionsWatcher"]}],[6,"stzh-sortable",{"localization":[16],"disabled":[516],"dataIdAttribute":[1,"data-id-attribute"],"container":[16],"ghostClone":[16],"filterElements":[1,"filter-elements"],"toArray":[64],"sort":[64],"moveItem":[64]},null,{"disabled":["disabledWatcher"],"filterElements":["filterElementsWatcher"]}]]],["p-90a0c853.system",[[6,"stzh-richtext",{"localization":[16],"removeFirstMargin":[516,"remove-first-margin"],"removeLastMargin":[516,"remove-last-margin"],"externalLinkSelector":[1,"external-link-selector"],"externalLinkIcon":[1,"external-link-icon"]}],[2,"stzh-status",{"percent":[2],"withLoadingbar":[516,"with-loadingbar"],"label":[1],"type":[513]}]]],["p-f159a561.system",[[6,"stzh-tooltip",{"open":[1028],"label":[1],"content":[1],"placement":[1],"strategy":[1],"skidding":[2],"distance":[2],"interactive":[4],"trigger":[1],"localization":[16],"computedPlacement":[32],"show":[64],"hide":[64],"toggle":[64],"update":[64]},[[6,"click","handleDocumentClick"]],{"open":["openWatcher"],"trigger":["triggerWatcher"]}]]]]'),e)}))}}}));
2
- //# sourceMappingURL=p-428eacce.system.js.map
@@ -1,2 +0,0 @@
1
- import{r as t,h as s,a as o,g as e}from"./p-c92165bd.js";const r=":host{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:var(--stzh-font-style-regular);color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block;}:host[hidden]{display:none}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness)}:host .has-focus{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.3125rem}:host .stzh-fylingfocus-focused{outline-style:none !important}:host .stzh-fylingfocus-focused::-moz-focus-inner{border:0 !important}:host ::slotted(stzh-accordion-item:not(:last-child)){margin-bottom:var(--stzh-space-small)}";const i=class{constructor(s){t(this,s);this.collapsible=true;this.multiselectable=true}openListener(t){const s=t.target;const o=s.closest("stzh-accordion");if(this.multiselectable||t.detail&&t.detail.component!=="stzh-accordion-item"||o!==this.element){return}const e=Array.from(o.querySelectorAll("stzh-accordion-item"));e.forEach((t=>{if(t!==s){t.hide()}}))}async setItemFocus(t,s){const o=t.closest("stzh-accordion");if(o!==this.element){return}const e=Array.from(o.querySelectorAll(":scope > stzh-accordion-item")).filter((t=>!t.disabled));const r=e.indexOf(t);if((s==="prev"||s==="next")&&r===null){s=s==="prev"?"last":"first"}if(s==="prev"&&r===0){s="last"}if(s==="next"&&r===e.length-1){s="first"}if(s==="prev"){e[r-1].setFocus()}else if(s==="next"){e[r+1].setFocus()}else if(s==="last"){e[e.length-1].setFocus()}else if(s==="first"){e[0].setFocus()}else{t.setFocus()}}render(){const t={"stzh-accordion":true};return s(o,null,s("div",{class:t},s("slot",null)))}get element(){return e(this)}};i.style=r;export{i as stzh_accordion};
2
- //# sourceMappingURL=p-446dcea5.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stzhAccordionCss","StzhAccordion","openListener","event","accordionItemOpened","target","accordionOpened","closest","this","multiselectable","detail","component","element","items","Array","from","querySelectorAll","forEach","item","hide","setItemFocus","accordionItem","action","accordion","filter","disabled","currentIndex","indexOf","length","setFocus","render","classes","h","Host","class"],"sources":["src/components/stzh-accordion/stzh-accordion.scss?tag=stzh-accordion&encapsulation=shadow","src/components/stzh-accordion/stzh-accordion.tsx"],"sourcesContent":[":host {\n ::slotted(stzh-accordion-item:not(:last-child)) {\n margin-bottom: space('small');\n }\n}\n\n.stzh-accordion {\n\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Listen,\n Method\n} from \"@stencil/core\";\n\nimport {\n StzhAccordionItemOpenEvent\n} from \"../../index\";\n\n/**\n * @slot - Slot for `stzh-accordion-item` elements\n */\n@Component({\n tag: \"stzh-accordion\",\n styleUrl: \"stzh-accordion.scss\",\n shadow: true\n})\nexport class StzhAccordion {\n /** Whether folds are collapsible */\n @Prop() collapsible: boolean = true;\n\n /** Whether multiple folds can be opened at once */\n @Prop() multiselectable: boolean = true;\n\n @Element() element: HTMLStzhAccordionElement;\n\n @Listen(\"stzhOpen\")\n openListener(event: CustomEvent<StzhAccordionItemOpenEvent>) {\n const accordionItemOpened = event.target as HTMLStzhAccordionItemElement;\n const accordionOpened = accordionItemOpened.closest(\"stzh-accordion\");\n\n if (\n this.multiselectable\n || (event.detail && event.detail.component !== \"stzh-accordion-item\")\n || accordionOpened !== this.element\n ) {\n return;\n }\n\n const items: HTMLStzhAccordionItemElement[] = Array.from(accordionOpened.querySelectorAll(\"stzh-accordion-item\"));\n items.forEach((item) => {\n if (item !== accordionItemOpened) {\n item.hide();\n }\n });\n }\n\n /** Set focus to accordion item */\n @Method()\n async setItemFocus(accordionItem: HTMLStzhAccordionItemElement, action: string) {\n const accordion = accordionItem.closest(\"stzh-accordion\");\n\n if (accordion !== this.element) {\n return;\n }\n\n const items = (Array.from(accordion.querySelectorAll(\":scope > stzh-accordion-item\")) as HTMLStzhAccordionItemElement[])\n .filter((item) => !item.disabled);\n\n const currentIndex = items.indexOf(accordionItem);\n\n if ((action === 'prev' || action === 'next') && currentIndex === null) {\n action = action === 'prev' ? 'last' : 'first'\n }\n\n if (action === 'prev' && currentIndex === 0) {\n action = 'last'\n }\n\n if (action === 'next' && currentIndex === items.length - 1) {\n action = 'first'\n }\n\n if (action === 'prev') {\n items[currentIndex - 1].setFocus();\n } else if (action === 'next') {\n items[currentIndex + 1].setFocus();\n } else if (action === 'last') {\n items[items.length - 1].setFocus();\n } else if (action === 'first') {\n items[0].setFocus();\n } else {\n accordionItem.setFocus();\n }\n }\n\n render() {\n const classes = {\n \"stzh-accordion\": true,\n };\n\n return (\n <Host>\n <div class={classes}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAmB,kyB,MCsBZC,EAAa,M,0CAEO,K,qBAGI,I,CAKnC,YAAAC,CAAaC,GACX,MAAMC,EAAsBD,EAAME,OAClC,MAAMC,EAAkBF,EAAoBG,QAAQ,kBAEpD,GACEC,KAAKC,iBACDN,EAAMO,QAAUP,EAAMO,OAAOC,YAAc,uBAC5CL,IAAoBE,KAAKI,QAC5B,CACA,M,CAGF,MAAMC,EAAwCC,MAAMC,KAAKT,EAAgBU,iBAAiB,wBAC1FH,EAAMI,SAASC,IACb,GAAIA,IAASd,EAAqB,CAChCc,EAAKC,M,KAOX,kBAAMC,CAAaC,EAA6CC,GAC9D,MAAMC,EAAYF,EAAcd,QAAQ,kBAExC,GAAIgB,IAAcf,KAAKI,QAAS,CAC9B,M,CAGF,MAAMC,EAASC,MAAMC,KAAKQ,EAAUP,iBAAiB,iCAClDQ,QAAQN,IAAUA,EAAKO,WAE1B,MAAMC,EAAeb,EAAMc,QAAQN,GAEnC,IAAKC,IAAW,QAAUA,IAAW,SAAWI,IAAiB,KAAM,CACrEJ,EAASA,IAAW,OAAS,OAAS,O,CAGxC,GAAIA,IAAW,QAAUI,IAAiB,EAAG,CAC3CJ,EAAS,M,CAGX,GAAIA,IAAW,QAAUI,IAAiBb,EAAMe,OAAS,EAAG,CAC1DN,EAAS,O,CAGX,GAAIA,IAAW,OAAQ,CACrBT,EAAMa,EAAe,GAAGG,U,MACnB,GAAIP,IAAW,OAAQ,CAC5BT,EAAMa,EAAe,GAAGG,U,MACnB,GAAIP,IAAW,OAAQ,CAC5BT,EAAMA,EAAMe,OAAS,GAAGC,U,MACnB,GAAIP,IAAW,QAAS,CAC7BT,EAAM,GAAGgB,U,KACJ,CACLR,EAAcQ,U,EAIlB,MAAAC,GACE,MAAMC,EAAU,CACd,iBAAkB,MAGpB,OACEC,EAACC,EAAI,KACHD,EAAA,OAAKE,MAAOH,GACVC,EAAA,c"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stzhVbzMajortickerCss","StzhVbzMajorticker","exports","this","disturbance","onGhettoboxOpen","_this","ghettoboxShown","onGhettoboxClose","class_1","prototype","getGhettoboxShown","getDisturbance","apiWatcher","newValue","apiUrl","api","replace","localization","$locale","includes","Date","now","axios","get","data","_c","sent","dataWatcher","_data","JSON","parse","bigDisturbance","_b","_a","Message","find","message","category","VBZ","DISTURBANCE_INFORMATION","baseType","BASE_TYPE_GLOBAL","urls","channel","filter","name","CHANNEL_TICKER","url","map","reduce","a","b","concat","infoUrl","indexOf","CHANNEL_INFO_URL_FILTER","id","head","text","createParagraphsFromBrs","startDate","sDate","sTime","endDate","eDate","eTime","altStart","altEnd","stzhDisturbanceFetched","emit","component","componentWillLoad","window","stzhComponents","utils","fetchTranslations","element","_d","dateAdapter","createFormatParseAdapter","$formats","$globals","render","classes","h","Host","hidden","class","onStzhOpen","onStzhClose","hideClose","closeTimeKey","ghettoboxCloseTimeKey","mainTitle","publishDate","innerHTML","slot","href","target","moreInfoLink","moreInfo"],"sources":["src/components/stzh-vbz-majorticker/stzh-vbz-majorticker.scss?tag=stzh-vbz-majorticker&encapsulation=scoped","src/components/stzh-vbz-majorticker/stzh-vbz-majorticker.tsx"],"sourcesContent":[":host {\n}\n\n.stzh-vbz-majorticker {\n &__ghettobox {\n // --stzh-base-invert-color: #{$colorBlack};\n // --stzh-base-invert-color72: #{$colorBlack72};\n // --stzh-base-invert-color32: #{$colorBlack32};\n // --stzh-base-invert-color16: #{$colorBlack16};\n\n --stzh-base-invert-color-rgb: #{$colorBlackRgb};\n --color: #{$colorBlack};\n --background-color: #{$colorCoral};\n }\n}\n","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"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,h as i,a as n}from"./p-c92165bd.js";const s=".sc-stzh-container-h{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:var(--stzh-font-style-regular);color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block}[hidden].sc-stzh-container-h{display:none}.sc-stzh-container-h *.sc-stzh-container,.sc-stzh-container-h *.sc-stzh-container::before,.sc-stzh-container-h *.sc-stzh-container::after{-webkit-box-sizing:border-box;box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness)}.sc-stzh-container-h .has-focus.sc-stzh-container{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.3125rem}.sc-stzh-container-h .stzh-fylingfocus-focused.sc-stzh-container{outline-style:none !important}.sc-stzh-container-h .stzh-fylingfocus-focused.sc-stzh-container::-moz-focus-inner{border:0 !important}.sc-stzh-container-h .sc-stzh-container-s stzh-header{margin-left:-1.25rem;margin-right:-1.25rem}@media screen and (min-width: 600px){.sc-stzh-container-h .sc-stzh-container-s stzh-header{margin-left:-2rem;margin-right:-2rem}}@media screen and (min-width: 1024px){.sc-stzh-container-h .sc-stzh-container-s stzh-header{margin-left:-2.5rem;margin-right:-2.5rem}}@media screen and (min-width: 1260px){.sc-stzh-container-h .sc-stzh-container-s stzh-header{margin-left:-5.5rem;margin-right:-5.5rem}}@media screen and (min-width: 1440px){.sc-stzh-container-h .sc-stzh-container-s stzh-header{margin-left:calc((100vw - 78.75rem - var(--stzh-scrollbar-width, 0px)) / -2);margin-right:calc((100vw - 78.75rem - var(--stzh-scrollbar-width, 0px)) / -2)}}.sc-stzh-container-h .sc-stzh-container-s stzh-container{position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw;max-width:100vw}.sc-stzh-container-h .sc-stzh-container-s stzh-section[variant=highlight]{--highlight-horizontal-padding:1.25rem}@media screen and (min-width: 600px){.sc-stzh-container-h .sc-stzh-container-s stzh-section[variant=highlight]{--highlight-horizontal-padding:2rem}}@media screen and (min-width: 1024px){.sc-stzh-container-h .sc-stzh-container-s stzh-section[variant=highlight]{--highlight-horizontal-padding:2.5rem}}@media screen and (min-width: 1260px){.sc-stzh-container-h .sc-stzh-container-s stzh-section[variant=highlight]{--highlight-horizontal-padding:var(--stzh-space-xlarge)}}@media screen and (max-width: 1259px){.sc-stzh-container-h .sc-stzh-container-s stzh-section[variant=highlight]{position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw;max-width:100vw}}.sc-stzh-container-h .sc-stzh-container-s stzh-row stzh-section[variant=highlight]{--highlight-horizontal-padding:var(--stzh-section-highlight-horizontal-padding)}@media screen and (max-width: 1259px){.sc-stzh-container-h .sc-stzh-container-s stzh-row stzh-section[variant=highlight]{left:initial;right:initial;margin-left:initial;margin-right:initial;width:initial;max-width:initial}}.stzh-container.sc-stzh-container{margin-left:1.25rem;margin-right:1.25rem}@media screen and (min-width: 600px){.stzh-container.sc-stzh-container{margin-left:2rem;margin-right:2rem}}@media screen and (min-width: 1024px){.stzh-container.sc-stzh-container{margin-left:2.5rem;margin-right:2.5rem}}@media screen and (min-width: 1260px){.stzh-container.sc-stzh-container{margin-left:5.5rem;margin-right:5.5rem}}@media screen and (min-width: 1440px){.stzh-container.sc-stzh-container{margin-left:auto;margin-right:auto;width:78.75rem}}@media screen and (min-width: 1440px){.stzh-container--size-big.sc-stzh-container{width:90rem}}.stzh-container--has-no-margin.sc-stzh-container{margin-left:auto;margin-right:auto}";const r=class{constructor(i){t(this,i);this.size="default";this.noMargin=false}render(){const t={"stzh-container":true,"stzh-container--has-no-margin":this.noMargin,[`stzh-container--size-${this.size}`]:!!this.size};return i(n,null,i("div",{class:t},i("slot",null)))}};r.style=s;export{r as stzh_container};
2
- //# sourceMappingURL=p-7b0da017.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stzhContainerCss","StzhContainer","render","classes","this","noMargin","size","h","Host","class"],"sources":["src/components/stzh-container/stzh-container.scss?tag=stzh-container&encapsulation=scoped","src/components/stzh-container/stzh-container.tsx"],"sourcesContent":[":host {\n ::slotted(*) {\n stzh-header {\n margin-left: -$containerMargin;\n margin-right: -$containerMargin;\n\n @include mq($from: small) {\n margin-left: -$containerMarginSmall;\n margin-right: -$containerMarginSmall;\n }\n\n @include mq($from: medium) {\n margin-left: -$containerMarginMedium;\n margin-right: -$containerMarginMedium;\n }\n\n @include mq($from: large) {\n margin-left: -$containerMarginLarge;\n margin-right: -$containerMarginLarge;\n }\n\n @include mq($from: ultra) {\n margin-left: calc((100vw - #{$containerMaxWidth} - var(--stzh-scrollbar-width, 0px)) / -2);\n margin-right: calc((100vw - #{$containerMaxWidth} - var(--stzh-scrollbar-width, 0px)) / -2);\n }\n }\n\n stzh-container {\n position: relative;\n left: 50%;\n right: 50%;\n margin-left: -50vw;\n margin-right: -50vw;\n width: 100vw;\n max-width: 100vw;\n }\n\n stzh-section[variant=\"highlight\"] {\n --highlight-horizontal-padding: #{$containerMargin};\n\n @include mq($from: small) {\n --highlight-horizontal-padding: #{$containerMarginSmall};\n }\n\n @include mq($from: medium) {\n --highlight-horizontal-padding: #{$containerMarginMedium};\n }\n\n @include mq($from: large) {\n --highlight-horizontal-padding: #{space('xlarge')};\n }\n\n @include mq($to: large) {\n position: relative;\n left: 50%;\n right: 50%;\n margin-left: -50vw;\n margin-right: -50vw;\n width: 100vw;\n max-width: 100vw;\n }\n }\n\n stzh-row stzh-section[variant=\"highlight\"] {\n --highlight-horizontal-padding: #{$sectionHighlightHorizontalPadding};\n\n @include mq($to: large) {\n left: initial;\n right: initial;\n margin-left: initial;\n margin-right: initial;\n width: initial;\n max-width: initial;\n }\n }\n }\n}\n\n.stzh-container {\n @include container;\n\n &--size-big {\n @include mq($from: ultra) {\n width: $containerBigMaxWidth;\n }\n }\n\n &--has-no-margin {\n margin-left: auto;\n margin-right: auto;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n} from \"@stencil/core\";\n\n/**\n * @slot - Slot for any content\n */\n@Component({\n tag: \"stzh-container\",\n styleUrl: \"stzh-container.scss\",\n scoped: true\n})\nexport class StzhContainer {\n /** Size variant */\n @Prop() size: \"default\" | \"big\" = \"default\";\n\n /** Whether to prevent side margins */\n @Prop() noMargin: boolean = false;\n\n render() {\n const classes = {\n \"stzh-container\": true,\n \"stzh-container--has-no-margin\": this.noMargin,\n [`stzh-container--size-${this.size}`]: !!this.size,\n };\n\n return (\n <Host>\n <div class={classes}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAmB,+oH,MCeZC,EAAa,M,mCAEU,U,cAGN,K,CAE5B,MAAAC,GACE,MAAMC,EAAU,CACd,iBAAkB,KAClB,gCAAiCC,KAAKC,SACtC,CAAC,wBAAwBD,KAAKE,UAAWF,KAAKE,MAGhD,OACEC,EAACC,EAAI,KACHD,EAAA,OAAKE,MAAON,GACVI,EAAA,c"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as s,h as i,a as e,g as n}from"./p-c92165bd.js";import{p as a,a as h}from"./p-23d404e1.js";function p(t,s){if(!t){return""}const i=t.split("|");let e=i[0].trim();if(i.length===3&&s===1){e=i[1].trim()}else if(i.length===3&&s>1){e=i[2].trim()}if(i.length===2&&s!==1){e=i[1].trim()}return e.replace(/\{n\}/gi,s.toString())}const o=".sc-stzh-appointments-h{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:var(--stzh-font-style-regular);color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block}[hidden].sc-stzh-appointments-h{display:none}.sc-stzh-appointments-h *.sc-stzh-appointments,.sc-stzh-appointments-h *.sc-stzh-appointments::before,.sc-stzh-appointments-h *.sc-stzh-appointments::after{-webkit-box-sizing:border-box;box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness)}.sc-stzh-appointments-h .has-focus.sc-stzh-appointments{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.3125rem}.sc-stzh-appointments-h .stzh-fylingfocus-focused.sc-stzh-appointments{outline-style:none !important}.sc-stzh-appointments-h .stzh-fylingfocus-focused.sc-stzh-appointments::-moz-focus-inner{border:0 !important}.stzh-appointments__wrapper.sc-stzh-appointments{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}@media screen and (min-width: 1024px){.stzh-appointments__wrapper.sc-stzh-appointments{-ms-flex-direction:row;flex-direction:row}}.stzh-appointments__calendar-wrapper.sc-stzh-appointments{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}@media screen and (min-width: 1024px){.stzh-appointments__calendar-wrapper.sc-stzh-appointments{margin-right:var(--stzh-space-large)}}.stzh-appointments__appointments-wrapper.sc-stzh-appointments{-ms-flex-positive:1;flex-grow:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.stzh-appointments__calendar-title-wrapper.sc-stzh-appointments,.stzh-appointments__appointments-title-wrapper.sc-stzh-appointments{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-direction:column;flex-direction:column;margin-bottom:var(--stzh-space-xsmall)}@media screen and (min-width: 1024px){.stzh-appointments__calendar-title-wrapper.sc-stzh-appointments,.stzh-appointments__appointments-title-wrapper.sc-stzh-appointments{-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:var(--stzh-space-medium);height:var(--stzh-space-xxlarge)}}.stzh-appointments__calendar-title.sc-stzh-appointments,.stzh-appointments__appointments-title.sc-stzh-appointments{display:-ms-flexbox;display:flex}.stzh-appointments__calendar-icon.sc-stzh-appointments,.stzh-appointments__appointments-icon.sc-stzh-appointments{margin-right:var(--stzh-space-xsmall);display:none}@media screen and (min-width: 1024px){.stzh-appointments__calendar-icon.sc-stzh-appointments,.stzh-appointments__appointments-icon.sc-stzh-appointments{display:-ms-inline-flexbox;display:inline-flex}}.stzh-appointments__calendar-content-medium.sc-stzh-appointments,.stzh-appointments__appointments-content.sc-stzh-appointments{background-color:var(--stzh-color-white);border:0.0625rem solid var(--stzh-color-grey13);border-radius:0.125rem}@media screen and (min-width: 1024px){.stzh-appointments__calendar-content.sc-stzh-appointments{display:none}}.stzh-appointments__calendar-content-medium.sc-stzh-appointments{display:none;padding:var(--stzh-space-medium)}@media screen and (min-width: 1024px){.stzh-appointments__calendar-content-medium.sc-stzh-appointments{display:block}}.stzh-appointments__appointments-content.sc-stzh-appointments{padding:var(--stzh-space-xlarge);-ms-flex-positive:1;flex-grow:1}.stzh-appointments__more-link.sc-stzh-appointments{margin-top:var(--stzh-space-medium)}.stzh-appointments--has-calendar.sc-stzh-appointments .stzh-appointments__appointments-wrapper.sc-stzh-appointments{margin-top:var(--stzh-space-large)}@media screen and (min-width: 1024px){.stzh-appointments--has-calendar.sc-stzh-appointments .stzh-appointments__appointments-wrapper.sc-stzh-appointments{margin-top:0}}";const r=class{constructor(i){t(this,i);this.stzhChange=s(this,"stzhChange",7);this.showMoreLink=false;this.moreItemsLeft=0;this.showCalendar=false;this.showSort=false;this.showSortStart=false;this.showSortPlace=false;this.showAppointmentsTitle=false;this.allAppointsmentOnSameDay=true;this.sortOptions=[];this.isDateDisabled=t=>{const s=!!this._appointments.find((s=>s.start.getFullYear()===t.getFullYear()&&s.start.getMonth()===t.getMonth()&&s.start.getDate()===t.getDate()));return!s};this.onNextActiveDateClick=async()=>{if(this.nextDate){this.currentDate=this.nextDate;const t=await this.datepickerElement.getPopover();if(t){t.hide()}}};this.onMoreClick=()=>{this.showItems=this.stepItems+this.showItems;const t=this.inputElement.querySelector("stzh-radio");t.setFocus()};this.onDropdownChange=async t=>{const s=t.target;const i=await s.getValue();if(i){this.sortBy=i}};this.onDatepickerChange=t=>{if(t.detail.component!=="stzh-datepicker"||!t.detail.valueAsDate){return}this.currentDate=t.detail.valueAsDate;this.showItems=this.stepItems};this.onRadioChange=t=>{this.value=t.detail.value;this.stzhChange.emit({component:"stzh-appointments",value:this.value})};this.localization=undefined;this.sortBy="start";this.appointments=[];this.currentDate=undefined;this.value="";this.name="appointment";this.showItems=5;this.stepItems=5;this.calendarTitle="";this.appointmentsTitle="";this.dateAdapter=undefined}currentDateWatcher(t){if(!t){this._currentDate=this.dateByValue||this.earliestDate;if(!this.dateByValue){this.setValueToFirstAppointmentOfCurrentDate()}}else if(typeof t==="string"){this._currentDate=a(t);this.setValueToFirstAppointmentOfCurrentDate()}else{this._currentDate=t;this.setValueToFirstAppointmentOfCurrentDate()}}sortByWatcher(){this.setValueToFirstAppointmentOfCurrentDate()}valueWatcher(){this.updateDateByValue();this.currentDateWatcher(this.currentDate)}appointmentsWatcher(t){if(typeof t==="string"){this._appointments=JSON.parse(t)}else{this._appointments=t}this._appointments.forEach((t=>{t.start=new Date(t.start);t.end=new Date(t.end)}));if(this._appointments.length>0){this._appointments.sort(((t,s)=>t["start"]>s["start"]?1:-1));this.earliestDate=this._appointments[0].start;this.latestDate=this._appointments[this._appointments.length-1].start;this.updateDateByValue()}if(this._appointments.length>1){const t=this._appointments[0].start;this.allAppointsmentOnSameDay=this._appointments.map((t=>t.start)).every((s=>`${s.getFullYear()}-${s.getMonth()}-${s.getDate()}`===`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`))}this.showCalendar=!this.allAppointsmentOnSameDay;this.showAppointmentsTitle=this._appointments.length>1;this.currentDateWatcher(this.currentDate)}updateDateByValue(){this.dateByValue=this.value&&this._appointments.find((t=>t.value===this.value)).start}getCurrentDateAppointments(){let t=0;const s=this._appointments.filter(((s,i)=>{const e=s.start.getFullYear()===this._currentDate.getFullYear()&&s.start.getMonth()===this._currentDate.getMonth()&&s.start.getDate()===this._currentDate.getDate();if(e){t=i}return e}));if(this._appointments[t+1]){this.nextDate=this._appointments[t+1].start}else{this.nextDate=null}s.sort(((t,s)=>t[this.sortBy]>s[this.sortBy]?1:-1));return s}setValueToFirstAppointmentOfCurrentDate(){const t=this.getCurrentDateAppointments().filter((t=>!t.disabled));if(t.length>0){this.value=t[0].value;this.stzhChange.emit({component:"stzh-appointments",value:this.value})}}async componentWillLoad(){this.appointmentsWatcher(this.appointments);if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"appointments")}if(!this.dateAdapter){this.dateAdapter=window.stzhComponents.utils.createFormatParseAdapter(this.localization.$formats,this.localization.$globals)}}componentWillRender(){const t=this.getCurrentDateAppointments();this.appointmentsShown=t.slice(0,this.showItems);this.showMoreLink=this.showItems<t.length;this.moreItemsLeft=t.length-this.showItems;this.showSortStart=t.map((t=>this.dateAdapter.format(t.start,"time"))).filter(((t,s,i)=>i.indexOf(t)==s)).length>1;this.showSortPlace=t.map((t=>t.place)).filter(((t,s,i)=>i.indexOf(t)==s)).length>1;this.sortOptions=[];if(this.showSortStart){this.sortOptions.push({text:this.localization.sortByTime,value:"start"})}if(this.showSortPlace){this.sortOptions.push({text:this.localization.sortByPlace,value:"place"})}this.showSort=this.appointmentsShown.length>1;this._sortBy=this.showSortStart&&!this.showSortPlace&&"start"||!this.showSortStart&&this.showSortPlace&&"place"||this.sortBy}componentDidRender(){if(this.datepickerElement){this.datepickerElement.setDate(this._currentDate)}if(this.datepickerElementMedium){this.datepickerElementMedium.setDate(this._currentDate)}}render(){const t={"stzh-appointments":true,"stzh-appointments--has-calendar":this.showCalendar,"stzh-appointments--has-appointments-title":this.showAppointmentsTitle,"stzh-appointments--has-sort":this.showSort};return i(e,null,i("div",{class:t},i("div",{class:"stzh-appointments__wrapper"},this.showCalendar&&i("div",{class:"stzh-appointments__calendar-wrapper"},i("div",{class:"stzh-appointments__calendar-title-wrapper"},i("div",{class:"stzh-appointments__calendar-title"},i("stzh-icon",{class:"stzh-appointments__calendar-icon",name:"calendar"}),i("stzh-text",{font:"heavy"},this.calendarTitle||this.localization.calendarTitle))),i("div",{class:"stzh-appointments__calendar-content"},i("stzh-datepicker",{ref:t=>this.datepickerElement=t,onStzhChange:this.onDatepickerChange,label:this.localization.datepickerLabel,calendarIsDateDisabled:this.isDateDisabled,calendarMin:h(this.earliestDate),calendarMax:h(this.latestDate)},i("stzh-link",{slot:"action",disabled:!this.nextDate,onClick:this.onNextActiveDateClick},i("stzh-text",{size:"milli"},this.localization.nextDayWithAppointments)))),i("div",{class:"stzh-appointments__calendar-content-medium"},i("stzh-datepicker",{ref:t=>this.datepickerElementMedium=t,onStzhChange:this.onDatepickerChange,inline:true,calendarIsDateDisabled:this.isDateDisabled,calendarMin:h(this.earliestDate),calendarMax:h(this.latestDate)},this.nextDate&&i("stzh-link",{slot:"action",onClick:this.onNextActiveDateClick},i("stzh-text",{size:"milli"},this.localization.nextDayWithAppointments))))),i("div",{class:"stzh-appointments__appointments-wrapper"},this.showAppointmentsTitle&&i("div",{class:"stzh-appointments__appointments-title-wrapper"},i("div",{class:"stzh-appointments__appointments-title"},i("stzh-icon",{class:"stzh-appointments__appointments-icon",name:"clock"}),i("stzh-text",{font:"heavy"},this.appointmentsTitle||this.localization.appointmentsTitle)),this.showSort&&i("div",{class:"stzh-appointments__sort"},i("stzh-dropdown",{inline:true,"no-search":true,class:"stzh-appointments__sort-dropdown",variant:"plain",size:"small",items:[this._sortBy],options:this.sortOptions,onStzhChange:this.onDropdownChange}))),i("div",{class:"stzh-appointments__appointments-content"},i("stzh-radiogroup",{ref:t=>this.inputElement=t,legend:this.localization.inputLegend,"hide-legend":true,name:this.name,value:this.value,preventUpdateProperties:["disabled"]},this.appointmentsShown.map((t=>i("stzh-radio",{onStzhChange:this.onRadioChange,value:t.value,disabled:typeof t.disabled!=="undefined"?t.disabled:false},i("stzh-text",{font:"heavy",size:"milli"},!this.showCalendar&&i("span",null,this.dateAdapter.format(t.start,"dateLong"),", "),this.dateAdapter.formatSpan(t.start,t.end,"time")),i("stzh-text",{size:"milli"},t.caption))))),this.showMoreLink&&i("stzh-link",{class:"stzh-appointments__more-link",onClick:this.onMoreClick},i("stzh-text",{size:"milli"},p(this.localization.moreTextItems,this.moreItemsLeft>this.stepItems?this.stepItems:this.moreItemsLeft))))))))}get element(){return n(this)}static get watchers(){return{currentDate:["currentDateWatcher"],sortBy:["sortByWatcher"],value:["valueWatcher"],appointments:["appointmentsWatcher"]}}};r.style=o;export{r as stzh_appointments};
2
- //# sourceMappingURL=p-7fdd98fe.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["tc","translation","count","parts","split","part","trim","length","replace","toString","stzhAppointmentsCss","StzhAppointments","this","showMoreLink","moreItemsLeft","showCalendar","showSort","showSortStart","showSortPlace","showAppointmentsTitle","allAppointsmentOnSameDay","sortOptions","isDateDisabled","date","dateHasAppointment","_appointments","find","appointment","start","getFullYear","getMonth","getDate","onNextActiveDateClick","async","nextDate","currentDate","popover","datepickerElement","getPopover","hide","onMoreClick","showItems","stepItems","radio","inputElement","querySelector","setFocus","onDropdownChange","event","target","sortBy","getValue","onDatepickerChange","detail","component","valueAsDate","onRadioChange","value","stzhChange","emit","currentDateWatcher","newValue","_currentDate","dateByValue","earliestDate","setValueToFirstAppointmentOfCurrentDate","parseISODate","sortByWatcher","valueWatcher","updateDateByValue","appointmentsWatcher","JSON","parse","forEach","Date","end","sort","a","b","latestDate","firstDate","map","every","getCurrentDateAppointments","indexOfLastCurrentDayDate","appointmentsCurrentDate","filter","index","dateIsInCurrentDay","appointments","disabled","componentWillLoad","localization","window","stzhComponents","utils","fetchTranslations","element","dateAdapter","createFormatParseAdapter","$formats","$globals","componentWillRender","appointmentsShown","slice","format","item","pos","self","indexOf","place","push","text","sortByTime","sortByPlace","_sortBy","componentDidRender","setDate","datepickerElementMedium","render","classes","h","Host","class","name","font","calendarTitle","ref","el","onStzhChange","label","datepickerLabel","calendarIsDateDisabled","calendarMin","printISODate","calendarMax","slot","onClick","size","nextDayWithAppointments","inline","appointmentsTitle","variant","items","options","legend","inputLegend","preventUpdateProperties","formatSpan","caption","moreTextItems"],"sources":["src/utils/translation-utils.ts","src/components/stzh-appointments/stzh-appointments.scss?tag=stzh-appointments&encapsulation=scoped","src/components/stzh-appointments/stzh-appointments.tsx"],"sourcesContent":["import {\n StzhDateFormat,\n StzhDateParse\n} from \"./date-adapter\";\n\nexport type StzhLocaleFormats = {\n datetime?: {\n format: string | StzhDateFormat,\n parse: string | StzhDateParse\n },\n datetimeLong?: {\n format: string | StzhDateFormat,\n parse: string | StzhDateParse\n },\n datetimeInput?: {\n format: string | StzhDateFormat,\n parse: string | StzhDateParse\n },\n date?: {\n format: string | StzhDateFormat,\n parse: string | StzhDateParse\n },\n dateLong?: {\n format: string | StzhDateFormat,\n parse: string | StzhDateParse\n },\n dateInput?: {\n format: string | StzhDateFormat,\n parse: string | StzhDateParse\n },\n time?: {\n format: string | StzhDateFormat,\n parse: string | StzhDateParse\n },\n timeInput?: {\n format: string | StzhDateFormat,\n parse: string | StzhDateParse\n },\n}\n\ntype MonthsNames = [string, string, string, string, string, string, string, string, string, string, string, string]\ntype DayNames = [string, string, string, string, string, string, string]\n\nexport type StzhLocaleGlobals = {\n dateRange: string,\n timeRange: string,\n externalLinkLabel: string\n downloadLinkLabel: string\n requiredFieldMarker: string\n requiredFieldText: string\n optionalFieldMarker: string\n optionalFieldText: string\n invalidFieldText: string\n clearButtonLabel: string\n moreInfoButtonLabel: string\n dayNames: DayNames\n monthNames: MonthsNames\n monthNamesShort: MonthsNames\n}\n\nexport type StzhLocaleComponent = {\n $locale: \"de\" | \"en\",\n $formats: StzhLocaleFormats,\n $globals: StzhLocaleGlobals\n}\n\nexport function tc(translation: string, count: number): string {\n if (!translation) {\n return \"\";\n }\n\n const parts = translation.split('|');\n let part = parts[0].trim();\n\n if (parts.length === 3 && count === 1) {\n part = parts[1].trim();\n } else if (parts.length === 3 && count > 1) {\n part = parts[2].trim();\n }\n\n if (parts.length === 2 && count !== 1) {\n part = parts[1].trim();\n }\n\n return part.replace(/\\{n\\}/ig, count.toString());\n}\n",".stzh-appointments {\n &__wrapper {\n display: flex;\n flex-direction: column;\n\n @include mq($from: medium) {\n flex-direction: row;\n }\n }\n\n &__calendar-wrapper {\n display: flex;\n flex-direction: column;\n\n @include mq($from: medium) {\n margin-right: space('large');\n }\n }\n\n &__appointments-wrapper {\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n }\n\n &__calendar-title-wrapper,\n &__appointments-title-wrapper {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n margin-bottom: space('xsmall');\n\n @include mq($from: medium) {\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n margin-bottom: space('medium');\n height: space('xxlarge');\n }\n }\n\n &__calendar-title,\n &__appointments-title {\n display: flex;\n }\n\n &__calendar-icon,\n &__appointments-icon {\n margin-right: space('xsmall');\n display: none;\n\n @include mq($from: medium) {\n display: inline-flex;\n }\n }\n\n &__calendar-content-medium,\n &__appointments-content {\n background-color: $colorWhite;\n border: 1px solid $colorGrey13;\n border-radius: 2px;\n }\n\n &__calendar-content {\n @include mq($from: medium) {\n display: none;\n }\n }\n\n &__calendar-content-medium {\n display: none;\n padding: space('medium');\n\n @include mq($from: medium) {\n display: block;\n }\n }\n\n &__appointments-content {\n padding: space('xlarge');\n flex-grow: 1;\n }\n\n &__more-link {\n margin-top: space('medium');\n }\n\n &--has-calendar &__appointments-wrapper {\n margin-top: space('large');\n\n @include mq($from: medium) {\n margin-top: 0;\n }\n }\n}\n","import {\n Component,\n Host,\n Element,\n Prop,\n h,\n Watch,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n\nimport {\n StzhAppointmentsChangeEvent,\n StzhRadioChangeEvent,\n StzhDatepickerChangeEvent,\n StzhDropdownChangeEvent,\n} from \"../../index\";\n\nimport { tc } from \"../../utils/translation-utils\";\n\nimport { printISODate, parseISODate } from \"../../utils/date-utils\";\nimport { StzhLocaleAdapter } from \"../../utils/date-adapter\";\n\nimport { StzhAppointmentsLocalizedText } from \"./stzh-appointments.localization\"\n\n/**\n * @slot - Slot for any content\n */\n@Component({\n tag: \"stzh-appointments\",\n styleUrl: \"stzh-appointments.scss\",\n scoped: true\n})\nexport class StzhAppointments {\n /** Translation strings */\n @Prop() localization: StzhAppointmentsLocalizedText;\n\n /** Sort by */\n @Prop({ mutable: true }) sortBy: \"start\" | \"place\" = \"start\";\n private _sortBy: \"start\" | \"place\";\n\n /** Initial selected values */\n @Prop() appointments: any[] | string = [];\n private _appointments: any[];\n private appointmentsShown: any[];\n\n /** Current selected date (if undefined, earliest appointment date in list is taken or current selected one by value) */\n @Prop({ mutable: true }) currentDate: Date | string;\n private _currentDate: Date;\n\n /* Selected appointment by value */\n @Prop({ mutable: true }) value: string = \"\";\n\n /* Name of radiogroup form element */\n @Prop({ reflect: true }) name: string = \"appointment\";\n\n /** Nr of items shown */\n @Prop({ mutable: true }) showItems: number = 5;\n\n /** Nr of items shown when more link is clicked */\n @Prop() stepItems: number = 5;\n\n /** Overwrite default calendar title */\n @Prop() calendarTitle = \"\";\n\n /** Overwrite default appointments title */\n @Prop() appointmentsTitle = \"\";\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 @Element() element: HTMLStzhAppointmentsElement;\n\n /** Appointments change event */\n @Event() stzhChange: EventEmitter<StzhAppointmentsChangeEvent>;\n\n @Watch(\"currentDate\")\n currentDateWatcher(newValue: Date | string) {\n if (!newValue) {\n this._currentDate = this.dateByValue || this.earliestDate;\n\n if (!this.dateByValue) {\n this.setValueToFirstAppointmentOfCurrentDate();\n }\n } else if (typeof newValue === \"string\") {\n this._currentDate = parseISODate(newValue);\n this.setValueToFirstAppointmentOfCurrentDate();\n } else {\n this._currentDate = newValue;\n this.setValueToFirstAppointmentOfCurrentDate();\n }\n }\n\n @Watch(\"sortBy\")\n sortByWatcher() {\n this.setValueToFirstAppointmentOfCurrentDate();\n }\n\n @Watch(\"value\")\n valueWatcher() {\n this.updateDateByValue();\n // update current date if user has not choosen one\n this.currentDateWatcher(this.currentDate);\n }\n\n @Watch(\"appointments\")\n appointmentsWatcher(newValue: any[] | string) {\n if (typeof newValue === \"string\") {\n this._appointments = JSON.parse(newValue);\n } else {\n this._appointments = newValue;\n }\n\n // convert start and end field to date\n this._appointments.forEach(appointment => {\n appointment.start = new Date(appointment.start);\n appointment.end = new Date(appointment.end);\n })\n\n if (this._appointments.length > 0) {\n // sort with start field and find earliest and latest date\n this._appointments.sort((a, b) => a['start'] > b['start'] ? 1 : -1);\n this.earliestDate = this._appointments[0].start;\n this.latestDate = this._appointments[this._appointments.length - 1].start;\n this.updateDateByValue();\n }\n\n // determine whether all appointments are from the same day\n if (this._appointments.length > 1) {\n const firstDate = this._appointments[0].start;\n this.allAppointsmentOnSameDay = this._appointments\n .map(appointment => appointment.start)\n .every(date => `${date.getFullYear()}-${date.getMonth()}-${date.getDate()}`\n === `${firstDate.getFullYear()}-${firstDate.getMonth()}-${firstDate.getDate()}`);\n }\n\n // update flags\n this.showCalendar = !this.allAppointsmentOnSameDay;\n this.showAppointmentsTitle = this._appointments.length > 1;\n\n // update current date if user has not choosen one\n this.currentDateWatcher(this.currentDate);\n }\n\n private dateByValue: Date;\n private earliestDate: Date;\n private latestDate: Date;\n private nextDate: Date;\n\n private showMoreLink: boolean = false;\n private moreItemsLeft: number = 0;\n private showCalendar: boolean = false;\n private showSort: boolean = false;\n private showSortStart: boolean = false;\n private showSortPlace: boolean = false;\n private showAppointmentsTitle: boolean = false;\n private allAppointsmentOnSameDay: boolean = true;\n private sortOptions = [];\n\n private inputElement: HTMLStzhRadiogroupElement;\n private datepickerElement: HTMLStzhDatepickerElement;\n private datepickerElementMedium: HTMLStzhDatepickerElement;\n\n private updateDateByValue() {\n this.dateByValue = this.value\n && this._appointments\n .find(appointment => appointment.value === this.value)\n .start;\n }\n\n private getCurrentDateAppointments() {\n let indexOfLastCurrentDayDate = 0;\n\n // filter to current date appointments that can be shown\n const appointmentsCurrentDate = this._appointments\n .filter((appointment, index) => {\n const dateIsInCurrentDay = appointment.start.getFullYear() === this._currentDate.getFullYear()\n && appointment.start.getMonth() === this._currentDate.getMonth()\n && appointment.start.getDate() === this._currentDate.getDate();\n\n if (dateIsInCurrentDay) {\n indexOfLastCurrentDayDate = index;\n }\n\n return dateIsInCurrentDay;\n });\n\n // find next day with dates or set to null\n if (this._appointments[indexOfLastCurrentDayDate + 1]) {\n this.nextDate = this._appointments[indexOfLastCurrentDayDate + 1].start;\n } else {\n this.nextDate = null;\n }\n\n // sort\n appointmentsCurrentDate.sort((a, b) => a[this.sortBy] > b[this.sortBy] ? 1 : -1);\n return appointmentsCurrentDate;\n }\n\n private setValueToFirstAppointmentOfCurrentDate() {\n // choose the first available appointment from current date\n const appointments = this.getCurrentDateAppointments()\n .filter(appointment => !appointment.disabled)\n\n if (appointments.length > 0) {\n this.value = appointments[0].value;\n this.stzhChange.emit({\n component: \"stzh-appointments\",\n value: this.value\n });\n }\n }\n\n private isDateDisabled = (date: Date) => {\n const dateHasAppointment: boolean = !!this._appointments.find(appointment => {\n return appointment.start.getFullYear() === date.getFullYear()\n && appointment.start.getMonth() === date.getMonth()\n && appointment.start.getDate() === date.getDate();\n });\n\n return !dateHasAppointment;\n }\n\n private onNextActiveDateClick = async () => {\n if (this.nextDate) {\n this.currentDate = this.nextDate;\n\n const popover = await this.datepickerElement.getPopover();\n\n if (popover) {\n popover.hide();\n }\n }\n }\n\n private onMoreClick = () => {\n this.showItems = this.stepItems + this.showItems;\n\n // return focus to radiogroup\n const radio = this.inputElement.querySelector('stzh-radio');\n radio.setFocus();\n }\n\n private onDropdownChange = async (event: CustomEvent<StzhDropdownChangeEvent>) => {\n const target: HTMLStzhDropdownElement = event.target as HTMLStzhDropdownElement;\n\n const sortBy = await target.getValue() as \"start\" | \"place\" | \"\";\n\n if (sortBy) {\n this.sortBy = sortBy;\n }\n }\n\n private onDatepickerChange = (event: CustomEvent<StzhDatepickerChangeEvent>) => {\n if (event.detail.component !== 'stzh-datepicker' || !event.detail.valueAsDate) {\n return;\n }\n\n this.currentDate = event.detail.valueAsDate;\n // reset number of items that should be shown\n this.showItems = this.stepItems;\n }\n\n private onRadioChange = (event: CustomEvent<StzhRadioChangeEvent>) => {\n this.value = event.detail.value;\n this.stzhChange.emit({\n component: \"stzh-appointments\",\n value: this.value\n });\n }\n\n async componentWillLoad() {\n this.appointmentsWatcher(this.appointments);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"appointments\");\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\n componentWillRender() {\n const appointments = this.getCurrentDateAppointments();\n\n // slice to max that should be visible\n this.appointmentsShown = appointments.slice(0, this.showItems);\n\n // set flags\n this.showMoreLink = this.showItems < appointments.length;\n this.moreItemsLeft = appointments.length - this.showItems;\n\n // don't show time sort when only one time in the current day\n this.showSortStart = appointments\n .map(appointment => {\n return this.dateAdapter.format(appointment.start, \"time\");\n }).filter((item, pos, self) => {\n return self.indexOf(item) == pos;\n }).length > 1;\n\n // don't show place sort when only one place in the current day\n this.showSortPlace = appointments\n .map(appointment => {\n return appointment.place;\n }).filter((item, pos, self) => {\n return self.indexOf(item) == pos;\n }).length > 1;\n\n this.sortOptions = [];\n\n if (this.showSortStart) {\n this.sortOptions.push({\n text: this.localization.sortByTime,\n value: \"start\"\n });\n }\n\n if (this.showSortPlace) {\n this.sortOptions.push({\n text: this.localization.sortByPlace,\n value: \"place\"\n });\n }\n\n this.showSort = this.appointmentsShown.length > 1;\n\n // determine sort (force alternative sorting if it makes sense)\n this._sortBy =\n (this.showSortStart && !this.showSortPlace && \"start\")\n || (!this.showSortStart && this.showSortPlace && \"place\")\n || this.sortBy;\n }\n\n componentDidRender() {\n // set datepickers values to current date\n if (this.datepickerElement) {\n this.datepickerElement.setDate(this._currentDate);\n }\n\n if (this.datepickerElementMedium) {\n this.datepickerElementMedium.setDate(this._currentDate);\n }\n }\n\n render() {\n const classes = {\n \"stzh-appointments\": true,\n \"stzh-appointments--has-calendar\": this.showCalendar,\n \"stzh-appointments--has-appointments-title\": this.showAppointmentsTitle,\n \"stzh-appointments--has-sort\": this.showSort\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"stzh-appointments__wrapper\">\n {this.showCalendar &&\n <div class=\"stzh-appointments__calendar-wrapper\">\n <div class=\"stzh-appointments__calendar-title-wrapper\">\n <div class=\"stzh-appointments__calendar-title\">\n <stzh-icon class=\"stzh-appointments__calendar-icon\" name=\"calendar\"></stzh-icon>\n <stzh-text font=\"heavy\">{this.calendarTitle || this.localization.calendarTitle}</stzh-text>\n </div>\n </div>\n <div class=\"stzh-appointments__calendar-content\">\n <stzh-datepicker\n ref={(el) => (this.datepickerElement = el as HTMLStzhDatepickerElement)}\n onStzhChange={this.onDatepickerChange}\n label={this.localization.datepickerLabel}\n calendarIsDateDisabled={this.isDateDisabled}\n calendarMin={printISODate(this.earliestDate)}\n calendarMax={printISODate(this.latestDate)}\n >\n <stzh-link\n slot=\"action\"\n disabled={!this.nextDate}\n onClick={this.onNextActiveDateClick}\n >\n <stzh-text size=\"milli\">\n {this.localization.nextDayWithAppointments}\n </stzh-text>\n </stzh-link>\n </stzh-datepicker>\n </div>\n <div class=\"stzh-appointments__calendar-content-medium\">\n <stzh-datepicker\n ref={(el) => (this.datepickerElementMedium = el as HTMLStzhDatepickerElement)}\n onStzhChange={this.onDatepickerChange}\n inline\n calendarIsDateDisabled={this.isDateDisabled}\n calendarMin={printISODate(this.earliestDate)}\n calendarMax={printISODate(this.latestDate)}\n >\n {this.nextDate &&\n <stzh-link\n slot=\"action\"\n onClick={this.onNextActiveDateClick}\n >\n <stzh-text size=\"milli\">\n {this.localization.nextDayWithAppointments}\n </stzh-text>\n </stzh-link>\n }\n </stzh-datepicker>\n </div>\n </div>\n }\n <div class=\"stzh-appointments__appointments-wrapper\">\n {this.showAppointmentsTitle &&\n <div class=\"stzh-appointments__appointments-title-wrapper\">\n <div class=\"stzh-appointments__appointments-title\">\n <stzh-icon class=\"stzh-appointments__appointments-icon\" name=\"clock\"></stzh-icon>\n <stzh-text font=\"heavy\">{this.appointmentsTitle || this.localization.appointmentsTitle}</stzh-text>\n </div>\n {this.showSort &&\n <div class=\"stzh-appointments__sort\">\n <stzh-dropdown\n inline\n no-search\n class=\"stzh-appointments__sort-dropdown\"\n variant=\"plain\"\n size=\"small\"\n items={[this._sortBy]}\n options={this.sortOptions}\n onStzhChange={this.onDropdownChange}\n ></stzh-dropdown>\n </div>\n }\n </div>\n }\n\n <div class=\"stzh-appointments__appointments-content\">\n <stzh-radiogroup\n ref={(el) => this.inputElement = el as HTMLStzhRadiogroupElement}\n legend={this.localization.inputLegend}\n hide-legend\n name={this.name}\n value={this.value}\n preventUpdateProperties={[\"disabled\"]}\n >\n {this.appointmentsShown.map((appointment) =>\n <stzh-radio\n onStzhChange={this.onRadioChange}\n value={appointment.value}\n disabled={typeof appointment.disabled !== \"undefined\" ? appointment.disabled : false}\n >\n <stzh-text font=\"heavy\" size=\"milli\">\n {!this.showCalendar && <span>{this.dateAdapter.format(appointment.start, \"dateLong\")},&nbsp;</span>}\n {this.dateAdapter.formatSpan(appointment.start, appointment.end, \"time\")}\n </stzh-text>\n <stzh-text size=\"milli\">{appointment.caption}</stzh-text>\n </stzh-radio>\n )}\n </stzh-radiogroup>\n\n {this.showMoreLink &&\n <stzh-link\n class=\"stzh-appointments__more-link\"\n onClick={this.onMoreClick}\n >\n <stzh-text size=\"milli\">\n {tc(this.localization.moreTextItems,\n this.moreItemsLeft > this.stepItems\n ? this.stepItems\n : this.moreItemsLeft)}\n </stzh-text>\n </stzh-link>\n }\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}