@oiz/stzh-components 3.8.0 → 3.8.2

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 (472) hide show
  1. package/dist/cjs/{app-globals-0e887dd2.js → app-globals-4d068f95.js} +2 -2
  2. package/dist/cjs/{app-globals-0e887dd2.js.map → app-globals-4d068f95.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 +1 -1
  8. package/dist/cjs/stzh-audio.cjs.entry.js +1 -1
  9. package/dist/cjs/stzh-badge_3.cjs.entry.js +1 -1
  10. package/dist/cjs/stzh-bathstatus-list.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.cjs.entry.js +1 -1
  15. package/dist/cjs/stzh-carousel.cjs.entry.js +1 -1
  16. package/dist/cjs/stzh-checkbox_3.cjs.entry.js +1 -1
  17. package/dist/cjs/stzh-checkboxgroup.cjs.entry.js +1 -1
  18. package/dist/cjs/stzh-components.cjs.js +2 -2
  19. package/dist/cjs/stzh-contact-cv.cjs.entry.js +1 -1
  20. package/dist/cjs/stzh-contact.cjs.entry.js +1 -1
  21. package/dist/cjs/stzh-cspace.cjs.entry.js +1 -1
  22. package/dist/cjs/stzh-cta.cjs.entry.js +1 -1
  23. package/dist/cjs/stzh-datalist_2.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 +1 -1
  26. package/dist/cjs/stzh-daterange.cjs.entry.js +1 -1
  27. package/dist/cjs/stzh-details.cjs.entry.js +1 -1
  28. package/dist/cjs/stzh-dialog.cjs.entry.js +1 -1
  29. package/dist/cjs/stzh-disturber.cjs.entry.js +1 -1
  30. package/dist/cjs/stzh-dropdown.cjs.entry.js +1 -1
  31. package/dist/cjs/stzh-eventinfo.cjs.entry.js +1 -1
  32. package/dist/cjs/stzh-feedreader-item.cjs.entry.js +1 -1
  33. package/dist/cjs/stzh-feedreader.cjs.entry.js +1 -1
  34. package/dist/cjs/stzh-fieldset.cjs.entry.js +1 -1
  35. package/dist/cjs/stzh-fieldset.cjs.entry.js.map +1 -1
  36. package/dist/cjs/stzh-figure.cjs.entry.js +1 -1
  37. package/dist/cjs/stzh-footer.cjs.entry.js +1 -1
  38. package/dist/cjs/stzh-ghettobox_3.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.cjs.entry.js +1 -1
  50. package/dist/cjs/stzh-print_2.cjs.entry.js +1 -1
  51. package/dist/cjs/stzh-readspeaker.cjs.entry.js +1 -1
  52. package/dist/cjs/stzh-scrollup.cjs.entry.js +1 -1
  53. package/dist/cjs/stzh-search.cjs.entry.js +1 -1
  54. package/dist/cjs/stzh-section.cjs.entry.js +35 -3
  55. package/dist/cjs/stzh-section.cjs.entry.js.map +1 -1
  56. package/dist/cjs/stzh-socialmediastream.cjs.entry.js +1 -1
  57. package/dist/cjs/stzh-sticky-actions.cjs.entry.js +1 -1
  58. package/dist/cjs/stzh-sticky.cjs.entry.js +1 -1
  59. package/dist/cjs/stzh-table.cjs.entry.js +1 -1
  60. package/dist/cjs/stzh-textandimage.cjs.entry.js +1 -1
  61. package/dist/cjs/stzh-timeline-item.cjs.entry.js +1 -1
  62. package/dist/cjs/stzh-toast_2.cjs.entry.js +1 -1
  63. package/dist/cjs/stzh-toggle.cjs.entry.js +1 -1
  64. package/dist/cjs/stzh-tooltip.cjs.entry.js +1 -1
  65. package/dist/cjs/stzh-twocolumns.cjs.entry.js +1 -1
  66. package/dist/cjs/stzh-upload.cjs.entry.js +32 -8
  67. package/dist/cjs/stzh-upload.cjs.entry.js.map +1 -1
  68. package/dist/cjs/{utils-3e79835b.js → utils-43e6c48e.js} +9 -3
  69. package/dist/cjs/utils-43e6c48e.js.map +1 -0
  70. package/dist/collection/components/stzh-fieldset/stzh-fieldset.css +42 -0
  71. package/dist/collection/components/stzh-section/stzh-section.js +35 -4
  72. package/dist/collection/components/stzh-section/stzh-section.js.map +1 -1
  73. package/dist/collection/components/stzh-upload/stzh-upload.js +33 -8
  74. package/dist/collection/components/stzh-upload/stzh-upload.js.map +1 -1
  75. package/dist/collection/utils/utils.js +7 -2
  76. package/dist/collection/utils/utils.js.map +1 -1
  77. package/dist/components/index.js +1 -1
  78. package/dist/components/{p-b85a6b2e.js → p-05fdea9d.js} +2 -2
  79. package/dist/components/{p-b85a6b2e.js.map → p-05fdea9d.js.map} +1 -1
  80. package/dist/components/{p-073888ce.js → p-095fbf73.js} +9 -4
  81. package/dist/components/p-095fbf73.js.map +1 -0
  82. package/dist/components/{p-88880fc3.js → p-136bf880.js} +2 -2
  83. package/dist/components/{p-88880fc3.js.map → p-136bf880.js.map} +1 -1
  84. package/dist/components/{p-8ed7a61b.js → p-158996b9.js} +3 -3
  85. package/dist/components/{p-8ed7a61b.js.map → p-158996b9.js.map} +1 -1
  86. package/dist/components/{p-c47fbb21.js → p-162292d9.js} +2 -2
  87. package/dist/components/{p-c47fbb21.js.map → p-162292d9.js.map} +1 -1
  88. package/dist/components/{p-0c108311.js → p-270a262d.js} +2 -2
  89. package/dist/components/{p-0c108311.js.map → p-270a262d.js.map} +1 -1
  90. package/dist/components/{p-1d21ac10.js → p-28328bc1.js} +3 -3
  91. package/dist/components/{p-1d21ac10.js.map → p-28328bc1.js.map} +1 -1
  92. package/dist/components/{p-70f62e8e.js → p-345aa271.js} +7 -7
  93. package/dist/components/{p-70f62e8e.js.map → p-345aa271.js.map} +1 -1
  94. package/dist/components/{p-60b9f94a.js → p-3752dd9a.js} +3 -3
  95. package/dist/components/{p-60b9f94a.js.map → p-3752dd9a.js.map} +1 -1
  96. package/dist/components/{p-4d000b5b.js → p-431f7754.js} +2 -2
  97. package/dist/components/{p-4d000b5b.js.map → p-431f7754.js.map} +1 -1
  98. package/dist/components/{p-ea57718b.js → p-43cfa441.js} +2 -2
  99. package/dist/components/{p-ea57718b.js.map → p-43cfa441.js.map} +1 -1
  100. package/dist/components/{p-9657b8a5.js → p-442c9d35.js} +4 -4
  101. package/dist/components/{p-9657b8a5.js.map → p-442c9d35.js.map} +1 -1
  102. package/dist/components/{p-4f83ed4e.js → p-49b02465.js} +2 -2
  103. package/dist/components/{p-4f83ed4e.js.map → p-49b02465.js.map} +1 -1
  104. package/dist/components/{p-6c754f8f.js → p-5107044d.js} +2 -2
  105. package/dist/components/{p-6c754f8f.js.map → p-5107044d.js.map} +1 -1
  106. package/dist/components/{p-c73125e2.js → p-59c29b2f.js} +4 -4
  107. package/dist/components/{p-c73125e2.js.map → p-59c29b2f.js.map} +1 -1
  108. package/dist/components/{p-96416f66.js → p-5d183ab0.js} +4 -4
  109. package/dist/components/{p-96416f66.js.map → p-5d183ab0.js.map} +1 -1
  110. package/dist/components/{p-261d55a4.js → p-6229b8bc.js} +3 -3
  111. package/dist/components/{p-261d55a4.js.map → p-6229b8bc.js.map} +1 -1
  112. package/dist/components/{p-497e2db0.js → p-6b7a9e53.js} +3 -3
  113. package/dist/components/{p-497e2db0.js.map → p-6b7a9e53.js.map} +1 -1
  114. package/dist/components/{p-fa14b406.js → p-6bd17761.js} +4 -4
  115. package/dist/components/{p-fa14b406.js.map → p-6bd17761.js.map} +1 -1
  116. package/dist/components/{p-82e37421.js → p-6dbb90e2.js} +2 -2
  117. package/dist/components/{p-82e37421.js.map → p-6dbb90e2.js.map} +1 -1
  118. package/dist/components/{p-408a1562.js → p-6e704c81.js} +2 -2
  119. package/dist/components/{p-408a1562.js.map → p-6e704c81.js.map} +1 -1
  120. package/dist/components/{p-d5ab066a.js → p-777e6a82.js} +2 -2
  121. package/dist/components/{p-d5ab066a.js.map → p-777e6a82.js.map} +1 -1
  122. package/dist/components/{p-dd072a49.js → p-9a176168.js} +7 -7
  123. package/dist/components/{p-dd072a49.js.map → p-9a176168.js.map} +1 -1
  124. package/dist/components/{p-d26117d3.js → p-9bc1e85e.js} +3 -3
  125. package/dist/components/{p-d26117d3.js.map → p-9bc1e85e.js.map} +1 -1
  126. package/dist/components/{p-e5edc56d.js → p-a6472da9.js} +3 -3
  127. package/dist/components/{p-e5edc56d.js.map → p-a6472da9.js.map} +1 -1
  128. package/dist/components/{p-debaedeb.js → p-abcdf4b9.js} +2 -2
  129. package/dist/components/{p-debaedeb.js.map → p-abcdf4b9.js.map} +1 -1
  130. package/dist/components/{p-ec911b13.js → p-ad74acdc.js} +3 -3
  131. package/dist/components/{p-ec911b13.js.map → p-ad74acdc.js.map} +1 -1
  132. package/dist/components/{p-435413fc.js → p-b115288a.js} +2 -2
  133. package/dist/components/{p-435413fc.js.map → p-b115288a.js.map} +1 -1
  134. package/dist/components/{p-d2347259.js → p-bf5da52e.js} +2 -2
  135. package/dist/components/{p-d2347259.js.map → p-bf5da52e.js.map} +1 -1
  136. package/dist/components/{p-b107b48c.js → p-c2d7b984.js} +2 -2
  137. package/dist/components/{p-b107b48c.js.map → p-c2d7b984.js.map} +1 -1
  138. package/dist/components/{p-ebbe78de.js → p-c395cbc2.js} +5 -5
  139. package/dist/components/{p-ebbe78de.js.map → p-c395cbc2.js.map} +1 -1
  140. package/dist/components/{p-6b2b1e7b.js → p-d264ac6b.js} +3 -3
  141. package/dist/components/{p-6b2b1e7b.js.map → p-d264ac6b.js.map} +1 -1
  142. package/dist/components/{p-37367a31.js → p-dcdbdf88.js} +7 -7
  143. package/dist/components/{p-37367a31.js.map → p-dcdbdf88.js.map} +1 -1
  144. package/dist/components/{p-2d532797.js → p-de4503ca.js} +3 -3
  145. package/dist/components/{p-2d532797.js.map → p-de4503ca.js.map} +1 -1
  146. package/dist/components/{p-62e6cd61.js → p-e4286f09.js} +4 -4
  147. package/dist/components/{p-62e6cd61.js.map → p-e4286f09.js.map} +1 -1
  148. package/dist/components/{p-16940157.js → p-e8e933a4.js} +4 -4
  149. package/dist/components/{p-16940157.js.map → p-e8e933a4.js.map} +1 -1
  150. package/dist/components/{p-e282faac.js → p-e92576a9.js} +2 -2
  151. package/dist/components/{p-e282faac.js.map → p-e92576a9.js.map} +1 -1
  152. package/dist/components/{p-4e5ccabd.js → p-fa2fe9ca.js} +2 -2
  153. package/dist/components/{p-4e5ccabd.js.map → p-fa2fe9ca.js.map} +1 -1
  154. package/dist/components/{p-541e8c61.js → p-fd08bfe0.js} +4 -4
  155. package/dist/components/{p-541e8c61.js.map → p-fd08bfe0.js.map} +1 -1
  156. package/dist/components/{p-6956beb9.js → p-fe37ade8.js} +5 -5
  157. package/dist/components/{p-6956beb9.js.map → p-fe37ade8.js.map} +1 -1
  158. package/dist/components/stzh-accordion-item.js +1 -1
  159. package/dist/components/stzh-actions.js +1 -1
  160. package/dist/components/stzh-actionset.js +1 -1
  161. package/dist/components/stzh-amount.js +4 -4
  162. package/dist/components/stzh-anchornav.js +2 -2
  163. package/dist/components/stzh-app-bar.js +1 -1
  164. package/dist/components/stzh-app-nav.js +1 -1
  165. package/dist/components/stzh-appointments.js +10 -10
  166. package/dist/components/stzh-archivelist.js +3 -3
  167. package/dist/components/stzh-audio.js +2 -2
  168. package/dist/components/stzh-banner.js +1 -1
  169. package/dist/components/stzh-bathstatus-item.js +1 -1
  170. package/dist/components/stzh-bathstatus-list.js +3 -3
  171. package/dist/components/stzh-button.js +1 -1
  172. package/dist/components/stzh-calendar.js +1 -1
  173. package/dist/components/stzh-card-navigation.js +1 -1
  174. package/dist/components/stzh-card-searchresult.js +8 -8
  175. package/dist/components/stzh-card-superteaser.js +8 -8
  176. package/dist/components/stzh-card.js +1 -1
  177. package/dist/components/stzh-cardlist.js +1 -1
  178. package/dist/components/stzh-carousel.js +1 -1
  179. package/dist/components/stzh-checkbox.js +1 -1
  180. package/dist/components/stzh-checkboxgroup.js +2 -2
  181. package/dist/components/stzh-chip.js +1 -1
  182. package/dist/components/stzh-chipselect.js +1 -1
  183. package/dist/components/stzh-clamp.js +1 -1
  184. package/dist/components/stzh-contact-cv.js +1 -1
  185. package/dist/components/stzh-contact.js +2 -2
  186. package/dist/components/stzh-cspace.js +1 -1
  187. package/dist/components/stzh-cta.js +2 -2
  188. package/dist/components/stzh-datalist-item.js +1 -1
  189. package/dist/components/stzh-datalist.js +1 -1
  190. package/dist/components/stzh-datamessagelist-item.js +6 -6
  191. package/dist/components/stzh-datatable.js +10 -10
  192. package/dist/components/stzh-datepicker.js +1 -1
  193. package/dist/components/stzh-daterange.js +2 -2
  194. package/dist/components/stzh-details.js +1 -1
  195. package/dist/components/stzh-dialog.js +1 -1
  196. package/dist/components/stzh-disturber.js +2 -2
  197. package/dist/components/stzh-dropdown.js +1 -1
  198. package/dist/components/stzh-editor.js +1 -1
  199. package/dist/components/stzh-eventinfo.js +3 -3
  200. package/dist/components/stzh-feedreader-item.js +1 -1
  201. package/dist/components/stzh-feedreader.js +4 -4
  202. package/dist/components/stzh-fieldset.js +1 -1
  203. package/dist/components/stzh-fieldset.js.map +1 -1
  204. package/dist/components/stzh-figure.js +1 -1
  205. package/dist/components/stzh-footer.js +2 -2
  206. package/dist/components/stzh-gallery.js +3 -3
  207. package/dist/components/stzh-geo-ref-data.js +13 -13
  208. package/dist/components/stzh-ghettobox.js +1 -1
  209. package/dist/components/stzh-header.js +1 -1
  210. package/dist/components/stzh-homepage-service-highlights.js +1 -1
  211. package/dist/components/stzh-http-error.js +1 -1
  212. package/dist/components/stzh-iframe.js +1 -1
  213. package/dist/components/stzh-input.js +1 -1
  214. package/dist/components/stzh-link.js +1 -1
  215. package/dist/components/stzh-menu-item.js +1 -1
  216. package/dist/components/stzh-message.js +1 -1
  217. package/dist/components/stzh-microsite-teaserlist.js +11 -11
  218. package/dist/components/stzh-monthyearpicker.js +2 -2
  219. package/dist/components/stzh-offline-indicator.js +3 -3
  220. package/dist/components/stzh-pagebottom.js +4 -4
  221. package/dist/components/stzh-pagecontent.js +1 -1
  222. package/dist/components/stzh-pagetitle-hero.js +1 -1
  223. package/dist/components/stzh-pagetitle-home.js +1 -1
  224. package/dist/components/stzh-pagetitle.js +1 -1
  225. package/dist/components/stzh-pagination.js +1 -1
  226. package/dist/components/stzh-panorama.js +6 -6
  227. package/dist/components/stzh-pi-content-navigation.js +1 -1
  228. package/dist/components/stzh-pi-pagetitle.js +1 -1
  229. package/dist/components/stzh-pi-teaser.js +1 -1
  230. package/dist/components/stzh-poicard.js +1 -1
  231. package/dist/components/stzh-poilist.js +9 -9
  232. package/dist/components/stzh-popover.js +1 -1
  233. package/dist/components/stzh-print.js +1 -1
  234. package/dist/components/stzh-radio.js +1 -1
  235. package/dist/components/stzh-radiogroup.js +1 -1
  236. package/dist/components/stzh-readspeaker.js +2 -2
  237. package/dist/components/stzh-saptcha.js +3 -3
  238. package/dist/components/stzh-scrollup.js +1 -1
  239. package/dist/components/stzh-search.js +10 -10
  240. package/dist/components/stzh-section.js +34 -3
  241. package/dist/components/stzh-section.js.map +1 -1
  242. package/dist/components/stzh-share.js +1 -1
  243. package/dist/components/stzh-sitemap.js +4 -4
  244. package/dist/components/stzh-socialmediastream.js +1 -1
  245. package/dist/components/stzh-sticky-actions.js +2 -2
  246. package/dist/components/stzh-sticky.js +1 -1
  247. package/dist/components/stzh-table.js +1 -1
  248. package/dist/components/stzh-tag.js +1 -1
  249. package/dist/components/stzh-textandimage.js +1 -1
  250. package/dist/components/stzh-timeline-item.js +1 -1
  251. package/dist/components/stzh-timepicker.js +2 -2
  252. package/dist/components/stzh-toast.js +1 -1
  253. package/dist/components/stzh-toastbar.js +1 -1
  254. package/dist/components/stzh-toggle.js +2 -2
  255. package/dist/components/stzh-tooltip.js +1 -1
  256. package/dist/components/stzh-twocolumns.js +1 -1
  257. package/dist/components/stzh-upload.js +40 -15
  258. package/dist/components/stzh-upload.js.map +1 -1
  259. package/dist/components/stzh-vbz-carousel.js +1 -1
  260. package/dist/components/stzh-vbz-intro.js +1 -1
  261. package/dist/components/stzh-vbz-majorticker.js +3 -3
  262. package/dist/components/stzh-vbz-ticker.js +2 -2
  263. package/dist/components/stzh-youtube.js +2 -2
  264. package/dist/esm/{app-globals-1e3146bc.js → app-globals-c2c993b0.js} +2 -2
  265. package/dist/esm/{app-globals-1e3146bc.js.map → app-globals-c2c993b0.js.map} +1 -1
  266. package/dist/esm/loader.js +2 -2
  267. package/dist/esm/stzh-accordion_3.entry.js +1 -1
  268. package/dist/esm/stzh-actions.entry.js +1 -1
  269. package/dist/esm/stzh-app-bar.entry.js +1 -1
  270. package/dist/esm/stzh-appointments.entry.js +1 -1
  271. package/dist/esm/stzh-audio.entry.js +1 -1
  272. package/dist/esm/stzh-badge_3.entry.js +1 -1
  273. package/dist/esm/stzh-bathstatus-list.entry.js +1 -1
  274. package/dist/esm/stzh-card-navigation.entry.js +1 -1
  275. package/dist/esm/stzh-card-searchresult.entry.js +1 -1
  276. package/dist/esm/stzh-card-superteaser.entry.js +1 -1
  277. package/dist/esm/stzh-card.entry.js +1 -1
  278. package/dist/esm/stzh-carousel.entry.js +1 -1
  279. package/dist/esm/stzh-checkbox_3.entry.js +1 -1
  280. package/dist/esm/stzh-checkboxgroup.entry.js +1 -1
  281. package/dist/esm/stzh-components.js +2 -2
  282. package/dist/esm/stzh-contact-cv.entry.js +1 -1
  283. package/dist/esm/stzh-contact.entry.js +1 -1
  284. package/dist/esm/stzh-cspace.entry.js +1 -1
  285. package/dist/esm/stzh-cta.entry.js +1 -1
  286. package/dist/esm/stzh-datalist_2.entry.js +1 -1
  287. package/dist/esm/stzh-datatable.entry.js +1 -1
  288. package/dist/esm/stzh-datepicker_3.entry.js +1 -1
  289. package/dist/esm/stzh-daterange.entry.js +1 -1
  290. package/dist/esm/stzh-details.entry.js +1 -1
  291. package/dist/esm/stzh-dialog.entry.js +1 -1
  292. package/dist/esm/stzh-disturber.entry.js +1 -1
  293. package/dist/esm/stzh-dropdown.entry.js +1 -1
  294. package/dist/esm/stzh-eventinfo.entry.js +1 -1
  295. package/dist/esm/stzh-feedreader-item.entry.js +1 -1
  296. package/dist/esm/stzh-feedreader.entry.js +1 -1
  297. package/dist/esm/stzh-fieldset.entry.js +1 -1
  298. package/dist/esm/stzh-fieldset.entry.js.map +1 -1
  299. package/dist/esm/stzh-figure.entry.js +1 -1
  300. package/dist/esm/stzh-footer.entry.js +1 -1
  301. package/dist/esm/stzh-ghettobox_3.entry.js +1 -1
  302. package/dist/esm/stzh-input.entry.js +1 -1
  303. package/dist/esm/stzh-link.entry.js +1 -1
  304. package/dist/esm/stzh-menu_2.entry.js +1 -1
  305. package/dist/esm/stzh-pagecontent.entry.js +1 -1
  306. package/dist/esm/stzh-pagetitle-hero.entry.js +1 -1
  307. package/dist/esm/stzh-pagetitle-home.entry.js +1 -1
  308. package/dist/esm/stzh-pagetitle.entry.js +1 -1
  309. package/dist/esm/stzh-pi-content-navigation.entry.js +1 -1
  310. package/dist/esm/stzh-pi-pagetitle.entry.js +1 -1
  311. package/dist/esm/stzh-pi-teaser.entry.js +1 -1
  312. package/dist/esm/stzh-popover.entry.js +1 -1
  313. package/dist/esm/stzh-print_2.entry.js +1 -1
  314. package/dist/esm/stzh-readspeaker.entry.js +1 -1
  315. package/dist/esm/stzh-scrollup.entry.js +1 -1
  316. package/dist/esm/stzh-search.entry.js +1 -1
  317. package/dist/esm/stzh-section.entry.js +35 -3
  318. package/dist/esm/stzh-section.entry.js.map +1 -1
  319. package/dist/esm/stzh-socialmediastream.entry.js +1 -1
  320. package/dist/esm/stzh-sticky-actions.entry.js +1 -1
  321. package/dist/esm/stzh-sticky.entry.js +1 -1
  322. package/dist/esm/stzh-table.entry.js +1 -1
  323. package/dist/esm/stzh-textandimage.entry.js +1 -1
  324. package/dist/esm/stzh-timeline-item.entry.js +1 -1
  325. package/dist/esm/stzh-toast_2.entry.js +1 -1
  326. package/dist/esm/stzh-toggle.entry.js +1 -1
  327. package/dist/esm/stzh-tooltip.entry.js +1 -1
  328. package/dist/esm/stzh-twocolumns.entry.js +1 -1
  329. package/dist/esm/stzh-upload.entry.js +32 -8
  330. package/dist/esm/stzh-upload.entry.js.map +1 -1
  331. package/dist/esm/{utils-299e480e.js → utils-176832ef.js} +9 -4
  332. package/dist/esm/utils-176832ef.js.map +1 -0
  333. package/dist/stzh-components/{p-78c8f89c.entry.js → p-0f62354b.entry.js} +2 -2
  334. package/dist/stzh-components/{p-5b6ec6af.entry.js → p-11178abd.entry.js} +2 -2
  335. package/dist/stzh-components/{p-43feae69.entry.js → p-166a7e44.entry.js} +2 -2
  336. package/dist/stzh-components/p-16706623.js +2 -0
  337. package/dist/stzh-components/p-16706623.js.map +1 -0
  338. package/dist/stzh-components/{p-9e993ad4.entry.js → p-16cabc02.entry.js} +2 -2
  339. package/dist/stzh-components/{p-2d1b7218.entry.js → p-17000794.entry.js} +2 -2
  340. package/dist/stzh-components/{p-75143e35.entry.js → p-18d4a327.entry.js} +2 -2
  341. package/dist/stzh-components/{p-9b7584c1.entry.js → p-19afc465.entry.js} +2 -2
  342. package/dist/stzh-components/{p-9fbc9641.entry.js → p-20e5bfdc.entry.js} +2 -2
  343. package/dist/stzh-components/{p-d41803d1.js → p-247de09a.js} +2 -2
  344. package/dist/stzh-components/{p-358c6c04.entry.js → p-26a1707d.entry.js} +2 -2
  345. package/dist/stzh-components/{p-1ae5f48a.entry.js → p-27e525b1.entry.js} +2 -2
  346. package/dist/stzh-components/{p-5225e901.entry.js → p-2dab7000.entry.js} +2 -2
  347. package/dist/stzh-components/{p-7b524c7c.entry.js → p-2ed0423d.entry.js} +2 -2
  348. package/dist/stzh-components/p-34c25537.entry.js +2 -0
  349. package/dist/stzh-components/p-34c25537.entry.js.map +1 -0
  350. package/dist/stzh-components/{p-e58aa9fa.entry.js → p-34fefe7e.entry.js} +2 -2
  351. package/dist/stzh-components/{p-a3ff8d5e.entry.js → p-3d9303bc.entry.js} +2 -2
  352. package/dist/stzh-components/{p-23678dfc.entry.js → p-45272485.entry.js} +2 -2
  353. package/dist/stzh-components/{p-646958e0.entry.js → p-51057ba5.entry.js} +2 -2
  354. package/dist/stzh-components/{p-1bd35435.entry.js → p-517e59b0.entry.js} +2 -2
  355. package/dist/stzh-components/{p-45430f1b.entry.js → p-58d5b963.entry.js} +2 -2
  356. package/dist/stzh-components/{p-84f8307b.entry.js → p-5dd3d380.entry.js} +2 -2
  357. package/dist/stzh-components/{p-2348bef0.entry.js → p-5f9a792e.entry.js} +2 -2
  358. package/dist/stzh-components/{p-e10ff24f.entry.js → p-63d1115e.entry.js} +2 -2
  359. package/dist/stzh-components/{p-1807c812.entry.js → p-64ef2161.entry.js} +2 -2
  360. package/dist/stzh-components/{p-0e56ac34.entry.js → p-662a3682.entry.js} +2 -2
  361. package/dist/stzh-components/{p-73bec4de.entry.js → p-6b361969.entry.js} +2 -2
  362. package/dist/stzh-components/{p-1a0bd7f8.entry.js → p-6cca00bd.entry.js} +2 -2
  363. package/dist/stzh-components/{p-e47c1746.entry.js → p-6d4293ad.entry.js} +2 -2
  364. package/dist/stzh-components/{p-ce5d45d0.entry.js → p-843072dc.entry.js} +2 -2
  365. package/dist/stzh-components/{p-c532d270.entry.js → p-84c39bd8.entry.js} +2 -2
  366. package/dist/stzh-components/{p-162ba6dd.entry.js → p-8e20578b.entry.js} +2 -2
  367. package/dist/stzh-components/{p-bfe11b11.entry.js → p-8ea4aaca.entry.js} +2 -2
  368. package/dist/stzh-components/p-8ee35857.entry.js +2 -0
  369. package/dist/stzh-components/p-8ee35857.entry.js.map +1 -0
  370. package/dist/stzh-components/{p-8856651e.entry.js → p-909c12df.entry.js} +2 -2
  371. package/dist/stzh-components/{p-085e0fa9.entry.js → p-94f3343e.entry.js} +2 -2
  372. package/dist/stzh-components/{p-94f45779.entry.js → p-97ba7310.entry.js} +2 -2
  373. package/dist/stzh-components/{p-a5dbb0bb.entry.js → p-97eff793.entry.js} +2 -2
  374. package/dist/stzh-components/{p-66c866e5.entry.js → p-9cbfeb26.entry.js} +2 -2
  375. package/dist/stzh-components/p-9cbfeb26.entry.js.map +1 -0
  376. package/dist/stzh-components/{p-d7c08110.entry.js → p-9f3eb7b0.entry.js} +2 -2
  377. package/dist/stzh-components/{p-fe7cdf52.entry.js → p-a1c188a6.entry.js} +2 -2
  378. package/dist/stzh-components/{p-58100168.entry.js → p-a4dac2d8.entry.js} +2 -2
  379. package/dist/stzh-components/{p-84cedd61.entry.js → p-ab53bb9a.entry.js} +2 -2
  380. package/dist/stzh-components/{p-621c4692.entry.js → p-b5c47a5f.entry.js} +2 -2
  381. package/dist/stzh-components/{p-ab026312.entry.js → p-bbd5d731.entry.js} +2 -2
  382. package/dist/stzh-components/{p-b8bfefa4.entry.js → p-c0cfecf8.entry.js} +2 -2
  383. package/dist/stzh-components/{p-08e8df77.entry.js → p-c350d522.entry.js} +2 -2
  384. package/dist/stzh-components/{p-c984b936.entry.js → p-c3a7f080.entry.js} +2 -2
  385. package/dist/stzh-components/{p-85018afa.entry.js → p-c5c85b13.entry.js} +2 -2
  386. package/dist/stzh-components/{p-c3cf240b.entry.js → p-c883103f.entry.js} +2 -2
  387. package/dist/stzh-components/{p-9f91ca1f.entry.js → p-caeb3d61.entry.js} +2 -2
  388. package/dist/stzh-components/{p-0285d7d6.entry.js → p-d04c482f.entry.js} +2 -2
  389. package/dist/stzh-components/{p-6a3db3bd.entry.js → p-d1321280.entry.js} +2 -2
  390. package/dist/stzh-components/{p-bd220190.entry.js → p-d52e27d8.entry.js} +2 -2
  391. package/dist/stzh-components/{p-129faf7d.entry.js → p-d678526e.entry.js} +2 -2
  392. package/dist/stzh-components/{p-2d6bb9b9.entry.js → p-d7c7067f.entry.js} +2 -2
  393. package/dist/stzh-components/{p-b85661bd.entry.js → p-e0bdfdfb.entry.js} +2 -2
  394. package/dist/stzh-components/{p-47288fae.entry.js → p-ed793b23.entry.js} +2 -2
  395. package/dist/stzh-components/{p-8d700020.entry.js → p-f0b353f1.entry.js} +2 -2
  396. package/dist/stzh-components/{p-c52c2f97.entry.js → p-f6b01155.entry.js} +2 -2
  397. package/dist/stzh-components/{p-0c093d08.entry.js → p-f95d7352.entry.js} +2 -2
  398. package/dist/stzh-components/{p-433697be.entry.js → p-fa6f50d5.entry.js} +2 -2
  399. package/dist/stzh-components/stzh-components.esm.js +1 -1
  400. package/dist/stzh-components/stzh-components.esm.js.map +1 -1
  401. package/dist/types/components/stzh-section/stzh-section.d.ts +8 -0
  402. package/dist/types/components/stzh-upload/stzh-upload.d.ts +1 -0
  403. package/dist/types/utils/utils.d.ts +1 -0
  404. package/package.json +1 -1
  405. package/dist/cjs/utils-3e79835b.js.map +0 -1
  406. package/dist/components/p-073888ce.js.map +0 -1
  407. package/dist/esm/utils-299e480e.js.map +0 -1
  408. package/dist/stzh-components/p-66c866e5.entry.js.map +0 -1
  409. package/dist/stzh-components/p-70390e50.entry.js +0 -2
  410. package/dist/stzh-components/p-70390e50.entry.js.map +0 -1
  411. package/dist/stzh-components/p-b348bac5.entry.js +0 -2
  412. package/dist/stzh-components/p-b348bac5.entry.js.map +0 -1
  413. package/dist/stzh-components/p-ebd6dda5.js +0 -2
  414. package/dist/stzh-components/p-ebd6dda5.js.map +0 -1
  415. /package/dist/stzh-components/{p-78c8f89c.entry.js.map → p-0f62354b.entry.js.map} +0 -0
  416. /package/dist/stzh-components/{p-5b6ec6af.entry.js.map → p-11178abd.entry.js.map} +0 -0
  417. /package/dist/stzh-components/{p-43feae69.entry.js.map → p-166a7e44.entry.js.map} +0 -0
  418. /package/dist/stzh-components/{p-9e993ad4.entry.js.map → p-16cabc02.entry.js.map} +0 -0
  419. /package/dist/stzh-components/{p-2d1b7218.entry.js.map → p-17000794.entry.js.map} +0 -0
  420. /package/dist/stzh-components/{p-75143e35.entry.js.map → p-18d4a327.entry.js.map} +0 -0
  421. /package/dist/stzh-components/{p-9b7584c1.entry.js.map → p-19afc465.entry.js.map} +0 -0
  422. /package/dist/stzh-components/{p-9fbc9641.entry.js.map → p-20e5bfdc.entry.js.map} +0 -0
  423. /package/dist/stzh-components/{p-d41803d1.js.map → p-247de09a.js.map} +0 -0
  424. /package/dist/stzh-components/{p-358c6c04.entry.js.map → p-26a1707d.entry.js.map} +0 -0
  425. /package/dist/stzh-components/{p-1ae5f48a.entry.js.map → p-27e525b1.entry.js.map} +0 -0
  426. /package/dist/stzh-components/{p-5225e901.entry.js.map → p-2dab7000.entry.js.map} +0 -0
  427. /package/dist/stzh-components/{p-7b524c7c.entry.js.map → p-2ed0423d.entry.js.map} +0 -0
  428. /package/dist/stzh-components/{p-e58aa9fa.entry.js.map → p-34fefe7e.entry.js.map} +0 -0
  429. /package/dist/stzh-components/{p-a3ff8d5e.entry.js.map → p-3d9303bc.entry.js.map} +0 -0
  430. /package/dist/stzh-components/{p-23678dfc.entry.js.map → p-45272485.entry.js.map} +0 -0
  431. /package/dist/stzh-components/{p-646958e0.entry.js.map → p-51057ba5.entry.js.map} +0 -0
  432. /package/dist/stzh-components/{p-1bd35435.entry.js.map → p-517e59b0.entry.js.map} +0 -0
  433. /package/dist/stzh-components/{p-45430f1b.entry.js.map → p-58d5b963.entry.js.map} +0 -0
  434. /package/dist/stzh-components/{p-84f8307b.entry.js.map → p-5dd3d380.entry.js.map} +0 -0
  435. /package/dist/stzh-components/{p-2348bef0.entry.js.map → p-5f9a792e.entry.js.map} +0 -0
  436. /package/dist/stzh-components/{p-e10ff24f.entry.js.map → p-63d1115e.entry.js.map} +0 -0
  437. /package/dist/stzh-components/{p-1807c812.entry.js.map → p-64ef2161.entry.js.map} +0 -0
  438. /package/dist/stzh-components/{p-0e56ac34.entry.js.map → p-662a3682.entry.js.map} +0 -0
  439. /package/dist/stzh-components/{p-73bec4de.entry.js.map → p-6b361969.entry.js.map} +0 -0
  440. /package/dist/stzh-components/{p-1a0bd7f8.entry.js.map → p-6cca00bd.entry.js.map} +0 -0
  441. /package/dist/stzh-components/{p-e47c1746.entry.js.map → p-6d4293ad.entry.js.map} +0 -0
  442. /package/dist/stzh-components/{p-ce5d45d0.entry.js.map → p-843072dc.entry.js.map} +0 -0
  443. /package/dist/stzh-components/{p-c532d270.entry.js.map → p-84c39bd8.entry.js.map} +0 -0
  444. /package/dist/stzh-components/{p-162ba6dd.entry.js.map → p-8e20578b.entry.js.map} +0 -0
  445. /package/dist/stzh-components/{p-bfe11b11.entry.js.map → p-8ea4aaca.entry.js.map} +0 -0
  446. /package/dist/stzh-components/{p-8856651e.entry.js.map → p-909c12df.entry.js.map} +0 -0
  447. /package/dist/stzh-components/{p-085e0fa9.entry.js.map → p-94f3343e.entry.js.map} +0 -0
  448. /package/dist/stzh-components/{p-94f45779.entry.js.map → p-97ba7310.entry.js.map} +0 -0
  449. /package/dist/stzh-components/{p-a5dbb0bb.entry.js.map → p-97eff793.entry.js.map} +0 -0
  450. /package/dist/stzh-components/{p-d7c08110.entry.js.map → p-9f3eb7b0.entry.js.map} +0 -0
  451. /package/dist/stzh-components/{p-fe7cdf52.entry.js.map → p-a1c188a6.entry.js.map} +0 -0
  452. /package/dist/stzh-components/{p-58100168.entry.js.map → p-a4dac2d8.entry.js.map} +0 -0
  453. /package/dist/stzh-components/{p-84cedd61.entry.js.map → p-ab53bb9a.entry.js.map} +0 -0
  454. /package/dist/stzh-components/{p-621c4692.entry.js.map → p-b5c47a5f.entry.js.map} +0 -0
  455. /package/dist/stzh-components/{p-ab026312.entry.js.map → p-bbd5d731.entry.js.map} +0 -0
  456. /package/dist/stzh-components/{p-b8bfefa4.entry.js.map → p-c0cfecf8.entry.js.map} +0 -0
  457. /package/dist/stzh-components/{p-08e8df77.entry.js.map → p-c350d522.entry.js.map} +0 -0
  458. /package/dist/stzh-components/{p-c984b936.entry.js.map → p-c3a7f080.entry.js.map} +0 -0
  459. /package/dist/stzh-components/{p-85018afa.entry.js.map → p-c5c85b13.entry.js.map} +0 -0
  460. /package/dist/stzh-components/{p-c3cf240b.entry.js.map → p-c883103f.entry.js.map} +0 -0
  461. /package/dist/stzh-components/{p-9f91ca1f.entry.js.map → p-caeb3d61.entry.js.map} +0 -0
  462. /package/dist/stzh-components/{p-0285d7d6.entry.js.map → p-d04c482f.entry.js.map} +0 -0
  463. /package/dist/stzh-components/{p-6a3db3bd.entry.js.map → p-d1321280.entry.js.map} +0 -0
  464. /package/dist/stzh-components/{p-bd220190.entry.js.map → p-d52e27d8.entry.js.map} +0 -0
  465. /package/dist/stzh-components/{p-129faf7d.entry.js.map → p-d678526e.entry.js.map} +0 -0
  466. /package/dist/stzh-components/{p-2d6bb9b9.entry.js.map → p-d7c7067f.entry.js.map} +0 -0
  467. /package/dist/stzh-components/{p-b85661bd.entry.js.map → p-e0bdfdfb.entry.js.map} +0 -0
  468. /package/dist/stzh-components/{p-47288fae.entry.js.map → p-ed793b23.entry.js.map} +0 -0
  469. /package/dist/stzh-components/{p-8d700020.entry.js.map → p-f0b353f1.entry.js.map} +0 -0
  470. /package/dist/stzh-components/{p-c52c2f97.entry.js.map → p-f6b01155.entry.js.map} +0 -0
  471. /package/dist/stzh-components/{p-0c093d08.entry.js.map → p-f95d7352.entry.js.map} +0 -0
  472. /package/dist/stzh-components/{p-433697be.entry.js.map → p-fa6f50d5.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"p-d26117d3.js","mappings":"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","names":[],"sources":["src/components/stzh-tag/stzh-tag.scss?tag=stzh-tag&encapsulation=scoped","src/components/stzh-tag/stzh-tag.tsx"],"sourcesContent":[":host {\n --color: var(--stzh-tag-color, #{$colorSecondary60});\n --height: 24px;\n --padding-top: 0;\n --padding-bottom: 0;\n --padding-left: #{space('small')};\n --padding-right: #{space('small')};\n --background-color: var(--stzh-tag-background-color, #{$colorGrey20});\n\n --hover-color: var(--stzh-tag-hover-color, #{$colorSecondary60});\n --hover-background-color: var(--stzh-tag-hover-background-color, var(--background-color));\n\n display: inline-flex;\n\n &[size=\"large\"] {\n --height: 32px;\n }\n\n &[size=\"default\"][type=\"secondary\"] {\n --background-color: var(--stzh-tag-secondary-background-color, #{$colorSecondary60});\n }\n\n &[type=\"secondary\"] {\n --color: var(--stzh-tag-secondary-color, #{$colorWhite});\n --background-color: var(--stzh-tag-secondary-background-color, #{$colorSecondary50});\n\n --hover-color: var(--stzh-tag-secondary-hover-color, #{$colorWhite});\n --hover-background-color: var(--stzh-tag-secondary-hover-background-color, var(--background-color));\n }\n\n &[non-interactive]:not([non-interactive=\"false\"]) {\n --hover-color: var(--color);\n --hover-background-color: var(--background-color);\n }\n\n &[disabled]:not([disabled=\"false\"]) {\n --color: var(--stzh-tag-disabled-color, #{$colorGrey70});\n --background-color: var(--stzh-tag-disabled-background-color, #{$colorGrey20});\n\n --hover-color: var(--color);\n --hover-background-color: var(--background-color);\n }\n}\n\n.stzh-tag {\n position: relative;\n\n &__button {\n @include fontSize('nano');\n font-family: inherit;\n height: var(--height);\n display: flex;\n flex-direction: row;\n align-items: center;\n padding-top: var(--padding-top);\n padding-bottom: var(--padding-bottom);\n padding-left: var(--padding-left);\n padding-right: var(--padding-right);\n color: var(--color);\n appearance: none;\n border: none;\n background-color: var(--background-color);\n transition-duration: $baseTransitionAnimationSpeed;\n transition-property: color, background-color;\n text-decoration-line: none;\n\n &.is-button,\n &.is-link {\n cursor: pointer;\n }\n }\n\n &__label {\n text-align: left;\n }\n\n &__button:hover {\n color: var(--hover-color);\n background-color: var(--hover-background-color);\n }\n\n /* Size */\n\n &--size-large &__button {\n @include font('heavy');\n @include fontSize('milli');\n }\n\n /* Disabled */\n\n &--is-disabled &__button {\n cursor: not-allowed;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element,\n Fragment\n} from \"@stencil/core\";\n\nimport {\n StzhTagType,\n StzhTagSize,\n StzhTagClickEvent,\n StzhTagFocusEvent,\n StzhTagBlurEvent\n} from \"../../index\";\n\n/**\n * @slot - Slot for label\n */\n@Component({\n tag: \"stzh-tag\",\n styleUrl: \"stzh-tag.scss\",\n scoped: true\n})\nexport class StzhTag {\n /** Label */\n @Prop() label: string = \"\";\n\n /** `href` if the tag should be used as link */\n @Prop() href: string = \"\";\n\n /** Target if the button is used as link (if `href` used) */\n @Prop() target: string = \"\";\n\n /** Whether tag is not interactive */\n @Prop({ reflect: true }) nonInteractive: boolean = false;\n\n /** Type */\n @Prop({ reflect: true }) type: StzhTagType = \"default\";\n\n /** Size */\n @Prop({ reflect: true }) size: StzhTagSize = \"default\";\n\n /** Disabled */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Tabindex of link/button */\n @Prop({ attribute: \"a11y-tabindex\" }) a11yTabindex: string;\n\n /** Accessible label for screen readers to replace visible text */\n @Prop({ attribute: \"a11y-label\" }) a11yLabel: string;\n\n /** Id for element which describes the link/button */\n @Prop({ attribute: \"a11y-describedby\" }) a11yDescribedby: string = \"\";\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the link/button element.\n * Default value will be taken from `label` prop or default slot.\n */\n @Prop() analyticsId: string;\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the remove button element.\n * Default value will be taken from `removeLabel` prop.\n */\n @Prop() removeAnalyticsId: string;\n\n @Element() element: HTMLStzhTagElement;\n\n /** Click event */\n @Event() stzhClick: EventEmitter<StzhTagClickEvent>;\n\n /** Focus event */\n @Event() stzhFocus: EventEmitter<StzhTagFocusEvent>;\n\n /** Input blur event */\n @Event() stzhBlur: EventEmitter<StzhTagBlurEvent>;\n\n private tag: HTMLButtonElement | HTMLAnchorElement | HTMLDivElement;\n private text: HTMLElement;\n private focusedByInput: boolean = false;\n\n componentDidRender() {\n requestAnimationFrame(() => {\n if (!this.nonInteractive) {\n this.tag?.setAttribute(\"s-object-id\", this.analyticsId || this.text.innerText);\n }\n });\n }\n\n private renderInner(): DocumentFragment {\n return (\n <Fragment>\n <stzh-clamp\n lines={1}\n class=\"stzh-tag__label\"\n ref={(el) => (this.text = el as HTMLElement)}\n >\n {this.label ? this.label : <slot></slot>}\n </stzh-clamp>\n </Fragment>\n );\n }\n\n private onRootFocus = () => {\n if (!this.focusedByInput) {\n this.tag.focus();\n }\n\n this.focusedByInput = false;\n }\n\n private onFocus = (event: FocusEvent) => {\n this.focusedByInput = true;\n\n const focusEvent = new FocusEvent(\"focus\", {\n view: window,\n bubbles: false,\n cancelable: false\n });\n\n this.element.dispatchEvent(focusEvent);\n this.stzhFocus.emit({\n component: \"stzh-tag\",\n originalEvent: event\n });\n }\n\n private onBlur = (event: FocusEvent) => {\n const blurEvent = new FocusEvent(\"blur\", {\n view: window,\n bubbles: false,\n cancelable: false\n });\n\n this.element.dispatchEvent(blurEvent);\n this.stzhBlur.emit({\n component: \"stzh-tag\",\n originalEvent: event\n });\n }\n\n private onClick = (event: MouseEvent) => {\n this.stzhClick.emit({\n component: \"stzh-tag\",\n originalEvent: event,\n href: this.href\n });\n }\n\n render() {\n const classes = {\n \"stzh-tag\": true,\n \"stzh-tag--is-disabled\": this.disabled,\n [`stzh-tag--size-${this.size}`]: !!this.size,\n [`stzh-tag--${this.type}`]: !!this.type\n };\n\n const Tag = this.nonInteractive ? \"div\" :\n this.href ? \"a\" : \"button\";\n\n return (\n <Host tabindex={this.disabled ? null : \"-1\"} onFocus={this.onRootFocus}>\n <div class={classes}>\n {this.href ?\n <Tag\n ref={(el) => (this.tag = el as HTMLAnchorElement)}\n class={{\n \"stzh-tag__button\": true,\n \"is-button\": !this.nonInteractive && !this.href,\n \"is-link\": !this.nonInteractive && !!this.href\n }}\n href={this.disabled ? null : this.href}\n target={this.target}\n tabindex={this.a11yTabindex}\n aria-label={this.a11yLabel || null}\n aria-describedby={this.a11yDescribedby || null}\n onClick={this.onClick}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n >\n {this.renderInner()}\n </Tag>\n :\n <Tag\n ref={(el) => (this.tag = el as HTMLButtonElement | HTMLDivElement)}\n class={{\n \"stzh-tag__button\": true,\n \"is-button\": !this.nonInteractive && !this.href,\n \"is-link\": !this.nonInteractive && !!this.href\n }}\n disabled={this.disabled}\n type=\"button\"\n tabindex={this.a11yTabindex}\n aria-label={this.a11yLabel || null}\n aria-describedby={this.a11yDescribedby || null}\n onClick={this.onClick}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n >\n {this.renderInner()}\n </Tag>\n }\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-9bc1e85e.js","mappings":"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","names":[],"sources":["src/components/stzh-tag/stzh-tag.scss?tag=stzh-tag&encapsulation=scoped","src/components/stzh-tag/stzh-tag.tsx"],"sourcesContent":[":host {\n --color: var(--stzh-tag-color, #{$colorSecondary60});\n --height: 24px;\n --padding-top: 0;\n --padding-bottom: 0;\n --padding-left: #{space('small')};\n --padding-right: #{space('small')};\n --background-color: var(--stzh-tag-background-color, #{$colorGrey20});\n\n --hover-color: var(--stzh-tag-hover-color, #{$colorSecondary60});\n --hover-background-color: var(--stzh-tag-hover-background-color, var(--background-color));\n\n display: inline-flex;\n\n &[size=\"large\"] {\n --height: 32px;\n }\n\n &[size=\"default\"][type=\"secondary\"] {\n --background-color: var(--stzh-tag-secondary-background-color, #{$colorSecondary60});\n }\n\n &[type=\"secondary\"] {\n --color: var(--stzh-tag-secondary-color, #{$colorWhite});\n --background-color: var(--stzh-tag-secondary-background-color, #{$colorSecondary50});\n\n --hover-color: var(--stzh-tag-secondary-hover-color, #{$colorWhite});\n --hover-background-color: var(--stzh-tag-secondary-hover-background-color, var(--background-color));\n }\n\n &[non-interactive]:not([non-interactive=\"false\"]) {\n --hover-color: var(--color);\n --hover-background-color: var(--background-color);\n }\n\n &[disabled]:not([disabled=\"false\"]) {\n --color: var(--stzh-tag-disabled-color, #{$colorGrey70});\n --background-color: var(--stzh-tag-disabled-background-color, #{$colorGrey20});\n\n --hover-color: var(--color);\n --hover-background-color: var(--background-color);\n }\n}\n\n.stzh-tag {\n position: relative;\n\n &__button {\n @include fontSize('nano');\n font-family: inherit;\n height: var(--height);\n display: flex;\n flex-direction: row;\n align-items: center;\n padding-top: var(--padding-top);\n padding-bottom: var(--padding-bottom);\n padding-left: var(--padding-left);\n padding-right: var(--padding-right);\n color: var(--color);\n appearance: none;\n border: none;\n background-color: var(--background-color);\n transition-duration: $baseTransitionAnimationSpeed;\n transition-property: color, background-color;\n text-decoration-line: none;\n\n &.is-button,\n &.is-link {\n cursor: pointer;\n }\n }\n\n &__label {\n text-align: left;\n }\n\n &__button:hover {\n color: var(--hover-color);\n background-color: var(--hover-background-color);\n }\n\n /* Size */\n\n &--size-large &__button {\n @include font('heavy');\n @include fontSize('milli');\n }\n\n /* Disabled */\n\n &--is-disabled &__button {\n cursor: not-allowed;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element,\n Fragment\n} from \"@stencil/core\";\n\nimport {\n StzhTagType,\n StzhTagSize,\n StzhTagClickEvent,\n StzhTagFocusEvent,\n StzhTagBlurEvent\n} from \"../../index\";\n\n/**\n * @slot - Slot for label\n */\n@Component({\n tag: \"stzh-tag\",\n styleUrl: \"stzh-tag.scss\",\n scoped: true\n})\nexport class StzhTag {\n /** Label */\n @Prop() label: string = \"\";\n\n /** `href` if the tag should be used as link */\n @Prop() href: string = \"\";\n\n /** Target if the button is used as link (if `href` used) */\n @Prop() target: string = \"\";\n\n /** Whether tag is not interactive */\n @Prop({ reflect: true }) nonInteractive: boolean = false;\n\n /** Type */\n @Prop({ reflect: true }) type: StzhTagType = \"default\";\n\n /** Size */\n @Prop({ reflect: true }) size: StzhTagSize = \"default\";\n\n /** Disabled */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Tabindex of link/button */\n @Prop({ attribute: \"a11y-tabindex\" }) a11yTabindex: string;\n\n /** Accessible label for screen readers to replace visible text */\n @Prop({ attribute: \"a11y-label\" }) a11yLabel: string;\n\n /** Id for element which describes the link/button */\n @Prop({ attribute: \"a11y-describedby\" }) a11yDescribedby: string = \"\";\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the link/button element.\n * Default value will be taken from `label` prop or default slot.\n */\n @Prop() analyticsId: string;\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the remove button element.\n * Default value will be taken from `removeLabel` prop.\n */\n @Prop() removeAnalyticsId: string;\n\n @Element() element: HTMLStzhTagElement;\n\n /** Click event */\n @Event() stzhClick: EventEmitter<StzhTagClickEvent>;\n\n /** Focus event */\n @Event() stzhFocus: EventEmitter<StzhTagFocusEvent>;\n\n /** Input blur event */\n @Event() stzhBlur: EventEmitter<StzhTagBlurEvent>;\n\n private tag: HTMLButtonElement | HTMLAnchorElement | HTMLDivElement;\n private text: HTMLElement;\n private focusedByInput: boolean = false;\n\n componentDidRender() {\n requestAnimationFrame(() => {\n if (!this.nonInteractive) {\n this.tag?.setAttribute(\"s-object-id\", this.analyticsId || this.text.innerText);\n }\n });\n }\n\n private renderInner(): DocumentFragment {\n return (\n <Fragment>\n <stzh-clamp\n lines={1}\n class=\"stzh-tag__label\"\n ref={(el) => (this.text = el as HTMLElement)}\n >\n {this.label ? this.label : <slot></slot>}\n </stzh-clamp>\n </Fragment>\n );\n }\n\n private onRootFocus = () => {\n if (!this.focusedByInput) {\n this.tag.focus();\n }\n\n this.focusedByInput = false;\n }\n\n private onFocus = (event: FocusEvent) => {\n this.focusedByInput = true;\n\n const focusEvent = new FocusEvent(\"focus\", {\n view: window,\n bubbles: false,\n cancelable: false\n });\n\n this.element.dispatchEvent(focusEvent);\n this.stzhFocus.emit({\n component: \"stzh-tag\",\n originalEvent: event\n });\n }\n\n private onBlur = (event: FocusEvent) => {\n const blurEvent = new FocusEvent(\"blur\", {\n view: window,\n bubbles: false,\n cancelable: false\n });\n\n this.element.dispatchEvent(blurEvent);\n this.stzhBlur.emit({\n component: \"stzh-tag\",\n originalEvent: event\n });\n }\n\n private onClick = (event: MouseEvent) => {\n this.stzhClick.emit({\n component: \"stzh-tag\",\n originalEvent: event,\n href: this.href\n });\n }\n\n render() {\n const classes = {\n \"stzh-tag\": true,\n \"stzh-tag--is-disabled\": this.disabled,\n [`stzh-tag--size-${this.size}`]: !!this.size,\n [`stzh-tag--${this.type}`]: !!this.type\n };\n\n const Tag = this.nonInteractive ? \"div\" :\n this.href ? \"a\" : \"button\";\n\n return (\n <Host tabindex={this.disabled ? null : \"-1\"} onFocus={this.onRootFocus}>\n <div class={classes}>\n {this.href ?\n <Tag\n ref={(el) => (this.tag = el as HTMLAnchorElement)}\n class={{\n \"stzh-tag__button\": true,\n \"is-button\": !this.nonInteractive && !this.href,\n \"is-link\": !this.nonInteractive && !!this.href\n }}\n href={this.disabled ? null : this.href}\n target={this.target}\n tabindex={this.a11yTabindex}\n aria-label={this.a11yLabel || null}\n aria-describedby={this.a11yDescribedby || null}\n onClick={this.onClick}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n >\n {this.renderInner()}\n </Tag>\n :\n <Tag\n ref={(el) => (this.tag = el as HTMLButtonElement | HTMLDivElement)}\n class={{\n \"stzh-tag__button\": true,\n \"is-button\": !this.nonInteractive && !this.href,\n \"is-link\": !this.nonInteractive && !!this.href\n }}\n disabled={this.disabled}\n type=\"button\"\n tabindex={this.a11yTabindex}\n aria-label={this.a11yLabel || null}\n aria-describedby={this.a11yDescribedby || null}\n onClick={this.onClick}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n >\n {this.renderInner()}\n </Tag>\n }\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,9 +1,9 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-96cf9087.js';
2
- import { s as setPropsIfNull, h as hasSlot } from './p-073888ce.js';
2
+ import { s as setPropsIfNull, h as hasSlot } from './p-095fbf73.js';
3
3
  import { w as waitForEvent } from './p-54bd842e.js';
4
4
  import { s as stopAnimations, a as animateTo, b as shimKeyframesAutoValues } from './p-7e2354d0.js';
5
5
  import { d as defineCustomElement$3 } from './p-011c5d9b.js';
6
- import { d as defineCustomElement$2 } from './p-4d000b5b.js';
6
+ import { d as defineCustomElement$2 } from './p-431f7754.js';
7
7
  import { d as defineCustomElement$1 } from './p-6e55dee9.js';
8
8
 
9
9
  const stzhToastCss = ":host{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block;}:host[hidden],:host[stzh-hidden]{display:none}:host::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}:host *,:host *::before,:host *::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}:host .has-focus{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}:host .stzh-fylingfocus-focused{outline-style:none !important}:host .stzh-fylingfocus-focused::-moz-focus-inner{border:0 !important}:host{pointer-events:all;--label-font-family:var(--stzh-toast-label-font-family);--label-font-weight:var(--stzh-toast-label-font-weight);--label-font-style:var(--stzh-toast-label-font-style);--label-color:var(--stzh-toast-label-color);--background-color:var(--stzh-toast-background-color);--close-color:var(--stzh-toast-close-color);--button-color:var(--stzh-toast-button-color);--icon-color:var(--stzh-toast-icon-color)}:host([type=success]){--icon-color:var(--stzh-toast-success-icon-color)}:host([type=warning]){--icon-color:var(--stzh-toast-warning-icon-color)}:host([type=error]){--icon-color:var(--stzh-toast-error-icon-color)}.stzh-toast{position:relative;display:flex;box-shadow:var(--stzh-box-shadow-message);background-color:var(--background-color);border-radius:var(--stzh-button-border-radius);transition:background-color var(--stzh-base-transition-animation-speed);}@media (forced-colors: active), (-ms-high-contrast: active){.stzh-toast{border:0.0625rem solid Highlight}}.stzh-toast__content{flex-grow:1;display:flex;gap:var(--stzh-space-small);padding:var(--stzh-space-medium)}.stzh-toast__icon-wrapper{flex-shrink:0;display:flex}.stzh-toast__icon{color:var(--icon-color)}.stzh-toast__text-wrapper{flex-grow:1}.stzh-toast__label{font-size:var(--stzh-font-milli-font-size);line-height:var(--stzh-font-milli-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing);color:var(--label-color);font-family:var(--label-font-family);font-weight:var(--label-font-weight);font-style:var(--label-font-style);transition:color var(--stzh-base-transition-animation-speed);padding-right:var(--stzh-space-xxlarge)}@media screen and (min-width: 600px){.stzh-toast__label{padding-right:var(--stzh-space-xxxlarge)}}.stzh-toast__close-wrapper{flex-shrink:0}.stzh-toast__link{--stzh-button-tertiary-color:var(--button-color);display:flex;justify-content:flex-end}.stzh-toast__close[variant=tertiary]{--color:var(--close-color);position:absolute;top:0;right:0}.stzh-toast--has-link .stzh-toast__label:not(:empty)+.stzh-toast__link{margin-top:var(--stzh-space-xsmall)}";
@@ -229,4 +229,4 @@ function defineCustomElement() {
229
229
 
230
230
  export { StzhToast as S, defineCustomElement as d };
231
231
 
232
- //# sourceMappingURL=p-e5edc56d.js.map
232
+ //# sourceMappingURL=p-a6472da9.js.map
@@ -1 +1 @@
1
- {"file":"p-e5edc56d.js","mappings":"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","names":[],"sources":["src/components/stzh-toast/stzh-toast.scss?tag=stzh-toast&encapsulation=shadow","src/components/stzh-toast/stzh-toast.tsx"],"sourcesContent":["/**\n * @prop --background-color: Background color of toast\n */\n\n:host {\n pointer-events: all;\n\n --label-font-family: #{$toastLabelFontFamily};\n --label-font-weight: #{$toastLabelFontWeight};\n --label-font-style: #{$toastLabelFontStyle};\n\n --label-color: #{$toastLabelColor};\n --background-color: #{$toastBackgroundColor};\n --close-color: #{$toastCloseColor};\n --button-color: #{$toastButtonColor};\n --icon-color: #{$toastIconColor};\n}\n\n:host([type=\"success\"]) {\n --icon-color: #{$toastSuccessIconColor};\n}\n\n:host([type=\"warning\"]) {\n --icon-color: #{$toastWarningIconColor};\n}\n\n:host([type=\"error\"]) {\n --icon-color: #{$toastErrorIconColor};\n}\n\n.stzh-toast {\n position: relative;\n display: flex;\n box-shadow: $boxShadowMessage;\n background-color: var(--background-color);\n border-radius: #{$buttonBorderRadius};\n transition: background-color $baseTransitionAnimationSpeed;\n\n @include highContrast() {\n border: 1px solid Highlight;\n }\n\n &__content {\n flex-grow: 1;\n display: flex;\n gap: space('small');\n padding: space('medium');\n }\n\n &__icon-wrapper {\n flex-shrink: 0;\n display: flex;\n }\n\n &__icon {\n color: var(--icon-color);\n }\n\n &__text-wrapper {\n flex-grow: 1;\n }\n\n &__label {\n @include fontSize('milli');\n color: var(--label-color);\n font-family: var(--label-font-family);\n font-weight: var(--label-font-weight);\n font-style: var(--label-font-style);\n transition: color $baseTransitionAnimationSpeed;\n padding-right: space('xxlarge');\n\n @include mq($from: small) {\n padding-right: space('xxxlarge');\n }\n }\n\n &__close-wrapper {\n flex-shrink: 0;\n }\n\n &__link {\n --stzh-button-tertiary-color: var(--button-color);\n \n display: flex;\n justify-content: flex-end;\n }\n\n &__close[variant=\"tertiary\"] {\n --color: var(--close-color);\n\n position: absolute;\n top: 0;\n right: 0;\n }\n\n /* Has link */\n\n &--has-link &__label:not(:empty) + &__link {\n margin-top: space('xsmall');\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Event,\n EventEmitter,\n Method,\n Watch,\n} from \"@stencil/core\";\n\nimport {\n StzhToastOpenEvent,\n StzhToastOpenedEvent,\n StzhToastCloseEvent,\n StzhToastClosedEvent,\n StzhToastType,\n} from \"../../index\";\n\nimport { StzhToastLocalizedText } from \"./stzh-toast.localization\"\nimport { hasSlot, setPropsIfNull } from \"../../utils/utils\";\nimport { waitForEvent } from \"../../utils/event-utils\";\nimport { animateTo, shimKeyframesAutoValues, stopAnimations } from \"../../utils/animation-utils\";\n\nconst ANIMATION_SHOW = {\n keyframes: [\n { transform: \"translateY(100%)\", opacity: \"0\", height: \"0\", marginBottom: '0' },\n { transform: \"translateY(0px)\", opacity: \"1\", height: \"auto\", marginBottom: 'auto' },\n ],\n options: {\n duration: 300,\n easing: \"ease-out\"\n }\n};\n\nconst ANIMATION_HIDE = {\n keyframes: [\n { transform: \"translateX(0px)\", opacity: \"1\", height: \"auto\", marginBottom: 'auto' },\n { transform: \"translateX(-100%)\", opacity: \"0\", height: \"auto\", marginBottom: 'auto' },\n { transform: \"translateX(-100%)\", opacity: \"0\", height: \"0\", marginBottom: '0' },\n // { transform: \"translateY(0px)\", opacity: \"1\", height: \"auto\", marginBottom: 'auto' },\n // { transform: \"translateY(-100%)\", opacity: \"0\", height: \"0\", marginBottom: '0' },\n ],\n options: {\n duration: 300,\n easing: \"ease-in\"\n }\n};\n\n/**\n * @slot link - Slot for optional stzh-link element\n */\n@Component({\n tag: \"stzh-toast\",\n styleUrl: \"stzh-toast.scss\",\n shadow: true\n})\nexport class StzhToast {\n /** Label */\n @Prop() label: string = \"\";\n\n /** Type */\n @Prop({ reflect: true }) type: StzhToastType = \"info\";\n\n /** Whether to hide close button */\n @Prop({ reflect: true }) hideClose: boolean = false;\n\n /** Open state */\n @Prop({ reflect: true }) open: boolean = true;\n\n /** Whether open animation should be played initially. */\n @Prop() initialOpenAnimation = false;\n\n /** Translation strings. */\n @Prop() localization: StzhToastLocalizedText;\n\n /** Toast open event */\n @Event() stzhOpen: EventEmitter<StzhToastOpenEvent>;\n\n /** Toast opened event (after animation) */\n @Event() stzhOpened: EventEmitter<StzhToastOpenedEvent>;\n\n /** Toast close event */\n @Event() stzhClose: EventEmitter<StzhToastCloseEvent>;\n\n /** Toast closed event (after animation) */\n @Event() stzhClosed: EventEmitter<StzhToastClosedEvent>;\n\n @Element() element: HTMLStzhToastElement;\n\n @Watch(\"open\")\n async openWatcher(newValue: boolean) {\n if (!this.rootElement) {\n return;\n }\n\n if (newValue) {\n if (this.toggledByMethod) {\n this.stzhOpen.emit({\n component: \"stzh-toast\",\n });\n }\n\n await stopAnimations(this.element);\n\n // this.element.style.willChange = \"transform, opacity, height\";\n this.element.hidden = false;\n\n const computedStyle = getComputedStyle(this.element, null);\n\n await animateTo(\n this.element,\n shimKeyframesAutoValues(ANIMATION_SHOW.keyframes,{\n height: this.element.scrollHeight,\n marginTop: parseInt(computedStyle['margin-top']),\n marginBottom: parseInt(computedStyle['margin-bottom']),\n }),\n ANIMATION_SHOW.options\n );\n\n this.element.style.height = \"auto\";\n this.element.style.opacity = \"1\";\n // this.element.style.willChange = \"auto\";\n\n if (this.toggledByMethod) {\n this.stzhOpened.emit({\n component: \"stzh-toast\"\n });\n }\n } else {\n if (this.toggledByMethod) {\n this.stzhClose.emit({\n component: \"stzh-toast\",\n });\n }\n\n await stopAnimations(this.element);\n\n // this.element.style.willChange = \"transform, opacity, height\";\n\n const computedStyle = getComputedStyle(this.element, null);\n\n await animateTo(\n this.element,\n shimKeyframesAutoValues(ANIMATION_HIDE.keyframes, {\n height: this.element.scrollHeight,\n marginTop: parseInt(computedStyle['margin-top']),\n marginBottom: parseInt(computedStyle['margin-bottom']),\n }),\n ANIMATION_HIDE.options\n );\n\n this.element.style.height = \"0px\";\n this.element.style.opacity = \"0\";\n this.element.hidden = true;\n // this.element.style.willChange = \"auto\";\n\n if (this.toggledByMethod) {\n this.stzhClosed.emit({\n component: \"stzh-toast\"\n });\n }\n }\n\n this.toggledByMethod = false;\n }\n\n @Method()\n async show() {\n if (this.open) {\n return;\n }\n\n this.toggledByMethod = true;\n this.open = true;\n return waitForEvent(this.element, \"stzhOpened\");\n }\n\n @Method()\n async hide() {\n if (!this.open) {\n return;\n }\n\n this.toggledByMethod = true;\n this.open = false;\n return waitForEvent(this.element, \"stzhClosed\");\n }\n\n // private observer: MutationObserver;\n private toggledByMethod: boolean;\n private rootElement: HTMLElement;\n\n private handleLinkSlotchange = () => {\n const host = (this.element.getRootNode() as ShadowRoot)?.host || this.element;\n const buttons = host.querySelectorAll(\n 'stzh-button[slot=\"link\"], [slot=\"link\"] stzh-button'\n );\n\n buttons.forEach((link) => {\n setPropsIfNull(link, {\n size: \"small\",\n variant: \"tertiary\"\n } as HTMLStzhButtonElement)\n });\n }\n\n private onCloseButtonClick = () => {\n this.hide();\n }\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"toast\");\n }\n }\n\n componentDidLoad() {\n if (this.initialOpenAnimation && this.open) {\n // hide first so the open animation will be shown\n this.element.hidden = true;\n this.element.style.height = \"0px\";\n this.element.style.opacity = \"0\";\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n this.openWatcher(true);\n });\n });\n } else {\n this.element.hidden = !this.open;\n this.element.style.height = this.open ? \"auto\" : \"0px\";\n this.element.style.opacity = this.open ? \"1\" : \"0\";\n }\n }\n\n // connectedCallback() {\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 // if (this.observer) {\n // this.observer.disconnect();\n // }\n // }\n\n render() {\n const linkUsed = hasSlot(this.element, \"link\");\n\n const classes = {\n \"stzh-toast\": true,\n \"stzh-toast--has-link\": linkUsed,\n \"stzh-toast--has-close-hidden\": this.hideClose,\n [`stzh-toast--type-${this.type}`]: !!this.type,\n };\n\n return (\n <Host>\n <div\n ref={(el) => (this.rootElement = el as HTMLElement)}\n class={classes}\n >\n <div class=\"stzh-toast__content\">\n <div class=\"stzh-toast__icon-wrapper\">\n <stzh-icon\n class=\"stzh-toast__icon\"\n name={\n this.type === 'info' && \"info-help-filled\"\n || this.type === 'success' && \"checkmark-circle-filled\"\n || this.type === 'warning' && \"important-warning-filled\"\n || this.type === 'error' && \"warning-filled\"\n }\n ></stzh-icon>\n </div>\n <div class=\"stzh-toast__text-wrapper\">\n <div class=\"stzh-toast__label\">\n {this.label}\n </div>\n <div class=\"stzh-toast__link\">\n <slot name=\"link\" onSlotchange={this.handleLinkSlotchange}></slot>\n </div>\n </div>\n </div>\n\n {!this.hideClose &&\n <div class=\"stzh-toast__close-wrapper\">\n <stzh-button\n class=\"stzh-toast__close\"\n onClick={this.onCloseButtonClick}\n label={this.localization.close}\n variant=\"tertiary\"\n size=\"small\"\n iconOnly={true}\n icon=\"close-big\"\n ></stzh-button>\n </div>\n }\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-a6472da9.js","mappings":"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","names":[],"sources":["src/components/stzh-toast/stzh-toast.scss?tag=stzh-toast&encapsulation=shadow","src/components/stzh-toast/stzh-toast.tsx"],"sourcesContent":["/**\n * @prop --background-color: Background color of toast\n */\n\n:host {\n pointer-events: all;\n\n --label-font-family: #{$toastLabelFontFamily};\n --label-font-weight: #{$toastLabelFontWeight};\n --label-font-style: #{$toastLabelFontStyle};\n\n --label-color: #{$toastLabelColor};\n --background-color: #{$toastBackgroundColor};\n --close-color: #{$toastCloseColor};\n --button-color: #{$toastButtonColor};\n --icon-color: #{$toastIconColor};\n}\n\n:host([type=\"success\"]) {\n --icon-color: #{$toastSuccessIconColor};\n}\n\n:host([type=\"warning\"]) {\n --icon-color: #{$toastWarningIconColor};\n}\n\n:host([type=\"error\"]) {\n --icon-color: #{$toastErrorIconColor};\n}\n\n.stzh-toast {\n position: relative;\n display: flex;\n box-shadow: $boxShadowMessage;\n background-color: var(--background-color);\n border-radius: #{$buttonBorderRadius};\n transition: background-color $baseTransitionAnimationSpeed;\n\n @include highContrast() {\n border: 1px solid Highlight;\n }\n\n &__content {\n flex-grow: 1;\n display: flex;\n gap: space('small');\n padding: space('medium');\n }\n\n &__icon-wrapper {\n flex-shrink: 0;\n display: flex;\n }\n\n &__icon {\n color: var(--icon-color);\n }\n\n &__text-wrapper {\n flex-grow: 1;\n }\n\n &__label {\n @include fontSize('milli');\n color: var(--label-color);\n font-family: var(--label-font-family);\n font-weight: var(--label-font-weight);\n font-style: var(--label-font-style);\n transition: color $baseTransitionAnimationSpeed;\n padding-right: space('xxlarge');\n\n @include mq($from: small) {\n padding-right: space('xxxlarge');\n }\n }\n\n &__close-wrapper {\n flex-shrink: 0;\n }\n\n &__link {\n --stzh-button-tertiary-color: var(--button-color);\n \n display: flex;\n justify-content: flex-end;\n }\n\n &__close[variant=\"tertiary\"] {\n --color: var(--close-color);\n\n position: absolute;\n top: 0;\n right: 0;\n }\n\n /* Has link */\n\n &--has-link &__label:not(:empty) + &__link {\n margin-top: space('xsmall');\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Event,\n EventEmitter,\n Method,\n Watch,\n} from \"@stencil/core\";\n\nimport {\n StzhToastOpenEvent,\n StzhToastOpenedEvent,\n StzhToastCloseEvent,\n StzhToastClosedEvent,\n StzhToastType,\n} from \"../../index\";\n\nimport { StzhToastLocalizedText } from \"./stzh-toast.localization\"\nimport { hasSlot, setPropsIfNull } from \"../../utils/utils\";\nimport { waitForEvent } from \"../../utils/event-utils\";\nimport { animateTo, shimKeyframesAutoValues, stopAnimations } from \"../../utils/animation-utils\";\n\nconst ANIMATION_SHOW = {\n keyframes: [\n { transform: \"translateY(100%)\", opacity: \"0\", height: \"0\", marginBottom: '0' },\n { transform: \"translateY(0px)\", opacity: \"1\", height: \"auto\", marginBottom: 'auto' },\n ],\n options: {\n duration: 300,\n easing: \"ease-out\"\n }\n};\n\nconst ANIMATION_HIDE = {\n keyframes: [\n { transform: \"translateX(0px)\", opacity: \"1\", height: \"auto\", marginBottom: 'auto' },\n { transform: \"translateX(-100%)\", opacity: \"0\", height: \"auto\", marginBottom: 'auto' },\n { transform: \"translateX(-100%)\", opacity: \"0\", height: \"0\", marginBottom: '0' },\n // { transform: \"translateY(0px)\", opacity: \"1\", height: \"auto\", marginBottom: 'auto' },\n // { transform: \"translateY(-100%)\", opacity: \"0\", height: \"0\", marginBottom: '0' },\n ],\n options: {\n duration: 300,\n easing: \"ease-in\"\n }\n};\n\n/**\n * @slot link - Slot for optional stzh-link element\n */\n@Component({\n tag: \"stzh-toast\",\n styleUrl: \"stzh-toast.scss\",\n shadow: true\n})\nexport class StzhToast {\n /** Label */\n @Prop() label: string = \"\";\n\n /** Type */\n @Prop({ reflect: true }) type: StzhToastType = \"info\";\n\n /** Whether to hide close button */\n @Prop({ reflect: true }) hideClose: boolean = false;\n\n /** Open state */\n @Prop({ reflect: true }) open: boolean = true;\n\n /** Whether open animation should be played initially. */\n @Prop() initialOpenAnimation = false;\n\n /** Translation strings. */\n @Prop() localization: StzhToastLocalizedText;\n\n /** Toast open event */\n @Event() stzhOpen: EventEmitter<StzhToastOpenEvent>;\n\n /** Toast opened event (after animation) */\n @Event() stzhOpened: EventEmitter<StzhToastOpenedEvent>;\n\n /** Toast close event */\n @Event() stzhClose: EventEmitter<StzhToastCloseEvent>;\n\n /** Toast closed event (after animation) */\n @Event() stzhClosed: EventEmitter<StzhToastClosedEvent>;\n\n @Element() element: HTMLStzhToastElement;\n\n @Watch(\"open\")\n async openWatcher(newValue: boolean) {\n if (!this.rootElement) {\n return;\n }\n\n if (newValue) {\n if (this.toggledByMethod) {\n this.stzhOpen.emit({\n component: \"stzh-toast\",\n });\n }\n\n await stopAnimations(this.element);\n\n // this.element.style.willChange = \"transform, opacity, height\";\n this.element.hidden = false;\n\n const computedStyle = getComputedStyle(this.element, null);\n\n await animateTo(\n this.element,\n shimKeyframesAutoValues(ANIMATION_SHOW.keyframes,{\n height: this.element.scrollHeight,\n marginTop: parseInt(computedStyle['margin-top']),\n marginBottom: parseInt(computedStyle['margin-bottom']),\n }),\n ANIMATION_SHOW.options\n );\n\n this.element.style.height = \"auto\";\n this.element.style.opacity = \"1\";\n // this.element.style.willChange = \"auto\";\n\n if (this.toggledByMethod) {\n this.stzhOpened.emit({\n component: \"stzh-toast\"\n });\n }\n } else {\n if (this.toggledByMethod) {\n this.stzhClose.emit({\n component: \"stzh-toast\",\n });\n }\n\n await stopAnimations(this.element);\n\n // this.element.style.willChange = \"transform, opacity, height\";\n\n const computedStyle = getComputedStyle(this.element, null);\n\n await animateTo(\n this.element,\n shimKeyframesAutoValues(ANIMATION_HIDE.keyframes, {\n height: this.element.scrollHeight,\n marginTop: parseInt(computedStyle['margin-top']),\n marginBottom: parseInt(computedStyle['margin-bottom']),\n }),\n ANIMATION_HIDE.options\n );\n\n this.element.style.height = \"0px\";\n this.element.style.opacity = \"0\";\n this.element.hidden = true;\n // this.element.style.willChange = \"auto\";\n\n if (this.toggledByMethod) {\n this.stzhClosed.emit({\n component: \"stzh-toast\"\n });\n }\n }\n\n this.toggledByMethod = false;\n }\n\n @Method()\n async show() {\n if (this.open) {\n return;\n }\n\n this.toggledByMethod = true;\n this.open = true;\n return waitForEvent(this.element, \"stzhOpened\");\n }\n\n @Method()\n async hide() {\n if (!this.open) {\n return;\n }\n\n this.toggledByMethod = true;\n this.open = false;\n return waitForEvent(this.element, \"stzhClosed\");\n }\n\n // private observer: MutationObserver;\n private toggledByMethod: boolean;\n private rootElement: HTMLElement;\n\n private handleLinkSlotchange = () => {\n const host = (this.element.getRootNode() as ShadowRoot)?.host || this.element;\n const buttons = host.querySelectorAll(\n 'stzh-button[slot=\"link\"], [slot=\"link\"] stzh-button'\n );\n\n buttons.forEach((link) => {\n setPropsIfNull(link, {\n size: \"small\",\n variant: \"tertiary\"\n } as HTMLStzhButtonElement)\n });\n }\n\n private onCloseButtonClick = () => {\n this.hide();\n }\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"toast\");\n }\n }\n\n componentDidLoad() {\n if (this.initialOpenAnimation && this.open) {\n // hide first so the open animation will be shown\n this.element.hidden = true;\n this.element.style.height = \"0px\";\n this.element.style.opacity = \"0\";\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n this.openWatcher(true);\n });\n });\n } else {\n this.element.hidden = !this.open;\n this.element.style.height = this.open ? \"auto\" : \"0px\";\n this.element.style.opacity = this.open ? \"1\" : \"0\";\n }\n }\n\n // connectedCallback() {\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 // if (this.observer) {\n // this.observer.disconnect();\n // }\n // }\n\n render() {\n const linkUsed = hasSlot(this.element, \"link\");\n\n const classes = {\n \"stzh-toast\": true,\n \"stzh-toast--has-link\": linkUsed,\n \"stzh-toast--has-close-hidden\": this.hideClose,\n [`stzh-toast--type-${this.type}`]: !!this.type,\n };\n\n return (\n <Host>\n <div\n ref={(el) => (this.rootElement = el as HTMLElement)}\n class={classes}\n >\n <div class=\"stzh-toast__content\">\n <div class=\"stzh-toast__icon-wrapper\">\n <stzh-icon\n class=\"stzh-toast__icon\"\n name={\n this.type === 'info' && \"info-help-filled\"\n || this.type === 'success' && \"checkmark-circle-filled\"\n || this.type === 'warning' && \"important-warning-filled\"\n || this.type === 'error' && \"warning-filled\"\n }\n ></stzh-icon>\n </div>\n <div class=\"stzh-toast__text-wrapper\">\n <div class=\"stzh-toast__label\">\n {this.label}\n </div>\n <div class=\"stzh-toast__link\">\n <slot name=\"link\" onSlotchange={this.handleLinkSlotchange}></slot>\n </div>\n </div>\n </div>\n\n {!this.hideClose &&\n <div class=\"stzh-toast__close-wrapper\">\n <stzh-button\n class=\"stzh-toast__close\"\n onClick={this.onCloseButtonClick}\n label={this.localization.close}\n variant=\"tertiary\"\n size=\"small\"\n iconOnly={true}\n icon=\"close-big\"\n ></stzh-button>\n </div>\n }\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-96cf9087.js';
2
- import { i as isStzhElement } from './p-073888ce.js';
2
+ import { i as isStzhElement } from './p-095fbf73.js';
3
3
  import { a as addMediaChangeListener, r as removeMediaChangeListener, m as media } from './p-10e2901a.js';
4
4
 
5
5
  const stzhCarouselCss = ".sc-stzh-carousel-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-carousel-h,[stzh-hidden].sc-stzh-carousel-h{display:none}.sc-stzh-carousel-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-carousel-h *.sc-stzh-carousel,.sc-stzh-carousel-h *.sc-stzh-carousel::before,.sc-stzh-carousel-h *.sc-stzh-carousel::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-carousel-h .has-focus.sc-stzh-carousel{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-carousel-h .stzh-fylingfocus-focused.sc-stzh-carousel{outline-style:none !important}.sc-stzh-carousel-h .stzh-fylingfocus-focused.sc-stzh-carousel::-moz-focus-inner{border:0 !important}.sc-stzh-carousel-h{--gutter:var(--stzh-space-medium);--peek:calc(var(--peek-in, 0px) + var(--peek-out, 0px));--peek-in:calc(var(--stzh-space-medium) + var(--stzh-space-medium));--padding-top:0px;--padding-bottom:0px;--snap-stop:always;--slides:1;--slide-size:calc((100% - (var(--slides) - 1) * var(--gutter)) / var(--slides))}@media screen and (min-width: 600px){.sc-stzh-carousel-h{--gutter:var(--stzh-space-large)}}@media screen and (min-width: 900px){.sc-stzh-carousel-h{--gutter:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.sc-stzh-carousel-h{--gutter:var(--stzh-space-xxlarge)}}@media screen and (min-width: 600px){.sc-stzh-carousel-h{--peek-in:calc(var(--stzh-space-xxxlarge) + var(--stzh-space-xlarge))}}@media screen and (min-width: 900px){.sc-stzh-carousel-h{--peek-in:calc(var(--stzh-space-big) + var(--stzh-space-xxlarge))}}.sc-stzh-carousel-h .sc-stzh-carousel-s>*{width:100%;height:100%;flex-shrink:0;scroll-snap-align:start;scroll-snap-stop:var(--snap-stop);transition:opacity var(--stzh-base-transition-animation-speed)}.sc-stzh-carousel-h .sc-stzh-carousel-s>*:where([inert]){opacity:0.5}.sc-stzh-carousel-h .sc-stzh-carousel-s>*:where(stzh-figure[inert]){--caption-opacity:0}.sc-stzh-carousel-h .sc-stzh-carousel-s img{-webkit-user-drag:none;user-drag:none;-webkit-user-select:none;user-select:none}.sc-stzh-carousel-h .sc-stzh-carousel-s>[slot=actions]{position:absolute;top:0;left:0;z-index:1;pointer-events:none;padding:0 var(--peek)}@media print{.sc-stzh-carousel-h .sc-stzh-carousel-s>[slot=actions]{display:none}}.sc-stzh-carousel-h .sc-stzh-carousel-s>[slot=actions] stzh-text{width:auto}.sc-stzh-carousel-h .sc-stzh-carousel-s>[slot=actions] stzh-button{pointer-events:all}.sc-stzh-carousel-h .sc-stzh-carousel-s>[slot=actions] .stzh-carousel-action-previous,.sc-stzh-carousel-h .sc-stzh-carousel-s>[slot=actions] .stzh-carousel-action-next{position:absolute;top:50%;transform:translateY(-50%)}.sc-stzh-carousel-h .sc-stzh-carousel-s>[slot=actions] .stzh-carousel-action-previous{left:calc((var(--stzh-space-medium) + var(--stzh-space-medium)) / -1)}@media screen and (min-width: 600px){.sc-stzh-carousel-h .sc-stzh-carousel-s>[slot=actions] .stzh-carousel-action-previous{left:calc((var(--stzh-space-xxxlarge) + var(--stzh-space-xlarge)) / -1)}}@media screen and (min-width: 900px){.sc-stzh-carousel-h .sc-stzh-carousel-s>[slot=actions] .stzh-carousel-action-previous{left:calc((var(--stzh-space-big) + var(--stzh-space-xxlarge)) / -1)}}.sc-stzh-carousel-h .sc-stzh-carousel-s>[slot=actions] .stzh-carousel-action-next{right:calc((var(--stzh-space-medium) + var(--stzh-space-medium)) / -1)}@media screen and (min-width: 600px){.sc-stzh-carousel-h .sc-stzh-carousel-s>[slot=actions] .stzh-carousel-action-next{right:calc((var(--stzh-space-xxxlarge) + var(--stzh-space-xlarge)) / -1)}}@media screen and (min-width: 900px){.sc-stzh-carousel-h .sc-stzh-carousel-s>[slot=actions] .stzh-carousel-action-next{right:calc((var(--stzh-space-big) + var(--stzh-space-xxlarge)) / -1)}}.sc-stzh-carousel-h .sc-stzh-carousel-s>stzh-ratio[slot=actions] stzh-space,.sc-stzh-carousel-h .sc-stzh-carousel-s>stzh-ratio[slot=actions] stzh-hspace,.sc-stzh-carousel-h .sc-stzh-carousel-s>stzh-ratio[slot=actions] stzh-vspace{padding:var(--stzh-space-xsmall)}.sc-stzh-carousel-h .sc-stzh-carousel-s>stzh-ratio[slot=actions]{--background-color:transparent}[variant=cards].sc-stzh-carousel-h{--gutter:var(--stzh-space-xxsmall);--padding-top:0.25rem;--padding-bottom:0.25rem}@media screen and (min-width: 900px){[variant=cards].sc-stzh-carousel-h{--gutter:var(--stzh-space-xsmall)}}@media screen and (min-width: 1260px){[variant=cards].sc-stzh-carousel-h{--gutter:var(--stzh-space-small)}}@media screen and (min-width: 900px){[variant=cards].sc-stzh-carousel-h{--peek-out:2.5rem}}@media screen and (min-width: 1260px){[variant=cards].sc-stzh-carousel-h{--peek-out:4rem}}@media screen and (min-width: 1600px){[variant=cards].sc-stzh-carousel-h{--peek-out:calc((100vw - 84.25rem - var(--stzh-scrollbar-width, 0px)) / 2)}}.sc-stzh-carousel-h[variant=cards] .sc-stzh-carousel-s>[slot=actions]{position:relative;order:1;margin-top:calc(var(--stzh-space-medium) - var(--padding-bottom))}[no-peek].sc-stzh-carousel-h:not([no-peek=false]){--peek-out:0px;--peek-in:0px}.stzh-carousel.sc-stzh-carousel{position:relative;display:flex;flex-direction:column;width:calc(100% + var(--peek-out) * 2);margin-left:calc(var(--peek-out) / -1);margin-right:calc(var(--peek-out) / -1)}.stzh-carousel__vhidden.sc-stzh-carousel{border:0;clip:rect(0 0 0 0);clip-path:inset(100%);width:0.0625rem;height:0.0625rem;overflow:hidden;padding:0;position:absolute}.stzh-carousel__indicator.sc-stzh-carousel{margin-top:var(--stzh-space-medium);margin-left:auto;margin-right:auto;position:relative;width:14.375rem;height:0.25rem;background-color:var(--stzh-color-black20op)}@media screen and (min-width: 600px){.stzh-carousel__indicator.sc-stzh-carousel{margin-top:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-carousel__indicator.sc-stzh-carousel{margin-top:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-carousel__indicator.sc-stzh-carousel{margin-top:var(--stzh-space-xxlarge)}}.stzh-carousel__indicator-track.sc-stzh-carousel{position:absolute;background-color:var(--stzh-color-secondary50);height:0.375rem;left:0px;bottom:0px;transition-property:left, width;transition-duration:var(--stzh-base-transition-animation-speed)}.stzh-carousel__scroll.sc-stzh-carousel{position:relative;grid-area:slides;display:grid;width:100%;height:100%;place-items:center;overflow-x:auto;overflow-y:visible;grid-auto-flow:column;grid-auto-columns:var(--slide-size);grid-auto-rows:100%;column-gap:var(--gutter);-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 var(--peek);padding:var(--padding-top) var(--peek) var(--padding-bottom)}@media (prefers-reduced-motion: reduce){.stzh-carousel__scroll.sc-stzh-carousel{scroll-behavior:auto}}.stzh-carousel__scroll.sc-stzh-carousel::-webkit-scrollbar{display:none}.stzh-carousel--is-draggable.sc-stzh-carousel .stzh-carousel__scroll.sc-stzh-carousel{cursor:grab}.stzh-carousel--is-dragging.sc-stzh-carousel .stzh-carousel__scroll.sc-stzh-carousel{cursor:grabbing}.stzh-carousel--is-disabled.sc-stzh-carousel .stzh-carousel__scroll.sc-stzh-carousel{cursor:not-allowed;overflow:hidden}.stzh-carousel--is-non-interactive.sc-stzh-carousel{pointer-events:none;touch-action:none}";
@@ -619,4 +619,4 @@ function defineCustomElement() {
619
619
 
620
620
  export { StzhCarousel as S, defineCustomElement as d };
621
621
 
622
- //# sourceMappingURL=p-debaedeb.js.map
622
+ //# sourceMappingURL=p-abcdf4b9.js.map
@@ -1 +1 @@
1
- {"file":"p-debaedeb.js","mappings":"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","names":[],"sources":["src/components/stzh-carousel/stzh-carousel.scss?tag=stzh-carousel&encapsulation=scoped","src/components/stzh-carousel/stzh-carousel.tsx"],"sourcesContent":["/**\n * @prop --padding-top: Padding Top of scroll container\n * @prop --padding-bottom: Padding Bottom of scroll container\n * @prop --peek-in: Peek size (inside container) showing the next/previous slides\n * @prop --peek-out: Negative peek size (breakout of container) showing the next/previous slides\n * @prop --gutter: Space between the slides\n * @prop --snap-stop: Snap stop of scroll container\n */\n\n:host {\n @include spaceCurve('--gutter', 'regular');\n --peek: calc(var(--peek-in, 0px) + var(--peek-out, 0px));\n --peek-in: calc(#{space('medium')} + #{spaceCurveValue('regular')});\n // --peek-out: #{space('medium')};\n --padding-top: 0px;\n --padding-bottom: 0px;\n --snap-stop: always;\n --slides: 1;\n --slide-size: calc((100% - (var(--slides) - 1) * var(--gutter)) / var(--slides));\n\n @include mq($from: small) {\n --peek-in: calc(#{space('xxxlarge')} + #{spaceCurveValue('regular', 'medium')});\n // --peek-out: #{$containerMarginSmall};\n }\n\n @include mq($from: medium) {\n --peek-in: calc(#{space('big')} + #{spaceCurveValue('regular', 'large')});\n // --peek-out: 0px;\n }\n\n ::slotted(*) {\n width: 100%;\n height: 100%;\n flex-shrink: 0;\n scroll-snap-align: start;\n scroll-snap-stop: var(--snap-stop);\n transition: opacity $baseTransitionAnimationSpeed;\n\n &:where([inert]) {\n opacity: 0.5;\n }\n\n &:where(stzh-figure[inert]) {\n --caption-opacity: 0;\n }\n\n img {\n -webkit-user-drag: none;\n user-drag: none;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n }\n }\n\n ::slotted([slot=\"actions\"]) {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n pointer-events: none;\n padding: 0 var(--peek);\n\n @media print {\n display: none;\n }\n\n stzh-text {\n width: auto;\n }\n\n stzh-button {\n pointer-events: all;\n }\n\n .stzh-carousel-action-previous,\n .stzh-carousel-action-next {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n }\n\n .stzh-carousel-action-previous {\n left: calc((#{space('medium')} + #{spaceCurveValue('regular')}) / -1);\n\n @include mq($from: small) {\n left: calc((#{space('xxxlarge')} + #{spaceCurveValue('regular', 'medium')}) / -1);\n }\n\n @include mq($from: medium) {\n left: calc((#{space('big')} + #{spaceCurveValue('regular', 'large')}) / -1);\n }\n }\n\n .stzh-carousel-action-next {\n right: calc((#{space('medium')} + #{spaceCurveValue('regular')}) / -1);\n\n @include mq($from: small) {\n right: calc((#{space('xxxlarge')} + #{spaceCurveValue('regular', 'medium')}) / -1);\n }\n\n @include mq($from: medium) {\n right: calc((#{space('big')} + #{spaceCurveValue('regular', 'large')}) / -1);\n }\n }\n }\n\n ::slotted(stzh-ratio[slot=\"actions\"]) {\n stzh-space,\n stzh-hspace,\n stzh-vspace {\n padding: space('xsmall');\n }\n }\n\n ::slotted(stzh-ratio[slot=\"actions\"]) {\n --background-color: transparent;\n }\n\n /* Card */\n\n &[variant=\"cards\"] {\n @include spaceCurve('--gutter', 'tiny');\n --padding-top: 4px;\n --padding-bottom: 4px;\n\n @include mq($from: medium) {\n --peek-out: #{$containerMarginMedium};\n }\n\n @include mq($from: large) {\n --peek-out: #{$containerMarginLarge};\n }\n\n @include mq($from: ultra) {\n --peek-out: calc((100vw - #{$containerMaxWidth} - var(--stzh-scrollbar-width, 0px)) / 2);\n }\n }\n\n &[variant=\"cards\"] ::slotted([slot=\"actions\"]) {\n position: relative;\n order: 1;\n margin-top: calc(#{space('medium')} - var(--padding-bottom));\n }\n\n /* No peek */\n\n &[no-peek]:not([no-peek=\"false\"]) {\n --peek-out: 0px;\n --peek-in: 0px;\n }\n}\n\n.stzh-carousel {\n position: relative;\n display: flex;\n flex-direction: column;\n width: calc(100% + var(--peek-out) * 2);\n margin-left: calc(var(--peek-out) / -1);\n margin-right: calc(var(--peek-out) / -1);\n\n &__vhidden {\n @include visuallyhidden;\n }\n\n &__indicator {\n @include spaceCurve('margin-top', 'regular');\n margin-left: auto;\n margin-right: auto;\n position: relative;\n width: 230px;\n height: 4px;\n background-color: $colorBlack20op;\n }\n\n &__indicator-track {\n position: absolute;\n background-color: $colorSecondary50;\n height: 6px;\n left: 0px;\n bottom: 0px;\n transition-property: left, width;\n transition-duration: $baseTransitionAnimationSpeed;\n }\n\n &__scroll {\n position: relative;\n grid-area: slides;\n display: grid;\n width: 100%;\n height: 100%;\n place-items: center;\n overflow-x: auto;\n overflow-y: visible;\n grid-auto-flow: column;\n grid-auto-columns: var(--slide-size);\n grid-auto-rows: 100%;\n column-gap: var(--gutter);\n -webkit-overflow-scrolling: touch;\n scrollbar-width: none;\n -ms-overflow-style: none;\n scroll-behavior: smooth;\n overscroll-behavior-x: contain;\n scroll-snap-type: x mandatory;\n scroll-padding: 0 var(--peek);\n padding: var(--padding-top) var(--peek) var(--padding-bottom);\n\n @media (prefers-reduced-motion: reduce) {\n scroll-behavior: auto;\n }\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n &--is-draggable &__scroll {\n cursor: grab;\n }\n\n &--is-dragging &__scroll {\n cursor: grabbing;\n }\n\n &--is-disabled &__scroll {\n cursor: not-allowed;\n overflow: hidden;\n }\n\n &--is-non-interactive {\n pointer-events: none;\n touch-action: none;\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Method,\n Event,\n EventEmitter,\n Watch,\n State\n} from \"@stencil/core\";\n\nimport {\n StzhCarouselSlideStartEvent,\n StzhCarouselSlidePassedEvent,\n StzhCarouselSlideEndEvent\n} from \"../../index\";\n\nimport { isStzhElement } from \"../../utils/utils\";\nimport { StzhCarouselLocalizedText } from \"./stzh-carousel.localization\"\n\nimport {\n media,\n addMediaChangeListener,\n removeMediaChangeListener\n} from '../../utils/media-utils';\n\nconst reducedMotionMedia = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n\nlet carouselCounter = 0;\n\n/*\n* Inspired by:\n*\n* - https://github.com/barthy-koeln/scroll-snap-slider\n* - https://tannerhodges.github.io/snap-slider/\n* - https://www.w3.org/WAI/ARIA/apg/patterns/carousel/examples/carousel-1-prev-next/\n* - https://dev.to/jasonwebb/how-to-build-a-more-accessible-carousel-or-slider-35lp\n* - http://web-accessibility.carnegiemuseums.org/code/carousels/\n*/\n\n/**\n * @slot - Slot for any element\n * @slot actions - Slot for `stzh-actions` element\n */\n@Component({\n tag: \"stzh-carousel\",\n styleUrl: \"stzh-carousel.scss\",\n scoped: true\n})\nexport class StzhCarousel {\n /** Translation strings */\n @Prop() localization: StzhCarouselLocalizedText;\n\n /** Carousel variant */\n @Prop({ reflect: true }) variant: \"default\" | \"cards\" = \"default\";\n\n /** Whether carousel is disabled */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Whether to remove inside/outside peek. */\n @Prop({ reflect: true }) noPeek: boolean = false;\n\n /** Slides number */\n @Prop() slides: number = 1;\n /** Slides number above small breakpoint */\n @Prop() slidesSmall: number = 0;\n /** Slides number above medium breakpoint */\n @Prop() slidesMedium: number = 0;\n /** Slides number above large breakpoint */\n @Prop() slidesLarge: number = 0;\n /** Slides number above ultra breakpoint */\n @Prop() slidesUltra: number = 0;\n\n // /** How many slides per swipe */\n // @Prop() swipeSlides: number = 1;\n // /** How many slides per swipe above small breakpoint */\n // @Prop() swipeSlidesSmall: number = 0;\n // /** How many slides per swipe above medium breakpoint */\n // @Prop() swipeSlidesMedium: number = 0;\n // /** How many slides per swipe above large breakpoint */\n // @Prop() swipeSlidesLarge: number = 0;\n // /** How many slides per swipe above ultra breakpoint */\n // @Prop() swipeSlidesUltra: number = 0;\n\n /** Active slide (readonly) */\n @Prop() slide: number = 0;\n\n /**\n * Whether autoplay is enabled.\n * Gets paused, when user has focus inside carousel element or hovers over it.\n * Also when reduced motion media query is active or carousel is set disabled.\n * Gets disabled permanently, when user interacts with carousel manually (clicks prev/next, scrolls or drags)\n */\n @Prop({ mutable: true }) autoplay: boolean = false;\n\n /** Timeout delay in milliseconds used for autoplay */\n @Prop() autoplayTimeout: number = 3000;\n\n /** Whether scrolling & dragging should be disabled */\n @Prop() nonInteractive: boolean = false;\n\n /** Whether drag with mouse should be disabled (still will be able to scroll with wheeling or arrow keys) */\n @Prop() preventMouseDrag: boolean = false;\n\n /** Whether autoplay pause should be prevented when user hovers/focuses carousel */\n @Prop() preventAutoplayPause: boolean = false;\n\n /** Whether autoplay stop should be prevented when user scroll or drags carousel */\n @Prop() preventAutoplayStop: boolean = false;\n\n /**\n * Enable all slides to be tabbable (will disable prev/next arrows from being tabbable).\n * By default only the visible slides will be tabbable and the prev/next can be used to change slides\n * (enabled when `variant` is set to `cards`).\n */\n @Prop() tabThrough: boolean = false;\n\n /** Whether indicator should be shown */\n @Prop() withTrack: boolean = false;\n\n\n /** Timeout delay in milliseconds used to catch the end of scroll events */\n @State() scrollTimeout: number = 100;\n\n /** Minimum drag distance that needs to be reached to swipe to next/previous slide(s). */\n @State() distanceQuickSwipe: number = 40;\n\n /** Minimum drag distance that neeeds to be reached to prevent click on slide elements. */\n @State() distancePreventClick: number = 6;\n\n @Element() element: HTMLStzhCarouselElement;\n\n /** Slide start event */\n @Event() stzhSlideStart: EventEmitter<StzhCarouselSlideStartEvent>;\n\n /** Slide passed event */\n @Event() stzhSlidePassed: EventEmitter<StzhCarouselSlidePassedEvent>;\n\n /** Slide end event */\n @Event() stzhSlideEnd: EventEmitter<StzhCarouselSlideEndEvent>;\n\n /** Scroll to a slide by index */\n @Method()\n async slideTo(index, behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n this.scrollToSlide(index, behaviour);\n }\n\n /** Scroll to previous snap point */\n @Method()\n async slideToPrevious(behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n this.scrollToPreviousSnapPoint(behaviour);\n }\n\n /** Scroll to next snap point */\n @Method()\n async slideToNext(behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n this.scrollToNextSnapPoint(behaviour);\n }\n\n @Watch(\"disabled\")\n disabledWatcher() {\n if (this.disabled) {\n this.scrollElement && this.scrollElement.removeEventListener(\"scroll\", this.onScroll);\n this.scrollTimeoutId && window.clearTimeout(this.scrollTimeoutId);\n this.scrollTimeoutId = null;\n this.element.removeEventListener(\"mouseenter\", this.onMouseenter);\n this.element.removeEventListener(\"mouseleave\", this.onMouseleave);\n this.element.removeEventListener(\"focusin\", this.onFocusin);\n this.element.removeEventListener(\"focusout\", this.onFocusout);\n this.onReducedMotionMediaChange();\n reducedMotionMedia && reducedMotionMedia.removeEventListener(\"change\", this.onReducedMotionMediaChange);\n } else {\n this.scrollElement && this.scrollElement.addEventListener(\"scroll\", this.onScroll, { passive: true });\n this.element.addEventListener(\"mouseenter\", this.onMouseenter);\n this.element.addEventListener(\"mouseleave\", this.onMouseleave);\n this.element.addEventListener(\"focusin\", this.onFocusin);\n this.element.addEventListener(\"focusout\", this.onFocusout);\n reducedMotionMedia && reducedMotionMedia.addEventListener(\"change\", this.onReducedMotionMediaChange);\n }\n }\n\n @Watch(\"disabled\")\n @Watch(\"preventMouseDrag\")\n preventMouseDragWatcher() {\n if (this.preventMouseDrag || this.disabled) {\n this.disableTimeoutId && window.clearTimeout(this.disableTimeoutId);\n this.disableTimeoutId = null;\n this.scrollElement && this.scrollElement.removeEventListener(\"mousedown\", this.startDragging);\n this.lastX = null;\n } else {\n this.scrollElement && this.scrollElement.addEventListener(\"mousedown\", this.startDragging);\n }\n }\n\n @Watch(\"autoplay\")\n @Watch(\"autoplayDisabledByMotionMedia\")\n @Watch(\"autoplayDisabledByMouse\")\n @Watch(\"autoplayDisabledByFocus\")\n @Watch(\"autoplayDisabledByScroll\")\n @Watch(\"autoplayDisabledByDrag\")\n @Watch(\"autoplayTimeout\")\n @Watch(\"disabled\")\n autoplayRunningWatcher() {\n if (\n !this.autoplay\n || this.disabled\n || this.autoplayDisabledByMotionMedia\n || this.autoplayDisabledByMouse\n || this.autoplayDisabledByFocus\n || this.autoplayDisabledByScroll\n || this.autoplayDisabledByDrag\n ) {\n this.autoplayIntervalId && window.clearInterval(this.autoplayIntervalId);\n this.autoplayIntervalId = null;\n this.autoplayRunning = false;\n } else {\n this.autoplayIntervalId && window.clearInterval(this.autoplayIntervalId);\n this.autoplayIntervalId = window.setInterval(this.autoplayInterval, this.autoplayTimeout);\n this.autoplayRunning = true;\n }\n }\n\n @Watch(\"slideElements\")\n @Watch(\"currentSwipeSlides\")\n snapAlignWatcher() {\n this.slideElements.forEach((slide, index) => {\n const shouldSnap = (index - this.currentSwipeSlides) % this.currentSwipeSlides === 0;\n\n if (shouldSnap) {\n slide.style.removeProperty(\"scroll-snap-align\");\n } else {\n slide.style.setProperty(\"scroll-snap-align\", \"none\");\n }\n });\n }\n\n @Watch(\"slide\")\n @Watch(\"variant\")\n @Watch(\"slideElements\")\n @Watch(\"currentSlides\")\n @Watch(\"tabThrough\")\n inertWatcher() {\n this.slideElements.forEach((slide, index) => {\n const isActive = this.tabThrough\n || this.variant === \"cards\"\n || index >= this.slide && index < this.slide + this.currentSlides;\n\n slide.inert = !isActive;\n\n if (isActive) {\n slide.removeAttribute(\"aria-hidden\");\n } else {\n slide.setAttribute(\"aria-hidden\", isActive ? \"false\" : \"true\");\n }\n });\n }\n\n @Watch(\"variant\")\n @Watch(\"tabThrough\")\n @Watch(\"nextElements\")\n @Watch(\"previousElements\")\n prevNextNavigationWatcher() {\n const tabThrough = this.tabThrough || this.variant === \"cards\";\n\n const setAriaAttributes = (element) => {\n const isStzh = isStzhElement(element);\n\n if (tabThrough) {\n element.setAttribute(\"aria-hidden\", \"true\");\n element.setAttribute(isStzh ? \"a11y-tabindex\" : \"tabindex\", \"-1\");\n } else {\n element.removeAttribute(\"aria-hidden\");\n element.removeAttribute(isStzh ? \"a11y-tabindex\" : \"tabindex\");\n }\n }\n\n this.nextElements.forEach(setAriaAttributes);\n this.previousElements.forEach(setAriaAttributes);\n }\n\n @Watch(\"currentSlides\")\n @Watch(\"slideElements\")\n @Watch(\"nextElements\")\n @Watch(\"previousElements\")\n @Watch(\"navigationTextElements\")\n prevNextHiddenWatcher() {\n const hideElements = this.slideElements.length <= this.currentSlides;\n\n const setHiddenAttribute = (element) => {\n if (hideElements) {\n element.setAttribute(\"hidden\", \"\");\n } else {\n element.removeAttribute(\"hidden\");\n }\n };\n\n this.navigationTextElements.forEach(setHiddenAttribute);\n this.nextElements.forEach(setHiddenAttribute);\n this.previousElements.forEach(setHiddenAttribute);\n }\n\n @Watch(\"disabled\")\n @Watch(\"slide\")\n @Watch(\"currentSlides\")\n @Watch(\"slideElements\")\n @Watch(\"nextElements\")\n @Watch(\"previousElements\")\n nextPrevDisabledWatcher() {\n if (!this.scrollElement) {\n return;\n }\n\n const reachedFirstSlide = this.slide === 0;\n const reachedLastSlide = this.hasReachedLastSlide();\n\n this.nextElements.forEach((element) => {\n const isStzh = isStzhElement(element);\n element.setAttribute(isStzh ? \"a11y-disabled\" : \"aria-disabled\", reachedLastSlide || this.disabled ? \"true\" : \"false\");\n });\n\n this.previousElements.forEach((element) => {\n const isStzh = isStzhElement(element);\n element.setAttribute(isStzh ? \"a11y-disabled\" : \"aria-disabled\", reachedFirstSlide || this.disabled ? \"true\" : \"false\");\n });\n }\n\n @Watch(\"nextElements\")\n nextElementsWatcher() {\n this.nextElements.forEach((nextElement) => {\n const isStzh = isStzhElement(nextElement);\n\n nextElement.addEventListener(\"click\", this.onNextClick);\n nextElement.setAttribute(isStzh ? \"a11y-controls\" : \"aria-controls\", `${this.carouselId}-scroll`);\n });\n }\n\n @Watch(\"previousElements\")\n previousElementsWatcher() {\n this.previousElements.forEach((previousElement) => {\n const isStzh = isStzhElement(previousElement);\n\n previousElement.addEventListener(\"click\", this.onPreviousClick);\n previousElement.setAttribute(isStzh ? \"a11y-controls\" : \"aria-controls\", `${this.carouselId}-scroll`);\n });\n }\n\n /** Whether autoplay is currently running */\n @State() autoplayRunning: boolean = false;\n\n /** Whether autoplay is currently disabled by reduced motion media */\n @State() autoplayDisabledByMotionMedia: boolean = false;\n\n /** Whether autoplay is currently disabled by mouse */\n @State() autoplayDisabledByMouse: boolean = false;\n\n /** Whether autoplay is currently disabled by focus */\n @State() autoplayDisabledByFocus: boolean = false;\n\n /** Whether autoplay is currently disabled by scroll */\n @State() autoplayDisabledByScroll: boolean = false;\n\n /** Whether autoplay is currently disabled by drag */\n @State() autoplayDisabledByDrag: boolean = false;\n\n /** Whether user is currently dragging with mouse */\n @State() dragging: boolean = false;\n\n /** Whether user is currently scrolling */\n @State() scrolling: boolean = false;\n\n /** Aria live text */\n @State() ariaLive: string = \"\";\n\n /** Currently shown slides */\n @State() currentSlides: number = 1;\n\n /** How many slides should be moved currently */\n @State() currentSwipeSlides: number = 1;\n\n /** Slide elements */\n @State() slideElements: HTMLElement[] = [];\n\n /** Previous elements */\n @State() previousElements: HTMLElement[] = [];\n\n /** Next elements */\n @State() nextElements: HTMLElement[] = [];\n\n /** Navigation text elements */\n @State() navigationTextElements: HTMLElement[] = [];\n\n private scrollElement: HTMLElement;\n\n /** Unique generated id */\n private carouselId: string;\n\n /** Current scroll position */\n private slideScrollLeft: number = 0;\n\n /** Flag whether scrolling was done by user or not */\n private scrolledByAutoplay: boolean = false;\n\n /** Timeout ID used to catch the end of scroll events */\n private scrollTimeoutId: number = null;\n\n /** Interval ID for autoplay */\n private autoplayIntervalId: number;\n\n /** Last drag event position */\n private lastX: number = null;\n\n /** Where the dragging started */\n private startX: number = null;\n\n /** Where the dragging started scroll position */\n private startScrollLeft: number = null;\n\n /** Timeout ID for a smooth drag release */\n private disableTimeoutId: number = null;\n\n /** Calculated size of a single item */\n private itemSize: number;\n\n /** Resize observer used to update item size */\n private resizeObserver: ResizeObserver;\n\n /** Mutation observer used to keep track of slides */\n private mutationObserver: MutationObserver;\n\n /** Whether user has just stopped dragging */\n private stoppedDragging: boolean = false;\n\n private scrollToSlide(index, behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n if (this.disabled) {\n return;\n }\n\n this.scrollElement.scrollTo({\n left: index * this.itemSize,\n behavior: reducedMotionMedia.matches ? \"auto\" : behaviour\n });\n }\n\n /** Width of a slide */\n private sizingMethod() {\n const css = window.getComputedStyle(this.scrollElement);\n\n return ((this.scrollElement.firstElementChild as HTMLElement) || this.scrollElement).offsetWidth\n + parseInt(css.getPropertyValue(\"column-gap\"), 10);\n }\n\n /**\n * Calculates the active slide.\n * The scroll-snap-type property makes sure that the container snaps perfectly to integer multiples.\n */\n private calculateSlide() {\n // Math.round: Dispatch 'stzhSlidePassed' events around the center of each slide\n // Math.ceil: Dispatch 'stzhSlidePassed' events as soon as the next one is visible\n // Math.floor: Dispatch 'stzhSlidePassed' events only when the next one is fully visible\n return Math.round(this.scrollElement.scrollLeft / this.itemSize);\n }\n\n private scrollToPreviousSnapPoint(behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n if (this.disabled) {\n return;\n }\n\n let previousIndex = this.slide;\n let canSnap = false;\n\n while (!canSnap && previousIndex > 0) {\n previousIndex = previousIndex - 1;\n canSnap = (previousIndex - this.currentSwipeSlides) % this.currentSwipeSlides === 0;\n }\n\n this.slideTo(previousIndex, behaviour);\n }\n\n private scrollToNextSnapPoint(behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n if (this.disabled) {\n return;\n }\n\n this.slideTo(this.slide + this.currentSwipeSlides, behaviour);\n }\n\n private update() {\n this.slide = this.calculateSlide();\n this.slideScrollLeft = this.slide * this.itemSize;\n\n this.onMutation();\n }\n\n private hasReachedLastSlide() {\n const { scrollLeft, offsetWidth, scrollWidth } = this.scrollElement;\n return Math.ceil(scrollLeft + offsetWidth) >= scrollWidth;\n }\n\n private onReducedMotionMediaChange = () => {\n this.autoplayDisabledByMotionMedia = reducedMotionMedia.matches;\n }\n\n private onMouseenter = () => {\n if (!this.preventAutoplayPause) {\n this.autoplayDisabledByMouse = true;\n }\n }\n\n private onMouseleave = () => {\n this.autoplayDisabledByMouse = false;\n }\n\n private onFocusin = () => {\n if (!this.preventAutoplayPause) {\n this.autoplayDisabledByFocus = true;\n }\n }\n\n private onFocusout = () => {\n this.autoplayDisabledByFocus = false;\n }\n\n private onPreviousClick = () => {\n this.scrollToPreviousSnapPoint();\n }\n\n private onNextClick = () => {\n this.scrollToNextSnapPoint();\n }\n\n private onSlideResize = () => {\n if (this.scrollElement) {\n this.itemSize = this.sizingMethod();\n }\n }\n\n private onMutation = () => {\n if (!this.scrollElement) {\n return;\n }\n\n this.slideElements = Array.from(this.scrollElement.children) as HTMLElement[];\n\n this.slideElements.forEach((slide, index) => {\n slide.setAttribute(\"role\", \"group\");\n slide.setAttribute(\"aria-roledescription\", \"slide\");\n slide.setAttribute(\"aria-label\", this.localization.slideLabel\n .replace(/\\{current\\}/gi, (index + 1).toString())\n .replace(/\\{total\\}/gi, this.slideElements.length.toString())\n );\n });\n\n this.previousElements = Array.from(this.element.querySelectorAll(\"[data-stzh-carousel-previous]\"));\n this.nextElements = Array.from(this.element.querySelectorAll(\"[data-stzh-carousel-next]\"));\n this.navigationTextElements = Array.from(this.element.querySelectorAll(\"[data-stzh-carousel-navigation-text]\"));\n }\n\n private onScroll = () => {\n if (this.scrollTimeoutId === null) {\n const direction = (this.scrollElement.scrollLeft > this.slideScrollLeft) ? 1 : -1;\n\n this.scrolling = true;\n\n if (!this.scrolledByAutoplay) {\n if (this.preventAutoplayStop) {\n this.autoplayDisabledByScroll = true;\n } else {\n this.autoplay = false;\n }\n }\n\n this.stzhSlideStart.emit({\n component: \"stzh-carousel\",\n index: this.slide + direction\n });\n }\n\n if (this.slide !== this.calculateSlide()) {\n this.update();\n this.stzhSlidePassed.emit({\n component: \"stzh-carousel\",\n index: this.slide\n });\n }\n\n this.scrollTimeoutId && window.clearTimeout(this.scrollTimeoutId);\n this.scrollTimeoutId = window.setTimeout(this.onScrollEnd, this.scrollTimeout);\n }\n\n private onScrollEnd = () => {\n this.scrollTimeoutId = null;\n this.update();\n\n this.scrolling = false;\n this.scrolledByAutoplay = false;\n this.autoplayDisabledByScroll = false;\n\n if (this.stoppedDragging) {\n this.stoppedDragging = false;\n this.scrollElement.style.removeProperty(\"scroll-behavior\");\n this.scrollElement.style.removeProperty(\"scroll-snap-type\");\n }\n\n if (this.tabThrough || this.variant === \"cards\") {\n this.ariaLive = \"\";\n } else {\n this.ariaLive = (this.currentSlides > 1 ? this.localization.slidesLabel : this.localization.slideLabel)\n .replace(/\\{(current|from)\\}/gi, (this.slide + 1).toString())\n .replace(/\\{to\\}/gi, (this.slide + this.currentSlides).toString())\n .replace(/\\{total\\}/gi, this.slideElements.length.toString());\n }\n\n this.stzhSlideEnd.emit({\n component: \"stzh-carousel\",\n index: this.slide\n });\n }\n\n private onMediaChange = () => {\n const ultra = media(\"ultra\").matches;\n const large = media(\"large\").matches;\n const medium = media(\"medium\").matches;\n const small = media(\"small\").matches;\n\n if (ultra && this.slidesUltra !== 0) {\n this.currentSlides = this.slidesUltra;\n } else if (large && this.slidesLarge !== 0) {\n this.currentSlides = this.slidesLarge;\n } else if (medium && this.slidesMedium !== 0) {\n this.currentSlides = this.slidesMedium;\n } else if (small && this.slidesSmall !== 0) {\n this.currentSlides = this.slidesSmall;\n } else {\n this.currentSlides = this.slides;\n }\n\n // if (ultra && this.swipeSlidesUltra !== 0) {\n // this.currentSwipeSlides = this.swipeSlidesUltra;\n // } else if (large && this.swipeSlidesLarge !== 0) {\n // this.currentSwipeSlides = this.swipeSlidesLarge;\n // } else if (medium && this.swipeSlidesMedium !== 0) {\n // this.currentSwipeSlides = this.swipeSlidesMedium;\n // } else if (small && this.swipeSlidesSmall !== 0) {\n // this.currentSwipeSlides = this.swipeSlidesSmall;\n // } else {\n // this.currentSwipeSlides = this.swipeSlides;\n // }\n\n this.currentSwipeSlides = this.currentSlides;\n }\n\n /** Scroll the slider the appropriate amount of pixels and update the last event position */\n private mouseMove = (event: MouseEvent) => {\n const distance = this.lastX - event.clientX;\n this.lastX = event.clientX;\n\n this.scrollElement.scrollLeft += distance;\n }\n\n /** Clear disable timeout, set up variables and styles and attach the listener. */\n private startDragging = (event: MouseEvent) => {\n event.preventDefault();\n\n this.disableTimeoutId && window.clearTimeout(this.disableTimeoutId);\n this.disableTimeoutId = null;\n\n this.startX = this.lastX = event.clientX;\n this.startScrollLeft = this.scrollElement.scrollLeft;\n this.scrollElement.style.setProperty(\"scroll-behavior\", \"auto\");\n this.scrollElement.style.setProperty(\"scroll-snap-type\", \"unset\");\n\n this.dragging = true;\n\n if (this.preventAutoplayStop) {\n this.autoplayDisabledByDrag = true;\n } else {\n this.autoplay = false;\n }\n\n window.addEventListener(\"mousemove\", this.mouseMove);\n window.addEventListener(\"mouseup\", this.stopDragging, { capture: true });\n window.addEventListener(\"click\", this.checkClick, { capture: true });\n }\n\n /** User stopped dragging */\n private stopDragging = (event: MouseEvent) => {\n event.preventDefault();\n\n const distance = Math.abs(this.startX - this.lastX);\n const minimumReached = distance > this.distanceQuickSwipe;\n const direction = (this.lastX > this.startX) ? 1 : -1;\n\n this.dragging = false;\n this.autoplayDisabledByDrag = false;\n\n const endDraddingLeft = this.scrollElement.scrollLeft;\n\n this.scrollElement.style.removeProperty(\"scroll-snap-type\");\n const finalLeft = this.scrollElement.scrollLeft;\n\n this.scrollElement.style.setProperty(\"scroll-snap-type\", \"unset\");\n this.scrollElement.scrollTo({ left: endDraddingLeft, behavior: \"auto\" });\n\n if (finalLeft !== this.startScrollLeft || !minimumReached) {\n this.scrollElement.scrollTo({ left: finalLeft, behavior: reducedMotionMedia.matches ? \"auto\" : \"smooth\" });\n } else if (direction === 1) {\n this.slideToPrevious();\n } else {\n this.slideToNext();\n }\n\n window.removeEventListener(\"mousemove\", this.mouseMove);\n window.removeEventListener(\"mouseup\", this.stopDragging, { capture: true });\n\n this.stoppedDragging = true;\n }\n\n private checkClick = (event: MouseEvent) => {\n const distance = Math.abs(this.startX - this.lastX);\n const minimumReached = distance > this.distancePreventClick;\n\n if (minimumReached) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n this.lastX = null;\n\n window.removeEventListener(\"click\", this.checkClick, { capture: true });\n }\n\n private autoplayInterval = () => {\n this.scrolledByAutoplay = true;\n\n if (this.hasReachedLastSlide()) {\n this.slideTo(0);\n } else {\n this.slideToNext();\n }\n }\n\n async componentWillLoad() {\n this.carouselId = `stzh-carousel-${carouselCounter++}`;\n this.onMediaChange();\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"carousel\");\n }\n }\n\n componentDidLoad() {\n this.itemSize = this.sizingMethod();\n this.update();\n\n this.disabledWatcher();\n this.preventMouseDragWatcher();\n this.autoplayRunningWatcher();\n }\n\n connectedCallback() {\n addMediaChangeListener(this.onMediaChange);\n\n this.resizeObserver = new ResizeObserver(this.onSlideResize)\n this.resizeObserver.observe(this.element)\n\n this.mutationObserver = new MutationObserver(this.onMutation);\n this.mutationObserver.observe(this.element, {\n childList: true,\n subtree: true\n });\n }\n\n disconnectedCallback() {\n this.scrollTimeoutId && window.clearTimeout(this.scrollTimeoutId);\n this.scrollTimeoutId = null;\n\n removeMediaChangeListener(this.onMediaChange);\n\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n\n render() {\n const classes = {\n \"stzh-carousel\": true,\n \"stzh-carousel--is-disabled\": this.disabled,\n \"stzh-carousel--is-draggable\": !this.preventMouseDrag,\n \"stzh-carousel--is-non-interactive\": this.nonInteractive,\n \"stzh-carousel--is-dragging\": this.dragging,\n \"stzh-carousel--is-scrolling\": this.scrolling,\n \"stzh-carousel--has-autoplay\": this.autoplay,\n \"stzh-carousel--is-autoplay-running\": this.autoplayRunning,\n };\n\n return (\n <Host\n aria-roledescription=\"carousel\"\n style={{\n '--slides': this.currentSlides.toString()\n }}\n >\n <div class={classes}>\n <slot name=\"actions\"></slot>\n <div\n class=\"stzh-carousel__vhidden\"\n aria-live={this.autoplayDisabledByFocus || this.autoplayDisabledByMouse ? \"polite\" : \"off\"}\n >\n {this.ariaLive}\n </div>\n <div\n ref={(el) => (this.scrollElement = el as HTMLDivElement)}\n id={`${this.carouselId}-scroll`}\n class=\"stzh-carousel__scroll\"\n >\n <slot></slot>\n </div>\n {this.withTrack &&\n <div class=\"stzh-carousel__indicator\">\n <div\n class=\"stzh-carousel__indicator-track\"\n style={{\n left: `${100 / (this.slideElements?.length || 1) * this.slide}%`,\n width: `${100 / (this.slideElements?.length || 1) * this.currentSlides || 0}%`\n }}\n ></div>\n </div>\n }\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-abcdf4b9.js","mappings":"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","names":[],"sources":["src/components/stzh-carousel/stzh-carousel.scss?tag=stzh-carousel&encapsulation=scoped","src/components/stzh-carousel/stzh-carousel.tsx"],"sourcesContent":["/**\n * @prop --padding-top: Padding Top of scroll container\n * @prop --padding-bottom: Padding Bottom of scroll container\n * @prop --peek-in: Peek size (inside container) showing the next/previous slides\n * @prop --peek-out: Negative peek size (breakout of container) showing the next/previous slides\n * @prop --gutter: Space between the slides\n * @prop --snap-stop: Snap stop of scroll container\n */\n\n:host {\n @include spaceCurve('--gutter', 'regular');\n --peek: calc(var(--peek-in, 0px) + var(--peek-out, 0px));\n --peek-in: calc(#{space('medium')} + #{spaceCurveValue('regular')});\n // --peek-out: #{space('medium')};\n --padding-top: 0px;\n --padding-bottom: 0px;\n --snap-stop: always;\n --slides: 1;\n --slide-size: calc((100% - (var(--slides) - 1) * var(--gutter)) / var(--slides));\n\n @include mq($from: small) {\n --peek-in: calc(#{space('xxxlarge')} + #{spaceCurveValue('regular', 'medium')});\n // --peek-out: #{$containerMarginSmall};\n }\n\n @include mq($from: medium) {\n --peek-in: calc(#{space('big')} + #{spaceCurveValue('regular', 'large')});\n // --peek-out: 0px;\n }\n\n ::slotted(*) {\n width: 100%;\n height: 100%;\n flex-shrink: 0;\n scroll-snap-align: start;\n scroll-snap-stop: var(--snap-stop);\n transition: opacity $baseTransitionAnimationSpeed;\n\n &:where([inert]) {\n opacity: 0.5;\n }\n\n &:where(stzh-figure[inert]) {\n --caption-opacity: 0;\n }\n\n img {\n -webkit-user-drag: none;\n user-drag: none;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n }\n }\n\n ::slotted([slot=\"actions\"]) {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n pointer-events: none;\n padding: 0 var(--peek);\n\n @media print {\n display: none;\n }\n\n stzh-text {\n width: auto;\n }\n\n stzh-button {\n pointer-events: all;\n }\n\n .stzh-carousel-action-previous,\n .stzh-carousel-action-next {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n }\n\n .stzh-carousel-action-previous {\n left: calc((#{space('medium')} + #{spaceCurveValue('regular')}) / -1);\n\n @include mq($from: small) {\n left: calc((#{space('xxxlarge')} + #{spaceCurveValue('regular', 'medium')}) / -1);\n }\n\n @include mq($from: medium) {\n left: calc((#{space('big')} + #{spaceCurveValue('regular', 'large')}) / -1);\n }\n }\n\n .stzh-carousel-action-next {\n right: calc((#{space('medium')} + #{spaceCurveValue('regular')}) / -1);\n\n @include mq($from: small) {\n right: calc((#{space('xxxlarge')} + #{spaceCurveValue('regular', 'medium')}) / -1);\n }\n\n @include mq($from: medium) {\n right: calc((#{space('big')} + #{spaceCurveValue('regular', 'large')}) / -1);\n }\n }\n }\n\n ::slotted(stzh-ratio[slot=\"actions\"]) {\n stzh-space,\n stzh-hspace,\n stzh-vspace {\n padding: space('xsmall');\n }\n }\n\n ::slotted(stzh-ratio[slot=\"actions\"]) {\n --background-color: transparent;\n }\n\n /* Card */\n\n &[variant=\"cards\"] {\n @include spaceCurve('--gutter', 'tiny');\n --padding-top: 4px;\n --padding-bottom: 4px;\n\n @include mq($from: medium) {\n --peek-out: #{$containerMarginMedium};\n }\n\n @include mq($from: large) {\n --peek-out: #{$containerMarginLarge};\n }\n\n @include mq($from: ultra) {\n --peek-out: calc((100vw - #{$containerMaxWidth} - var(--stzh-scrollbar-width, 0px)) / 2);\n }\n }\n\n &[variant=\"cards\"] ::slotted([slot=\"actions\"]) {\n position: relative;\n order: 1;\n margin-top: calc(#{space('medium')} - var(--padding-bottom));\n }\n\n /* No peek */\n\n &[no-peek]:not([no-peek=\"false\"]) {\n --peek-out: 0px;\n --peek-in: 0px;\n }\n}\n\n.stzh-carousel {\n position: relative;\n display: flex;\n flex-direction: column;\n width: calc(100% + var(--peek-out) * 2);\n margin-left: calc(var(--peek-out) / -1);\n margin-right: calc(var(--peek-out) / -1);\n\n &__vhidden {\n @include visuallyhidden;\n }\n\n &__indicator {\n @include spaceCurve('margin-top', 'regular');\n margin-left: auto;\n margin-right: auto;\n position: relative;\n width: 230px;\n height: 4px;\n background-color: $colorBlack20op;\n }\n\n &__indicator-track {\n position: absolute;\n background-color: $colorSecondary50;\n height: 6px;\n left: 0px;\n bottom: 0px;\n transition-property: left, width;\n transition-duration: $baseTransitionAnimationSpeed;\n }\n\n &__scroll {\n position: relative;\n grid-area: slides;\n display: grid;\n width: 100%;\n height: 100%;\n place-items: center;\n overflow-x: auto;\n overflow-y: visible;\n grid-auto-flow: column;\n grid-auto-columns: var(--slide-size);\n grid-auto-rows: 100%;\n column-gap: var(--gutter);\n -webkit-overflow-scrolling: touch;\n scrollbar-width: none;\n -ms-overflow-style: none;\n scroll-behavior: smooth;\n overscroll-behavior-x: contain;\n scroll-snap-type: x mandatory;\n scroll-padding: 0 var(--peek);\n padding: var(--padding-top) var(--peek) var(--padding-bottom);\n\n @media (prefers-reduced-motion: reduce) {\n scroll-behavior: auto;\n }\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n &--is-draggable &__scroll {\n cursor: grab;\n }\n\n &--is-dragging &__scroll {\n cursor: grabbing;\n }\n\n &--is-disabled &__scroll {\n cursor: not-allowed;\n overflow: hidden;\n }\n\n &--is-non-interactive {\n pointer-events: none;\n touch-action: none;\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Method,\n Event,\n EventEmitter,\n Watch,\n State\n} from \"@stencil/core\";\n\nimport {\n StzhCarouselSlideStartEvent,\n StzhCarouselSlidePassedEvent,\n StzhCarouselSlideEndEvent\n} from \"../../index\";\n\nimport { isStzhElement } from \"../../utils/utils\";\nimport { StzhCarouselLocalizedText } from \"./stzh-carousel.localization\"\n\nimport {\n media,\n addMediaChangeListener,\n removeMediaChangeListener\n} from '../../utils/media-utils';\n\nconst reducedMotionMedia = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n\nlet carouselCounter = 0;\n\n/*\n* Inspired by:\n*\n* - https://github.com/barthy-koeln/scroll-snap-slider\n* - https://tannerhodges.github.io/snap-slider/\n* - https://www.w3.org/WAI/ARIA/apg/patterns/carousel/examples/carousel-1-prev-next/\n* - https://dev.to/jasonwebb/how-to-build-a-more-accessible-carousel-or-slider-35lp\n* - http://web-accessibility.carnegiemuseums.org/code/carousels/\n*/\n\n/**\n * @slot - Slot for any element\n * @slot actions - Slot for `stzh-actions` element\n */\n@Component({\n tag: \"stzh-carousel\",\n styleUrl: \"stzh-carousel.scss\",\n scoped: true\n})\nexport class StzhCarousel {\n /** Translation strings */\n @Prop() localization: StzhCarouselLocalizedText;\n\n /** Carousel variant */\n @Prop({ reflect: true }) variant: \"default\" | \"cards\" = \"default\";\n\n /** Whether carousel is disabled */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Whether to remove inside/outside peek. */\n @Prop({ reflect: true }) noPeek: boolean = false;\n\n /** Slides number */\n @Prop() slides: number = 1;\n /** Slides number above small breakpoint */\n @Prop() slidesSmall: number = 0;\n /** Slides number above medium breakpoint */\n @Prop() slidesMedium: number = 0;\n /** Slides number above large breakpoint */\n @Prop() slidesLarge: number = 0;\n /** Slides number above ultra breakpoint */\n @Prop() slidesUltra: number = 0;\n\n // /** How many slides per swipe */\n // @Prop() swipeSlides: number = 1;\n // /** How many slides per swipe above small breakpoint */\n // @Prop() swipeSlidesSmall: number = 0;\n // /** How many slides per swipe above medium breakpoint */\n // @Prop() swipeSlidesMedium: number = 0;\n // /** How many slides per swipe above large breakpoint */\n // @Prop() swipeSlidesLarge: number = 0;\n // /** How many slides per swipe above ultra breakpoint */\n // @Prop() swipeSlidesUltra: number = 0;\n\n /** Active slide (readonly) */\n @Prop() slide: number = 0;\n\n /**\n * Whether autoplay is enabled.\n * Gets paused, when user has focus inside carousel element or hovers over it.\n * Also when reduced motion media query is active or carousel is set disabled.\n * Gets disabled permanently, when user interacts with carousel manually (clicks prev/next, scrolls or drags)\n */\n @Prop({ mutable: true }) autoplay: boolean = false;\n\n /** Timeout delay in milliseconds used for autoplay */\n @Prop() autoplayTimeout: number = 3000;\n\n /** Whether scrolling & dragging should be disabled */\n @Prop() nonInteractive: boolean = false;\n\n /** Whether drag with mouse should be disabled (still will be able to scroll with wheeling or arrow keys) */\n @Prop() preventMouseDrag: boolean = false;\n\n /** Whether autoplay pause should be prevented when user hovers/focuses carousel */\n @Prop() preventAutoplayPause: boolean = false;\n\n /** Whether autoplay stop should be prevented when user scroll or drags carousel */\n @Prop() preventAutoplayStop: boolean = false;\n\n /**\n * Enable all slides to be tabbable (will disable prev/next arrows from being tabbable).\n * By default only the visible slides will be tabbable and the prev/next can be used to change slides\n * (enabled when `variant` is set to `cards`).\n */\n @Prop() tabThrough: boolean = false;\n\n /** Whether indicator should be shown */\n @Prop() withTrack: boolean = false;\n\n\n /** Timeout delay in milliseconds used to catch the end of scroll events */\n @State() scrollTimeout: number = 100;\n\n /** Minimum drag distance that needs to be reached to swipe to next/previous slide(s). */\n @State() distanceQuickSwipe: number = 40;\n\n /** Minimum drag distance that neeeds to be reached to prevent click on slide elements. */\n @State() distancePreventClick: number = 6;\n\n @Element() element: HTMLStzhCarouselElement;\n\n /** Slide start event */\n @Event() stzhSlideStart: EventEmitter<StzhCarouselSlideStartEvent>;\n\n /** Slide passed event */\n @Event() stzhSlidePassed: EventEmitter<StzhCarouselSlidePassedEvent>;\n\n /** Slide end event */\n @Event() stzhSlideEnd: EventEmitter<StzhCarouselSlideEndEvent>;\n\n /** Scroll to a slide by index */\n @Method()\n async slideTo(index, behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n this.scrollToSlide(index, behaviour);\n }\n\n /** Scroll to previous snap point */\n @Method()\n async slideToPrevious(behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n this.scrollToPreviousSnapPoint(behaviour);\n }\n\n /** Scroll to next snap point */\n @Method()\n async slideToNext(behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n this.scrollToNextSnapPoint(behaviour);\n }\n\n @Watch(\"disabled\")\n disabledWatcher() {\n if (this.disabled) {\n this.scrollElement && this.scrollElement.removeEventListener(\"scroll\", this.onScroll);\n this.scrollTimeoutId && window.clearTimeout(this.scrollTimeoutId);\n this.scrollTimeoutId = null;\n this.element.removeEventListener(\"mouseenter\", this.onMouseenter);\n this.element.removeEventListener(\"mouseleave\", this.onMouseleave);\n this.element.removeEventListener(\"focusin\", this.onFocusin);\n this.element.removeEventListener(\"focusout\", this.onFocusout);\n this.onReducedMotionMediaChange();\n reducedMotionMedia && reducedMotionMedia.removeEventListener(\"change\", this.onReducedMotionMediaChange);\n } else {\n this.scrollElement && this.scrollElement.addEventListener(\"scroll\", this.onScroll, { passive: true });\n this.element.addEventListener(\"mouseenter\", this.onMouseenter);\n this.element.addEventListener(\"mouseleave\", this.onMouseleave);\n this.element.addEventListener(\"focusin\", this.onFocusin);\n this.element.addEventListener(\"focusout\", this.onFocusout);\n reducedMotionMedia && reducedMotionMedia.addEventListener(\"change\", this.onReducedMotionMediaChange);\n }\n }\n\n @Watch(\"disabled\")\n @Watch(\"preventMouseDrag\")\n preventMouseDragWatcher() {\n if (this.preventMouseDrag || this.disabled) {\n this.disableTimeoutId && window.clearTimeout(this.disableTimeoutId);\n this.disableTimeoutId = null;\n this.scrollElement && this.scrollElement.removeEventListener(\"mousedown\", this.startDragging);\n this.lastX = null;\n } else {\n this.scrollElement && this.scrollElement.addEventListener(\"mousedown\", this.startDragging);\n }\n }\n\n @Watch(\"autoplay\")\n @Watch(\"autoplayDisabledByMotionMedia\")\n @Watch(\"autoplayDisabledByMouse\")\n @Watch(\"autoplayDisabledByFocus\")\n @Watch(\"autoplayDisabledByScroll\")\n @Watch(\"autoplayDisabledByDrag\")\n @Watch(\"autoplayTimeout\")\n @Watch(\"disabled\")\n autoplayRunningWatcher() {\n if (\n !this.autoplay\n || this.disabled\n || this.autoplayDisabledByMotionMedia\n || this.autoplayDisabledByMouse\n || this.autoplayDisabledByFocus\n || this.autoplayDisabledByScroll\n || this.autoplayDisabledByDrag\n ) {\n this.autoplayIntervalId && window.clearInterval(this.autoplayIntervalId);\n this.autoplayIntervalId = null;\n this.autoplayRunning = false;\n } else {\n this.autoplayIntervalId && window.clearInterval(this.autoplayIntervalId);\n this.autoplayIntervalId = window.setInterval(this.autoplayInterval, this.autoplayTimeout);\n this.autoplayRunning = true;\n }\n }\n\n @Watch(\"slideElements\")\n @Watch(\"currentSwipeSlides\")\n snapAlignWatcher() {\n this.slideElements.forEach((slide, index) => {\n const shouldSnap = (index - this.currentSwipeSlides) % this.currentSwipeSlides === 0;\n\n if (shouldSnap) {\n slide.style.removeProperty(\"scroll-snap-align\");\n } else {\n slide.style.setProperty(\"scroll-snap-align\", \"none\");\n }\n });\n }\n\n @Watch(\"slide\")\n @Watch(\"variant\")\n @Watch(\"slideElements\")\n @Watch(\"currentSlides\")\n @Watch(\"tabThrough\")\n inertWatcher() {\n this.slideElements.forEach((slide, index) => {\n const isActive = this.tabThrough\n || this.variant === \"cards\"\n || index >= this.slide && index < this.slide + this.currentSlides;\n\n slide.inert = !isActive;\n\n if (isActive) {\n slide.removeAttribute(\"aria-hidden\");\n } else {\n slide.setAttribute(\"aria-hidden\", isActive ? \"false\" : \"true\");\n }\n });\n }\n\n @Watch(\"variant\")\n @Watch(\"tabThrough\")\n @Watch(\"nextElements\")\n @Watch(\"previousElements\")\n prevNextNavigationWatcher() {\n const tabThrough = this.tabThrough || this.variant === \"cards\";\n\n const setAriaAttributes = (element) => {\n const isStzh = isStzhElement(element);\n\n if (tabThrough) {\n element.setAttribute(\"aria-hidden\", \"true\");\n element.setAttribute(isStzh ? \"a11y-tabindex\" : \"tabindex\", \"-1\");\n } else {\n element.removeAttribute(\"aria-hidden\");\n element.removeAttribute(isStzh ? \"a11y-tabindex\" : \"tabindex\");\n }\n }\n\n this.nextElements.forEach(setAriaAttributes);\n this.previousElements.forEach(setAriaAttributes);\n }\n\n @Watch(\"currentSlides\")\n @Watch(\"slideElements\")\n @Watch(\"nextElements\")\n @Watch(\"previousElements\")\n @Watch(\"navigationTextElements\")\n prevNextHiddenWatcher() {\n const hideElements = this.slideElements.length <= this.currentSlides;\n\n const setHiddenAttribute = (element) => {\n if (hideElements) {\n element.setAttribute(\"hidden\", \"\");\n } else {\n element.removeAttribute(\"hidden\");\n }\n };\n\n this.navigationTextElements.forEach(setHiddenAttribute);\n this.nextElements.forEach(setHiddenAttribute);\n this.previousElements.forEach(setHiddenAttribute);\n }\n\n @Watch(\"disabled\")\n @Watch(\"slide\")\n @Watch(\"currentSlides\")\n @Watch(\"slideElements\")\n @Watch(\"nextElements\")\n @Watch(\"previousElements\")\n nextPrevDisabledWatcher() {\n if (!this.scrollElement) {\n return;\n }\n\n const reachedFirstSlide = this.slide === 0;\n const reachedLastSlide = this.hasReachedLastSlide();\n\n this.nextElements.forEach((element) => {\n const isStzh = isStzhElement(element);\n element.setAttribute(isStzh ? \"a11y-disabled\" : \"aria-disabled\", reachedLastSlide || this.disabled ? \"true\" : \"false\");\n });\n\n this.previousElements.forEach((element) => {\n const isStzh = isStzhElement(element);\n element.setAttribute(isStzh ? \"a11y-disabled\" : \"aria-disabled\", reachedFirstSlide || this.disabled ? \"true\" : \"false\");\n });\n }\n\n @Watch(\"nextElements\")\n nextElementsWatcher() {\n this.nextElements.forEach((nextElement) => {\n const isStzh = isStzhElement(nextElement);\n\n nextElement.addEventListener(\"click\", this.onNextClick);\n nextElement.setAttribute(isStzh ? \"a11y-controls\" : \"aria-controls\", `${this.carouselId}-scroll`);\n });\n }\n\n @Watch(\"previousElements\")\n previousElementsWatcher() {\n this.previousElements.forEach((previousElement) => {\n const isStzh = isStzhElement(previousElement);\n\n previousElement.addEventListener(\"click\", this.onPreviousClick);\n previousElement.setAttribute(isStzh ? \"a11y-controls\" : \"aria-controls\", `${this.carouselId}-scroll`);\n });\n }\n\n /** Whether autoplay is currently running */\n @State() autoplayRunning: boolean = false;\n\n /** Whether autoplay is currently disabled by reduced motion media */\n @State() autoplayDisabledByMotionMedia: boolean = false;\n\n /** Whether autoplay is currently disabled by mouse */\n @State() autoplayDisabledByMouse: boolean = false;\n\n /** Whether autoplay is currently disabled by focus */\n @State() autoplayDisabledByFocus: boolean = false;\n\n /** Whether autoplay is currently disabled by scroll */\n @State() autoplayDisabledByScroll: boolean = false;\n\n /** Whether autoplay is currently disabled by drag */\n @State() autoplayDisabledByDrag: boolean = false;\n\n /** Whether user is currently dragging with mouse */\n @State() dragging: boolean = false;\n\n /** Whether user is currently scrolling */\n @State() scrolling: boolean = false;\n\n /** Aria live text */\n @State() ariaLive: string = \"\";\n\n /** Currently shown slides */\n @State() currentSlides: number = 1;\n\n /** How many slides should be moved currently */\n @State() currentSwipeSlides: number = 1;\n\n /** Slide elements */\n @State() slideElements: HTMLElement[] = [];\n\n /** Previous elements */\n @State() previousElements: HTMLElement[] = [];\n\n /** Next elements */\n @State() nextElements: HTMLElement[] = [];\n\n /** Navigation text elements */\n @State() navigationTextElements: HTMLElement[] = [];\n\n private scrollElement: HTMLElement;\n\n /** Unique generated id */\n private carouselId: string;\n\n /** Current scroll position */\n private slideScrollLeft: number = 0;\n\n /** Flag whether scrolling was done by user or not */\n private scrolledByAutoplay: boolean = false;\n\n /** Timeout ID used to catch the end of scroll events */\n private scrollTimeoutId: number = null;\n\n /** Interval ID for autoplay */\n private autoplayIntervalId: number;\n\n /** Last drag event position */\n private lastX: number = null;\n\n /** Where the dragging started */\n private startX: number = null;\n\n /** Where the dragging started scroll position */\n private startScrollLeft: number = null;\n\n /** Timeout ID for a smooth drag release */\n private disableTimeoutId: number = null;\n\n /** Calculated size of a single item */\n private itemSize: number;\n\n /** Resize observer used to update item size */\n private resizeObserver: ResizeObserver;\n\n /** Mutation observer used to keep track of slides */\n private mutationObserver: MutationObserver;\n\n /** Whether user has just stopped dragging */\n private stoppedDragging: boolean = false;\n\n private scrollToSlide(index, behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n if (this.disabled) {\n return;\n }\n\n this.scrollElement.scrollTo({\n left: index * this.itemSize,\n behavior: reducedMotionMedia.matches ? \"auto\" : behaviour\n });\n }\n\n /** Width of a slide */\n private sizingMethod() {\n const css = window.getComputedStyle(this.scrollElement);\n\n return ((this.scrollElement.firstElementChild as HTMLElement) || this.scrollElement).offsetWidth\n + parseInt(css.getPropertyValue(\"column-gap\"), 10);\n }\n\n /**\n * Calculates the active slide.\n * The scroll-snap-type property makes sure that the container snaps perfectly to integer multiples.\n */\n private calculateSlide() {\n // Math.round: Dispatch 'stzhSlidePassed' events around the center of each slide\n // Math.ceil: Dispatch 'stzhSlidePassed' events as soon as the next one is visible\n // Math.floor: Dispatch 'stzhSlidePassed' events only when the next one is fully visible\n return Math.round(this.scrollElement.scrollLeft / this.itemSize);\n }\n\n private scrollToPreviousSnapPoint(behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n if (this.disabled) {\n return;\n }\n\n let previousIndex = this.slide;\n let canSnap = false;\n\n while (!canSnap && previousIndex > 0) {\n previousIndex = previousIndex - 1;\n canSnap = (previousIndex - this.currentSwipeSlides) % this.currentSwipeSlides === 0;\n }\n\n this.slideTo(previousIndex, behaviour);\n }\n\n private scrollToNextSnapPoint(behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n if (this.disabled) {\n return;\n }\n\n this.slideTo(this.slide + this.currentSwipeSlides, behaviour);\n }\n\n private update() {\n this.slide = this.calculateSlide();\n this.slideScrollLeft = this.slide * this.itemSize;\n\n this.onMutation();\n }\n\n private hasReachedLastSlide() {\n const { scrollLeft, offsetWidth, scrollWidth } = this.scrollElement;\n return Math.ceil(scrollLeft + offsetWidth) >= scrollWidth;\n }\n\n private onReducedMotionMediaChange = () => {\n this.autoplayDisabledByMotionMedia = reducedMotionMedia.matches;\n }\n\n private onMouseenter = () => {\n if (!this.preventAutoplayPause) {\n this.autoplayDisabledByMouse = true;\n }\n }\n\n private onMouseleave = () => {\n this.autoplayDisabledByMouse = false;\n }\n\n private onFocusin = () => {\n if (!this.preventAutoplayPause) {\n this.autoplayDisabledByFocus = true;\n }\n }\n\n private onFocusout = () => {\n this.autoplayDisabledByFocus = false;\n }\n\n private onPreviousClick = () => {\n this.scrollToPreviousSnapPoint();\n }\n\n private onNextClick = () => {\n this.scrollToNextSnapPoint();\n }\n\n private onSlideResize = () => {\n if (this.scrollElement) {\n this.itemSize = this.sizingMethod();\n }\n }\n\n private onMutation = () => {\n if (!this.scrollElement) {\n return;\n }\n\n this.slideElements = Array.from(this.scrollElement.children) as HTMLElement[];\n\n this.slideElements.forEach((slide, index) => {\n slide.setAttribute(\"role\", \"group\");\n slide.setAttribute(\"aria-roledescription\", \"slide\");\n slide.setAttribute(\"aria-label\", this.localization.slideLabel\n .replace(/\\{current\\}/gi, (index + 1).toString())\n .replace(/\\{total\\}/gi, this.slideElements.length.toString())\n );\n });\n\n this.previousElements = Array.from(this.element.querySelectorAll(\"[data-stzh-carousel-previous]\"));\n this.nextElements = Array.from(this.element.querySelectorAll(\"[data-stzh-carousel-next]\"));\n this.navigationTextElements = Array.from(this.element.querySelectorAll(\"[data-stzh-carousel-navigation-text]\"));\n }\n\n private onScroll = () => {\n if (this.scrollTimeoutId === null) {\n const direction = (this.scrollElement.scrollLeft > this.slideScrollLeft) ? 1 : -1;\n\n this.scrolling = true;\n\n if (!this.scrolledByAutoplay) {\n if (this.preventAutoplayStop) {\n this.autoplayDisabledByScroll = true;\n } else {\n this.autoplay = false;\n }\n }\n\n this.stzhSlideStart.emit({\n component: \"stzh-carousel\",\n index: this.slide + direction\n });\n }\n\n if (this.slide !== this.calculateSlide()) {\n this.update();\n this.stzhSlidePassed.emit({\n component: \"stzh-carousel\",\n index: this.slide\n });\n }\n\n this.scrollTimeoutId && window.clearTimeout(this.scrollTimeoutId);\n this.scrollTimeoutId = window.setTimeout(this.onScrollEnd, this.scrollTimeout);\n }\n\n private onScrollEnd = () => {\n this.scrollTimeoutId = null;\n this.update();\n\n this.scrolling = false;\n this.scrolledByAutoplay = false;\n this.autoplayDisabledByScroll = false;\n\n if (this.stoppedDragging) {\n this.stoppedDragging = false;\n this.scrollElement.style.removeProperty(\"scroll-behavior\");\n this.scrollElement.style.removeProperty(\"scroll-snap-type\");\n }\n\n if (this.tabThrough || this.variant === \"cards\") {\n this.ariaLive = \"\";\n } else {\n this.ariaLive = (this.currentSlides > 1 ? this.localization.slidesLabel : this.localization.slideLabel)\n .replace(/\\{(current|from)\\}/gi, (this.slide + 1).toString())\n .replace(/\\{to\\}/gi, (this.slide + this.currentSlides).toString())\n .replace(/\\{total\\}/gi, this.slideElements.length.toString());\n }\n\n this.stzhSlideEnd.emit({\n component: \"stzh-carousel\",\n index: this.slide\n });\n }\n\n private onMediaChange = () => {\n const ultra = media(\"ultra\").matches;\n const large = media(\"large\").matches;\n const medium = media(\"medium\").matches;\n const small = media(\"small\").matches;\n\n if (ultra && this.slidesUltra !== 0) {\n this.currentSlides = this.slidesUltra;\n } else if (large && this.slidesLarge !== 0) {\n this.currentSlides = this.slidesLarge;\n } else if (medium && this.slidesMedium !== 0) {\n this.currentSlides = this.slidesMedium;\n } else if (small && this.slidesSmall !== 0) {\n this.currentSlides = this.slidesSmall;\n } else {\n this.currentSlides = this.slides;\n }\n\n // if (ultra && this.swipeSlidesUltra !== 0) {\n // this.currentSwipeSlides = this.swipeSlidesUltra;\n // } else if (large && this.swipeSlidesLarge !== 0) {\n // this.currentSwipeSlides = this.swipeSlidesLarge;\n // } else if (medium && this.swipeSlidesMedium !== 0) {\n // this.currentSwipeSlides = this.swipeSlidesMedium;\n // } else if (small && this.swipeSlidesSmall !== 0) {\n // this.currentSwipeSlides = this.swipeSlidesSmall;\n // } else {\n // this.currentSwipeSlides = this.swipeSlides;\n // }\n\n this.currentSwipeSlides = this.currentSlides;\n }\n\n /** Scroll the slider the appropriate amount of pixels and update the last event position */\n private mouseMove = (event: MouseEvent) => {\n const distance = this.lastX - event.clientX;\n this.lastX = event.clientX;\n\n this.scrollElement.scrollLeft += distance;\n }\n\n /** Clear disable timeout, set up variables and styles and attach the listener. */\n private startDragging = (event: MouseEvent) => {\n event.preventDefault();\n\n this.disableTimeoutId && window.clearTimeout(this.disableTimeoutId);\n this.disableTimeoutId = null;\n\n this.startX = this.lastX = event.clientX;\n this.startScrollLeft = this.scrollElement.scrollLeft;\n this.scrollElement.style.setProperty(\"scroll-behavior\", \"auto\");\n this.scrollElement.style.setProperty(\"scroll-snap-type\", \"unset\");\n\n this.dragging = true;\n\n if (this.preventAutoplayStop) {\n this.autoplayDisabledByDrag = true;\n } else {\n this.autoplay = false;\n }\n\n window.addEventListener(\"mousemove\", this.mouseMove);\n window.addEventListener(\"mouseup\", this.stopDragging, { capture: true });\n window.addEventListener(\"click\", this.checkClick, { capture: true });\n }\n\n /** User stopped dragging */\n private stopDragging = (event: MouseEvent) => {\n event.preventDefault();\n\n const distance = Math.abs(this.startX - this.lastX);\n const minimumReached = distance > this.distanceQuickSwipe;\n const direction = (this.lastX > this.startX) ? 1 : -1;\n\n this.dragging = false;\n this.autoplayDisabledByDrag = false;\n\n const endDraddingLeft = this.scrollElement.scrollLeft;\n\n this.scrollElement.style.removeProperty(\"scroll-snap-type\");\n const finalLeft = this.scrollElement.scrollLeft;\n\n this.scrollElement.style.setProperty(\"scroll-snap-type\", \"unset\");\n this.scrollElement.scrollTo({ left: endDraddingLeft, behavior: \"auto\" });\n\n if (finalLeft !== this.startScrollLeft || !minimumReached) {\n this.scrollElement.scrollTo({ left: finalLeft, behavior: reducedMotionMedia.matches ? \"auto\" : \"smooth\" });\n } else if (direction === 1) {\n this.slideToPrevious();\n } else {\n this.slideToNext();\n }\n\n window.removeEventListener(\"mousemove\", this.mouseMove);\n window.removeEventListener(\"mouseup\", this.stopDragging, { capture: true });\n\n this.stoppedDragging = true;\n }\n\n private checkClick = (event: MouseEvent) => {\n const distance = Math.abs(this.startX - this.lastX);\n const minimumReached = distance > this.distancePreventClick;\n\n if (minimumReached) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n this.lastX = null;\n\n window.removeEventListener(\"click\", this.checkClick, { capture: true });\n }\n\n private autoplayInterval = () => {\n this.scrolledByAutoplay = true;\n\n if (this.hasReachedLastSlide()) {\n this.slideTo(0);\n } else {\n this.slideToNext();\n }\n }\n\n async componentWillLoad() {\n this.carouselId = `stzh-carousel-${carouselCounter++}`;\n this.onMediaChange();\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"carousel\");\n }\n }\n\n componentDidLoad() {\n this.itemSize = this.sizingMethod();\n this.update();\n\n this.disabledWatcher();\n this.preventMouseDragWatcher();\n this.autoplayRunningWatcher();\n }\n\n connectedCallback() {\n addMediaChangeListener(this.onMediaChange);\n\n this.resizeObserver = new ResizeObserver(this.onSlideResize)\n this.resizeObserver.observe(this.element)\n\n this.mutationObserver = new MutationObserver(this.onMutation);\n this.mutationObserver.observe(this.element, {\n childList: true,\n subtree: true\n });\n }\n\n disconnectedCallback() {\n this.scrollTimeoutId && window.clearTimeout(this.scrollTimeoutId);\n this.scrollTimeoutId = null;\n\n removeMediaChangeListener(this.onMediaChange);\n\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n\n render() {\n const classes = {\n \"stzh-carousel\": true,\n \"stzh-carousel--is-disabled\": this.disabled,\n \"stzh-carousel--is-draggable\": !this.preventMouseDrag,\n \"stzh-carousel--is-non-interactive\": this.nonInteractive,\n \"stzh-carousel--is-dragging\": this.dragging,\n \"stzh-carousel--is-scrolling\": this.scrolling,\n \"stzh-carousel--has-autoplay\": this.autoplay,\n \"stzh-carousel--is-autoplay-running\": this.autoplayRunning,\n };\n\n return (\n <Host\n aria-roledescription=\"carousel\"\n style={{\n '--slides': this.currentSlides.toString()\n }}\n >\n <div class={classes}>\n <slot name=\"actions\"></slot>\n <div\n class=\"stzh-carousel__vhidden\"\n aria-live={this.autoplayDisabledByFocus || this.autoplayDisabledByMouse ? \"polite\" : \"off\"}\n >\n {this.ariaLive}\n </div>\n <div\n ref={(el) => (this.scrollElement = el as HTMLDivElement)}\n id={`${this.carouselId}-scroll`}\n class=\"stzh-carousel__scroll\"\n >\n <slot></slot>\n </div>\n {this.withTrack &&\n <div class=\"stzh-carousel__indicator\">\n <div\n class=\"stzh-carousel__indicator-track\"\n style={{\n left: `${100 / (this.slideElements?.length || 1) * this.slide}%`,\n width: `${100 / (this.slideElements?.length || 1) * this.currentSlides || 0}%`\n }}\n ></div>\n </div>\n }\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,8 +1,8 @@
1
1
  import { p as proxyCustomElement, H, h, d as Host } from './p-96cf9087.js';
2
- import { c as camelCase, h as hasSlot } from './p-073888ce.js';
2
+ import { c as camelCase, h as hasSlot } from './p-095fbf73.js';
3
3
  import { S as StzhInputDescription } from './p-dd0d6b20.js';
4
4
  import { d as defineCustomElement$3 } from './p-6e55dee9.js';
5
- import { d as defineCustomElement$2 } from './p-d5ab066a.js';
5
+ import { d as defineCustomElement$2 } from './p-777e6a82.js';
6
6
  import { d as defineCustomElement$1 } from './p-8b576ec4.js';
7
7
 
8
8
  const stzhRadiogroupCss = ".sc-stzh-radiogroup-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-radiogroup-h,[stzh-hidden].sc-stzh-radiogroup-h{display:none}.sc-stzh-radiogroup-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-radiogroup-h *.sc-stzh-radiogroup,.sc-stzh-radiogroup-h *.sc-stzh-radiogroup::before,.sc-stzh-radiogroup-h *.sc-stzh-radiogroup::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-radiogroup-h .has-focus.sc-stzh-radiogroup{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-radiogroup-h .stzh-fylingfocus-focused.sc-stzh-radiogroup{outline-style:none !important}.sc-stzh-radiogroup-h .stzh-fylingfocus-focused.sc-stzh-radiogroup::-moz-focus-inner{border:0 !important}.sc-stzh-radiogroup-h{--legend-color:var(--stzh-radio-group-legend-color, var(--stzh-heading-color))}[disabled].sc-stzh-radiogroup-h:not([disabled=false]){--description-color:var(--stzh-color-grey70)}.stzh-radiogroup.sc-stzh-radiogroup{margin:0;padding:0;border:none}.stzh-radiogroup__marker-symbol.sc-stzh-radiogroup{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium)}.stzh-radiogroup__marker-text.sc-stzh-radiogroup{border:0;clip:rect(0 0 0 0);clip-path:inset(100%);width:0.0625rem;height:0.0625rem;overflow:hidden;padding:0;position:absolute}.stzh-radiogroup__description-wrapper.sc-stzh-radiogroup{display:flex;flex-direction:column-reverse;min-height:var(--description-min-height, var(--stzh-description-min-height, none))}.stzh-radiogroup__error.sc-stzh-radiogroup,.stzh-radiogroup__description.sc-stzh-radiogroup{font-size:var(--stzh-font-nano-font-size);line-height:var(--stzh-font-nano-text-line-height)}.stzh-radiogroup__error.sc-stzh-radiogroup{color:var(--stzh-color-error60)}.stzh-radiogroup__error-list.sc-stzh-radiogroup{list-style:none;margin:0;padding:0}.stzh-radiogroup__description.sc-stzh-radiogroup{display:flex;align-items:flex-start;color:var(--stzh-input-description-color, var(--description-color, var(--stzh-color-coolgrey70)));transition:color var(--stzh-base-transition-animation-speed)}.stzh-radiogroup__description-long.sc-stzh-radiogroup{margin-right:var(--stzh-space-xxsmall);margin-top:0.125rem}@supports (font: -apple-system-body) and (-webkit-appearance: none){.stzh-radiogroup__description-long.sc-stzh-radiogroup{margin-top:0}}.stzh-radiogroup__description-long-popover.sc-stzh-radiogroup{--width:auto;--max-width:27.3125rem}.stzh-radiogroup__description-long-button.sc-stzh-radiogroup{display:flex;justify-content:center;align-items:center;appearance:none;font-family:inherit;padding:0;border:none;background-color:transparent;border-radius:0.5rem;cursor:pointer}.stzh-radiogroup.sc-stzh-radiogroup stzh-icon.stzh-radiogroup__description-long-icon.sc-stzh-radiogroup{--size:var(--stzh-icon-size-xsmall)}.stzh-radiogroup--has-error.sc-stzh-radiogroup .stzh-radiogroup__error.sc-stzh-radiogroup,.stzh-radiogroup--has-description.sc-stzh-radiogroup .stzh-radiogroup__description.sc-stzh-radiogroup{margin-top:var(--stzh-space-xxxsmall)}.stzh-radiogroup__fields.sc-stzh-radiogroup{display:flex;align-items:flex-start;flex-direction:column;gap:var(--stzh-space-medium)}.stzh-radiogroup__legend.sc-stzh-radiogroup{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy);font-size:var(--stzh-font-micro-font-size);line-height:var(--stzh-font-micro-text-line-height);color:var(--legend-color);padding:0;margin-bottom:var(--stzh-space-xsmall)}.stzh-radiogroup__marker.sc-stzh-radiogroup{font-size:var(--stzh-font-nano-font-size);line-height:var(--stzh-font-nano-text-line-height);margin-left:calc(-0.25em + var(--stzh-space-xsmall))}.stzh-radiogroup--hide-legend.sc-stzh-radiogroup .stzh-radiogroup__legend.sc-stzh-radiogroup{border:0;clip:rect(0 0 0 0);clip-path:inset(100%);width:0.0625rem;height:0.0625rem;overflow:hidden;padding:0;position:absolute}.stzh-radiogroup--is-invalid.sc-stzh-radiogroup .stzh-radiogroup__legend.sc-stzh-radiogroup,.stzh-radiogroup--has-error.sc-stzh-radiogroup .stzh-radiogroup__legend.sc-stzh-radiogroup{color:var(--stzh-color-error60)}.stzh-radiogroup--is-disabled.sc-stzh-radiogroup .stzh-radiogroup__legend.sc-stzh-radiogroup{color:var(--stzh-color-grey60)}.stzh-radiogroup--direction-horizontal.sc-stzh-radiogroup .stzh-radiogroup__fields.sc-stzh-radiogroup{flex-wrap:wrap;flex-direction:row;row-gap:var(--stzh-space-medium);column-gap:var(--stzh-space-xxlarge)}";
@@ -254,4 +254,4 @@ function defineCustomElement() {
254
254
 
255
255
  export { StzhRadiogroup as S, defineCustomElement as d };
256
256
 
257
- //# sourceMappingURL=p-ec911b13.js.map
257
+ //# sourceMappingURL=p-ad74acdc.js.map
@@ -1 +1 @@
1
- {"file":"p-ec911b13.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 --legend-color: var(--stzh-radio-group-legend-color, #{$headingColor});\n\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: var(--legend-color);\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 &--is-invalid &__legend,\n &--has-error &__legend {\n color: $colorError60;\n }\n\n &--is-disabled &__legend {\n color: $colorGrey60;\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 \"../../index\";\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}
1
+ {"file":"p-ad74acdc.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 --legend-color: var(--stzh-radio-group-legend-color, #{$headingColor});\n\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: var(--legend-color);\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 &--is-invalid &__legend,\n &--has-error &__legend {\n color: $colorError60;\n }\n\n &--is-disabled &__legend {\n color: $colorGrey60;\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 \"../../index\";\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}
@@ -1,5 +1,5 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment, d as Host } from './p-96cf9087.js';
2
- import { a as addWordBreakToLinks, h as hasSlot } from './p-073888ce.js';
2
+ import { a as addWordBreakToLinks, h as hasSlot } from './p-095fbf73.js';
3
3
  import { d as defineCustomElement$2 } from './p-011c5d9b.js';
4
4
  import { d as defineCustomElement$1 } from './p-6e55dee9.js';
5
5
 
@@ -208,4 +208,4 @@ function defineCustomElement() {
208
208
 
209
209
  export { StzhLink as S, defineCustomElement as d };
210
210
 
211
- //# sourceMappingURL=p-435413fc.js.map
211
+ //# sourceMappingURL=p-b115288a.js.map