@oiz/stzh-components 3.2.0 → 3.3.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 (289) hide show
  1. package/dist/cjs/{app-globals-d07dad99.js → app-globals-c314a0a4.js} +2 -2
  2. package/dist/cjs/{app-globals-d07dad99.js.map → app-globals-c314a0a4.js.map} +1 -1
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/stzh-accordion_3.cjs.entry.js +1 -1
  5. package/dist/cjs/stzh-actions.cjs.entry.js +1 -1
  6. package/dist/cjs/stzh-app-bar.cjs.entry.js +1 -1
  7. package/dist/cjs/stzh-appointments.cjs.entry.js +10 -5
  8. package/dist/cjs/stzh-appointments.cjs.entry.js.map +1 -1
  9. package/dist/cjs/stzh-audio.cjs.entry.js +1 -1
  10. package/dist/cjs/stzh-badge_3.cjs.entry.js +1 -1
  11. package/dist/cjs/stzh-card-navigation.cjs.entry.js +1 -1
  12. package/dist/cjs/stzh-card-searchresult.cjs.entry.js +1 -1
  13. package/dist/cjs/stzh-card-superteaser.cjs.entry.js +1 -1
  14. package/dist/cjs/stzh-card_2.cjs.entry.js +1 -1
  15. package/dist/cjs/stzh-carousel.cjs.entry.js +1 -1
  16. package/dist/cjs/stzh-checkbox.cjs.entry.js +1 -1
  17. package/dist/cjs/stzh-checkboxgroup.cjs.entry.js +8 -2
  18. package/dist/cjs/stzh-checkboxgroup.cjs.entry.js.map +1 -1
  19. package/dist/cjs/stzh-components.cjs.js +2 -2
  20. package/dist/cjs/stzh-contact-cv.cjs.entry.js +1 -1
  21. package/dist/cjs/stzh-contact.cjs.entry.js +1 -1
  22. package/dist/cjs/stzh-cspace.cjs.entry.js +1 -1
  23. package/dist/cjs/stzh-cta.cjs.entry.js +1 -1
  24. package/dist/cjs/stzh-datatable.cjs.entry.js +1 -1
  25. package/dist/cjs/stzh-datepicker_3.cjs.entry.js +8 -2
  26. package/dist/cjs/stzh-datepicker_3.cjs.entry.js.map +1 -1
  27. package/dist/cjs/stzh-daterange.cjs.entry.js +1 -1
  28. package/dist/cjs/stzh-details.cjs.entry.js +1 -1
  29. package/dist/cjs/stzh-dialog.cjs.entry.js +1 -1
  30. package/dist/cjs/stzh-disturber.cjs.entry.js +1 -1
  31. package/dist/cjs/stzh-dropdown.cjs.entry.js +2 -2
  32. package/dist/cjs/stzh-dropdown.cjs.entry.js.map +1 -1
  33. package/dist/cjs/stzh-eventinfo.cjs.entry.js +1 -1
  34. package/dist/cjs/stzh-figure.cjs.entry.js +1 -1
  35. package/dist/cjs/stzh-footer.cjs.entry.js +1 -1
  36. package/dist/cjs/stzh-ghettobox_3.cjs.entry.js +1 -1
  37. package/dist/cjs/stzh-header.cjs.entry.js +1 -1
  38. package/dist/cjs/stzh-iframe.cjs.entry.js +1 -1
  39. package/dist/cjs/stzh-input.cjs.entry.js +1 -1
  40. package/dist/cjs/stzh-link.cjs.entry.js +1 -1
  41. package/dist/cjs/stzh-menu_2.cjs.entry.js +1 -1
  42. package/dist/cjs/stzh-pagecontent.cjs.entry.js +1 -1
  43. package/dist/cjs/stzh-pagetitle-hero.cjs.entry.js +1 -1
  44. package/dist/cjs/stzh-pagetitle-home.cjs.entry.js +1 -1
  45. package/dist/cjs/stzh-pagetitle.cjs.entry.js +1 -1
  46. package/dist/cjs/stzh-pi-content-navigation.cjs.entry.js +1 -1
  47. package/dist/cjs/stzh-pi-pagetitle.cjs.entry.js +1 -1
  48. package/dist/cjs/stzh-pi-teaser.cjs.entry.js +1 -1
  49. package/dist/cjs/stzh-popover_2.cjs.entry.js +5 -2
  50. package/dist/cjs/stzh-popover_2.cjs.entry.js.map +1 -1
  51. package/dist/cjs/stzh-print_2.cjs.entry.js +1 -1
  52. package/dist/cjs/stzh-readspeaker.cjs.entry.js +1 -1
  53. package/dist/cjs/stzh-scrollup.cjs.entry.js +1 -1
  54. package/dist/cjs/stzh-search.cjs.entry.js +1 -1
  55. package/dist/cjs/stzh-sticky-actions.cjs.entry.js +1 -1
  56. package/dist/cjs/stzh-sticky.cjs.entry.js +1 -1
  57. package/dist/cjs/stzh-table.cjs.entry.js +1 -1
  58. package/dist/cjs/stzh-textandimage.cjs.entry.js +1 -1
  59. package/dist/cjs/stzh-timeline-item.cjs.entry.js +1 -1
  60. package/dist/cjs/stzh-toast.cjs.entry.js +1 -1
  61. package/dist/cjs/stzh-toggle.cjs.entry.js +1 -1
  62. package/dist/cjs/stzh-tooltip.cjs.entry.js +1 -1
  63. package/dist/cjs/stzh-twocolumns.cjs.entry.js +1 -1
  64. package/dist/cjs/stzh-upload.cjs.entry.js +1 -1
  65. package/dist/cjs/{utils-d091c010.js → utils-475fb329.js} +2 -2
  66. package/dist/cjs/{utils-d091c010.js.map → utils-475fb329.js.map} +1 -1
  67. package/dist/collection/assets/media/icons/mono/file-add.svg +1 -0
  68. package/dist/collection/assets/media/icons/mono/send-plane.svg +1 -0
  69. package/dist/collection/assets/meta/icons-preview.html +10 -0
  70. package/dist/collection/components/stzh-appointments/stzh-appointments.js +27 -4
  71. package/dist/collection/components/stzh-appointments/stzh-appointments.js.map +1 -1
  72. package/dist/collection/components/stzh-appointments/stzh-appointments.stories.js +9 -0
  73. package/dist/collection/components/stzh-checkboxgroup/stzh-checkboxgroup.js +7 -1
  74. package/dist/collection/components/stzh-checkboxgroup/stzh-checkboxgroup.js.map +1 -1
  75. package/dist/collection/components/stzh-dropdown/stzh-dropdown.css +9 -6
  76. package/dist/collection/components/stzh-popover/stzh-popover.js +4 -1
  77. package/dist/collection/components/stzh-popover/stzh-popover.js.map +1 -1
  78. package/dist/collection/components/stzh-radiogroup/stzh-radiogroup.js +7 -1
  79. package/dist/collection/components/stzh-radiogroup/stzh-radiogroup.js.map +1 -1
  80. package/dist/collection/utils/utils.js +1 -1
  81. package/dist/collection/utils/utils.js.map +1 -1
  82. package/dist/components/index.js +1 -1
  83. package/dist/components/stzh-appointments.js +10 -4
  84. package/dist/components/stzh-appointments.js.map +1 -1
  85. package/dist/components/stzh-checkboxgroup.js +7 -1
  86. package/dist/components/stzh-checkboxgroup.js.map +1 -1
  87. package/dist/components/stzh-dropdown2.js +1 -1
  88. package/dist/components/stzh-dropdown2.js.map +1 -1
  89. package/dist/components/stzh-popover2.js +4 -1
  90. package/dist/components/stzh-popover2.js.map +1 -1
  91. package/dist/components/stzh-radiogroup2.js +7 -1
  92. package/dist/components/stzh-radiogroup2.js.map +1 -1
  93. package/dist/components/utils.js +1 -1
  94. package/dist/components/utils.js.map +1 -1
  95. package/dist/esm/{app-globals-b0bdc495.js → app-globals-b82e4e9d.js} +2 -2
  96. package/dist/esm/{app-globals-b0bdc495.js.map → app-globals-b82e4e9d.js.map} +1 -1
  97. package/dist/esm/loader.js +2 -2
  98. package/dist/esm/stzh-accordion_3.entry.js +1 -1
  99. package/dist/esm/stzh-actions.entry.js +1 -1
  100. package/dist/esm/stzh-app-bar.entry.js +1 -1
  101. package/dist/esm/stzh-appointments.entry.js +10 -5
  102. package/dist/esm/stzh-appointments.entry.js.map +1 -1
  103. package/dist/esm/stzh-audio.entry.js +1 -1
  104. package/dist/esm/stzh-badge_3.entry.js +1 -1
  105. package/dist/esm/stzh-card-navigation.entry.js +1 -1
  106. package/dist/esm/stzh-card-searchresult.entry.js +1 -1
  107. package/dist/esm/stzh-card-superteaser.entry.js +1 -1
  108. package/dist/esm/stzh-card_2.entry.js +1 -1
  109. package/dist/esm/stzh-carousel.entry.js +1 -1
  110. package/dist/esm/stzh-checkbox.entry.js +1 -1
  111. package/dist/esm/stzh-checkboxgroup.entry.js +8 -2
  112. package/dist/esm/stzh-checkboxgroup.entry.js.map +1 -1
  113. package/dist/esm/stzh-components.js +2 -2
  114. package/dist/esm/stzh-contact-cv.entry.js +1 -1
  115. package/dist/esm/stzh-contact.entry.js +1 -1
  116. package/dist/esm/stzh-cspace.entry.js +1 -1
  117. package/dist/esm/stzh-cta.entry.js +1 -1
  118. package/dist/esm/stzh-datatable.entry.js +1 -1
  119. package/dist/esm/stzh-datepicker_3.entry.js +8 -2
  120. package/dist/esm/stzh-datepicker_3.entry.js.map +1 -1
  121. package/dist/esm/stzh-daterange.entry.js +1 -1
  122. package/dist/esm/stzh-details.entry.js +1 -1
  123. package/dist/esm/stzh-dialog.entry.js +1 -1
  124. package/dist/esm/stzh-disturber.entry.js +1 -1
  125. package/dist/esm/stzh-dropdown.entry.js +2 -2
  126. package/dist/esm/stzh-dropdown.entry.js.map +1 -1
  127. package/dist/esm/stzh-eventinfo.entry.js +1 -1
  128. package/dist/esm/stzh-figure.entry.js +1 -1
  129. package/dist/esm/stzh-footer.entry.js +1 -1
  130. package/dist/esm/stzh-ghettobox_3.entry.js +1 -1
  131. package/dist/esm/stzh-header.entry.js +1 -1
  132. package/dist/esm/stzh-iframe.entry.js +1 -1
  133. package/dist/esm/stzh-input.entry.js +1 -1
  134. package/dist/esm/stzh-link.entry.js +1 -1
  135. package/dist/esm/stzh-menu_2.entry.js +1 -1
  136. package/dist/esm/stzh-pagecontent.entry.js +1 -1
  137. package/dist/esm/stzh-pagetitle-hero.entry.js +1 -1
  138. package/dist/esm/stzh-pagetitle-home.entry.js +1 -1
  139. package/dist/esm/stzh-pagetitle.entry.js +1 -1
  140. package/dist/esm/stzh-pi-content-navigation.entry.js +1 -1
  141. package/dist/esm/stzh-pi-pagetitle.entry.js +1 -1
  142. package/dist/esm/stzh-pi-teaser.entry.js +1 -1
  143. package/dist/esm/stzh-popover_2.entry.js +5 -2
  144. package/dist/esm/stzh-popover_2.entry.js.map +1 -1
  145. package/dist/esm/stzh-print_2.entry.js +1 -1
  146. package/dist/esm/stzh-readspeaker.entry.js +1 -1
  147. package/dist/esm/stzh-scrollup.entry.js +1 -1
  148. package/dist/esm/stzh-search.entry.js +1 -1
  149. package/dist/esm/stzh-sticky-actions.entry.js +1 -1
  150. package/dist/esm/stzh-sticky.entry.js +1 -1
  151. package/dist/esm/stzh-table.entry.js +1 -1
  152. package/dist/esm/stzh-textandimage.entry.js +1 -1
  153. package/dist/esm/stzh-timeline-item.entry.js +1 -1
  154. package/dist/esm/stzh-toast.entry.js +1 -1
  155. package/dist/esm/stzh-toggle.entry.js +1 -1
  156. package/dist/esm/stzh-tooltip.entry.js +1 -1
  157. package/dist/esm/stzh-twocolumns.entry.js +1 -1
  158. package/dist/esm/stzh-upload.entry.js +1 -1
  159. package/dist/esm/{utils-90658cfe.js → utils-4f9b3f37.js} +2 -2
  160. package/dist/esm/{utils-90658cfe.js.map → utils-4f9b3f37.js.map} +1 -1
  161. package/dist/stzh-components/assets/media/icons/mono/file-add.svg +1 -0
  162. package/dist/stzh-components/assets/media/icons/mono/send-plane.svg +1 -0
  163. package/dist/stzh-components/assets/meta/icons-preview.html +10 -0
  164. package/dist/stzh-components/{p-ab5ee55b.entry.js → p-04b2db82.entry.js} +2 -2
  165. package/dist/stzh-components/{p-0b15d79b.entry.js → p-0a26c99e.entry.js} +2 -2
  166. package/dist/stzh-components/{p-346d2f3d.entry.js → p-0da740fe.entry.js} +2 -2
  167. package/dist/stzh-components/{p-b397337c.entry.js → p-12d0d651.entry.js} +2 -2
  168. package/dist/stzh-components/{p-87f3052b.entry.js → p-132985b6.entry.js} +2 -2
  169. package/dist/stzh-components/{p-8273e37d.entry.js → p-17ede8f9.entry.js} +2 -2
  170. package/dist/stzh-components/{p-d46bbc8c.entry.js → p-1d9ba00c.entry.js} +2 -2
  171. package/dist/stzh-components/{p-63c76fd5.entry.js → p-1ecf4e9c.entry.js} +2 -2
  172. package/dist/stzh-components/{p-30a522e0.entry.js → p-231c5725.entry.js} +2 -2
  173. package/dist/stzh-components/{p-bfe8d5cc.entry.js → p-23881aac.entry.js} +2 -2
  174. package/dist/stzh-components/{p-82c53e4f.entry.js → p-24feb79f.entry.js} +2 -2
  175. package/dist/stzh-components/p-24feb79f.entry.js.map +1 -0
  176. package/dist/stzh-components/{p-d0ecdd5b.entry.js → p-287f518f.entry.js} +2 -2
  177. package/dist/stzh-components/{p-90772ec6.entry.js → p-288fd6f7.entry.js} +2 -2
  178. package/dist/stzh-components/{p-d48ecb2f.entry.js → p-3d3b7e7e.entry.js} +2 -2
  179. package/dist/stzh-components/{p-585551c1.entry.js → p-40181f45.entry.js} +2 -2
  180. package/dist/stzh-components/{p-12bffe97.entry.js → p-4303e779.entry.js} +3 -3
  181. package/dist/stzh-components/{p-12bffe97.entry.js.map → p-4303e779.entry.js.map} +1 -1
  182. package/dist/stzh-components/{p-85143b35.entry.js → p-4658be2c.entry.js} +2 -2
  183. package/dist/stzh-components/{p-4b0cb255.entry.js → p-50c2a221.entry.js} +2 -2
  184. package/dist/stzh-components/{p-67e61035.entry.js → p-535c5b7e.entry.js} +2 -2
  185. package/dist/stzh-components/{p-9c1b3929.entry.js → p-6200ab32.entry.js} +2 -2
  186. package/dist/stzh-components/{p-8a82bf60.entry.js → p-62990cff.entry.js} +2 -2
  187. package/dist/stzh-components/{p-32cb5b94.entry.js → p-68eb6a0f.entry.js} +2 -2
  188. package/dist/stzh-components/{p-24ea178a.entry.js → p-693b30c3.entry.js} +2 -2
  189. package/dist/stzh-components/p-69b647b4.entry.js +2 -0
  190. package/dist/stzh-components/{p-ce6dbd52.entry.js.map → p-69b647b4.entry.js.map} +1 -1
  191. package/dist/stzh-components/{p-b03f41c3.entry.js → p-6ccf25d4.entry.js} +2 -2
  192. package/dist/stzh-components/{p-bdff55a6.entry.js → p-6e29bc61.entry.js} +2 -2
  193. package/dist/stzh-components/{p-29c1cb5c.entry.js → p-70163fe3.entry.js} +2 -2
  194. package/dist/stzh-components/{p-13cd7748.entry.js → p-7d7ea996.entry.js} +2 -2
  195. package/dist/stzh-components/{p-9bc12eff.entry.js → p-8105fb2b.entry.js} +2 -2
  196. package/dist/stzh-components/{p-aa3e4203.entry.js → p-8768408c.entry.js} +2 -2
  197. package/dist/stzh-components/{p-09480ffe.entry.js → p-9150836d.entry.js} +2 -2
  198. package/dist/stzh-components/{p-3261eab4.entry.js → p-985590d7.entry.js} +2 -2
  199. package/dist/stzh-components/{p-ba716237.entry.js → p-9cd5463f.entry.js} +2 -2
  200. package/dist/stzh-components/{p-995bee31.entry.js → p-9cdd5e6f.entry.js} +2 -2
  201. package/dist/stzh-components/{p-f18978b5.entry.js → p-9eee36de.entry.js} +2 -2
  202. package/dist/stzh-components/{p-d7f1ed07.entry.js → p-a541744d.entry.js} +2 -2
  203. package/dist/stzh-components/{p-2812752a.entry.js → p-a77b49cb.entry.js} +2 -2
  204. package/dist/stzh-components/{p-346f8661.entry.js → p-a85458b6.entry.js} +2 -2
  205. package/dist/stzh-components/{p-0b0c7cb8.entry.js → p-b509dedd.entry.js} +2 -2
  206. package/dist/stzh-components/{p-b273f95c.entry.js → p-b608bf1a.entry.js} +2 -2
  207. package/dist/stzh-components/{p-1cbf5c84.entry.js → p-b62c870a.entry.js} +2 -2
  208. package/dist/stzh-components/{p-1cbf5c84.entry.js.map → p-b62c870a.entry.js.map} +1 -1
  209. package/dist/stzh-components/{p-6fffe2c8.entry.js → p-c4383f33.entry.js} +2 -2
  210. package/dist/stzh-components/{p-9e4f0532.entry.js → p-c533a50b.entry.js} +2 -2
  211. package/dist/stzh-components/{p-1c75b53f.entry.js → p-c9265a65.entry.js} +2 -2
  212. package/dist/stzh-components/{p-21f7064d.entry.js → p-d058fc1e.entry.js} +2 -2
  213. package/dist/stzh-components/{p-513b7fcd.entry.js → p-d1688313.entry.js} +2 -2
  214. package/dist/stzh-components/{p-ffbb7594.entry.js → p-d1aa8602.entry.js} +2 -2
  215. package/dist/stzh-components/{p-7b14ef7a.entry.js → p-d5e84340.entry.js} +2 -2
  216. package/dist/stzh-components/{p-e30a5acc.js → p-d789f265.js} +2 -2
  217. package/dist/stzh-components/p-d789f265.js.map +1 -0
  218. package/dist/stzh-components/p-d869745a.js +2 -0
  219. package/dist/stzh-components/{p-6e49f741.js.map → p-d869745a.js.map} +1 -1
  220. package/dist/stzh-components/{p-d7697cf8.entry.js → p-db46a3bf.entry.js} +2 -2
  221. package/dist/stzh-components/{p-16a2675e.entry.js → p-e04c7525.entry.js} +2 -2
  222. package/dist/stzh-components/{p-6e0c8764.entry.js → p-e60c4497.entry.js} +2 -2
  223. package/dist/stzh-components/p-e9933daa.entry.js +2 -0
  224. package/dist/stzh-components/p-e9933daa.entry.js.map +1 -0
  225. package/dist/stzh-components/{p-a249f3f6.entry.js → p-ee2401d8.entry.js} +2 -2
  226. package/dist/stzh-components/{p-f34720e2.entry.js → p-f0cf0932.entry.js} +2 -2
  227. package/dist/stzh-components/{p-c3816fd3.entry.js → p-fb077fd5.entry.js} +2 -2
  228. package/dist/stzh-components/stzh-components.esm.js +1 -1
  229. package/dist/stzh-components/stzh-components.esm.js.map +1 -1
  230. package/dist/types/components/stzh-appointments/stzh-appointments.d.ts +2 -0
  231. package/dist/types/components.d.ts +8 -0
  232. package/dist/vscode-data.json +5 -1
  233. package/package.json +1 -1
  234. package/dist/stzh-components/p-6e49f741.js +0 -2
  235. package/dist/stzh-components/p-82c53e4f.entry.js.map +0 -1
  236. package/dist/stzh-components/p-8b3828e7.entry.js +0 -2
  237. package/dist/stzh-components/p-8b3828e7.entry.js.map +0 -1
  238. package/dist/stzh-components/p-ce6dbd52.entry.js +0 -2
  239. package/dist/stzh-components/p-e30a5acc.js.map +0 -1
  240. /package/dist/stzh-components/{p-ab5ee55b.entry.js.map → p-04b2db82.entry.js.map} +0 -0
  241. /package/dist/stzh-components/{p-0b15d79b.entry.js.map → p-0a26c99e.entry.js.map} +0 -0
  242. /package/dist/stzh-components/{p-346d2f3d.entry.js.map → p-0da740fe.entry.js.map} +0 -0
  243. /package/dist/stzh-components/{p-b397337c.entry.js.map → p-12d0d651.entry.js.map} +0 -0
  244. /package/dist/stzh-components/{p-87f3052b.entry.js.map → p-132985b6.entry.js.map} +0 -0
  245. /package/dist/stzh-components/{p-8273e37d.entry.js.map → p-17ede8f9.entry.js.map} +0 -0
  246. /package/dist/stzh-components/{p-d46bbc8c.entry.js.map → p-1d9ba00c.entry.js.map} +0 -0
  247. /package/dist/stzh-components/{p-63c76fd5.entry.js.map → p-1ecf4e9c.entry.js.map} +0 -0
  248. /package/dist/stzh-components/{p-30a522e0.entry.js.map → p-231c5725.entry.js.map} +0 -0
  249. /package/dist/stzh-components/{p-bfe8d5cc.entry.js.map → p-23881aac.entry.js.map} +0 -0
  250. /package/dist/stzh-components/{p-d0ecdd5b.entry.js.map → p-287f518f.entry.js.map} +0 -0
  251. /package/dist/stzh-components/{p-90772ec6.entry.js.map → p-288fd6f7.entry.js.map} +0 -0
  252. /package/dist/stzh-components/{p-d48ecb2f.entry.js.map → p-3d3b7e7e.entry.js.map} +0 -0
  253. /package/dist/stzh-components/{p-585551c1.entry.js.map → p-40181f45.entry.js.map} +0 -0
  254. /package/dist/stzh-components/{p-85143b35.entry.js.map → p-4658be2c.entry.js.map} +0 -0
  255. /package/dist/stzh-components/{p-4b0cb255.entry.js.map → p-50c2a221.entry.js.map} +0 -0
  256. /package/dist/stzh-components/{p-67e61035.entry.js.map → p-535c5b7e.entry.js.map} +0 -0
  257. /package/dist/stzh-components/{p-9c1b3929.entry.js.map → p-6200ab32.entry.js.map} +0 -0
  258. /package/dist/stzh-components/{p-8a82bf60.entry.js.map → p-62990cff.entry.js.map} +0 -0
  259. /package/dist/stzh-components/{p-32cb5b94.entry.js.map → p-68eb6a0f.entry.js.map} +0 -0
  260. /package/dist/stzh-components/{p-24ea178a.entry.js.map → p-693b30c3.entry.js.map} +0 -0
  261. /package/dist/stzh-components/{p-b03f41c3.entry.js.map → p-6ccf25d4.entry.js.map} +0 -0
  262. /package/dist/stzh-components/{p-bdff55a6.entry.js.map → p-6e29bc61.entry.js.map} +0 -0
  263. /package/dist/stzh-components/{p-29c1cb5c.entry.js.map → p-70163fe3.entry.js.map} +0 -0
  264. /package/dist/stzh-components/{p-13cd7748.entry.js.map → p-7d7ea996.entry.js.map} +0 -0
  265. /package/dist/stzh-components/{p-9bc12eff.entry.js.map → p-8105fb2b.entry.js.map} +0 -0
  266. /package/dist/stzh-components/{p-aa3e4203.entry.js.map → p-8768408c.entry.js.map} +0 -0
  267. /package/dist/stzh-components/{p-09480ffe.entry.js.map → p-9150836d.entry.js.map} +0 -0
  268. /package/dist/stzh-components/{p-3261eab4.entry.js.map → p-985590d7.entry.js.map} +0 -0
  269. /package/dist/stzh-components/{p-ba716237.entry.js.map → p-9cd5463f.entry.js.map} +0 -0
  270. /package/dist/stzh-components/{p-995bee31.entry.js.map → p-9cdd5e6f.entry.js.map} +0 -0
  271. /package/dist/stzh-components/{p-f18978b5.entry.js.map → p-9eee36de.entry.js.map} +0 -0
  272. /package/dist/stzh-components/{p-d7f1ed07.entry.js.map → p-a541744d.entry.js.map} +0 -0
  273. /package/dist/stzh-components/{p-2812752a.entry.js.map → p-a77b49cb.entry.js.map} +0 -0
  274. /package/dist/stzh-components/{p-346f8661.entry.js.map → p-a85458b6.entry.js.map} +0 -0
  275. /package/dist/stzh-components/{p-0b0c7cb8.entry.js.map → p-b509dedd.entry.js.map} +0 -0
  276. /package/dist/stzh-components/{p-b273f95c.entry.js.map → p-b608bf1a.entry.js.map} +0 -0
  277. /package/dist/stzh-components/{p-6fffe2c8.entry.js.map → p-c4383f33.entry.js.map} +0 -0
  278. /package/dist/stzh-components/{p-9e4f0532.entry.js.map → p-c533a50b.entry.js.map} +0 -0
  279. /package/dist/stzh-components/{p-1c75b53f.entry.js.map → p-c9265a65.entry.js.map} +0 -0
  280. /package/dist/stzh-components/{p-21f7064d.entry.js.map → p-d058fc1e.entry.js.map} +0 -0
  281. /package/dist/stzh-components/{p-513b7fcd.entry.js.map → p-d1688313.entry.js.map} +0 -0
  282. /package/dist/stzh-components/{p-ffbb7594.entry.js.map → p-d1aa8602.entry.js.map} +0 -0
  283. /package/dist/stzh-components/{p-7b14ef7a.entry.js.map → p-d5e84340.entry.js.map} +0 -0
  284. /package/dist/stzh-components/{p-d7697cf8.entry.js.map → p-db46a3bf.entry.js.map} +0 -0
  285. /package/dist/stzh-components/{p-16a2675e.entry.js.map → p-e04c7525.entry.js.map} +0 -0
  286. /package/dist/stzh-components/{p-6e0c8764.entry.js.map → p-e60c4497.entry.js.map} +0 -0
  287. /package/dist/stzh-components/{p-a249f3f6.entry.js.map → p-ee2401d8.entry.js.map} +0 -0
  288. /package/dist/stzh-components/{p-f34720e2.entry.js.map → p-f0cf0932.entry.js.map} +0 -0
  289. /package/dist/stzh-components/{p-c3816fd3.entry.js.map → p-fb077fd5.entry.js.map} +0 -0
@@ -151,7 +151,10 @@ const StzhPopover = /*@__PURE__*/ proxyCustomElement(class StzhPopover extends H
151
151
  const threshold = 70;
152
152
  const isYSwipe = Math.abs(distY) >= threshold && Math.abs(distX) <= threshold;
153
153
  if (isYSwipe) {
154
- this.hide();
154
+ const isInDropdown = event.target.closest('.stzh-dropdown') !== null;
155
+ if (!isInDropdown) {
156
+ this.hide();
157
+ }
155
158
  }
156
159
  this.initialTouchY = null;
157
160
  this.initialTouchX = null;
@@ -1 +1 @@
1
- {"file":"stzh-popover2.js","mappings":"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","names":[],"sources":["src/components/stzh-popover/stzh-popover.scss?tag=stzh-popover&encapsulation=scoped","src/components/stzh-popover/stzh-popover.tsx"],"sourcesContent":["/**\n * @prop --width: Width of popover above small breakpoint\n * @prop --min-width: Minimum width of popover above small breakpoint\n * @prop --max-width: Maximum width of popover above small breakpoint\n * @prop --padding: Padding of popover\n * @prop --content-padding: Padding of popover content\n * @prop --border-radius: Border radius of popover\n * @prop --backdrop-opacity: Opacity of popover backdrop (used on mikro breakpoint)\n *\n * @prop --stzh-popover-width: **Global**: Width of popover above small breakpoint (default `223px`)\n * @prop --stzh-popover-min-width: **Global**: Minimum width of popover above small breakpoint (default `initial`)\n * @prop --stzh-popover-max-width: **Global**: Maximum width of popover above small breakpoint (default `initial`)\n * @prop --stzh-popover-padding: **Global**: Padding of popover (default `0px`)\n * @prop --stzh-popover-content-padding: **Global**: Padding of popover content (default `8px 0px`)\n * @prop --stzh-popover-border-radius: **Global**: Border radius of popover above small breakpoint (default `3px`)\n *\n * @prop --stzh-dialog-backdrop-opacity: **Global**: Opacity of backdrops\n * @prop --stzh-dialog-backdrop-background-color: **Global**: Background color of backdrops\n */\n\n:host {\n display: contents;\n\n --color: #{$colorBlack};\n --width: #{$popoverWidth};\n --min-width: #{$popoverMinWidth};\n --max-width: #{$popoverMaxWidth};\n --height: auto;\n --min-height: initial;\n --max-height: initial;\n --padding: #{$popoverPadding};\n --content-padding: #{$popoverContentPadding};\n --border-radius: #{$popoverBorderRadius};\n --background-color: #{$popoverBackgroundColor};\n --backdrop-opacity: #{$dialogBackdropOpacity};\n --backdrop-background-color: #{$dialogBackdropBackgroundColor};\n\n &[size=\"large\"] {\n --content-padding: #{$popoverLargeContentPadding};\n }\n\n &[variant=\"secondary\"] {\n --background-color: #{$colorSecondary20};\n }\n\n &[variant=\"tooltip\"] {\n --width: #{$tooltipWidth};\n --min-width: #{$tooltipMinWidth};\n --max-width: #{$tooltipMaxWidth};\n --content-padding: #{space('small')} #{space('large')};\n --border-radius: #{$tooltipBorderRadius};\n\n @include mq($from: small) {\n --content-padding: #{$tooltipPadding};\n --color: #{$colorWhite};\n --link-color: #{$colorWhite};\n --hover-link-color: #{$colorWhite70op};\n --background-color: #{$colorCoolgrey60};\n }\n }\n}\n\n.stzh-popover {\n @include tooltip-arrow;\n display: contents;\n\n &__trigger {\n display: contents;\n }\n\n &__content-wrapper {\n // position: absolute;\n // width: 100%;\n // height: 100%;\n // pointer-events: none;\n display: contents;\n\n @include mq($to: small) {\n z-index: $zIndexDialog;\n display: flex;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n flex-direction: column;\n align-items: stretch;\n justify-content: stretch;\n }\n }\n\n &__backdrop {\n display: contents;\n\n @include mq($to: small) {\n z-index: 1;\n position: absolute;\n display: block;\n top: 0px;\n left: 0px;\n width: 100%;\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n text-align: center;\n background-color: var(--backdrop-background-color);\n opacity: var(--backdrop-opacity);\n }\n }\n\n &__content {\n // pointer-events: all;\n display: contents;\n\n @include mq($to: small) {\n z-index: 2;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n flex-grow: 1;\n overflow: auto;\n }\n }\n\n &__dialog {\n margin-top: auto;\n width: 100%;\n overflow: visible;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n background-color: var(--background-color);\n touch-action: none;\n outline: none;\n border-bottom: 2px solid $colorOldGrey13;\n color: var(--color);\n\n --stzh-base-color: var(--color);\n --stzh-link-color: var(--link-color);\n // TODO: check with designer\n --stzh-link-hover-color: var(--hover-link-color);\n\n @include mq($from: small) {\n z-index: $zIndexPopover;\n position: absolute;\n display: flex;\n width: var(--width);\n min-width: var(--min-width);\n max-width: var(--max-width);\n // max-width: calc(100vw - var(--stzh-scrollbar-width) - #{space('small')});\n height: var(--height);\n min-height: var(--min-height);\n max-height: var(--max-height);\n left: auto;\n right: auto;\n bottom: auto;\n border-radius: var(--border-radius);\n box-shadow: $boxShadowPopover;\n border: none;\n }\n }\n\n &__content-inner,\n &__content-slot-wrapper {\n display: flex;\n flex-direction: column;\n width: 100%;\n }\n\n &__content-slot-wrapper {\n padding: var(--padding);\n }\n\n &__content-slot {\n overflow-y: auto;\n overflow-x: hidden;\n overflow-scrolling: touch;\n padding: var(--content-padding);\n }\n\n &__action-slot {\n display: flex;\n flex-direction: column;\n\n // &:not(:empty) {\n // margin: space('xsmall') space('small');\n // margin-bottom: space('medium');\n // }\n }\n\n &__label-wrapper {\n display: flex;\n align-items: center;\n padding: space('small') space('large');\n padding-right: space('medium');\n border-bottom: 1px solid $baseBorderColor;\n color: $colorOldGrey70;\n\n @include mq($from: small) {\n padding: 0;\n border-bottom: 0;\n }\n }\n\n &__label {\n @include font('heavy');\n @include fontCurve('p2');\n margin: 0;\n margin-right: space('small');\n\n @include mq($from: small) {\n @include visuallyhidden;\n }\n }\n\n &__close {\n visibility: $popoverCloseVisibility;\n cursor: pointer;\n display: flex;\n appearance: none;\n font-family: inherit;\n border: none;\n background-color: transparent;\n padding: 0;\n margin-left: auto;\n border-radius: 50%;\n color: $baseLeadColor;\n padding: space('xxsmall');\n }\n\n &__icon {\n --size: #{iconSize('xsmall')};\n }\n\n &__arrow {\n position: absolute;\n display: none;\n\n @include mq($from: small) {\n display: flex;\n }\n }\n\n &__vhidden {\n @include visuallyhidden;\n }\n\n /* Only non tooltip variants */\n\n &--default &__close,\n &--secondary &__close {\n &:focus {\n box-shadow: 0 0 0 1px $colorPrimary;\n }\n\n @include mq($from: small) {\n @include visuallyhiddenFocusable;\n position: absolute;\n top: 0;\n right: 0;\n transform: translate(30%, -30%);\n background-color: $colorOldGrey5;\n }\n }\n\n /* Tooltip variant */\n\n &--tooltip &__content-inner {\n @include mq($from: small) {\n flex-direction: row-reverse;\n align-items: flex-start;\n }\n }\n\n &--tooltip &__close {\n visibility: visible;\n\n @include mq($from: small) {\n @include tooltip__close;\n }\n }\n\n &--tooltip &__icon {\n @include mq($from: small) {\n @include tooltip__icon;\n }\n }\n\n &--tooltip &__dialog {\n @include mq($from: small) {\n @include tooltip-dropshadow;\n }\n }\n\n &--tooltip &__content-slot {\n @include mq($from: small) {\n @include tooltip-fontsize;\n }\n }\n\n /* Has fullwidth popover */\n\n &--popover-fullwidth-horizontal &__dialog {\n @include mq($from: small) {\n left: 0 !important;\n right: 0 !important;\n width: 100%;\n }\n }\n\n &--popover-fullwidth-vertical &__dialog {\n @include mq($from: small) {\n top: 0 !important;\n bottom: 0 !important;\n height: 100%;\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from \"@stencil/core\";\n\nimport {\n StzhPopoverClosedEvent,\n StzhPopoverCloseEvent,\n StzhPopoverOpenedEvent,\n StzhPopoverOpenEvent,\n} from \"../../index\";\n\nimport { arrow, autoUpdate, computePosition, flip, offset, Placement, shift } from \"@floating-ui/dom\";\n\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\nimport { isStzhElement } from \"../../utils/utils\";\nimport { addMediaChangeListener, media, removeMediaChangeListener } from \"../../utils/media-utils\";\nimport { waitForEvent } from \"../../utils/event-utils\";\nimport { animateTo, stopAnimations } from \"../../utils/animation-utils\";\n\nimport { StzhPopoverLocalizedText } from \"./stzh-popover.localization\";\n\nimport Arrow from \"../stzh-tooltip/assets/arrow.svg\";\n\nconst ANIMATION_SHOW_DURATION = 200;\nconst ANIMATION_HIDE_DURATION = 300;\nconst ANIMATION_SHOW_DURATION_SMALL = 100;\nconst ANIMATION_HIDE_DURATION_SMALL = 200;\n\nfunction animationContentWrapperShow() {\n const isSmall = media(\"small\").matches;\n return {\n keyframes: [{ opacity: \"0\" }, { opacity: \"1\" }],\n options: {\n duration: isSmall ? ANIMATION_SHOW_DURATION_SMALL : ANIMATION_SHOW_DURATION,\n easing: \"linear\",\n },\n };\n}\n\nfunction animationContentWrapperHide() {\n const isSmall = media(\"small\").matches;\n return {\n keyframes: [{ opacity: \"1\" }, { opacity: \"0\" }],\n options: {\n duration: isSmall ? ANIMATION_HIDE_DURATION_SMALL : ANIMATION_HIDE_DURATION,\n easing: \"linear\",\n },\n };\n}\n\nfunction animationDialogShow() {\n const isSmall = media(\"small\").matches;\n return {\n keyframes: [{ transform: isSmall ? \"translateY(-8px)\" : \"translateY(100%)\" }, { transform: \"translateY(0px)\" }],\n options: {\n duration: isSmall ? ANIMATION_SHOW_DURATION_SMALL : ANIMATION_SHOW_DURATION,\n easing: \"linear\",\n },\n };\n}\n\nfunction animationDialogHide() {\n const isSmall = media(\"small\").matches;\n return {\n keyframes: [{ transform: \"translateY(0px)\" }, { transform: isSmall ? \"translateY(-8px)\" : \"translateY(100%)\" }],\n options: {\n duration: isSmall ? ANIMATION_HIDE_DURATION_SMALL : ANIMATION_HIDE_DURATION,\n easing: \"linear\",\n },\n };\n}\n\nconst keyCode = {\n ESC: 27,\n};\n\nconst CLASS_BODY_OPEN = \"stzh-popover-open\";\n\nlet popoverCounter = 0;\n\n/**\n * @slot - Trigger element for popover\n * @slot content - Any element used as popover content\n * @slot action - `stzh-button` element\n * @slot label - Label for mobile view (alternative for label property)\n */\n@Component({\n tag: \"stzh-popover\",\n styleUrl: \"stzh-popover.scss\",\n scoped: true,\n})\nexport class StzhPopover {\n /** Whether popover should be open */\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n\n /** Default placement of popover relative to trigger element */\n @Prop({ reflect: true }) placement: Placement = \"bottom\";\n\n /** Whether to stretch popover to fullwith of parent */\n @Prop({ reflect: true }) fullwidth: \"horizontal\" | \"vertical\" | \"\" = \"\";\n\n /** Variant */\n @Prop({ reflect: true }) variant: \"default\" | \"secondary\" | \"tooltip\" = \"default\";\n\n /** Size */\n @Prop({ reflect: true }) size: \"default\" | \"large\" = \"default\";\n\n /** Shifting of popover content */\n @Prop() skidding: number = 0;\n\n /** Distance from popover content to trigger. \"8\" when default variant, \"16\" when tooltip variant, arrow height (8px) + spacing (4px) = 12. */\n @Prop() distance: number;\n\n /** Label for mobile view (use label slot as alternative) */\n @Prop() label: string = \"\";\n\n /** Position strategy */\n @Prop() strategy: \"absolute\" | \"fixed\" = \"absolute\";\n\n /** Translation strings. */\n @Prop() localization: StzhPopoverLocalizedText;\n\n @Element() element: HTMLStzhPopoverElement;\n\n /** Popover open event */\n @Event() stzhOpen: EventEmitter<StzhPopoverOpenEvent>;\n\n /** Popover opened event (after animation) */\n @Event() stzhOpened: EventEmitter<StzhPopoverOpenedEvent>;\n\n /** Popover close event */\n @Event() stzhClose: EventEmitter<StzhPopoverCloseEvent>;\n\n /** Popover closed event (after animation) */\n @Event() stzhClosed: EventEmitter<StzhPopoverClosedEvent>;\n\n private parentNode: Node;\n\n /** Show popover content */\n @Method()\n async show() {\n if (this.open) {\n return;\n }\n\n this.mediaChangeHandler();\n if (this.isHeaderStuckAndViewportMicro) {\n this.branchOutToBody();\n }\n\n this.toggledByMethod = true;\n this.open = true;\n return waitForEvent(this.element, \"stzhOpened\");\n }\n\n /** Hide popover content */\n @Method()\n async hide() {\n if (!this.open) {\n return;\n }\n\n this.toggledByMethod = true;\n this.open = false;\n\n await waitForEvent(this.element, \"stzhClosed\");\n\n this.mediaChangeHandler();\n if (this.isHeaderStuckAndViewportMicro) {\n this.branchInFromBody();\n }\n\n return true;\n }\n\n /** Toggle popover content */\n @Method()\n async toggle() {\n if (this.open) {\n return await this.hide();\n } else {\n return await this.show();\n }\n }\n\n @Method()\n async update() {\n return await this.computePosition();\n }\n\n @Listen(\"click\", { target: \"document\", capture: true })\n handleOutsideClick(event: MouseEvent) {\n if (!this.open) {\n return;\n }\n\n const isClickOutside =\n event.target !== this.dialogElement && this.dialogElement.contains(event.target as HTMLElement) === false;\n\n const isClickTrigger =\n event.target === this.triggerElement || this.triggerElement.contains(event.target as HTMLElement);\n\n if (isClickOutside && !isClickTrigger) {\n this.hide();\n }\n }\n\n @Watch(\"open\")\n async openWatcher(newValue: boolean) {\n if (!this.dialogElement) {\n return;\n }\n\n if (newValue) {\n if (this.toggledByMethod) {\n this.stzhOpen.emit({\n component: \"stzh-popover\",\n });\n }\n\n const animationShow = animationContentWrapperShow();\n const animationShowDialog = animationDialogShow();\n\n await Promise.all([\n stopAnimations(this.contentWrapperElement),\n stopAnimations(this.contentElement),\n stopAnimations(this.dialogElement),\n ]);\n\n // safari seems to need will-change,\n // otherwise it has problems animating the element with the drop shadow\n this.dialogElement.style.willChange = \"transform, opacity, position, top, left, bottom, right\";\n this.contentWrapperElement.hidden = false;\n\n await Promise.all([\n animateTo(\n media(\"small\").matches ? this.dialogElement : this.contentWrapperElement,\n animationShow.keyframes,\n animationShow.options\n ),\n animateTo(\n media(\"small\").matches ? this.dialogElement : this.contentElement,\n animationShowDialog.keyframes,\n animationShowDialog.options\n ),\n ]);\n\n if (this.toggledByMethod) {\n this.stzhOpened.emit({\n component: \"stzh-popover\",\n });\n }\n } else {\n if (this.toggledByMethod) {\n this.stzhClose.emit({\n component: \"stzh-popover\",\n });\n }\n\n const animationHide = animationContentWrapperHide();\n const animationHideDialog = animationDialogHide();\n\n await Promise.all([\n stopAnimations(this.contentWrapperElement),\n stopAnimations(this.contentElement),\n stopAnimations(this.dialogElement),\n ]);\n\n await Promise.all([\n animateTo(\n media(\"small\").matches ? this.dialogElement : this.contentWrapperElement,\n animationHide.keyframes,\n animationHide.options\n ),\n animateTo(\n media(\"small\").matches ? this.dialogElement : this.contentElement,\n animationHideDialog.keyframes,\n animationHideDialog.options\n ),\n ]);\n\n this.contentWrapperElement.hidden = true;\n this.dialogElement.style.willChange = \"auto\";\n\n if (this.toggledByMethod) {\n this.stzhClosed.emit({\n component: \"stzh-popover\",\n });\n }\n }\n\n this.toggledByMethod = false;\n }\n\n @Watch(\"distance\")\n distanceWatcher(newValue: number) {\n if (typeof newValue === \"number\") {\n this.distance = newValue;\n } else {\n this.distance = this.variant === \"tooltip\" ? 12 : 8;\n }\n }\n\n @State() computedPlacement: Placement;\n @State() isHeaderStuckAndViewportMicro: boolean;\n @State() isBranchedOutToBody: boolean;\n @State() hasStzhHeaderParent: boolean;\n\n private observer: MutationObserver;\n\n private contentWrapperElement: HTMLElement;\n private contentElement: HTMLElement;\n private arrowElement: HTMLElement;\n private rootElement: HTMLElement;\n private triggerElement: HTMLElement;\n private triggerFirstElement: HTMLElement;\n private dialogElement: HTMLElement;\n private autoUpdateCleanup: Function;\n\n private initialTouchX: number = null;\n private initialTouchY: number = null;\n\n private id: string;\n private trap: FocusTrap;\n private toggledByMethod: boolean;\n\n private setStzhHeaderParent(): boolean {\n let parent = this.element.parentElement;\n while (parent) {\n if (parent.tagName && parent.tagName.toLowerCase() === \"stzh-header\") {\n return true;\n }\n parent = parent.parentElement;\n }\n return false;\n }\n\n private mediaChangeHandler = () => {\n const isStzhHeaderStuck = document.documentElement.style.getPropertyValue(\"--stzh-header-is-stuck\");\n this.isHeaderStuckAndViewportMicro =\n !media(\"small\").matches && isStzhHeaderStuck === \"1\" && this.hasStzhHeaderParent;\n\n if (this.open && this.isBranchedOutToBody && !this.isHeaderStuckAndViewportMicro) {\n this.branchInFromBody();\n }\n };\n\n private branchOutToBody() {\n document.body.append(this.element);\n this.parentNode.appendChild(this.triggerElement);\n this.isBranchedOutToBody = true;\n }\n\n private branchInFromBody() {\n this.parentNode.appendChild(this.element);\n this.rootElement.prepend(this.triggerElement);\n this.isBranchedOutToBody = false;\n }\n\n private handleKeydown = (event: KeyboardEvent) => {\n if (event.keyCode === keyCode.ESC) {\n this.hide();\n }\n };\n\n private onClickTrigger = () => {\n this.toggle();\n };\n\n private computePosition = async () => {\n if (media(\"small\").matches) {\n const middleware = [\n offset({\n mainAxis: this.distance,\n crossAxis: this.skidding,\n }),\n flip({\n padding: 5,\n }),\n shift({\n padding: 5,\n }),\n ];\n\n if (this.variant === \"tooltip\") {\n middleware.push(\n arrow({\n element: this.arrowElement,\n padding: 5,\n })\n );\n }\n\n const {\n x = 0,\n y = 0,\n strategy = \"absolute\",\n placement,\n middlewareData,\n } = await computePosition(this.triggerFirstElement, this.dialogElement, {\n strategy: this.strategy,\n placement: this.placement,\n middleware,\n });\n\n this.computedPlacement = placement;\n\n Object.assign(this.dialogElement.style, {\n position: strategy,\n left: `${x}px`,\n top: `${y}px`,\n });\n\n if (this.variant === \"tooltip\") {\n Object.assign(this.arrowElement.style, {\n left: x != null ? `${middlewareData.arrow.x}px` : \"\",\n top: y != null ? `${middlewareData.arrow.y}px` : \"\",\n });\n }\n } else {\n Object.assign(this.dialogElement.style, {\n position: null,\n left: null,\n top: null,\n });\n\n if (this.variant === \"tooltip\") {\n Object.assign(this.arrowElement.style, {\n left: null,\n top: null,\n });\n }\n }\n };\n\n private handleTouchStart = (event: TouchEvent) => {\n const touch = event.changedTouches[0];\n this.initialTouchX = touch.pageX;\n this.initialTouchY = touch.pageY;\n };\n\n // private handleTouchMove = (event: TouchEvent) => {\n // event.preventDefault()\n // }\n\n private handleTouchEnd = (event: TouchEvent) => {\n const touch = event.changedTouches[0];\n const distX = touch.pageX - this.initialTouchX; // get horizontal dist traveled\n const distY = touch.pageY - this.initialTouchY; // get vertical dist traveled\n const threshold = 70;\n\n const isYSwipe = Math.abs(distY) >= threshold && Math.abs(distX) <= threshold;\n\n if (isYSwipe) {\n this.hide();\n }\n\n this.initialTouchY = null;\n this.initialTouchX = null;\n };\n\n private init = () => {\n let trigger = this.triggerElement?.firstElementChild as HTMLElement;\n\n if (!trigger) {\n const defaultSlot = Array.from(this.element.children).find(child => !child.hasAttribute(\"slot\")) as HTMLElement;\n\n trigger = defaultSlot;\n }\n\n if (trigger) {\n this.triggerFirstElement = trigger;\n trigger.addEventListener(\"click\", this.onClickTrigger);\n }\n };\n\n async componentWillLoad() {\n this.id = `stzh-popover-${popoverCounter++}`;\n this.parentNode = this.element.parentNode;\n this.hasStzhHeaderParent = this.setStzhHeaderParent();\n\n this.distanceWatcher(this.distance);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"popover\");\n }\n }\n\n private popoverShown() {\n document.body.classList.add(CLASS_BODY_OPEN);\n\n const isStzh = isStzhElement(this.triggerFirstElement);\n\n this.triggerFirstElement.setAttribute(isStzh ? \"a11y-expanded\" : \"aria-expanded\", \"true\");\n\n if (this.trap) {\n this.trap.activate();\n }\n }\n\n private popoverHidden() {\n document.body.classList.remove(CLASS_BODY_OPEN);\n\n const isStzh = isStzhElement(this.triggerFirstElement);\n\n this.triggerFirstElement.setAttribute(isStzh ? \"a11y-expanded\" : \"aria-expanded\", \"false\");\n\n if (this.trap) {\n this.trap.deactivate();\n }\n }\n\n componentDidRender() {\n this.computePosition();\n this.mediaChangeHandler();\n this.open ? this.popoverShown() : this.popoverHidden();\n\n const isStzh = isStzhElement(this.triggerFirstElement);\n\n if (\n (isStzh && !this.triggerFirstElement.getAttribute(\"a11y-describedby\")) ||\n (!isStzh && !this.triggerFirstElement.getAttribute(\"aria-describedby\"))\n ) {\n this.triggerFirstElement.setAttribute(\n isStzh ? \"a11y-describedby\" : \"aria-describedby\",\n `${this.id}-trigger-description`\n );\n }\n\n if (\n (isStzh && !this.triggerFirstElement.getAttribute(\"a11y-label\")) ||\n (!isStzh && !this.triggerFirstElement.getAttribute(\"aria-label\"))\n ) {\n this.triggerFirstElement.setAttribute(isStzh ? \"a11y-label\" : \"aria-label\", this.label);\n }\n\n if (\n (isStzh && !this.triggerFirstElement.getAttribute(\"analytics-id\")) ||\n (!isStzh && !this.triggerFirstElement.getAttribute(\"s-object-id\"))\n ) {\n this.triggerFirstElement.setAttribute(isStzh ? \"analytics-id\" : \"s-object-id\", this.label);\n }\n }\n\n componentDidUpdate() {\n this.trap.updateContainerElements(this.dialogElement);\n }\n\n componentDidLoad() {\n this.autoUpdateCleanup = autoUpdate(this.triggerFirstElement, this.dialogElement, this.computePosition);\n\n this.contentWrapperElement.hidden = !this.open;\n\n this.trap = createFocusTrap(this.dialogElement, {\n fallbackFocus: this.dialogElement,\n clickOutsideDeactivates: true,\n returnFocusOnDeactivate: true,\n });\n\n if (this.open) {\n this.popoverShown();\n }\n }\n\n connectedCallback() {\n addMediaChangeListener(this.mediaChangeHandler);\n this.init();\n\n this.observer = new MutationObserver(this.init);\n this.observer.observe(this.element, {\n childList: true,\n subtree: true,\n });\n }\n\n disconnectedCallback() {\n removeMediaChangeListener(this.mediaChangeHandler);\n if (this.observer) {\n this.observer.disconnect();\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n }\n\n if (this.triggerFirstElement) {\n this.triggerFirstElement.removeEventListener(\"click\", this.onClickTrigger);\n }\n }\n\n render() {\n const classes = {\n \"stzh-popover\": true,\n [`stzh-popover--open`]: this.open,\n [`stzh-popover--placement-${this.computedPlacement}`]: !!this.computedPlacement,\n [`stzh-popover--fullwidth-${this.fullwidth}`]: !!this.fullwidth,\n [`stzh-popover--${this.size}`]: !!this.size,\n [`stzh-popover--${this.variant}`]: !!this.variant,\n };\n\n return (\n <Host>\n <div\n class={classes}\n onTouchStart={this.handleTouchStart}\n onTouchEnd={this.handleTouchEnd}\n ref={el => (this.rootElement = el as HTMLDivElement)}\n >\n <div ref={el => (this.triggerElement = el as HTMLDivElement)} class=\"stzh-popover__trigger\">\n <slot></slot>\n </div>\n <div class=\"stzh-popover__vhidden\" id={`${this.id}-trigger-description`}>\n {this.localization.open}\n </div>\n <div ref={el => (this.contentWrapperElement = el as HTMLDivElement)} class=\"stzh-popover__content-wrapper\">\n <div class=\"stzh-popover__backdrop\"></div>\n <div ref={el => (this.contentElement = el as HTMLDivElement)} class=\"stzh-popover__content\">\n <div\n ref={el => (this.dialogElement = el as HTMLDivElement)}\n class=\"stzh-popover__dialog\"\n role=\"dialog\"\n tabindex=\"-1\"\n aria-modal=\"true\"\n aria-labelledby={this.label ? `${this.id}-label` : null}\n aria-hidden={this.open ? \"false\" : \"true\"}\n onKeyDown={this.handleKeydown}\n >\n {this.variant === \"tooltip\" && (\n <div\n class=\"stzh-popover__arrow\"\n ref={el => (this.arrowElement = el as HTMLDivElement)}\n innerHTML={Arrow}\n ></div>\n )}\n <div class=\"stzh-popover__content-inner\">\n <div class=\"stzh-popover__label-wrapper\">\n <h2 id={`${this.id}-label`} class=\"stzh-popover__label\">\n {this.label ? this.label : <slot name=\"label\"></slot>}\n </h2>\n <button class=\"stzh-popover__close\" onClick={() => this.hide()} type=\"button\">\n <stzh-icon name=\"close\" class=\"stzh-popover__icon\"></stzh-icon>\n <span class=\"stzh-popover__vhidden\">{this.localization.close}</span>\n </button>\n </div>\n <div class=\"stzh-popover__content-slot-wrapper\">\n <div class=\"stzh-popover__content-slot\">\n <slot name=\"content\"></slot>\n </div>\n <div class=\"stzh-popover__action-slot\">\n <slot name=\"action\"></slot>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"stzh-popover2.js","mappings":"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","names":[],"sources":["src/components/stzh-popover/stzh-popover.scss?tag=stzh-popover&encapsulation=scoped","src/components/stzh-popover/stzh-popover.tsx"],"sourcesContent":["/**\n * @prop --width: Width of popover above small breakpoint\n * @prop --min-width: Minimum width of popover above small breakpoint\n * @prop --max-width: Maximum width of popover above small breakpoint\n * @prop --padding: Padding of popover\n * @prop --content-padding: Padding of popover content\n * @prop --border-radius: Border radius of popover\n * @prop --backdrop-opacity: Opacity of popover backdrop (used on mikro breakpoint)\n *\n * @prop --stzh-popover-width: **Global**: Width of popover above small breakpoint (default `223px`)\n * @prop --stzh-popover-min-width: **Global**: Minimum width of popover above small breakpoint (default `initial`)\n * @prop --stzh-popover-max-width: **Global**: Maximum width of popover above small breakpoint (default `initial`)\n * @prop --stzh-popover-padding: **Global**: Padding of popover (default `0px`)\n * @prop --stzh-popover-content-padding: **Global**: Padding of popover content (default `8px 0px`)\n * @prop --stzh-popover-border-radius: **Global**: Border radius of popover above small breakpoint (default `3px`)\n *\n * @prop --stzh-dialog-backdrop-opacity: **Global**: Opacity of backdrops\n * @prop --stzh-dialog-backdrop-background-color: **Global**: Background color of backdrops\n */\n\n:host {\n display: contents;\n\n --color: #{$colorBlack};\n --width: #{$popoverWidth};\n --min-width: #{$popoverMinWidth};\n --max-width: #{$popoverMaxWidth};\n --height: auto;\n --min-height: initial;\n --max-height: initial;\n --padding: #{$popoverPadding};\n --content-padding: #{$popoverContentPadding};\n --border-radius: #{$popoverBorderRadius};\n --background-color: #{$popoverBackgroundColor};\n --backdrop-opacity: #{$dialogBackdropOpacity};\n --backdrop-background-color: #{$dialogBackdropBackgroundColor};\n\n &[size=\"large\"] {\n --content-padding: #{$popoverLargeContentPadding};\n }\n\n &[variant=\"secondary\"] {\n --background-color: #{$colorSecondary20};\n }\n\n &[variant=\"tooltip\"] {\n --width: #{$tooltipWidth};\n --min-width: #{$tooltipMinWidth};\n --max-width: #{$tooltipMaxWidth};\n --content-padding: #{space('small')} #{space('large')};\n --border-radius: #{$tooltipBorderRadius};\n\n @include mq($from: small) {\n --content-padding: #{$tooltipPadding};\n --color: #{$colorWhite};\n --link-color: #{$colorWhite};\n --hover-link-color: #{$colorWhite70op};\n --background-color: #{$colorCoolgrey60};\n }\n }\n}\n\n.stzh-popover {\n @include tooltip-arrow;\n display: contents;\n\n &__trigger {\n display: contents;\n }\n\n &__content-wrapper {\n // position: absolute;\n // width: 100%;\n // height: 100%;\n // pointer-events: none;\n display: contents;\n\n @include mq($to: small) {\n z-index: $zIndexDialog;\n display: flex;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n flex-direction: column;\n align-items: stretch;\n justify-content: stretch;\n }\n }\n\n &__backdrop {\n display: contents;\n\n @include mq($to: small) {\n z-index: 1;\n position: absolute;\n display: block;\n top: 0px;\n left: 0px;\n width: 100%;\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n text-align: center;\n background-color: var(--backdrop-background-color);\n opacity: var(--backdrop-opacity);\n }\n }\n\n &__content {\n // pointer-events: all;\n display: contents;\n\n @include mq($to: small) {\n z-index: 2;\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n flex-grow: 1;\n overflow: auto;\n }\n }\n\n &__dialog {\n margin-top: auto;\n width: 100%;\n overflow: visible;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n background-color: var(--background-color);\n touch-action: none;\n outline: none;\n border-bottom: 2px solid $colorOldGrey13;\n color: var(--color);\n\n --stzh-base-color: var(--color);\n --stzh-link-color: var(--link-color);\n // TODO: check with designer\n --stzh-link-hover-color: var(--hover-link-color);\n\n @include mq($from: small) {\n z-index: $zIndexPopover;\n position: absolute;\n display: flex;\n width: var(--width);\n min-width: var(--min-width);\n max-width: var(--max-width);\n // max-width: calc(100vw - var(--stzh-scrollbar-width) - #{space('small')});\n height: var(--height);\n min-height: var(--min-height);\n max-height: var(--max-height);\n left: auto;\n right: auto;\n bottom: auto;\n border-radius: var(--border-radius);\n box-shadow: $boxShadowPopover;\n border: none;\n }\n }\n\n &__content-inner,\n &__content-slot-wrapper {\n display: flex;\n flex-direction: column;\n width: 100%;\n }\n\n &__content-slot-wrapper {\n padding: var(--padding);\n }\n\n &__content-slot {\n overflow-y: auto;\n overflow-x: hidden;\n overflow-scrolling: touch;\n padding: var(--content-padding);\n }\n\n &__action-slot {\n display: flex;\n flex-direction: column;\n\n // &:not(:empty) {\n // margin: space('xsmall') space('small');\n // margin-bottom: space('medium');\n // }\n }\n\n &__label-wrapper {\n display: flex;\n align-items: center;\n padding: space('small') space('large');\n padding-right: space('medium');\n border-bottom: 1px solid $baseBorderColor;\n color: $colorOldGrey70;\n\n @include mq($from: small) {\n padding: 0;\n border-bottom: 0;\n }\n }\n\n &__label {\n @include font('heavy');\n @include fontCurve('p2');\n margin: 0;\n margin-right: space('small');\n\n @include mq($from: small) {\n @include visuallyhidden;\n }\n }\n\n &__close {\n visibility: $popoverCloseVisibility;\n cursor: pointer;\n display: flex;\n appearance: none;\n font-family: inherit;\n border: none;\n background-color: transparent;\n padding: 0;\n margin-left: auto;\n border-radius: 50%;\n color: $baseLeadColor;\n padding: space('xxsmall');\n }\n\n &__icon {\n --size: #{iconSize('xsmall')};\n }\n\n &__arrow {\n position: absolute;\n display: none;\n\n @include mq($from: small) {\n display: flex;\n }\n }\n\n &__vhidden {\n @include visuallyhidden;\n }\n\n /* Only non tooltip variants */\n\n &--default &__close,\n &--secondary &__close {\n &:focus {\n box-shadow: 0 0 0 1px $colorPrimary;\n }\n\n @include mq($from: small) {\n @include visuallyhiddenFocusable;\n position: absolute;\n top: 0;\n right: 0;\n transform: translate(30%, -30%);\n background-color: $colorOldGrey5;\n }\n }\n\n /* Tooltip variant */\n\n &--tooltip &__content-inner {\n @include mq($from: small) {\n flex-direction: row-reverse;\n align-items: flex-start;\n }\n }\n\n &--tooltip &__close {\n visibility: visible;\n\n @include mq($from: small) {\n @include tooltip__close;\n }\n }\n\n &--tooltip &__icon {\n @include mq($from: small) {\n @include tooltip__icon;\n }\n }\n\n &--tooltip &__dialog {\n @include mq($from: small) {\n @include tooltip-dropshadow;\n }\n }\n\n &--tooltip &__content-slot {\n @include mq($from: small) {\n @include tooltip-fontsize;\n }\n }\n\n /* Has fullwidth popover */\n\n &--popover-fullwidth-horizontal &__dialog {\n @include mq($from: small) {\n left: 0 !important;\n right: 0 !important;\n width: 100%;\n }\n }\n\n &--popover-fullwidth-vertical &__dialog {\n @include mq($from: small) {\n top: 0 !important;\n bottom: 0 !important;\n height: 100%;\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from \"@stencil/core\";\n\nimport {\n StzhPopoverClosedEvent,\n StzhPopoverCloseEvent,\n StzhPopoverOpenedEvent,\n StzhPopoverOpenEvent,\n} from \"../../index\";\n\nimport { arrow, autoUpdate, computePosition, flip, offset, Placement, shift } from \"@floating-ui/dom\";\n\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\nimport { isStzhElement } from \"../../utils/utils\";\nimport { addMediaChangeListener, media, removeMediaChangeListener } from \"../../utils/media-utils\";\nimport { waitForEvent } from \"../../utils/event-utils\";\nimport { animateTo, stopAnimations } from \"../../utils/animation-utils\";\n\nimport { StzhPopoverLocalizedText } from \"./stzh-popover.localization\";\n\nimport Arrow from \"../stzh-tooltip/assets/arrow.svg\";\n\nconst ANIMATION_SHOW_DURATION = 200;\nconst ANIMATION_HIDE_DURATION = 300;\nconst ANIMATION_SHOW_DURATION_SMALL = 100;\nconst ANIMATION_HIDE_DURATION_SMALL = 200;\n\nfunction animationContentWrapperShow() {\n const isSmall = media(\"small\").matches;\n return {\n keyframes: [{ opacity: \"0\" }, { opacity: \"1\" }],\n options: {\n duration: isSmall ? ANIMATION_SHOW_DURATION_SMALL : ANIMATION_SHOW_DURATION,\n easing: \"linear\",\n },\n };\n}\n\nfunction animationContentWrapperHide() {\n const isSmall = media(\"small\").matches;\n return {\n keyframes: [{ opacity: \"1\" }, { opacity: \"0\" }],\n options: {\n duration: isSmall ? ANIMATION_HIDE_DURATION_SMALL : ANIMATION_HIDE_DURATION,\n easing: \"linear\",\n },\n };\n}\n\nfunction animationDialogShow() {\n const isSmall = media(\"small\").matches;\n return {\n keyframes: [{ transform: isSmall ? \"translateY(-8px)\" : \"translateY(100%)\" }, { transform: \"translateY(0px)\" }],\n options: {\n duration: isSmall ? ANIMATION_SHOW_DURATION_SMALL : ANIMATION_SHOW_DURATION,\n easing: \"linear\",\n },\n };\n}\n\nfunction animationDialogHide() {\n const isSmall = media(\"small\").matches;\n return {\n keyframes: [{ transform: \"translateY(0px)\" }, { transform: isSmall ? \"translateY(-8px)\" : \"translateY(100%)\" }],\n options: {\n duration: isSmall ? ANIMATION_HIDE_DURATION_SMALL : ANIMATION_HIDE_DURATION,\n easing: \"linear\",\n },\n };\n}\n\nconst keyCode = {\n ESC: 27,\n};\n\nconst CLASS_BODY_OPEN = \"stzh-popover-open\";\n\nlet popoverCounter = 0;\n\n/**\n * @slot - Trigger element for popover\n * @slot content - Any element used as popover content\n * @slot action - `stzh-button` element\n * @slot label - Label for mobile view (alternative for label property)\n */\n@Component({\n tag: \"stzh-popover\",\n styleUrl: \"stzh-popover.scss\",\n scoped: true,\n})\nexport class StzhPopover {\n /** Whether popover should be open */\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n\n /** Default placement of popover relative to trigger element */\n @Prop({ reflect: true }) placement: Placement = \"bottom\";\n\n /** Whether to stretch popover to fullwith of parent */\n @Prop({ reflect: true }) fullwidth: \"horizontal\" | \"vertical\" | \"\" = \"\";\n\n /** Variant */\n @Prop({ reflect: true }) variant: \"default\" | \"secondary\" | \"tooltip\" = \"default\";\n\n /** Size */\n @Prop({ reflect: true }) size: \"default\" | \"large\" = \"default\";\n\n /** Shifting of popover content */\n @Prop() skidding: number = 0;\n\n /** Distance from popover content to trigger. \"8\" when default variant, \"16\" when tooltip variant, arrow height (8px) + spacing (4px) = 12. */\n @Prop() distance: number;\n\n /** Label for mobile view (use label slot as alternative) */\n @Prop() label: string = \"\";\n\n /** Position strategy */\n @Prop() strategy: \"absolute\" | \"fixed\" = \"absolute\";\n\n /** Translation strings. */\n @Prop() localization: StzhPopoverLocalizedText;\n\n @Element() element: HTMLStzhPopoverElement;\n\n /** Popover open event */\n @Event() stzhOpen: EventEmitter<StzhPopoverOpenEvent>;\n\n /** Popover opened event (after animation) */\n @Event() stzhOpened: EventEmitter<StzhPopoverOpenedEvent>;\n\n /** Popover close event */\n @Event() stzhClose: EventEmitter<StzhPopoverCloseEvent>;\n\n /** Popover closed event (after animation) */\n @Event() stzhClosed: EventEmitter<StzhPopoverClosedEvent>;\n\n private parentNode: Node;\n\n /** Show popover content */\n @Method()\n async show() {\n if (this.open) {\n return;\n }\n\n this.mediaChangeHandler();\n if (this.isHeaderStuckAndViewportMicro) {\n this.branchOutToBody();\n }\n\n this.toggledByMethod = true;\n this.open = true;\n return waitForEvent(this.element, \"stzhOpened\");\n }\n\n /** Hide popover content */\n @Method()\n async hide() {\n if (!this.open) {\n return;\n }\n\n this.toggledByMethod = true;\n this.open = false;\n\n await waitForEvent(this.element, \"stzhClosed\");\n\n this.mediaChangeHandler();\n if (this.isHeaderStuckAndViewportMicro) {\n this.branchInFromBody();\n }\n\n return true;\n }\n\n /** Toggle popover content */\n @Method()\n async toggle() {\n if (this.open) {\n return await this.hide();\n } else {\n return await this.show();\n }\n }\n\n @Method()\n async update() {\n return await this.computePosition();\n }\n\n @Listen(\"click\", { target: \"document\", capture: true })\n handleOutsideClick(event: MouseEvent) {\n if (!this.open) {\n return;\n }\n\n const isClickOutside =\n event.target !== this.dialogElement && this.dialogElement.contains(event.target as HTMLElement) === false;\n\n const isClickTrigger =\n event.target === this.triggerElement || this.triggerElement.contains(event.target as HTMLElement);\n\n if (isClickOutside && !isClickTrigger) {\n this.hide();\n }\n }\n\n @Watch(\"open\")\n async openWatcher(newValue: boolean) {\n if (!this.dialogElement) {\n return;\n }\n\n if (newValue) {\n if (this.toggledByMethod) {\n this.stzhOpen.emit({\n component: \"stzh-popover\",\n });\n }\n\n const animationShow = animationContentWrapperShow();\n const animationShowDialog = animationDialogShow();\n\n await Promise.all([\n stopAnimations(this.contentWrapperElement),\n stopAnimations(this.contentElement),\n stopAnimations(this.dialogElement),\n ]);\n\n // safari seems to need will-change,\n // otherwise it has problems animating the element with the drop shadow\n this.dialogElement.style.willChange = \"transform, opacity, position, top, left, bottom, right\";\n this.contentWrapperElement.hidden = false;\n\n await Promise.all([\n animateTo(\n media(\"small\").matches ? this.dialogElement : this.contentWrapperElement,\n animationShow.keyframes,\n animationShow.options\n ),\n animateTo(\n media(\"small\").matches ? this.dialogElement : this.contentElement,\n animationShowDialog.keyframes,\n animationShowDialog.options\n ),\n ]);\n\n if (this.toggledByMethod) {\n this.stzhOpened.emit({\n component: \"stzh-popover\",\n });\n }\n } else {\n if (this.toggledByMethod) {\n this.stzhClose.emit({\n component: \"stzh-popover\",\n });\n }\n\n const animationHide = animationContentWrapperHide();\n const animationHideDialog = animationDialogHide();\n\n await Promise.all([\n stopAnimations(this.contentWrapperElement),\n stopAnimations(this.contentElement),\n stopAnimations(this.dialogElement),\n ]);\n\n await Promise.all([\n animateTo(\n media(\"small\").matches ? this.dialogElement : this.contentWrapperElement,\n animationHide.keyframes,\n animationHide.options\n ),\n animateTo(\n media(\"small\").matches ? this.dialogElement : this.contentElement,\n animationHideDialog.keyframes,\n animationHideDialog.options\n ),\n ]);\n\n this.contentWrapperElement.hidden = true;\n this.dialogElement.style.willChange = \"auto\";\n\n if (this.toggledByMethod) {\n this.stzhClosed.emit({\n component: \"stzh-popover\",\n });\n }\n }\n\n this.toggledByMethod = false;\n }\n\n @Watch(\"distance\")\n distanceWatcher(newValue: number) {\n if (typeof newValue === \"number\") {\n this.distance = newValue;\n } else {\n this.distance = this.variant === \"tooltip\" ? 12 : 8;\n }\n }\n\n @State() computedPlacement: Placement;\n @State() isHeaderStuckAndViewportMicro: boolean;\n @State() isBranchedOutToBody: boolean;\n @State() hasStzhHeaderParent: boolean;\n\n private observer: MutationObserver;\n\n private contentWrapperElement: HTMLElement;\n private contentElement: HTMLElement;\n private arrowElement: HTMLElement;\n private rootElement: HTMLElement;\n private triggerElement: HTMLElement;\n private triggerFirstElement: HTMLElement;\n private dialogElement: HTMLElement;\n private autoUpdateCleanup: Function;\n\n private initialTouchX: number = null;\n private initialTouchY: number = null;\n\n private id: string;\n private trap: FocusTrap;\n private toggledByMethod: boolean;\n\n private setStzhHeaderParent(): boolean {\n let parent = this.element.parentElement;\n while (parent) {\n if (parent.tagName && parent.tagName.toLowerCase() === \"stzh-header\") {\n return true;\n }\n parent = parent.parentElement;\n }\n return false;\n }\n\n private mediaChangeHandler = () => {\n const isStzhHeaderStuck = document.documentElement.style.getPropertyValue(\"--stzh-header-is-stuck\");\n this.isHeaderStuckAndViewportMicro =\n !media(\"small\").matches && isStzhHeaderStuck === \"1\" && this.hasStzhHeaderParent;\n\n if (this.open && this.isBranchedOutToBody && !this.isHeaderStuckAndViewportMicro) {\n this.branchInFromBody();\n }\n };\n\n private branchOutToBody() {\n document.body.append(this.element);\n this.parentNode.appendChild(this.triggerElement);\n this.isBranchedOutToBody = true;\n }\n\n private branchInFromBody() {\n this.parentNode.appendChild(this.element);\n this.rootElement.prepend(this.triggerElement);\n this.isBranchedOutToBody = false;\n }\n\n private handleKeydown = (event: KeyboardEvent) => {\n if (event.keyCode === keyCode.ESC) {\n this.hide();\n }\n };\n\n private onClickTrigger = () => {\n this.toggle();\n };\n\n private computePosition = async () => {\n if (media(\"small\").matches) {\n const middleware = [\n offset({\n mainAxis: this.distance,\n crossAxis: this.skidding,\n }),\n flip({\n padding: 5,\n }),\n shift({\n padding: 5,\n }),\n ];\n\n if (this.variant === \"tooltip\") {\n middleware.push(\n arrow({\n element: this.arrowElement,\n padding: 5,\n })\n );\n }\n\n const {\n x = 0,\n y = 0,\n strategy = \"absolute\",\n placement,\n middlewareData,\n } = await computePosition(this.triggerFirstElement, this.dialogElement, {\n strategy: this.strategy,\n placement: this.placement,\n middleware,\n });\n\n this.computedPlacement = placement;\n\n Object.assign(this.dialogElement.style, {\n position: strategy,\n left: `${x}px`,\n top: `${y}px`,\n });\n\n if (this.variant === \"tooltip\") {\n Object.assign(this.arrowElement.style, {\n left: x != null ? `${middlewareData.arrow.x}px` : \"\",\n top: y != null ? `${middlewareData.arrow.y}px` : \"\",\n });\n }\n } else {\n Object.assign(this.dialogElement.style, {\n position: null,\n left: null,\n top: null,\n });\n\n if (this.variant === \"tooltip\") {\n Object.assign(this.arrowElement.style, {\n left: null,\n top: null,\n });\n }\n }\n };\n\n private handleTouchStart = (event: TouchEvent) => {\n const touch = event.changedTouches[0];\n this.initialTouchX = touch.pageX;\n this.initialTouchY = touch.pageY;\n };\n\n // private handleTouchMove = (event: TouchEvent) => {\n // event.preventDefault()\n // }\n\n private handleTouchEnd = (event: TouchEvent) => {\n const touch = event.changedTouches[0];\n const distX = touch.pageX - this.initialTouchX; // get horizontal dist traveled\n const distY = touch.pageY - this.initialTouchY; // get vertical dist traveled\n const threshold = 70;\n\n const isYSwipe = Math.abs(distY) >= threshold && Math.abs(distX) <= threshold;\n\n if (isYSwipe) {\n const isInDropdown = (event.target as HTMLElement).closest('.stzh-dropdown') !== null;\n if (!isInDropdown){\n this.hide();\n }\n }\n\n this.initialTouchY = null;\n this.initialTouchX = null;\n };\n\n private init = () => {\n let trigger = this.triggerElement?.firstElementChild as HTMLElement;\n\n if (!trigger) {\n const defaultSlot = Array.from(this.element.children).find(child => !child.hasAttribute(\"slot\")) as HTMLElement;\n\n trigger = defaultSlot;\n }\n\n if (trigger) {\n this.triggerFirstElement = trigger;\n trigger.addEventListener(\"click\", this.onClickTrigger);\n }\n };\n\n async componentWillLoad() {\n this.id = `stzh-popover-${popoverCounter++}`;\n this.parentNode = this.element.parentNode;\n this.hasStzhHeaderParent = this.setStzhHeaderParent();\n\n this.distanceWatcher(this.distance);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"popover\");\n }\n }\n\n private popoverShown() {\n document.body.classList.add(CLASS_BODY_OPEN);\n\n const isStzh = isStzhElement(this.triggerFirstElement);\n\n this.triggerFirstElement.setAttribute(isStzh ? \"a11y-expanded\" : \"aria-expanded\", \"true\");\n\n if (this.trap) {\n this.trap.activate();\n }\n }\n\n private popoverHidden() {\n document.body.classList.remove(CLASS_BODY_OPEN);\n\n const isStzh = isStzhElement(this.triggerFirstElement);\n\n this.triggerFirstElement.setAttribute(isStzh ? \"a11y-expanded\" : \"aria-expanded\", \"false\");\n\n if (this.trap) {\n this.trap.deactivate();\n }\n }\n\n componentDidRender() {\n this.computePosition();\n this.mediaChangeHandler();\n this.open ? this.popoverShown() : this.popoverHidden();\n\n const isStzh = isStzhElement(this.triggerFirstElement);\n\n if (\n (isStzh && !this.triggerFirstElement.getAttribute(\"a11y-describedby\")) ||\n (!isStzh && !this.triggerFirstElement.getAttribute(\"aria-describedby\"))\n ) {\n this.triggerFirstElement.setAttribute(\n isStzh ? \"a11y-describedby\" : \"aria-describedby\",\n `${this.id}-trigger-description`\n );\n }\n\n if (\n (isStzh && !this.triggerFirstElement.getAttribute(\"a11y-label\")) ||\n (!isStzh && !this.triggerFirstElement.getAttribute(\"aria-label\"))\n ) {\n this.triggerFirstElement.setAttribute(isStzh ? \"a11y-label\" : \"aria-label\", this.label);\n }\n\n if (\n (isStzh && !this.triggerFirstElement.getAttribute(\"analytics-id\")) ||\n (!isStzh && !this.triggerFirstElement.getAttribute(\"s-object-id\"))\n ) {\n this.triggerFirstElement.setAttribute(isStzh ? \"analytics-id\" : \"s-object-id\", this.label);\n }\n }\n\n componentDidUpdate() {\n this.trap.updateContainerElements(this.dialogElement);\n }\n\n componentDidLoad() {\n this.autoUpdateCleanup = autoUpdate(this.triggerFirstElement, this.dialogElement, this.computePosition);\n\n this.contentWrapperElement.hidden = !this.open;\n\n this.trap = createFocusTrap(this.dialogElement, {\n fallbackFocus: this.dialogElement,\n clickOutsideDeactivates: true,\n returnFocusOnDeactivate: true,\n });\n\n if (this.open) {\n this.popoverShown();\n }\n }\n\n connectedCallback() {\n addMediaChangeListener(this.mediaChangeHandler);\n this.init();\n\n this.observer = new MutationObserver(this.init);\n this.observer.observe(this.element, {\n childList: true,\n subtree: true,\n });\n }\n\n disconnectedCallback() {\n removeMediaChangeListener(this.mediaChangeHandler);\n if (this.observer) {\n this.observer.disconnect();\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n }\n\n if (this.triggerFirstElement) {\n this.triggerFirstElement.removeEventListener(\"click\", this.onClickTrigger);\n }\n }\n\n render() {\n const classes = {\n \"stzh-popover\": true,\n [`stzh-popover--open`]: this.open,\n [`stzh-popover--placement-${this.computedPlacement}`]: !!this.computedPlacement,\n [`stzh-popover--fullwidth-${this.fullwidth}`]: !!this.fullwidth,\n [`stzh-popover--${this.size}`]: !!this.size,\n [`stzh-popover--${this.variant}`]: !!this.variant,\n };\n\n return (\n <Host>\n <div\n class={classes}\n onTouchStart={this.handleTouchStart}\n onTouchEnd={this.handleTouchEnd}\n ref={el => (this.rootElement = el as HTMLDivElement)}\n >\n <div ref={el => (this.triggerElement = el as HTMLDivElement)} class=\"stzh-popover__trigger\">\n <slot></slot>\n </div>\n <div class=\"stzh-popover__vhidden\" id={`${this.id}-trigger-description`}>\n {this.localization.open}\n </div>\n <div ref={el => (this.contentWrapperElement = el as HTMLDivElement)} class=\"stzh-popover__content-wrapper\">\n <div class=\"stzh-popover__backdrop\"></div>\n <div ref={el => (this.contentElement = el as HTMLDivElement)} class=\"stzh-popover__content\">\n <div\n ref={el => (this.dialogElement = el as HTMLDivElement)}\n class=\"stzh-popover__dialog\"\n role=\"dialog\"\n tabindex=\"-1\"\n aria-modal=\"true\"\n aria-labelledby={this.label ? `${this.id}-label` : null}\n aria-hidden={this.open ? \"false\" : \"true\"}\n onKeyDown={this.handleKeydown}\n >\n {this.variant === \"tooltip\" && (\n <div\n class=\"stzh-popover__arrow\"\n ref={el => (this.arrowElement = el as HTMLDivElement)}\n innerHTML={Arrow}\n ></div>\n )}\n <div class=\"stzh-popover__content-inner\">\n <div class=\"stzh-popover__label-wrapper\">\n <h2 id={`${this.id}-label`} class=\"stzh-popover__label\">\n {this.label ? this.label : <slot name=\"label\"></slot>}\n </h2>\n <button class=\"stzh-popover__close\" onClick={() => this.hide()} type=\"button\">\n <stzh-icon name=\"close\" class=\"stzh-popover__icon\"></stzh-icon>\n <span class=\"stzh-popover__vhidden\">{this.localization.close}</span>\n </button>\n </div>\n <div class=\"stzh-popover__content-slot-wrapper\">\n <div class=\"stzh-popover__content-slot\">\n <slot name=\"content\"></slot>\n </div>\n <div class=\"stzh-popover__action-slot\">\n <slot name=\"action\"></slot>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -99,7 +99,13 @@ const StzhRadiogroup = /*@__PURE__*/ proxyCustomElement(class StzhRadiogroup ext
99
99
  }
100
100
  updateRadiosProperty(prop, value) {
101
101
  this.radios.forEach((radio) => {
102
- if (prop === "name" || this._preventUpdateProperties.indexOf(prop) === -1) {
102
+ if (prop === "disabled") {
103
+ // Only set the disabled if the radio is not already disabled
104
+ if (!radio.disabled) {
105
+ radio.disabled = value;
106
+ }
107
+ }
108
+ else if (prop === "name" || this._preventUpdateProperties.indexOf(prop) === -1) {
103
109
  radio[camelCase(prop)] = value;
104
110
  }
105
111
  });
@@ -1 +1 @@
1
- {"file":"stzh-radiogroup2.js","mappings":"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","names":[],"sources":["src/components/stzh-radiogroup/stzh-radiogroup.scss?tag=stzh-radiogroup&encapsulation=scoped","src/components/stzh-radiogroup/stzh-radiogroup.tsx"],"sourcesContent":[":host {\n &[disabled]:not([disabled=\"false\"]) {\n --description-color: #{$formDisabledColor};\n }\n}\n\n.stzh-radiogroup {\n @include input-description;\n margin: 0;\n padding: 0;\n border: none;\n\n &__fields {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n gap: space('medium');\n }\n\n &__legend {\n @include font('heavy');\n @include fontSize('micro');\n color: $headingColor;\n padding: 0;\n margin-bottom: space('xsmall');\n }\n\n &__marker {\n @include fontSize('nano');\n margin-left: calc(-0.25em + #{space('xsmall')});\n }\n\n &--hide-legend &__legend {\n @include visuallyhidden;\n }\n\n &--direction-horizontal &__fields {\n flex-wrap: wrap;\n flex-direction: row;\n row-gap: space('medium');\n column-gap: space('xxlarge');\n }\n}\n","import { Component, Element, h, Host, Listen, Prop, Watch } from \"@stencil/core\";\n\nimport { StzhRadioChangeEvent } from \"../../index\";\n\nimport { hasSlot } from \"../../utils/utils\";\nimport { camelCase } from \"../../utils/string-utils\";\nimport { StzhLocaleComponent } from \"../../utils/translation-utils\";\n\nimport { StzhInputDescription } from \"../stzh-input/stzh-input-description\";\n\nconst SELECTOR_RADIO = \"stzh-radio, stzh-button[type=radio], stzh-card\";\n\nlet radiogroupCounter = 0;\n\n/**\n * @slot - Slot for `stzh-radio`, `stzh-button[type=\"radio\"]` or `stzh-card` elements\n * @slot description - Slot for description\n * @slot description-long - Slot for long description (in popover)\n * @slot description-long-title - Slot for long description title (in popover) / instead of descriptionLongTitle or description property\n * @slot error - Slot for error\n */\n@Component({\n tag: \"stzh-radiogroup\",\n styleUrl: \"stzh-radiogroup.scss\",\n scoped: true,\n})\nexport class StzhRadiogroup {\n /** Translation strings */\n @Prop() localization: StzhLocaleComponent;\n\n /** Whether the element is disabled or not */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** The name of the input radio elements, will define the radio group. If you have more than one radio group on a page, every group needs to have its own unique name */\n @Prop({ reflect: true }) name: string;\n\n /** The legend */\n @Prop() legend: string;\n\n /** Hide legend to show only for screenreaders */\n @Prop({ reflect: true }) hideLegend: boolean = false;\n\n /** Invalid status */\n @Prop({ reflect: true }) invalid: boolean = false;\n\n /** Required status */\n @Prop({ reflect: true }) required: boolean = false;\n\n /** Hide `(optional)` label (or use `required` inside form to hide it) */\n @Prop({ reflect: true }) hideOptional: boolean = false;\n\n /** Select a radio by value */\n @Prop({ mutable: true }) value: string = \"\";\n\n /** Default value (used by reset) */\n @Prop({ mutable: true }) defaultValue: string = \"\";\n\n /** Direction */\n @Prop({ reflect: true }) direction: \"vertical\" | \"horizontal\" = \"vertical\";\n\n /** Description message (use description slot as alternative) */\n @Prop() description: string;\n\n /** Long description message appearing in a popover (use description-long slot as alternative) */\n @Prop() descriptionLong: string;\n\n /** Long description title appearing in a popover (use description-long-title slot as or description property alternative) */\n @Prop() descriptionLongTitle: string;\n\n /** One or multiple error message (use error slot as alternative) */\n @Prop() error: string | string[];\n private _error: string[];\n\n /** Current checked radio element (readonly) */\n @Prop() checkedRadio: HTMLStzhRadioElement | null = null;\n\n /** Prevent updating certain properties of radio elements (possible values inside array: disabled, invalid, required, hide-marker) */\n @Prop() preventUpdateProperties: string[] | string = [];\n private _preventUpdateProperties: string[] = [];\n\n /** Host element */\n @Element() element: HTMLElement;\n\n @Watch(\"name\")\n watchName(newValue: string) {\n this.updateRadiosProperty(\"name\", newValue);\n }\n\n @Watch(\"disabled\")\n watchDisabled(newValue: boolean) {\n this.updateRadiosProperty(\"disabled\", newValue);\n }\n\n @Watch(\"required\")\n watchRequired(newValue: boolean) {\n this.updateRadiosProperty(\"required\", newValue);\n }\n\n @Watch(\"value\")\n watchValue(newValue: string) {\n this.updateCheckedRadioByValue(newValue);\n }\n\n @Watch(\"error\")\n errorWatcher(newValue: string | string[]) {\n if (typeof newValue === \"string\") {\n try {\n this._error = JSON.parse(newValue);\n } catch (e) {\n if (newValue) {\n this._error = [newValue];\n } else {\n this._error = [];\n }\n }\n } else if (newValue) {\n this._error = newValue;\n } else {\n this._error = [];\n }\n }\n\n @Watch(\"preventUpdateProperties\")\n preventUpdatePropertiesWatcher(newValue: string[] | string) {\n if (typeof newValue === \"string\") {\n this._preventUpdateProperties = JSON.parse(newValue);\n } else {\n this._preventUpdateProperties = newValue;\n }\n }\n\n @Listen(\"reset\", { target: \"document\" })\n resetListener(event: Event) {\n if ((event.target as HTMLElement).contains(this.element)) {\n requestAnimationFrame(() => {\n this.handleReset();\n });\n }\n }\n\n @Listen(\"stzhChange\")\n onChange(event: CustomEvent<StzhRadioChangeEvent>) {\n this.value = event.detail.value;\n }\n\n /** Radio elements */\n private radios: HTMLStzhRadioElement[];\n private radiogroupId: string;\n private observer: MutationObserver;\n\n private updateRadiosProperty(prop: string, value: any) {\n this.radios.forEach((radio: HTMLStzhRadioElement) => {\n if (prop === \"name\" || this._preventUpdateProperties.indexOf(prop) === -1) {\n radio[camelCase(prop)] = value;\n }\n });\n }\n\n private get errorUsed(): boolean {\n return hasSlot(this.element, \"error\") || this._error?.length > 0;\n }\n\n private updateCheckedRadioByValue(value: string) {\n this.checkedRadio = this.radios.find(radio => radio.value === value);\n\n if (this.checkedRadio) {\n this.checkedRadio.checked = true;\n }\n\n this.uncheckRadios();\n }\n\n private uncheckRadios() {\n // make sure that no other radios are checked than the current one or no one\n this.radios.forEach((radio: HTMLStzhRadioElement) => {\n if (!this.checkedRadio || radio !== this.checkedRadio) {\n radio.checked = false;\n }\n });\n }\n\n private handleReset = async () => {\n this.value = this.defaultValue;\n };\n\n private init = () => {\n // update radios\n this.radios = Array.from(this.element.querySelectorAll(SELECTOR_RADIO));\n this.updateRadiosProperty(\"hide-optional\", true);\n this.updateRadiosProperty(\"a11y-describedby\", `${this.radiogroupId}-description`);\n this.updateRadiosProperty(\"invalid\", this.invalid || this.errorUsed);\n\n this.watchValue(this.value);\n this.watchName(this.name);\n this.watchDisabled(this.disabled);\n this.watchRequired(this.required);\n };\n\n componentDidLoad() {\n this.defaultValue = this.defaultValue ? this.defaultValue : this.value;\n }\n\n async componentWillLoad() {\n this.radiogroupId = `stzh-radiogroup-${radiogroupCounter++}`;\n this.errorWatcher(this.error);\n this.preventUpdatePropertiesWatcher(this.preventUpdateProperties);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"radiogroup\");\n }\n }\n\n componentShouldUpdate(_newValue, _oldValue, prop: string) {\n return prop !== \"checkedRadio\";\n }\n\n componentDidRender() {\n this.init();\n }\n\n connectedCallback() {\n if (!this.value) {\n this.radios = Array.from(this.element.querySelectorAll(SELECTOR_RADIO));\n\n // try to find a checkbox that might has checked set to true\n const checkedRadio = this.radios.find(radio => radio.checked);\n\n if (checkedRadio) {\n this.value = checkedRadio.value;\n }\n }\n\n this.observer = new MutationObserver(this.init);\n this.observer.observe(this.element, {\n childList: true,\n subtree: true,\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n render() {\n const descriptionUsed = hasSlot(this.element, \"description\") || !!this.description;\n const descriptionLongUsed = hasSlot(this.element, \"description-long\") || !!this.descriptionLong;\n\n const classes = {\n \"stzh-radiogroup\": true,\n \"stzh-radiogroup--has-description\": descriptionUsed,\n \"stzh-radiogroup--has-description-long\": descriptionLongUsed,\n \"stzh-radiogroup--has-error\": this.errorUsed,\n \"stzh-radiogroup--is-required\": this.required,\n \"stzh-radiogroup--is-disabled\": this.disabled,\n \"stzh-radiogroup--is-invalid\": this.invalid || this.errorUsed,\n \"stzh-radiogroup--hide-legend\": this.hideLegend,\n [`stzh-radiogroup--direction-${this.direction}`]: !!this.direction,\n };\n\n return (\n <Host is-invalid={this.invalid || this.errorUsed}>\n <fieldset class={classes}>\n {this.legend && (\n <legend class=\"stzh-radiogroup__legend\">\n {this.legend}\n {!this.hideOptional && (\n <span class=\"stzh-radiogroup__marker\">\n <span class=\"stzh-radiogroup__marker-symbol\" aria-hidden=\"true\">\n {this.required\n ? this.localization.$globals.requiredFieldMarker\n : this.localization.$globals.optionalFieldMarker}\n </span>\n <span class=\"stzh-radiogroup__marker-text\">\n {this.required\n ? this.localization.$globals.requiredFieldText\n : this.localization.$globals.optionalFieldText}\n </span>\n </span>\n )}\n </legend>\n )}\n <div class=\"stzh-radiogroup__fields\">\n <slot></slot>\n </div>\n {(this._error?.length > 0 || this.description) && (\n <StzhInputDescription\n classPrefix=\"stzh-radiogroup\"\n id={`${this.radiogroupId}-description`}\n error={this._error}\n description={this.description}\n descriptionLong={this.descriptionLong}\n descriptionLongTitle={this.descriptionLongTitle}\n descriptionLongUsed={descriptionLongUsed}\n moreInfoButtonLabel={this.localization.$globals.moreInfoButtonLabel}\n />\n )}\n </fieldset>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"stzh-radiogroup2.js","mappings":"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","names":[],"sources":["src/components/stzh-radiogroup/stzh-radiogroup.scss?tag=stzh-radiogroup&encapsulation=scoped","src/components/stzh-radiogroup/stzh-radiogroup.tsx"],"sourcesContent":[":host {\n &[disabled]:not([disabled=\"false\"]) {\n --description-color: #{$formDisabledColor};\n }\n}\n\n.stzh-radiogroup {\n @include input-description;\n margin: 0;\n padding: 0;\n border: none;\n\n &__fields {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n gap: space('medium');\n }\n\n &__legend {\n @include font('heavy');\n @include fontSize('micro');\n color: $headingColor;\n padding: 0;\n margin-bottom: space('xsmall');\n }\n\n &__marker {\n @include fontSize('nano');\n margin-left: calc(-0.25em + #{space('xsmall')});\n }\n\n &--hide-legend &__legend {\n @include visuallyhidden;\n }\n\n &--direction-horizontal &__fields {\n flex-wrap: wrap;\n flex-direction: row;\n row-gap: space('medium');\n column-gap: space('xxlarge');\n }\n}\n","import { Component, Element, h, Host, Listen, Prop, Watch } from \"@stencil/core\";\n\nimport { StzhRadioChangeEvent } from \"../../index\";\n\nimport { hasSlot } from \"../../utils/utils\";\nimport { camelCase } from \"../../utils/string-utils\";\nimport { StzhLocaleComponent } from \"../../utils/translation-utils\";\n\nimport { StzhInputDescription } from \"../stzh-input/stzh-input-description\";\n\nconst SELECTOR_RADIO = \"stzh-radio, stzh-button[type=radio], stzh-card\";\n\nlet radiogroupCounter = 0;\n\n/**\n * @slot - Slot for `stzh-radio`, `stzh-button[type=\"radio\"]` or `stzh-card` elements\n * @slot description - Slot for description\n * @slot description-long - Slot for long description (in popover)\n * @slot description-long-title - Slot for long description title (in popover) / instead of descriptionLongTitle or description property\n * @slot error - Slot for error\n */\n@Component({\n tag: \"stzh-radiogroup\",\n styleUrl: \"stzh-radiogroup.scss\",\n scoped: true,\n})\nexport class StzhRadiogroup {\n /** Translation strings */\n @Prop() localization: StzhLocaleComponent;\n\n /** Whether the element is disabled or not */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** The name of the input radio elements, will define the radio group. If you have more than one radio group on a page, every group needs to have its own unique name */\n @Prop({ reflect: true }) name: string;\n\n /** The legend */\n @Prop() legend: string;\n\n /** Hide legend to show only for screenreaders */\n @Prop({ reflect: true }) hideLegend: boolean = false;\n\n /** Invalid status */\n @Prop({ reflect: true }) invalid: boolean = false;\n\n /** Required status */\n @Prop({ reflect: true }) required: boolean = false;\n\n /** Hide `(optional)` label (or use `required` inside form to hide it) */\n @Prop({ reflect: true }) hideOptional: boolean = false;\n\n /** Select a radio by value */\n @Prop({ mutable: true }) value: string = \"\";\n\n /** Default value (used by reset) */\n @Prop({ mutable: true }) defaultValue: string = \"\";\n\n /** Direction */\n @Prop({ reflect: true }) direction: \"vertical\" | \"horizontal\" = \"vertical\";\n\n /** Description message (use description slot as alternative) */\n @Prop() description: string;\n\n /** Long description message appearing in a popover (use description-long slot as alternative) */\n @Prop() descriptionLong: string;\n\n /** Long description title appearing in a popover (use description-long-title slot as or description property alternative) */\n @Prop() descriptionLongTitle: string;\n\n /** One or multiple error message (use error slot as alternative) */\n @Prop() error: string | string[];\n private _error: string[];\n\n /** Current checked radio element (readonly) */\n @Prop() checkedRadio: HTMLStzhRadioElement | null = null;\n\n /** Prevent updating certain properties of radio elements (possible values inside array: disabled, invalid, required, hide-marker) */\n @Prop() preventUpdateProperties: string[] | string = [];\n private _preventUpdateProperties: string[] = [];\n\n /** Host element */\n @Element() element: HTMLElement;\n\n @Watch(\"name\")\n watchName(newValue: string) {\n this.updateRadiosProperty(\"name\", newValue);\n }\n\n @Watch(\"disabled\")\n watchDisabled(newValue: boolean) {\n this.updateRadiosProperty(\"disabled\", newValue);\n }\n\n @Watch(\"required\")\n watchRequired(newValue: boolean) {\n this.updateRadiosProperty(\"required\", newValue);\n }\n\n @Watch(\"value\")\n watchValue(newValue: string) {\n this.updateCheckedRadioByValue(newValue);\n }\n\n @Watch(\"error\")\n errorWatcher(newValue: string | string[]) {\n if (typeof newValue === \"string\") {\n try {\n this._error = JSON.parse(newValue);\n } catch (e) {\n if (newValue) {\n this._error = [newValue];\n } else {\n this._error = [];\n }\n }\n } else if (newValue) {\n this._error = newValue;\n } else {\n this._error = [];\n }\n }\n\n @Watch(\"preventUpdateProperties\")\n preventUpdatePropertiesWatcher(newValue: string[] | string) {\n if (typeof newValue === \"string\") {\n this._preventUpdateProperties = JSON.parse(newValue);\n } else {\n this._preventUpdateProperties = newValue;\n }\n }\n\n @Listen(\"reset\", { target: \"document\" })\n resetListener(event: Event) {\n if ((event.target as HTMLElement).contains(this.element)) {\n requestAnimationFrame(() => {\n this.handleReset();\n });\n }\n }\n\n @Listen(\"stzhChange\")\n onChange(event: CustomEvent<StzhRadioChangeEvent>) {\n this.value = event.detail.value;\n }\n\n /** Radio elements */\n private radios: HTMLStzhRadioElement[];\n private radiogroupId: string;\n private observer: MutationObserver;\n\n private updateRadiosProperty(prop: string, value: any) {\n this.radios.forEach((radio: HTMLStzhRadioElement) => {\n if (prop === \"disabled\") {\n // Only set the disabled if the radio is not already disabled\n if (!radio.disabled) {\n radio.disabled = value;\n }\n } else if (prop === \"name\" || this._preventUpdateProperties.indexOf(prop) === -1) {\n radio[camelCase(prop)] = value;\n }\n });\n }\n\n private get errorUsed(): boolean {\n return hasSlot(this.element, \"error\") || this._error?.length > 0;\n }\n\n private updateCheckedRadioByValue(value: string) {\n this.checkedRadio = this.radios.find(radio => radio.value === value);\n\n if (this.checkedRadio) {\n this.checkedRadio.checked = true;\n }\n\n this.uncheckRadios();\n }\n\n private uncheckRadios() {\n // make sure that no other radios are checked than the current one or no one\n this.radios.forEach((radio: HTMLStzhRadioElement) => {\n if (!this.checkedRadio || radio !== this.checkedRadio) {\n radio.checked = false;\n }\n });\n }\n\n private handleReset = async () => {\n this.value = this.defaultValue;\n };\n\n private init = () => {\n // update radios\n this.radios = Array.from(this.element.querySelectorAll(SELECTOR_RADIO));\n\n this.updateRadiosProperty(\"hide-optional\", true);\n this.updateRadiosProperty(\"a11y-describedby\", `${this.radiogroupId}-description`);\n this.updateRadiosProperty(\"invalid\", this.invalid || this.errorUsed);\n\n this.watchValue(this.value);\n this.watchName(this.name);\n this.watchDisabled(this.disabled);\n this.watchRequired(this.required);\n };\n\n componentDidLoad() {\n this.defaultValue = this.defaultValue ? this.defaultValue : this.value;\n }\n\n async componentWillLoad() {\n this.radiogroupId = `stzh-radiogroup-${radiogroupCounter++}`;\n this.errorWatcher(this.error);\n this.preventUpdatePropertiesWatcher(this.preventUpdateProperties);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"radiogroup\");\n }\n }\n\n componentShouldUpdate(_newValue, _oldValue, prop: string) {\n return prop !== \"checkedRadio\";\n }\n\n componentDidRender() {\n this.init();\n }\n\n connectedCallback() {\n if (!this.value) {\n this.radios = Array.from(this.element.querySelectorAll(SELECTOR_RADIO));\n\n // try to find a checkbox that might has checked set to true\n const checkedRadio = this.radios.find(radio => radio.checked);\n\n if (checkedRadio) {\n this.value = checkedRadio.value;\n }\n }\n\n this.observer = new MutationObserver(this.init);\n this.observer.observe(this.element, {\n childList: true,\n subtree: true,\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n render() {\n const descriptionUsed = hasSlot(this.element, \"description\") || !!this.description;\n const descriptionLongUsed = hasSlot(this.element, \"description-long\") || !!this.descriptionLong;\n\n const classes = {\n \"stzh-radiogroup\": true,\n \"stzh-radiogroup--has-description\": descriptionUsed,\n \"stzh-radiogroup--has-description-long\": descriptionLongUsed,\n \"stzh-radiogroup--has-error\": this.errorUsed,\n \"stzh-radiogroup--is-required\": this.required,\n \"stzh-radiogroup--is-disabled\": this.disabled,\n \"stzh-radiogroup--is-invalid\": this.invalid || this.errorUsed,\n \"stzh-radiogroup--hide-legend\": this.hideLegend,\n [`stzh-radiogroup--direction-${this.direction}`]: !!this.direction,\n };\n\n return (\n <Host is-invalid={this.invalid || this.errorUsed}>\n <fieldset class={classes}>\n {this.legend && (\n <legend class=\"stzh-radiogroup__legend\">\n {this.legend}\n {!this.hideOptional && (\n <span class=\"stzh-radiogroup__marker\">\n <span class=\"stzh-radiogroup__marker-symbol\" aria-hidden=\"true\">\n {this.required\n ? this.localization.$globals.requiredFieldMarker\n : this.localization.$globals.optionalFieldMarker}\n </span>\n <span class=\"stzh-radiogroup__marker-text\">\n {this.required\n ? this.localization.$globals.requiredFieldText\n : this.localization.$globals.optionalFieldText}\n </span>\n </span>\n )}\n </legend>\n )}\n <div class=\"stzh-radiogroup__fields\">\n <slot></slot>\n </div>\n {(this._error?.length > 0 || this.description) && (\n <StzhInputDescription\n classPrefix=\"stzh-radiogroup\"\n id={`${this.radiogroupId}-description`}\n error={this._error}\n description={this.description}\n descriptionLong={this.descriptionLong}\n descriptionLongTitle={this.descriptionLongTitle}\n descriptionLongUsed={descriptionLongUsed}\n moreInfoButtonLabel={this.localization.$globals.moreInfoButtonLabel}\n />\n )}\n </fieldset>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -124,7 +124,7 @@ var StzhEnvironmentEnum;
124
124
  })(StzhEnvironmentEnum || (StzhEnvironmentEnum = {}));
125
125
  function getStzhEnvironment() {
126
126
  const url = window.location.href;
127
- if (url.includes("test.stadt-zuerich.ch") ||
127
+ if (url.includes("test.stadt-zuerich.loc") ||
128
128
  url.match(/\.dev\.cmp\.szh\.loc/)) {
129
129
  return StzhEnvironmentEnum.DEV;
130
130
  }
@@ -1 +1 @@
1
- {"file":"utils.js","mappings":"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","names":[],"sources":["src/utils/string-utils.ts","src/utils/utils.ts"],"sourcesContent":["export function createParagraphsFromBrs(content: string) {\n const replaced = content\n .replace(/^\\s*(?:<br\\s*\\/?>\\s*)*/i, \"\")\n .replace(/\\s*(?:<br\\s*\\/?>\\s*)*$/i, \"\")\n .replace(/(?:<br\\s*\\/?>\\s*?){2,}/gi, \"</p><p>\");\n\n return `<p>${replaced}</p>`;\n}\n\nexport function camelCase(dashString: string) {\n return dashString\n .replace(/-([a-z])/g, function (g) {\n return g[1].toUpperCase();\n });\n}\n\nexport function dashCase(camelString: string) {\n return camelString.replace(/[A-Z]/g, m => \"-\" + m.toLowerCase());\n}\n\nexport function abbreviateText(text, length) {\n if (text.length <= length) {\n return text;\n }\n\n var lastWhitespaceIndex = text.substring(0, length - 1).lastIndexOf(' ');\n\n if (lastWhitespaceIndex) {\n return text.substring(0, lastWhitespaceIndex) + '\\u2026';\n } else {\n return text.substring(0, length - 1);\n }\n}\n","import { dashCase } from \"./string-utils\";\n\n// Determines whether an element has a slot. If name is specified, the function will look for a corresponding named\n// slot, otherwise it will look for a \"default\" slot (e.g. a non-empty text node or an element with no slot attribute).\nexport function hasSlot(el: HTMLElement, name?: string) {\n // Look for a named slot\n if (name) {\n return el.querySelector(`[slot=\"${name}\"]`) !== null;\n }\n\n // Look for a default slot\n return Array.from(childNodes(el)).some((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== \"\") {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n\n return false;\n });\n}\n\nexport function setPropsIfNull(element: Element, attributes: any) {\n Object.keys(attributes).forEach((attribute) => {\n if (element.getAttribute(dashCase(attribute)) === null) {\n element[attribute] = attributes[attribute];\n }\n });\n}\n\nexport function isStzhElement(element: Element) {\n if (!element || element.nodeType !== 1) {\n return false;\n }\n\n return element.tagName.toLowerCase().indexOf(\"stzh-\") === 0;\n}\n\n// returns content of <meta name=\"\" content=\"\"> tags or '' if empty/non existant\nexport function getMeta(name) {\n const meta = document.querySelector(\n `meta[name=\"${name}\"],[property=\"${name}\"]`\n );\n return meta ? meta.getAttribute(\"content\") : \"\";\n}\n\nexport function parents(node: Element | Node) {\n const parents = [];\n\n while (node) {\n parents.unshift(node);\n node = node.parentNode;\n }\n\n return parents;\n}\n\nexport function childNodes(node: Element) {\n const childNodes = node.childNodes;\n\n // check if element is stencil element without shadow dom\n // and then detect elements that were slotted into the element\n if (node[\"s-sc\"]) {\n const result = [];\n\n for (let i = 0; i < childNodes.length; i++) {\n const slot = childNodes[i][\"s-nr\"];\n\n if (slot) {\n result.push(slot);\n }\n }\n\n return result;\n }\n\n return Array.from(childNodes);\n}\n\nexport function isVisible(element: HTMLElement): boolean {\n // @ts-ignore\n if (typeof element.checkVisibility !== \"undefined\") {\n // @ts-ignore\n return element.checkVisibility({\n checkOpacity: false,\n checkVisibilityCSS: false,\n });\n } else {\n return !!(\n element.offsetWidth ||\n element.offsetHeight ||\n element.getClientRects().length\n );\n }\n}\n\nexport function offset(element): { top: number; left: number } {\n if (!element.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n\n let rect = element.getBoundingClientRect();\n let win = element.ownerDocument.defaultView;\n\n return {\n top: rect.top + win.pageYOffset,\n left: rect.left + win.pageXOffset,\n };\n}\n\nexport async function raf() {\n return new Promise<void>((resolve) => {\n requestAnimationFrame(() => {\n resolve();\n });\n });\n}\n\nexport async function setTimeout(time: number) {\n return new Promise<void>((resolve) => {\n window.setTimeout(() => {\n resolve();\n }, time);\n });\n}\n\nexport enum StzhEnvironmentEnum {\n UNKNOWN = \"UNKNOWN\",\n DEV = \"DEV\",\n UAT = \"UAT\",\n PROD = \"PROD\",\n}\n\nexport function getStzhEnvironment(): StzhEnvironmentEnum {\n const url = window.location.href;\n if (\n url.includes(\"test.stadt-zuerich.ch\") ||\n url.match(/\\.dev\\.cmp\\.szh\\.loc/)\n ) {\n return StzhEnvironmentEnum.DEV;\n } else if (\n url.includes(\"integ.stadt-zuerich.ch\") ||\n url.includes(\"stzh-desi-unic-preview.netlify.app\") ||\n url.match(/\\.uat\\.cmp\\.szh\\.loc/)\n ) {\n return StzhEnvironmentEnum.UAT;\n } else if (\n url.includes(\"www.stadt-zuerich.ch\") ||\n url.match(/\\.cmp\\.szh\\.loc/)\n ) {\n return StzhEnvironmentEnum.PROD;\n } else {\n return StzhEnvironmentEnum.UNKNOWN;\n }\n}\n\n// `extras.experimentalSlotFixes` stencil config flag resolves cloning light dom elements\n// so our own cloneElement / cloneWrappedStzhElement helpers are not needed right now\n// (used before in cardlist and sortable component).\n\n// export function children(node: Element) {\n// return childNodes(node).map((n: any) => n.nodeType === 1);\n// }\n\n// const nativeCloneNodeFn = Node.prototype.cloneNode;\n\n// export function cloneElement(node: Element, deep: boolean) {\n// const clonedNode = nativeCloneNodeFn.call(node, false);\n// const srcChildNodes = childNodes(node);\n\n// if (deep) {\n// for (let i = 0; i < srcChildNodes.length; i++) {\n// if (srcChildNodes[i].nodeType !== 2) {\n// const childClone = cloneElement(srcChildNodes[i], true);\n// clonedNode.appendChild(childClone);\n// }\n// }\n// }\n\n// return clonedNode;\n// }\n\n// // Clone an stzh-* element that is using stencil polyfilled slots (no shadow dom)\n// // and potentially wrapped in normal elements (e.g. angular component)\n// export function cloneWrappedStzhElement(elementToClone: Element): [Element, Element, Element] {\n// let clonedElement: Element;\n// let clonedStzhElement: Element;\n// let originalStzhElement: Element;\n\n// if (isStzhElement(elementToClone)) {\n// clonedElement = cloneElement(elementToClone, true);\n// clonedStzhElement = clonedElement;\n// originalStzhElement = elementToClone;\n// } else {\n// clonedElement = elementToClone.cloneNode() as Element;\n\n// let clonedInnerElementLast: Element = clonedElement;\n// let originalInnerElementLast: Element = elementToClone;\n\n// // clone inner root elements separately until we find a stzh element\n// while (originalInnerElementLast.children.length === 1 && !isStzhElement(originalInnerElementLast.children[0])) {\n// originalInnerElementLast = originalInnerElementLast.children[0];\n// const clonedInnerElementCurrent = originalInnerElementLast.cloneNode() as Element;\n\n// clonedInnerElementLast.appendChild(clonedInnerElementCurrent);\n// clonedInnerElementLast = clonedInnerElementCurrent;\n// }\n\n// if (isStzhElement(originalInnerElementLast.children[0])) {\n// clonedStzhElement = cloneElement(originalInnerElementLast.children[0], true);\n// originalStzhElement = originalInnerElementLast.children[0];\n// clonedInnerElementLast.appendChild(clonedStzhElement);\n// } else {\n// // no root stzh element found, so we give up and just deep clone the root\n// clonedElement = cloneElement(elementToClone, true);\n// }\n// }\n\n// return [clonedElement, clonedStzhElement, originalStzhElement];\n// }\n"],"version":3}
1
+ {"file":"utils.js","mappings":"SAAgB,uBAAuB,CAAC,OAAe;EACrD,MAAM,QAAQ,GAAG,OAAO;KACrB,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;KACtC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;KACtC,OAAO,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;EAElD,OAAO,MAAM,QAAQ,MAAM,CAAC;AAC9B,CAAC;SAEe,SAAS,CAAC,UAAkB;EAC1C,OAAO,UAAU;KACd,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC;IAC/B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;GAC3B,CAAC,CAAC;AACP,CAAC;SAEe,QAAQ,CAAC,WAAmB;EAC1C,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACnE,CAAC;SAEe,cAAc,CAAC,IAAI,EAAE,MAAM;EACzC,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;IACzB,OAAO,IAAI,CAAC;GACb;EAED,IAAI,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;EAEzE,IAAI,mBAAmB,EAAE;IACvB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC;GAC1D;OAAM;IACL,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;GACtC;AACH;;AC9BA;AACA;SACgB,OAAO,CAAC,EAAe,EAAE,IAAa;;EAEpD,IAAI,IAAI,EAAE;IACR,OAAO,EAAE,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;GACtD;;EAGD,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI;IAC1C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;MACtE,OAAO,IAAI,CAAC;KACb;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;MACvC,MAAM,EAAE,GAAG,IAAmB,CAAC;MAC/B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;QAC5B,OAAO,IAAI,CAAC;OACb;KACF;IAED,OAAO,KAAK,CAAC;GACd,CAAC,CAAC;AACL,CAAC;SAEe,cAAc,CAAC,OAAgB,EAAE,UAAe;EAC9D,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS;IACxC,IAAI,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE;MACtD,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;KAC5C;GACF,CAAC,CAAC;AACL,CAAC;SAEe,aAAa,CAAC,OAAgB;EAC5C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE;IACtC,OAAO,KAAK,CAAC;GACd;EAED,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED;SACgB,OAAO,CAAC,IAAI;EAC1B,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CACjC,cAAc,IAAI,iBAAiB,IAAI,IAAI,CAC5C,CAAC;EACF,OAAO,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;AAClD,CAAC;SAae,UAAU,CAAC,IAAa;EACtC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;;;EAInC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE;IAChB,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;MAC1C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;MAEnC,IAAI,IAAI,EAAE;QACR,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;OACnB;KACF;IAED,OAAO,MAAM,CAAC;GACf;EAED,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,CAAC;SAEe,SAAS,CAAC,OAAoB;;EAE5C,IAAI,OAAO,OAAO,CAAC,eAAe,KAAK,WAAW,EAAE;;IAElD,OAAO,OAAO,CAAC,eAAe,CAAC;MAC7B,YAAY,EAAE,KAAK;MACnB,kBAAkB,EAAE,KAAK;KAC1B,CAAC,CAAC;GACJ;OAAM;IACL,OAAO,CAAC,EACN,OAAO,CAAC,WAAW;MACnB,OAAO,CAAC,YAAY;MACpB,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,CAChC,CAAC;GACH;AACH,CAAC;SAEe,MAAM,CAAC,OAAO;EAC5B,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE;IACpC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;GAC5B;EAED,IAAI,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;EAC3C,IAAI,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC;EAE5C,OAAO;IACL,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW;IAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,WAAW;GAClC,CAAC;AACJ,CAAC;AAEM,eAAe,GAAG;EACvB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO;IAC/B,qBAAqB,CAAC;MACpB,OAAO,EAAE,CAAC;KACX,CAAC,CAAC;GACJ,CAAC,CAAC;AACL,CAAC;IAUW;AAAZ,WAAY,mBAAmB;EAC7B,0CAAmB,CAAA;EACnB,kCAAW,CAAA;EACX,kCAAW,CAAA;EACX,oCAAa,CAAA;AACf,CAAC,EALW,mBAAmB,KAAnB,mBAAmB,QAK9B;SAEe,kBAAkB;EAChC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;EACjC,IACE,GAAG,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACtC,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,EACjC;IACA,OAAO,mBAAmB,CAAC,GAAG,CAAC;GAChC;OAAM,IACL,GAAG,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACtC,GAAG,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAClD,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,EACjC;IACA,OAAO,mBAAmB,CAAC,GAAG,CAAC;GAChC;OAAM,IACL,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACpC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAC5B;IACA,OAAO,mBAAmB,CAAC,IAAI,CAAC;GACjC;OAAM;IACL,OAAO,mBAAmB,CAAC,OAAO,CAAC;GACpC;AACH,CAAC;AAED;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;;;","names":[],"sources":["src/utils/string-utils.ts","src/utils/utils.ts"],"sourcesContent":["export function createParagraphsFromBrs(content: string) {\n const replaced = content\n .replace(/^\\s*(?:<br\\s*\\/?>\\s*)*/i, \"\")\n .replace(/\\s*(?:<br\\s*\\/?>\\s*)*$/i, \"\")\n .replace(/(?:<br\\s*\\/?>\\s*?){2,}/gi, \"</p><p>\");\n\n return `<p>${replaced}</p>`;\n}\n\nexport function camelCase(dashString: string) {\n return dashString\n .replace(/-([a-z])/g, function (g) {\n return g[1].toUpperCase();\n });\n}\n\nexport function dashCase(camelString: string) {\n return camelString.replace(/[A-Z]/g, m => \"-\" + m.toLowerCase());\n}\n\nexport function abbreviateText(text, length) {\n if (text.length <= length) {\n return text;\n }\n\n var lastWhitespaceIndex = text.substring(0, length - 1).lastIndexOf(' ');\n\n if (lastWhitespaceIndex) {\n return text.substring(0, lastWhitespaceIndex) + '\\u2026';\n } else {\n return text.substring(0, length - 1);\n }\n}\n","import { dashCase } from \"./string-utils\";\n\n// Determines whether an element has a slot. If name is specified, the function will look for a corresponding named\n// slot, otherwise it will look for a \"default\" slot (e.g. a non-empty text node or an element with no slot attribute).\nexport function hasSlot(el: HTMLElement, name?: string) {\n // Look for a named slot\n if (name) {\n return el.querySelector(`[slot=\"${name}\"]`) !== null;\n }\n\n // Look for a default slot\n return Array.from(childNodes(el)).some((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== \"\") {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n\n return false;\n });\n}\n\nexport function setPropsIfNull(element: Element, attributes: any) {\n Object.keys(attributes).forEach((attribute) => {\n if (element.getAttribute(dashCase(attribute)) === null) {\n element[attribute] = attributes[attribute];\n }\n });\n}\n\nexport function isStzhElement(element: Element) {\n if (!element || element.nodeType !== 1) {\n return false;\n }\n\n return element.tagName.toLowerCase().indexOf(\"stzh-\") === 0;\n}\n\n// returns content of <meta name=\"\" content=\"\"> tags or '' if empty/non existant\nexport function getMeta(name) {\n const meta = document.querySelector(\n `meta[name=\"${name}\"],[property=\"${name}\"]`\n );\n return meta ? meta.getAttribute(\"content\") : \"\";\n}\n\nexport function parents(node: Element | Node) {\n const parents = [];\n\n while (node) {\n parents.unshift(node);\n node = node.parentNode;\n }\n\n return parents;\n}\n\nexport function childNodes(node: Element) {\n const childNodes = node.childNodes;\n\n // check if element is stencil element without shadow dom\n // and then detect elements that were slotted into the element\n if (node[\"s-sc\"]) {\n const result = [];\n\n for (let i = 0; i < childNodes.length; i++) {\n const slot = childNodes[i][\"s-nr\"];\n\n if (slot) {\n result.push(slot);\n }\n }\n\n return result;\n }\n\n return Array.from(childNodes);\n}\n\nexport function isVisible(element: HTMLElement): boolean {\n // @ts-ignore\n if (typeof element.checkVisibility !== \"undefined\") {\n // @ts-ignore\n return element.checkVisibility({\n checkOpacity: false,\n checkVisibilityCSS: false,\n });\n } else {\n return !!(\n element.offsetWidth ||\n element.offsetHeight ||\n element.getClientRects().length\n );\n }\n}\n\nexport function offset(element): { top: number; left: number } {\n if (!element.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n\n let rect = element.getBoundingClientRect();\n let win = element.ownerDocument.defaultView;\n\n return {\n top: rect.top + win.pageYOffset,\n left: rect.left + win.pageXOffset,\n };\n}\n\nexport async function raf() {\n return new Promise<void>((resolve) => {\n requestAnimationFrame(() => {\n resolve();\n });\n });\n}\n\nexport async function setTimeout(time: number) {\n return new Promise<void>((resolve) => {\n window.setTimeout(() => {\n resolve();\n }, time);\n });\n}\n\nexport enum StzhEnvironmentEnum {\n UNKNOWN = \"UNKNOWN\",\n DEV = \"DEV\",\n UAT = \"UAT\",\n PROD = \"PROD\",\n}\n\nexport function getStzhEnvironment(): StzhEnvironmentEnum {\n const url = window.location.href;\n if (\n url.includes(\"test.stadt-zuerich.loc\") ||\n url.match(/\\.dev\\.cmp\\.szh\\.loc/)\n ) {\n return StzhEnvironmentEnum.DEV;\n } else if (\n url.includes(\"integ.stadt-zuerich.ch\") ||\n url.includes(\"stzh-desi-unic-preview.netlify.app\") ||\n url.match(/\\.uat\\.cmp\\.szh\\.loc/)\n ) {\n return StzhEnvironmentEnum.UAT;\n } else if (\n url.includes(\"www.stadt-zuerich.ch\") ||\n url.match(/\\.cmp\\.szh\\.loc/)\n ) {\n return StzhEnvironmentEnum.PROD;\n } else {\n return StzhEnvironmentEnum.UNKNOWN;\n }\n}\n\n// `extras.experimentalSlotFixes` stencil config flag resolves cloning light dom elements\n// so our own cloneElement / cloneWrappedStzhElement helpers are not needed right now\n// (used before in cardlist and sortable component).\n\n// export function children(node: Element) {\n// return childNodes(node).map((n: any) => n.nodeType === 1);\n// }\n\n// const nativeCloneNodeFn = Node.prototype.cloneNode;\n\n// export function cloneElement(node: Element, deep: boolean) {\n// const clonedNode = nativeCloneNodeFn.call(node, false);\n// const srcChildNodes = childNodes(node);\n\n// if (deep) {\n// for (let i = 0; i < srcChildNodes.length; i++) {\n// if (srcChildNodes[i].nodeType !== 2) {\n// const childClone = cloneElement(srcChildNodes[i], true);\n// clonedNode.appendChild(childClone);\n// }\n// }\n// }\n\n// return clonedNode;\n// }\n\n// // Clone an stzh-* element that is using stencil polyfilled slots (no shadow dom)\n// // and potentially wrapped in normal elements (e.g. angular component)\n// export function cloneWrappedStzhElement(elementToClone: Element): [Element, Element, Element] {\n// let clonedElement: Element;\n// let clonedStzhElement: Element;\n// let originalStzhElement: Element;\n\n// if (isStzhElement(elementToClone)) {\n// clonedElement = cloneElement(elementToClone, true);\n// clonedStzhElement = clonedElement;\n// originalStzhElement = elementToClone;\n// } else {\n// clonedElement = elementToClone.cloneNode() as Element;\n\n// let clonedInnerElementLast: Element = clonedElement;\n// let originalInnerElementLast: Element = elementToClone;\n\n// // clone inner root elements separately until we find a stzh element\n// while (originalInnerElementLast.children.length === 1 && !isStzhElement(originalInnerElementLast.children[0])) {\n// originalInnerElementLast = originalInnerElementLast.children[0];\n// const clonedInnerElementCurrent = originalInnerElementLast.cloneNode() as Element;\n\n// clonedInnerElementLast.appendChild(clonedInnerElementCurrent);\n// clonedInnerElementLast = clonedInnerElementCurrent;\n// }\n\n// if (isStzhElement(originalInnerElementLast.children[0])) {\n// clonedStzhElement = cloneElement(originalInnerElementLast.children[0], true);\n// originalStzhElement = originalInnerElementLast.children[0];\n// clonedInnerElementLast.appendChild(clonedStzhElement);\n// } else {\n// // no root stzh element found, so we give up and just deep clone the root\n// clonedElement = cloneElement(elementToClone, true);\n// }\n// }\n\n// return [clonedElement, clonedStzhElement, originalStzhElement];\n// }\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  const name = "@oiz/stzh-components";
2
- const version = "3.2.0";
2
+ const version = "3.3.0-beta1";
3
3
 
4
4
  const packageName = name.substring(name.indexOf('/')+1);
5
5
  // let focused = false;
@@ -376,4 +376,4 @@ const globalScripts = appGlobalScript;
376
376
 
377
377
  export { globalScripts as g };
378
378
 
379
- //# sourceMappingURL=app-globals-b0bdc495.js.map
379
+ //# sourceMappingURL=app-globals-b82e4e9d.js.map
@@ -1 +1 @@
1
- {"file":"app-globals-b0bdc495.js","mappings":"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","names":["packageNameScoped"],"sources":["src/global/js/helpers/autofocus.js","src/global/js/helpers/scrollbar-width.js","src/global/js/helpers/utils.js","src/global/js/script.js","@stencil/core/internal/app-globals"],"sourcesContent":["import { name as packageNameScoped } from '../../../../package.json';\n\nconst packageName = packageNameScoped.substring(packageNameScoped.indexOf('/')+1);\n// let focused = false;\n\n// function debounce(func, timeout = 500){\n// let timer;\n// return (...args) => {\n// clearTimeout(timer);\n// timer = setTimeout(() => { func.apply(this, args); }, timeout);\n// };\n// }\n\nconst debouncedFocus = (event) => {\n // if (focused) {\n // return false;\n // }\n\n const autofocus = document.querySelector('[autofocus]');\n\n if (window.stzhComponents.fixAutofocus\n && !document.location.hash\n && autofocus\n && event.detail.namespace === packageName\n && autofocus.tagName.toLowerCase().indexOf('stzh-') === 0\n && 'focus' in autofocus\n ) {\n autofocus.focus();\n // focused = true;\n } else if (window.stzhComponents.fixHashfocus && document.location.hash) {\n const hashElement = document.querySelector(document.location.hash);\n\n if (hashElement) {\n hashElement.scrollIntoView();\n // focused = true;\n }\n }\n}\n\n/**\n * Execute setFocus method if it exists\n * on stzh-element with autofocus on pageload\n * when (child components are loaded)\n */\nexport function applyAutofocus() {\n window.addEventListener('appload', debouncedFocus);\n}\n","export function observeScrollbarWidth() {\n const config = {\n threshold: 1.0\n };\n\n const handleIntersect = (entries) => {\n entries.forEach(entry => {\n let scrollbarWidth = 0;\n\n if (entry.intersectionRatio < 1) {\n // scrollbarWidth = window.innerWidth - document.body.clientWidth;\n scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n }\n\n document.documentElement.style.setProperty('--stzh-scrollbar-width', scrollbarWidth + 'px');\n document.documentElement.style.setProperty('--stzh-scrollbar-active', scrollbarWidth > 0 ? '1' : '0');\n });\n };\n\n const bodyScrollObserver = new IntersectionObserver(handleIntersect, config);\n bodyScrollObserver.observe(document.body);\n}\n","\nexport function format(date, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.format(date, type);\n}\n\nexport function parse(string, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.parse(string, type);\n}\n\nexport function formatSpan(date, date2, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.formatSpan(date, date2, type);\n}\n\nexport function parseSpan(string, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.parseSpan(string, type);\n}\n\nexport function createFormatParseAdapter(formats, globals) {\n // format letters from https://www.php.net/manual/de/datetime.format.php\n const globalFormatter = function (format, date) {\n if (!date || !(date instanceof Date) || isNaN(date.getTime())) {\n return \"\";\n }\n\n let j = date.getDate().toString(10);\n let d = j;\n let n = (date.getMonth() + 1).toString(10);\n let m = n;\n let yC = date.getFullYear().toString(10);\n let gC = date.getHours().toString(10);\n let hC = gC;\n let i = date.getMinutes().toString(10);\n\n // full textual representation of a month\n let fC = globals.monthNames[date.getMonth()];\n // short textual representation of a month\n let mC = globals.monthNamesShort[date.getMonth()];\n // full textual representation of the day\n let l = globals.dayNames[date.getDay()];\n // short textual representation of the day\n let D = globals.dayNamesShort[date.getDay()];\n\n // months *are* zero-indexed, pad if less than 9!\n if (date.getMonth() < 9) {\n m = `0${m}`;\n }\n\n if (date.getDate() < 10) {\n d = `0${d}`;\n }\n\n if (date.getHours() < 10) {\n hC = `0${hC}`;\n }\n\n if (date.getMinutes() < 10) {\n i = `0${i}`;\n }\n\n return format\n .replace(/\\{j\\}/g, j)\n .replace(/\\{d\\}/g, d)\n .replace(/\\{D\\}/g, D)\n .replace(/\\{l\\}/g, l)\n .replace(/\\{n\\}/g, n)\n .replace(/\\{m\\}/g, m)\n .replace(/\\{F\\}/g, fC)\n .replace(/\\{M\\}/g, mC)\n .replace(/\\{Y\\}/g, yC)\n .replace(/\\{H\\}/g, hC)\n .replace(/\\{G\\}/g, gC)\n .replace(/\\{i\\}/g, i);\n }\n\n const globalParser = function (parse, input) {\n if (!input) {\n return;\n }\n\n const regex = new RegExp(parse);\n const match = input.match(regex);\n\n if (match) {\n const { groups } = match;\n\n const year = parseInt(groups.Y || '', 10);\n const month = parseInt(groups.n || groups.m || '', 10);\n const day = parseInt(groups.j || groups.d || '', 10);\n const hours = parseInt(groups.G || groups.H || '', 10);\n const minutes = parseInt(groups.i || '', 10);\n\n if (!isNaN(year) && (year < 1000 || year > 9999)) {\n return;\n }\n\n if (!isNaN(month) && (month < 1 || month > 12)) {\n return;\n }\n\n // we check day later again (if month changed, it was out of range)\n if (!isNaN(day) && (day < 1 || day > 31)) {\n return;\n }\n\n if (!isNaN(hours) && (hours < 0 || hours > 23)) {\n return;\n }\n\n if (!isNaN(minutes) && (minutes < 0 || minutes > 59)) {\n return;\n }\n\n const date = new Date(\n !isNaN(year) ? year : null,\n !isNaN(month) ? month - 1 : null,\n !isNaN(day) ? day : null,\n !isNaN(hours) ? hours : null,\n !isNaN(minutes) ? minutes : null\n );\n\n // if day was out of possible range (1 - 28/29/30/31)\n // we find out by check if month has changed\n if (date.getMonth() + 1 !== month) {\n return;\n }\n\n return date;\n }\n }\n\n const globalAdapter = {\n format: function (date, type = \"datetime\") {\n const dateFormats = {\n ...formats[type],\n ...window.stzhComponents?.formats[type] || {}\n };\n\n if (typeof dateFormats.format === \"string\") {\n return globalFormatter(dateFormats.format, date);\n } else {\n return dateFormats.format(date);\n }\n },\n parse: function (input, type = \"datetime\") {\n const dateFormats = {\n ...formats[type],\n ...window.stzhComponents?.formats[type] || {}\n };\n\n if (typeof dateFormats.parse === \"string\") {\n return globalParser(dateFormats.parse, input);\n } else {\n return dateFormats.parse(input);\n }\n },\n formatSpan: function(date, date2, type = \"datetime\") {\n let formattedDate = date;\n let formattedDate2 = date2;\n\n if (date instanceof Date && !isNaN(date.getTime())) {\n formattedDate = this.format(date, type);\n }\n\n if (date2 instanceof Date && !isNaN(date2.getTime())) {\n formattedDate2 = this.format(date2, type);\n }\n\n let range = globals.dateRange;\n\n if (type.startsWith('time')) {\n range = globals.timeRange;\n }\n\n return formattedDate\n + ((formattedDate2 && (\n !(formattedDate2 instanceof Date)\n || formattedDate2 instanceof Date && !isNaN(date.getTime())\n )) ? range + formattedDate2 : '');\n },\n parseSpan: function(string, type) {\n let range = globals.dateRange;\n\n if (type.startsWith('time')) {\n range = globals.timeRange;\n }\n\n const dates = string.split(range);\n const date = this.parse(dates[0], type);\n const date2 = this.parse(dates[1], type);\n\n return [date, date2, range];\n }\n };\n\n return globalAdapter;\n}\n\nexport function getLocale(element) {\n const closestElement = element.closest(\"[lang]\");\n const locale = closestElement && closestElement.lang.split(\"-\")[0];\n\n if (window.stzhComponents.supportedLocales.indexOf(locale) === -1 || !locale) {\n return window.stzhComponents.defaultLocale;\n } else {\n return locale;\n }\n}\n\nexport async function fetchTranslations(host, component) {\n const locale = getLocale(host);\n const existingTranslations = JSON.parse(sessionStorage.getItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`));\n\n if (\n window.stzhComponents.cacheTranslations\n && window.stzhComponents.version.match(/-dev-snapshot/i) === null\n && existingTranslations\n && Object.keys(existingTranslations).length > 0\n ) {\n return {\n ...existingTranslations[component] || {},\n $globals: existingTranslations.$globals,\n $locale: existingTranslations.$code,\n $formats: existingTranslations.$formats,\n $formatsIso: existingTranslations.$formatsIso,\n $formatsLegacy: existingTranslations.$formatsLegacy\n };\n }\n\n try {\n const result = await fetch(\n `${window.stzhComponents.pathTranslations}/${locale}.json`\n );\n\n if (result.ok) {\n const data = await result.json();\n sessionStorage.setItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`, JSON.stringify(data));\n return {\n ...data[component] || {},\n $globals: data.$globals,\n $locale: data.$code,\n $formats: data.$formats,\n $formatsIso: data.$formatsIso,\n $formatsLegacy: data.$formatsLegacy\n };\n }\n\n } catch (exception) {\n console.error(`Error loading locale: ${locale}`, exception);\n }\n}\n","import { version } from '../../../package.json';\nimport { applyAutofocus } from './helpers/autofocus';\nimport { observeScrollbarWidth } from './helpers/scrollbar-width';\nimport * as utils from './helpers/utils';\n\nexport default function () {\n window.stzhComponents = {\n defaultLocale: 'de',\n pathMedia: '/',\n pathTranslations: '/',\n cacheTranslations: true,\n formats: {},\n translations: null,\n fixAutofocus: true,\n fixHashfocus: true,\n ...window.stzhComponents || {},\n version,\n supportedLocales: ['de', 'en'],\n utils\n };\n\n if (window.stzhComponents.translations === null) {\n window.stzhComponents.translationsLoading = utils.fetchTranslations(document.documentElement).then((translations) => {\n window.stzhComponents.translations = translations;\n }).catch((reason) => {\n console.error(\"Translations couldn't load:\", reason)\n });\n }\n\n applyAutofocus();\n observeScrollbarWidth();\n}\n","import appGlobalScript from '/builds/OE-5041/desi/desi-code/stzh-components/src/global/js/script.js';\nexport const globalScripts = appGlobalScript;\n"],"version":3}
1
+ {"file":"app-globals-b82e4e9d.js","mappings":"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","names":["packageNameScoped"],"sources":["src/global/js/helpers/autofocus.js","src/global/js/helpers/scrollbar-width.js","src/global/js/helpers/utils.js","src/global/js/script.js","@stencil/core/internal/app-globals"],"sourcesContent":["import { name as packageNameScoped } from '../../../../package.json';\n\nconst packageName = packageNameScoped.substring(packageNameScoped.indexOf('/')+1);\n// let focused = false;\n\n// function debounce(func, timeout = 500){\n// let timer;\n// return (...args) => {\n// clearTimeout(timer);\n// timer = setTimeout(() => { func.apply(this, args); }, timeout);\n// };\n// }\n\nconst debouncedFocus = (event) => {\n // if (focused) {\n // return false;\n // }\n\n const autofocus = document.querySelector('[autofocus]');\n\n if (window.stzhComponents.fixAutofocus\n && !document.location.hash\n && autofocus\n && event.detail.namespace === packageName\n && autofocus.tagName.toLowerCase().indexOf('stzh-') === 0\n && 'focus' in autofocus\n ) {\n autofocus.focus();\n // focused = true;\n } else if (window.stzhComponents.fixHashfocus && document.location.hash) {\n const hashElement = document.querySelector(document.location.hash);\n\n if (hashElement) {\n hashElement.scrollIntoView();\n // focused = true;\n }\n }\n}\n\n/**\n * Execute setFocus method if it exists\n * on stzh-element with autofocus on pageload\n * when (child components are loaded)\n */\nexport function applyAutofocus() {\n window.addEventListener('appload', debouncedFocus);\n}\n","export function observeScrollbarWidth() {\n const config = {\n threshold: 1.0\n };\n\n const handleIntersect = (entries) => {\n entries.forEach(entry => {\n let scrollbarWidth = 0;\n\n if (entry.intersectionRatio < 1) {\n // scrollbarWidth = window.innerWidth - document.body.clientWidth;\n scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n }\n\n document.documentElement.style.setProperty('--stzh-scrollbar-width', scrollbarWidth + 'px');\n document.documentElement.style.setProperty('--stzh-scrollbar-active', scrollbarWidth > 0 ? '1' : '0');\n });\n };\n\n const bodyScrollObserver = new IntersectionObserver(handleIntersect, config);\n bodyScrollObserver.observe(document.body);\n}\n","\nexport function format(date, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.format(date, type);\n}\n\nexport function parse(string, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.parse(string, type);\n}\n\nexport function formatSpan(date, date2, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.formatSpan(date, date2, type);\n}\n\nexport function parseSpan(string, type = \"datetime\") {\n if (!window.stzhComponents.translations) {\n console.log(\"Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`\");\n return;\n }\n\n const { $formats, $globals } = window.stzhComponents.translations;\n const adapter = createFormatParseAdapter($formats, $globals);\n return adapter.parseSpan(string, type);\n}\n\nexport function createFormatParseAdapter(formats, globals) {\n // format letters from https://www.php.net/manual/de/datetime.format.php\n const globalFormatter = function (format, date) {\n if (!date || !(date instanceof Date) || isNaN(date.getTime())) {\n return \"\";\n }\n\n let j = date.getDate().toString(10);\n let d = j;\n let n = (date.getMonth() + 1).toString(10);\n let m = n;\n let yC = date.getFullYear().toString(10);\n let gC = date.getHours().toString(10);\n let hC = gC;\n let i = date.getMinutes().toString(10);\n\n // full textual representation of a month\n let fC = globals.monthNames[date.getMonth()];\n // short textual representation of a month\n let mC = globals.monthNamesShort[date.getMonth()];\n // full textual representation of the day\n let l = globals.dayNames[date.getDay()];\n // short textual representation of the day\n let D = globals.dayNamesShort[date.getDay()];\n\n // months *are* zero-indexed, pad if less than 9!\n if (date.getMonth() < 9) {\n m = `0${m}`;\n }\n\n if (date.getDate() < 10) {\n d = `0${d}`;\n }\n\n if (date.getHours() < 10) {\n hC = `0${hC}`;\n }\n\n if (date.getMinutes() < 10) {\n i = `0${i}`;\n }\n\n return format\n .replace(/\\{j\\}/g, j)\n .replace(/\\{d\\}/g, d)\n .replace(/\\{D\\}/g, D)\n .replace(/\\{l\\}/g, l)\n .replace(/\\{n\\}/g, n)\n .replace(/\\{m\\}/g, m)\n .replace(/\\{F\\}/g, fC)\n .replace(/\\{M\\}/g, mC)\n .replace(/\\{Y\\}/g, yC)\n .replace(/\\{H\\}/g, hC)\n .replace(/\\{G\\}/g, gC)\n .replace(/\\{i\\}/g, i);\n }\n\n const globalParser = function (parse, input) {\n if (!input) {\n return;\n }\n\n const regex = new RegExp(parse);\n const match = input.match(regex);\n\n if (match) {\n const { groups } = match;\n\n const year = parseInt(groups.Y || '', 10);\n const month = parseInt(groups.n || groups.m || '', 10);\n const day = parseInt(groups.j || groups.d || '', 10);\n const hours = parseInt(groups.G || groups.H || '', 10);\n const minutes = parseInt(groups.i || '', 10);\n\n if (!isNaN(year) && (year < 1000 || year > 9999)) {\n return;\n }\n\n if (!isNaN(month) && (month < 1 || month > 12)) {\n return;\n }\n\n // we check day later again (if month changed, it was out of range)\n if (!isNaN(day) && (day < 1 || day > 31)) {\n return;\n }\n\n if (!isNaN(hours) && (hours < 0 || hours > 23)) {\n return;\n }\n\n if (!isNaN(minutes) && (minutes < 0 || minutes > 59)) {\n return;\n }\n\n const date = new Date(\n !isNaN(year) ? year : null,\n !isNaN(month) ? month - 1 : null,\n !isNaN(day) ? day : null,\n !isNaN(hours) ? hours : null,\n !isNaN(minutes) ? minutes : null\n );\n\n // if day was out of possible range (1 - 28/29/30/31)\n // we find out by check if month has changed\n if (date.getMonth() + 1 !== month) {\n return;\n }\n\n return date;\n }\n }\n\n const globalAdapter = {\n format: function (date, type = \"datetime\") {\n const dateFormats = {\n ...formats[type],\n ...window.stzhComponents?.formats[type] || {}\n };\n\n if (typeof dateFormats.format === \"string\") {\n return globalFormatter(dateFormats.format, date);\n } else {\n return dateFormats.format(date);\n }\n },\n parse: function (input, type = \"datetime\") {\n const dateFormats = {\n ...formats[type],\n ...window.stzhComponents?.formats[type] || {}\n };\n\n if (typeof dateFormats.parse === \"string\") {\n return globalParser(dateFormats.parse, input);\n } else {\n return dateFormats.parse(input);\n }\n },\n formatSpan: function(date, date2, type = \"datetime\") {\n let formattedDate = date;\n let formattedDate2 = date2;\n\n if (date instanceof Date && !isNaN(date.getTime())) {\n formattedDate = this.format(date, type);\n }\n\n if (date2 instanceof Date && !isNaN(date2.getTime())) {\n formattedDate2 = this.format(date2, type);\n }\n\n let range = globals.dateRange;\n\n if (type.startsWith('time')) {\n range = globals.timeRange;\n }\n\n return formattedDate\n + ((formattedDate2 && (\n !(formattedDate2 instanceof Date)\n || formattedDate2 instanceof Date && !isNaN(date.getTime())\n )) ? range + formattedDate2 : '');\n },\n parseSpan: function(string, type) {\n let range = globals.dateRange;\n\n if (type.startsWith('time')) {\n range = globals.timeRange;\n }\n\n const dates = string.split(range);\n const date = this.parse(dates[0], type);\n const date2 = this.parse(dates[1], type);\n\n return [date, date2, range];\n }\n };\n\n return globalAdapter;\n}\n\nexport function getLocale(element) {\n const closestElement = element.closest(\"[lang]\");\n const locale = closestElement && closestElement.lang.split(\"-\")[0];\n\n if (window.stzhComponents.supportedLocales.indexOf(locale) === -1 || !locale) {\n return window.stzhComponents.defaultLocale;\n } else {\n return locale;\n }\n}\n\nexport async function fetchTranslations(host, component) {\n const locale = getLocale(host);\n const existingTranslations = JSON.parse(sessionStorage.getItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`));\n\n if (\n window.stzhComponents.cacheTranslations\n && window.stzhComponents.version.match(/-dev-snapshot/i) === null\n && existingTranslations\n && Object.keys(existingTranslations).length > 0\n ) {\n return {\n ...existingTranslations[component] || {},\n $globals: existingTranslations.$globals,\n $locale: existingTranslations.$code,\n $formats: existingTranslations.$formats,\n $formatsIso: existingTranslations.$formatsIso,\n $formatsLegacy: existingTranslations.$formatsLegacy\n };\n }\n\n try {\n const result = await fetch(\n `${window.stzhComponents.pathTranslations}/${locale}.json`\n );\n\n if (result.ok) {\n const data = await result.json();\n sessionStorage.setItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${locale}`, JSON.stringify(data));\n return {\n ...data[component] || {},\n $globals: data.$globals,\n $locale: data.$code,\n $formats: data.$formats,\n $formatsIso: data.$formatsIso,\n $formatsLegacy: data.$formatsLegacy\n };\n }\n\n } catch (exception) {\n console.error(`Error loading locale: ${locale}`, exception);\n }\n}\n","import { version } from '../../../package.json';\nimport { applyAutofocus } from './helpers/autofocus';\nimport { observeScrollbarWidth } from './helpers/scrollbar-width';\nimport * as utils from './helpers/utils';\n\nexport default function () {\n window.stzhComponents = {\n defaultLocale: 'de',\n pathMedia: '/',\n pathTranslations: '/',\n cacheTranslations: true,\n formats: {},\n translations: null,\n fixAutofocus: true,\n fixHashfocus: true,\n ...window.stzhComponents || {},\n version,\n supportedLocales: ['de', 'en'],\n utils\n };\n\n if (window.stzhComponents.translations === null) {\n window.stzhComponents.translationsLoading = utils.fetchTranslations(document.documentElement).then((translations) => {\n window.stzhComponents.translations = translations;\n }).catch((reason) => {\n console.error(\"Translations couldn't load:\", reason)\n });\n }\n\n applyAutofocus();\n observeScrollbarWidth();\n}\n","import appGlobalScript from '/builds/OE-5041/desi/desi-code/stzh-components/src/global/js/script.js';\nexport const globalScripts = appGlobalScript;\n"],"version":3}