@oiz/stzh-components 2.11.0-beta1 → 2.11.1

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 (801) hide show
  1. package/dist/cjs/{app-globals-5b6fc14f.js → app-globals-7697372c.js} +2 -2
  2. package/dist/cjs/{app-globals-5b6fc14f.js.map → app-globals-7697372c.js.map} +1 -1
  3. package/dist/cjs/index.cjs.js.map +1 -1
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/stzh-actions.cjs.entry.js +1 -1
  6. package/dist/cjs/stzh-actionset_4.cjs.entry.js +3 -3
  7. package/dist/cjs/stzh-actionset_4.cjs.entry.js.map +1 -1
  8. package/dist/cjs/stzh-appnav.cjs.entry.js +1 -1
  9. package/dist/cjs/stzh-audio.cjs.entry.js +1 -1
  10. package/dist/cjs/stzh-badge_3.cjs.entry.js +3 -3
  11. package/dist/cjs/stzh-badge_3.cjs.entry.js.map +1 -1
  12. package/dist/cjs/stzh-carousel.cjs.entry.js +4 -3
  13. package/dist/cjs/stzh-carousel.cjs.entry.js.map +1 -1
  14. package/dist/cjs/stzh-cell.cjs.entry.js +4 -4
  15. package/dist/cjs/stzh-cell.cjs.entry.js.map +1 -1
  16. package/dist/cjs/stzh-checkbox.cjs.entry.js +1 -1
  17. package/dist/cjs/stzh-checkboxgroup.cjs.entry.js +1 -1
  18. package/dist/cjs/stzh-chip_2.cjs.entry.js +8 -1
  19. package/dist/cjs/stzh-chip_2.cjs.entry.js.map +1 -1
  20. package/dist/cjs/stzh-components.cjs.js +2 -2
  21. package/dist/cjs/stzh-contact.cjs.entry.js +7 -4
  22. package/dist/cjs/stzh-contact.cjs.entry.js.map +1 -1
  23. package/dist/cjs/stzh-cspace.cjs.entry.js +1 -1
  24. package/dist/cjs/stzh-cspace.cjs.entry.js.map +1 -1
  25. package/dist/cjs/stzh-datepicker_3.cjs.entry.js +1 -1
  26. package/dist/cjs/stzh-details.cjs.entry.js +1 -1
  27. package/dist/cjs/stzh-dialog.cjs.entry.js +1 -1
  28. package/dist/cjs/stzh-dropdown.cjs.entry.js +1 -1
  29. package/dist/cjs/{stzh-ratio.cjs.entry.js → stzh-figure_2.cjs.entry.js} +33 -1
  30. package/dist/cjs/stzh-figure_2.cjs.entry.js.map +1 -0
  31. package/dist/cjs/stzh-footer.cjs.entry.js +22 -6
  32. package/dist/cjs/stzh-footer.cjs.entry.js.map +1 -1
  33. package/dist/cjs/stzh-gallery.cjs.entry.js +9733 -0
  34. package/dist/cjs/stzh-gallery.cjs.entry.js.map +1 -0
  35. package/dist/cjs/stzh-ghettobox.cjs.entry.js +1 -1
  36. package/dist/cjs/stzh-header.cjs.entry.js +3 -6
  37. package/dist/cjs/stzh-header.cjs.entry.js.map +1 -1
  38. package/dist/cjs/{stzh-hspace.cjs.entry.js → stzh-hspace_2.cjs.entry.js} +41 -6
  39. package/dist/cjs/stzh-hspace_2.cjs.entry.js.map +1 -0
  40. package/dist/cjs/stzh-imagecomparison.cjs.entry.js +0 -2
  41. package/dist/cjs/stzh-imagecomparison.cjs.entry.js.map +1 -1
  42. package/dist/cjs/stzh-input.cjs.entry.js +1 -1
  43. package/dist/cjs/stzh-link.cjs.entry.js +1 -1
  44. package/dist/cjs/stzh-logo.cjs.entry.js +671 -0
  45. package/dist/cjs/stzh-logo.cjs.entry.js.map +1 -0
  46. package/dist/cjs/stzh-menu_2.cjs.entry.js +1 -1
  47. package/dist/cjs/stzh-pagebottom.cjs.entry.js +1 -1
  48. package/dist/cjs/stzh-pagetitle-hero.cjs.entry.js +1 -1
  49. package/dist/cjs/stzh-pagetitle.cjs.entry.js +1 -1
  50. package/dist/cjs/stzh-panorama.cjs.entry.js +3 -2
  51. package/dist/cjs/stzh-panorama.cjs.entry.js.map +1 -1
  52. package/dist/cjs/stzh-popover.cjs.entry.js +1 -1
  53. package/dist/cjs/stzh-print.cjs.entry.js +1 -1
  54. package/dist/cjs/stzh-progressbar-item.cjs.entry.js +2 -1
  55. package/dist/cjs/stzh-progressbar-item.cjs.entry.js.map +1 -1
  56. package/dist/cjs/stzh-readspeaker.cjs.entry.js +1 -1
  57. package/dist/cjs/stzh-row.cjs.entry.js +4 -4
  58. package/dist/cjs/stzh-row.cjs.entry.js.map +1 -1
  59. package/dist/cjs/stzh-scrollup.cjs.entry.js +1 -1
  60. package/dist/cjs/stzh-share.cjs.entry.js +1 -1
  61. package/dist/cjs/stzh-space.cjs.entry.js +5 -5
  62. package/dist/cjs/stzh-space.cjs.entry.js.map +1 -1
  63. package/dist/cjs/stzh-sticky.cjs.entry.js +166 -15
  64. package/dist/cjs/stzh-sticky.cjs.entry.js.map +1 -1
  65. package/dist/cjs/stzh-table.cjs.entry.js +1 -1
  66. package/dist/cjs/stzh-text.cjs.entry.js +1 -1
  67. package/dist/cjs/stzh-text.cjs.entry.js.map +1 -1
  68. package/dist/cjs/stzh-textandimage.cjs.entry.js +1 -1
  69. package/dist/cjs/stzh-timeline-item.cjs.entry.js +1 -1
  70. package/dist/cjs/stzh-toast.cjs.entry.js +1 -1
  71. package/dist/cjs/stzh-toggle.cjs.entry.js +1 -1
  72. package/dist/cjs/stzh-tooltip.cjs.entry.js +1 -1
  73. package/dist/cjs/stzh-upload.cjs.entry.js +1 -1
  74. package/dist/cjs/stzh-vspace.cjs.entry.js +5 -5
  75. package/dist/cjs/stzh-vspace.cjs.entry.js.map +1 -1
  76. package/dist/cjs/{utils-77bc0ea1.js → utils-01c0bbdd.js} +25 -1
  77. package/dist/cjs/utils-01c0bbdd.js.map +1 -0
  78. package/dist/collection/assets/i18n/de.json +19 -10
  79. package/dist/collection/assets/i18n/en.json +19 -10
  80. package/dist/collection/collection-manifest.json +2 -0
  81. package/dist/collection/components/stzh-button/stzh-button.css +4 -0
  82. package/dist/collection/components/stzh-button/stzh-button.js +3 -3
  83. package/dist/collection/components/stzh-button/stzh-button.js.map +1 -1
  84. package/dist/collection/components/stzh-card/stzh-card.css +1 -0
  85. package/dist/collection/components/stzh-card-list/stzh-card-list.css +27 -38
  86. package/dist/collection/components/stzh-carousel/stzh-carousel.css +3 -0
  87. package/dist/collection/components/stzh-carousel/stzh-carousel.js +2 -1
  88. package/dist/collection/components/stzh-carousel/stzh-carousel.js.map +1 -1
  89. package/dist/collection/components/stzh-cell/stzh-cell.js +9 -13
  90. package/dist/collection/components/stzh-cell/stzh-cell.js.map +1 -1
  91. package/dist/collection/components/stzh-clamp/stzh-clamp.js +9 -2
  92. package/dist/collection/components/stzh-clamp/stzh-clamp.js.map +1 -1
  93. package/dist/collection/components/stzh-contact/stzh-contact.js +25 -3
  94. package/dist/collection/components/stzh-contact/stzh-contact.js.map +1 -1
  95. package/dist/collection/components/stzh-cspace/stzh-cspace.css +5 -0
  96. package/dist/collection/components/stzh-fieldset/stzh-fieldset.js +1 -1
  97. package/dist/collection/components/stzh-figure/stzh-figure.css +5 -0
  98. package/dist/collection/components/stzh-footer/stzh-footer.css +1 -7
  99. package/dist/collection/components/stzh-footer/stzh-footer.js +21 -5
  100. package/dist/collection/components/stzh-footer/stzh-footer.js.map +1 -1
  101. package/dist/collection/components/stzh-footer/stzh-footer.stories.js +2 -2
  102. package/dist/collection/components/stzh-gallery/assets/angle-left.svg +3 -0
  103. package/dist/collection/components/stzh-gallery/assets/angle-right.svg +3 -0
  104. package/dist/collection/components/stzh-gallery/assets/close.svg +3 -0
  105. package/dist/collection/components/stzh-gallery/stzh-gallery.css +839 -0
  106. package/dist/collection/components/stzh-gallery/stzh-gallery.e2e.js +22 -0
  107. package/dist/collection/components/stzh-gallery/stzh-gallery.e2e.js.map +1 -0
  108. package/dist/collection/components/stzh-gallery/stzh-gallery.js +410 -0
  109. package/dist/collection/components/stzh-gallery/stzh-gallery.js.map +1 -0
  110. package/dist/collection/components/stzh-gallery/stzh-gallery.localization.js +2 -0
  111. package/dist/collection/components/stzh-gallery/stzh-gallery.localization.js.map +1 -0
  112. package/dist/collection/components/stzh-gallery/stzh-gallery.stories.js +163 -0
  113. package/dist/collection/components/stzh-header/stzh-header.css +19 -1
  114. package/dist/collection/components/stzh-header/stzh-header.js +1 -4
  115. package/dist/collection/components/stzh-header/stzh-header.js.map +1 -1
  116. package/dist/collection/components/stzh-header/stzh-header.stories.js +5 -3
  117. package/dist/collection/components/stzh-heading/stzh-heading.js +1 -1
  118. package/dist/collection/components/stzh-hspace/stzh-hspace.js +13 -18
  119. package/dist/collection/components/stzh-hspace/stzh-hspace.js.map +1 -1
  120. package/dist/collection/components/stzh-imagecomparison/stzh-imagecomparison.js +0 -38
  121. package/dist/collection/components/stzh-imagecomparison/stzh-imagecomparison.js.map +1 -1
  122. package/dist/collection/components/stzh-logo/assets/aoz.svg +15 -0
  123. package/dist/collection/components/stzh-logo/assets/pkzh.svg +207 -0
  124. package/dist/collection/components/stzh-logo/assets/stzh-default.svg +166 -0
  125. package/dist/collection/components/stzh-logo/assets/uvz.svg +85 -0
  126. package/dist/collection/components/stzh-logo/assets/vbz.svg +147 -0
  127. package/dist/collection/components/stzh-logo/stzh-logo.css +134 -0
  128. package/dist/collection/components/stzh-logo/stzh-logo.e2e.js +19 -0
  129. package/dist/collection/components/stzh-logo/stzh-logo.e2e.js.map +1 -0
  130. package/dist/collection/components/stzh-logo/stzh-logo.js +72 -0
  131. package/dist/collection/components/stzh-logo/stzh-logo.js.map +1 -0
  132. package/dist/collection/components/stzh-logo/stzh-logo.stories.js +51 -0
  133. package/dist/collection/components/stzh-panorama/stzh-panorama.js +21 -2
  134. package/dist/collection/components/stzh-panorama/stzh-panorama.js.map +1 -1
  135. package/dist/collection/components/stzh-progressbar-item/stzh-progressbar-item.js +3 -2
  136. package/dist/collection/components/stzh-progressbar-item/stzh-progressbar-item.js.map +1 -1
  137. package/dist/collection/components/stzh-radiogroup/stzh-radiogroup.js +2 -4
  138. package/dist/collection/components/stzh-radiogroup/stzh-radiogroup.js.map +1 -1
  139. package/dist/collection/components/stzh-row/stzh-row.js +9 -13
  140. package/dist/collection/components/stzh-row/stzh-row.js.map +1 -1
  141. package/dist/collection/components/stzh-show/stzh-show.js +5 -5
  142. package/dist/collection/components/stzh-show/stzh-show.js.map +1 -1
  143. package/dist/collection/components/stzh-space/stzh-space.js +13 -18
  144. package/dist/collection/components/stzh-space/stzh-space.js.map +1 -1
  145. package/dist/collection/components/stzh-sticky/stzh-sticky.css +28 -17
  146. package/dist/collection/components/stzh-sticky/stzh-sticky.e2e.js +1 -0
  147. package/dist/collection/components/stzh-sticky/stzh-sticky.e2e.js.map +1 -1
  148. package/dist/collection/components/stzh-sticky/stzh-sticky.js +186 -14
  149. package/dist/collection/components/stzh-sticky/stzh-sticky.js.map +1 -1
  150. package/dist/collection/components/stzh-sticky/stzh-sticky.stories.js +88 -44
  151. package/dist/collection/components/stzh-text/stzh-text.css +19 -0
  152. package/dist/collection/components/stzh-text/stzh-text.js +1 -1
  153. package/dist/collection/components/stzh-vspace/stzh-vspace.js +13 -18
  154. package/dist/collection/components/stzh-vspace/stzh-vspace.js.map +1 -1
  155. package/dist/collection/index.js.map +1 -1
  156. package/dist/collection/patterns/media/media.e2e.js +3 -1
  157. package/dist/collection/patterns/media/media.e2e.js.map +1 -1
  158. package/dist/collection/patterns/subpages/subpages.e2e.js +1 -0
  159. package/dist/collection/patterns/subpages/subpages.e2e.js.map +1 -1
  160. package/dist/collection/utils/utils.js +22 -0
  161. package/dist/collection/utils/utils.js.map +1 -1
  162. package/dist/components/index.js +1 -1
  163. package/dist/components/index2.js.map +1 -1
  164. package/dist/components/stzh-button2.js +2 -2
  165. package/dist/components/stzh-button2.js.map +1 -1
  166. package/dist/components/stzh-card-list2.js +1 -1
  167. package/dist/components/stzh-card-list2.js.map +1 -1
  168. package/dist/components/stzh-card2.js +1 -1
  169. package/dist/components/stzh-card2.js.map +1 -1
  170. package/dist/components/stzh-carousel2.js +3 -2
  171. package/dist/components/stzh-carousel2.js.map +1 -1
  172. package/dist/components/stzh-cell.js +9 -9
  173. package/dist/components/stzh-cell.js.map +1 -1
  174. package/dist/components/stzh-clamp2.js +8 -1
  175. package/dist/components/stzh-clamp2.js.map +1 -1
  176. package/dist/components/stzh-contact.js +7 -3
  177. package/dist/components/stzh-contact.js.map +1 -1
  178. package/dist/components/stzh-cspace.js +1 -1
  179. package/dist/components/stzh-cspace.js.map +1 -1
  180. package/dist/components/stzh-figure2.js +1 -1
  181. package/dist/components/stzh-figure2.js.map +1 -1
  182. package/dist/components/stzh-footer.js +21 -5
  183. package/dist/components/stzh-footer.js.map +1 -1
  184. package/dist/components/stzh-gallery.d.ts +11 -0
  185. package/dist/components/stzh-gallery.js +9808 -0
  186. package/dist/components/stzh-gallery.js.map +1 -0
  187. package/dist/components/stzh-header.js +2 -5
  188. package/dist/components/stzh-header.js.map +1 -1
  189. package/dist/components/stzh-hspace.js +1 -57
  190. package/dist/components/stzh-hspace.js.map +1 -1
  191. package/dist/{esm/stzh-hspace.entry.js → components/stzh-hspace2.js} +41 -13
  192. package/dist/components/stzh-hspace2.js.map +1 -0
  193. package/dist/components/stzh-imagecomparison.js +0 -4
  194. package/dist/components/stzh-imagecomparison.js.map +1 -1
  195. package/dist/components/stzh-logo.d.ts +11 -0
  196. package/dist/components/stzh-logo.js +687 -0
  197. package/dist/components/stzh-logo.js.map +1 -0
  198. package/dist/components/stzh-panorama.js +4 -2
  199. package/dist/components/stzh-panorama.js.map +1 -1
  200. package/dist/components/stzh-progressbar-item2.js +2 -1
  201. package/dist/components/stzh-progressbar-item2.js.map +1 -1
  202. package/dist/components/stzh-radiogroup2.js +1 -1
  203. package/dist/components/stzh-row.js +9 -9
  204. package/dist/components/stzh-row.js.map +1 -1
  205. package/dist/components/stzh-show.js +1 -59
  206. package/dist/components/stzh-show.js.map +1 -1
  207. package/dist/{esm/stzh-show.entry.js → components/stzh-show2.js} +34 -10
  208. package/dist/components/stzh-show2.js.map +1 -0
  209. package/dist/components/stzh-space.js +13 -13
  210. package/dist/components/stzh-space.js.map +1 -1
  211. package/dist/components/stzh-sticky.js +171 -17
  212. package/dist/components/stzh-sticky.js.map +1 -1
  213. package/dist/components/stzh-text2.js +1 -1
  214. package/dist/components/stzh-text2.js.map +1 -1
  215. package/dist/components/stzh-vbz-majorticker.js +1 -1
  216. package/dist/components/stzh-vspace.js +13 -13
  217. package/dist/components/stzh-vspace.js.map +1 -1
  218. package/dist/components/utils.js +23 -1
  219. package/dist/components/utils.js.map +1 -1
  220. package/dist/esm/{app-globals-2df573fd.js → app-globals-1a77c38b.js} +2 -2
  221. package/dist/esm/{app-globals-2df573fd.js.map → app-globals-1a77c38b.js.map} +1 -1
  222. package/dist/esm/index.js.map +1 -1
  223. package/dist/esm/loader.js +2 -2
  224. package/dist/esm/stzh-actions.entry.js +1 -1
  225. package/dist/esm/stzh-actionset_4.entry.js +3 -3
  226. package/dist/esm/stzh-actionset_4.entry.js.map +1 -1
  227. package/dist/esm/stzh-appnav.entry.js +1 -1
  228. package/dist/esm/stzh-audio.entry.js +1 -1
  229. package/dist/esm/stzh-badge_3.entry.js +3 -3
  230. package/dist/esm/stzh-badge_3.entry.js.map +1 -1
  231. package/dist/esm/stzh-carousel.entry.js +4 -3
  232. package/dist/esm/stzh-carousel.entry.js.map +1 -1
  233. package/dist/esm/stzh-cell.entry.js +4 -4
  234. package/dist/esm/stzh-cell.entry.js.map +1 -1
  235. package/dist/esm/stzh-checkbox.entry.js +1 -1
  236. package/dist/esm/stzh-checkboxgroup.entry.js +1 -1
  237. package/dist/esm/stzh-chip_2.entry.js +8 -1
  238. package/dist/esm/stzh-chip_2.entry.js.map +1 -1
  239. package/dist/esm/stzh-components.js +2 -2
  240. package/dist/esm/stzh-contact.entry.js +7 -4
  241. package/dist/esm/stzh-contact.entry.js.map +1 -1
  242. package/dist/esm/stzh-cspace.entry.js +1 -1
  243. package/dist/esm/stzh-cspace.entry.js.map +1 -1
  244. package/dist/esm/stzh-datepicker_3.entry.js +1 -1
  245. package/dist/esm/stzh-details.entry.js +1 -1
  246. package/dist/esm/stzh-dialog.entry.js +1 -1
  247. package/dist/esm/stzh-dropdown.entry.js +1 -1
  248. package/dist/esm/{stzh-ratio.entry.js → stzh-figure_2.entry.js} +33 -2
  249. package/dist/esm/stzh-figure_2.entry.js.map +1 -0
  250. package/dist/esm/stzh-footer.entry.js +22 -6
  251. package/dist/esm/stzh-footer.entry.js.map +1 -1
  252. package/dist/esm/stzh-gallery.entry.js +9729 -0
  253. package/dist/esm/stzh-gallery.entry.js.map +1 -0
  254. package/dist/esm/stzh-ghettobox.entry.js +1 -1
  255. package/dist/esm/stzh-header.entry.js +3 -6
  256. package/dist/esm/stzh-header.entry.js.map +1 -1
  257. package/dist/esm/stzh-hspace_2.entry.js +67 -0
  258. package/dist/esm/stzh-hspace_2.entry.js.map +1 -0
  259. package/dist/esm/stzh-imagecomparison.entry.js +0 -2
  260. package/dist/esm/stzh-imagecomparison.entry.js.map +1 -1
  261. package/dist/esm/stzh-input.entry.js +1 -1
  262. package/dist/esm/stzh-link.entry.js +1 -1
  263. package/dist/esm/stzh-logo.entry.js +667 -0
  264. package/dist/esm/stzh-logo.entry.js.map +1 -0
  265. package/dist/esm/stzh-menu_2.entry.js +1 -1
  266. package/dist/esm/stzh-pagebottom.entry.js +1 -1
  267. package/dist/esm/stzh-pagetitle-hero.entry.js +1 -1
  268. package/dist/esm/stzh-pagetitle.entry.js +1 -1
  269. package/dist/esm/stzh-panorama.entry.js +3 -2
  270. package/dist/esm/stzh-panorama.entry.js.map +1 -1
  271. package/dist/esm/stzh-popover.entry.js +1 -1
  272. package/dist/esm/stzh-print.entry.js +1 -1
  273. package/dist/esm/stzh-progressbar-item.entry.js +2 -1
  274. package/dist/esm/stzh-progressbar-item.entry.js.map +1 -1
  275. package/dist/esm/stzh-readspeaker.entry.js +1 -1
  276. package/dist/esm/stzh-row.entry.js +4 -4
  277. package/dist/esm/stzh-row.entry.js.map +1 -1
  278. package/dist/esm/stzh-scrollup.entry.js +1 -1
  279. package/dist/esm/stzh-share.entry.js +1 -1
  280. package/dist/esm/stzh-space.entry.js +5 -5
  281. package/dist/esm/stzh-space.entry.js.map +1 -1
  282. package/dist/esm/stzh-sticky.entry.js +166 -15
  283. package/dist/esm/stzh-sticky.entry.js.map +1 -1
  284. package/dist/esm/stzh-table.entry.js +1 -1
  285. package/dist/esm/stzh-text.entry.js +1 -1
  286. package/dist/esm/stzh-text.entry.js.map +1 -1
  287. package/dist/esm/stzh-textandimage.entry.js +1 -1
  288. package/dist/esm/stzh-timeline-item.entry.js +1 -1
  289. package/dist/esm/stzh-toast.entry.js +1 -1
  290. package/dist/esm/stzh-toggle.entry.js +1 -1
  291. package/dist/esm/stzh-tooltip.entry.js +1 -1
  292. package/dist/esm/stzh-upload.entry.js +1 -1
  293. package/dist/esm/stzh-vspace.entry.js +5 -5
  294. package/dist/esm/stzh-vspace.entry.js.map +1 -1
  295. package/dist/esm/{utils-107fad0f.js → utils-8bb4c3c6.js} +24 -2
  296. package/dist/esm/utils-8bb4c3c6.js.map +1 -0
  297. package/dist/esm-es5/{app-globals-2df573fd.js → app-globals-1a77c38b.js} +2 -2
  298. package/dist/esm-es5/{app-globals-2df573fd.js.map → app-globals-1a77c38b.js.map} +1 -1
  299. package/dist/esm-es5/index.js.map +1 -1
  300. package/dist/esm-es5/loader.js +1 -1
  301. package/dist/esm-es5/loader.js.map +1 -1
  302. package/dist/esm-es5/stzh-actions.entry.js +1 -1
  303. package/dist/esm-es5/stzh-actionset_4.entry.js +2 -2
  304. package/dist/esm-es5/stzh-actionset_4.entry.js.map +1 -1
  305. package/dist/esm-es5/stzh-appnav.entry.js +1 -1
  306. package/dist/esm-es5/stzh-audio.entry.js +1 -1
  307. package/dist/esm-es5/stzh-badge_3.entry.js +1 -1
  308. package/dist/esm-es5/stzh-badge_3.entry.js.map +1 -1
  309. package/dist/esm-es5/stzh-carousel.entry.js +1 -1
  310. package/dist/esm-es5/stzh-carousel.entry.js.map +1 -1
  311. package/dist/esm-es5/stzh-cell.entry.js +1 -1
  312. package/dist/esm-es5/stzh-cell.entry.js.map +1 -1
  313. package/dist/esm-es5/stzh-checkbox.entry.js +1 -1
  314. package/dist/esm-es5/stzh-checkboxgroup.entry.js +1 -1
  315. package/dist/esm-es5/stzh-chip_2.entry.js +1 -1
  316. package/dist/esm-es5/stzh-chip_2.entry.js.map +1 -1
  317. package/dist/esm-es5/stzh-components.js +1 -1
  318. package/dist/esm-es5/stzh-components.js.map +1 -1
  319. package/dist/esm-es5/stzh-contact.entry.js +1 -1
  320. package/dist/esm-es5/stzh-contact.entry.js.map +1 -1
  321. package/dist/esm-es5/stzh-cspace.entry.js +1 -1
  322. package/dist/esm-es5/stzh-cspace.entry.js.map +1 -1
  323. package/dist/esm-es5/stzh-datepicker_3.entry.js +1 -1
  324. package/dist/esm-es5/stzh-details.entry.js +1 -1
  325. package/dist/esm-es5/stzh-dialog.entry.js +1 -1
  326. package/dist/esm-es5/stzh-dropdown.entry.js +1 -1
  327. package/dist/esm-es5/stzh-figure_2.entry.js +2 -0
  328. package/dist/esm-es5/stzh-figure_2.entry.js.map +1 -0
  329. package/dist/esm-es5/stzh-footer.entry.js +1 -1
  330. package/dist/esm-es5/stzh-footer.entry.js.map +1 -1
  331. package/dist/esm-es5/stzh-gallery.entry.js +10 -0
  332. package/dist/esm-es5/stzh-gallery.entry.js.map +1 -0
  333. package/dist/esm-es5/stzh-ghettobox.entry.js +1 -1
  334. package/dist/esm-es5/stzh-header.entry.js +1 -1
  335. package/dist/esm-es5/stzh-header.entry.js.map +1 -1
  336. package/dist/esm-es5/stzh-hspace_2.entry.js +2 -0
  337. package/dist/esm-es5/stzh-hspace_2.entry.js.map +1 -0
  338. package/dist/esm-es5/stzh-imagecomparison.entry.js +1 -1
  339. package/dist/esm-es5/stzh-imagecomparison.entry.js.map +1 -1
  340. package/dist/esm-es5/stzh-input.entry.js +1 -1
  341. package/dist/esm-es5/stzh-link.entry.js +1 -1
  342. package/dist/esm-es5/stzh-logo.entry.js +2 -0
  343. package/dist/esm-es5/stzh-logo.entry.js.map +1 -0
  344. package/dist/esm-es5/stzh-menu_2.entry.js +1 -1
  345. package/dist/esm-es5/stzh-pagebottom.entry.js +1 -1
  346. package/dist/esm-es5/stzh-pagetitle-hero.entry.js +1 -1
  347. package/dist/esm-es5/stzh-pagetitle.entry.js +1 -1
  348. package/dist/esm-es5/stzh-panorama.entry.js +1 -1
  349. package/dist/esm-es5/stzh-panorama.entry.js.map +1 -1
  350. package/dist/esm-es5/stzh-popover.entry.js +1 -1
  351. package/dist/esm-es5/stzh-print.entry.js +1 -1
  352. package/dist/esm-es5/stzh-progressbar-item.entry.js +1 -1
  353. package/dist/esm-es5/stzh-progressbar-item.entry.js.map +1 -1
  354. package/dist/esm-es5/stzh-readspeaker.entry.js +1 -1
  355. package/dist/esm-es5/stzh-row.entry.js +1 -1
  356. package/dist/esm-es5/stzh-row.entry.js.map +1 -1
  357. package/dist/esm-es5/stzh-scrollup.entry.js +1 -1
  358. package/dist/esm-es5/stzh-share.entry.js +1 -1
  359. package/dist/esm-es5/stzh-space.entry.js +1 -1
  360. package/dist/esm-es5/stzh-space.entry.js.map +1 -1
  361. package/dist/esm-es5/stzh-sticky.entry.js +1 -1
  362. package/dist/esm-es5/stzh-sticky.entry.js.map +1 -1
  363. package/dist/esm-es5/stzh-table.entry.js +1 -1
  364. package/dist/esm-es5/stzh-text.entry.js +1 -1
  365. package/dist/esm-es5/stzh-text.entry.js.map +1 -1
  366. package/dist/esm-es5/stzh-textandimage.entry.js +1 -1
  367. package/dist/esm-es5/stzh-timeline-item.entry.js +1 -1
  368. package/dist/esm-es5/stzh-toast.entry.js +1 -1
  369. package/dist/esm-es5/stzh-toggle.entry.js +1 -1
  370. package/dist/esm-es5/stzh-tooltip.entry.js +1 -1
  371. package/dist/esm-es5/stzh-upload.entry.js +1 -1
  372. package/dist/esm-es5/stzh-vspace.entry.js +1 -1
  373. package/dist/esm-es5/stzh-vspace.entry.js.map +1 -1
  374. package/dist/esm-es5/utils-8bb4c3c6.js +2 -0
  375. package/dist/esm-es5/utils-8bb4c3c6.js.map +1 -0
  376. package/dist/stzh-components/assets/i18n/de.json +19 -10
  377. package/dist/stzh-components/assets/i18n/en.json +19 -10
  378. package/dist/stzh-components/index.esm.js.map +1 -1
  379. package/dist/stzh-components/{p-a509436d.entry.js → p-0164f9d1.entry.js} +2 -2
  380. package/dist/stzh-components/p-0164f9d1.entry.js.map +1 -0
  381. package/dist/stzh-components/{p-1f1910e4.system.entry.js → p-0684cfac.system.entry.js} +2 -2
  382. package/dist/stzh-components/{p-1f1910e4.system.entry.js.map → p-0684cfac.system.entry.js.map} +1 -1
  383. package/dist/stzh-components/p-07819ba5.entry.js +2 -0
  384. package/dist/stzh-components/p-07819ba5.entry.js.map +1 -0
  385. package/dist/stzh-components/{p-6b9365fe.system.entry.js → p-0b4cba00.system.entry.js} +2 -2
  386. package/dist/stzh-components/{p-b1fbe1d1.system.entry.js → p-0b8a15cc.system.entry.js} +2 -2
  387. package/dist/stzh-components/p-0bb08043.system.js.map +1 -1
  388. package/dist/stzh-components/p-0c049996.system.entry.js +2 -0
  389. package/dist/stzh-components/p-0c049996.system.entry.js.map +1 -0
  390. package/dist/stzh-components/{p-9bd8613c.system.entry.js → p-0c2381f6.system.entry.js} +2 -2
  391. package/dist/stzh-components/p-0d9aa70c.entry.js +2 -0
  392. package/dist/stzh-components/p-0d9aa70c.entry.js.map +1 -0
  393. package/dist/stzh-components/{p-55a00af2.entry.js → p-10361297.entry.js} +2 -2
  394. package/dist/stzh-components/p-1095d872.system.entry.js +2 -0
  395. package/dist/stzh-components/p-1095d872.system.entry.js.map +1 -0
  396. package/dist/stzh-components/{p-26f37848.entry.js → p-11031613.entry.js} +2 -2
  397. package/dist/stzh-components/{p-062360a4.system.entry.js → p-153f8f3f.system.entry.js} +2 -2
  398. package/dist/stzh-components/p-15980af0.entry.js +10 -0
  399. package/dist/stzh-components/p-15980af0.entry.js.map +1 -0
  400. package/dist/stzh-components/{p-fbf4ee43.system.entry.js → p-1834deba.system.entry.js} +2 -2
  401. package/dist/stzh-components/{p-c1fa2872.system.entry.js → p-188dd49d.system.entry.js} +2 -2
  402. package/dist/stzh-components/{p-68e15c10.system.entry.js → p-1a49012e.system.entry.js} +2 -2
  403. package/dist/stzh-components/{p-2565c905.entry.js → p-1c9eee3d.entry.js} +2 -2
  404. package/dist/stzh-components/{p-badd636f.system.entry.js → p-24c0e33a.system.entry.js} +2 -2
  405. package/dist/stzh-components/{p-badd636f.system.entry.js.map → p-24c0e33a.system.entry.js.map} +1 -1
  406. package/dist/stzh-components/p-2547ec12.system.entry.js +2 -0
  407. package/dist/stzh-components/p-2547ec12.system.entry.js.map +1 -0
  408. package/dist/stzh-components/p-287edde1.system.entry.js +2 -0
  409. package/dist/stzh-components/p-287edde1.system.entry.js.map +1 -0
  410. package/dist/stzh-components/p-2a3fdd90.system.entry.js +2 -0
  411. package/dist/stzh-components/p-2a3fdd90.system.entry.js.map +1 -0
  412. package/dist/stzh-components/{p-af5151b6.entry.js → p-2abcca01.entry.js} +2 -2
  413. package/dist/stzh-components/p-2abcca01.entry.js.map +1 -0
  414. package/dist/stzh-components/{p-97b0b868.system.entry.js → p-2ff7c5db.system.entry.js} +2 -2
  415. package/dist/stzh-components/{p-e0e5d06f.system.entry.js → p-3154e4da.system.entry.js} +2 -2
  416. package/dist/stzh-components/{p-754f37ee.entry.js → p-34add4af.entry.js} +2 -2
  417. package/dist/stzh-components/{p-b28e5fd4.system.entry.js → p-34ff6606.system.entry.js} +2 -2
  418. package/dist/stzh-components/{p-46ccadd5.system.entry.js → p-3ab3a5a7.system.entry.js} +2 -2
  419. package/dist/stzh-components/{p-dd43141d.system.entry.js → p-3ceef7dd.system.entry.js} +2 -2
  420. package/dist/stzh-components/p-3df3f45c.entry.js +2 -0
  421. package/dist/stzh-components/p-3df3f45c.entry.js.map +1 -0
  422. package/dist/stzh-components/{p-e42dbd26.system.entry.js → p-42e25ae1.system.entry.js} +3 -3
  423. package/dist/stzh-components/p-42e25ae1.system.entry.js.map +1 -0
  424. package/dist/stzh-components/{p-38ebb72d.system.entry.js → p-42f483f6.system.entry.js} +2 -2
  425. package/dist/stzh-components/{p-508f6d3d.entry.js → p-488c5c8a.entry.js} +2 -2
  426. package/dist/stzh-components/{p-a5b55401.entry.js → p-4ad49ece.entry.js} +2 -2
  427. package/dist/stzh-components/{p-f8b5c7a8.entry.js → p-4c091b1b.entry.js} +2 -2
  428. package/dist/stzh-components/{p-66965853.entry.js → p-4cb041d5.entry.js} +2 -2
  429. package/dist/stzh-components/{p-9a22e78f.system.entry.js → p-509f90d0.system.entry.js} +2 -2
  430. package/dist/stzh-components/p-509f90d0.system.entry.js.map +1 -0
  431. package/dist/stzh-components/{p-ff2029b6.entry.js → p-5342d3ae.entry.js} +2 -2
  432. package/dist/stzh-components/{p-ff2029b6.entry.js.map → p-5342d3ae.entry.js.map} +1 -1
  433. package/dist/stzh-components/{p-243f3d8c.system.entry.js → p-54a1fdcc.system.entry.js} +2 -2
  434. package/dist/stzh-components/p-54dbcd0e.system.entry.js +11 -0
  435. package/dist/stzh-components/p-54dbcd0e.system.entry.js.map +1 -0
  436. package/dist/stzh-components/{p-1f6fe9f1.entry.js → p-5cea16ad.entry.js} +2 -2
  437. package/dist/stzh-components/{p-1f6fe9f1.entry.js.map → p-5cea16ad.entry.js.map} +1 -1
  438. package/dist/stzh-components/{p-b218ae94.system.entry.js → p-5d02c5e0.system.entry.js} +2 -2
  439. package/dist/stzh-components/{p-01436630.system.entry.js → p-5e861cb6.system.entry.js} +2 -2
  440. package/dist/stzh-components/{p-45e98de0.entry.js → p-64845b66.entry.js} +2 -2
  441. package/dist/stzh-components/{p-45e98de0.entry.js.map → p-64845b66.entry.js.map} +1 -1
  442. package/dist/stzh-components/{p-95e4bc28.entry.js → p-68feffea.entry.js} +2 -2
  443. package/dist/stzh-components/{p-a6938665.entry.js → p-6a91ac35.entry.js} +2 -2
  444. package/dist/stzh-components/p-6a91ac35.entry.js.map +1 -0
  445. package/dist/stzh-components/{p-93c73a62.entry.js → p-6b9b037a.entry.js} +2 -2
  446. package/dist/stzh-components/{p-93c73a62.entry.js.map → p-6b9b037a.entry.js.map} +1 -1
  447. package/dist/stzh-components/{p-98357b67.system.entry.js → p-6e979c9c.system.entry.js} +2 -2
  448. package/dist/stzh-components/{p-98357b67.system.entry.js.map → p-6e979c9c.system.entry.js.map} +1 -1
  449. package/dist/stzh-components/{p-d5b2327f.system.entry.js → p-709514fc.system.entry.js} +2 -2
  450. package/dist/stzh-components/{p-c9f0cf53.entry.js → p-73442cf1.entry.js} +2 -2
  451. package/dist/stzh-components/{p-fd41d303.entry.js → p-7873a639.entry.js} +2 -2
  452. package/dist/stzh-components/p-7c2aa5e8.entry.js +2 -0
  453. package/dist/stzh-components/{p-41b2f989.entry.js.map → p-7c2aa5e8.entry.js.map} +1 -1
  454. package/dist/stzh-components/{p-a7ef9c99.entry.js → p-80851e3d.entry.js} +2 -2
  455. package/dist/stzh-components/p-80f1f324.system.entry.js +2 -0
  456. package/dist/stzh-components/p-80f1f324.system.entry.js.map +1 -0
  457. package/dist/stzh-components/{p-e1bada00.entry.js → p-83a216d7.entry.js} +2 -2
  458. package/dist/stzh-components/{p-1e7376c9.system.js → p-84ae2651.system.js} +2 -2
  459. package/dist/stzh-components/{p-1e7376c9.system.js.map → p-84ae2651.system.js.map} +1 -1
  460. package/dist/stzh-components/{p-bd5b6832.system.entry.js → p-88adaf4b.system.entry.js} +2 -2
  461. package/dist/stzh-components/{p-34a359dd.entry.js → p-88e6248e.entry.js} +2 -2
  462. package/dist/stzh-components/{p-e4e8b73a.system.entry.js → p-8c1c75a7.system.entry.js} +2 -2
  463. package/dist/stzh-components/{p-e4e8b73a.system.entry.js.map → p-8c1c75a7.system.entry.js.map} +1 -1
  464. package/dist/stzh-components/{p-7e76c84a.entry.js → p-91e7dae0.entry.js} +2 -2
  465. package/dist/stzh-components/{p-a8c669b2.system.entry.js → p-97704eb0.system.entry.js} +2 -2
  466. package/dist/stzh-components/{p-a00db16c.js → p-98b60fb7.js} +2 -2
  467. package/dist/stzh-components/{p-a00db16c.js.map → p-98b60fb7.js.map} +1 -1
  468. package/dist/stzh-components/p-9d0fedfe.system.entry.js +2 -0
  469. package/dist/stzh-components/{p-8de3379f.system.entry.js.map → p-9d0fedfe.system.entry.js.map} +1 -1
  470. package/dist/stzh-components/{p-67a483cf.system.entry.js → p-a0b350c2.system.entry.js} +2 -2
  471. package/dist/stzh-components/{p-a4c5ef8d.entry.js → p-a312a505.entry.js} +2 -2
  472. package/dist/stzh-components/p-a60e85c8.system.entry.js +2 -0
  473. package/dist/stzh-components/p-a60e85c8.system.entry.js.map +1 -0
  474. package/dist/stzh-components/{p-99ec62a5.entry.js → p-a94dd79b.entry.js} +2 -2
  475. package/dist/stzh-components/{p-99ec62a5.entry.js.map → p-a94dd79b.entry.js.map} +1 -1
  476. package/dist/stzh-components/p-aa337ae2.entry.js +2 -0
  477. package/dist/stzh-components/p-aa337ae2.entry.js.map +1 -0
  478. package/dist/stzh-components/{p-80e08833.entry.js → p-abbcda3b.entry.js} +2 -2
  479. package/dist/stzh-components/p-ae8eaf99.entry.js +2 -0
  480. package/dist/stzh-components/p-ae8eaf99.entry.js.map +1 -0
  481. package/dist/stzh-components/{p-793a530d.entry.js → p-af33b013.entry.js} +2 -2
  482. package/dist/stzh-components/{p-19b7b131.entry.js → p-afb2885a.entry.js} +2 -2
  483. package/dist/stzh-components/p-b305ec22.entry.js +2 -0
  484. package/dist/stzh-components/p-b305ec22.entry.js.map +1 -0
  485. package/dist/stzh-components/p-b6fed7ff.entry.js +2 -0
  486. package/dist/stzh-components/p-b6fed7ff.entry.js.map +1 -0
  487. package/dist/stzh-components/{p-cc10a5c5.system.entry.js → p-bb2fe16f.system.entry.js} +2 -2
  488. package/dist/stzh-components/p-bb2fe16f.system.entry.js.map +1 -0
  489. package/dist/stzh-components/p-bde8bb45.system.js +2 -0
  490. package/dist/stzh-components/{p-044b80d8.system.js.map → p-bde8bb45.system.js.map} +1 -1
  491. package/dist/stzh-components/{p-7a7eb40f.system.entry.js → p-c143a3f0.system.entry.js} +2 -2
  492. package/dist/stzh-components/{p-0a57145c.system.entry.js → p-c1ab5b6a.system.entry.js} +2 -2
  493. package/dist/stzh-components/p-c1ab5b6a.system.entry.js.map +1 -0
  494. package/dist/stzh-components/{p-fb70c624.system.entry.js → p-c41d9fa7.system.entry.js} +2 -2
  495. package/dist/stzh-components/{p-ebd47e41.entry.js → p-c5a4865c.entry.js} +2 -2
  496. package/dist/stzh-components/{p-7007044a.entry.js → p-c7a068ee.entry.js} +2 -2
  497. package/dist/stzh-components/{p-ae44fab0.entry.js → p-cb906ad4.entry.js} +2 -2
  498. package/dist/stzh-components/{p-70461b7e.entry.js → p-cc260e20.entry.js} +2 -2
  499. package/dist/stzh-components/p-cc260e20.entry.js.map +1 -0
  500. package/dist/stzh-components/p-cfd1eed9.system.entry.js +2 -0
  501. package/dist/stzh-components/p-cfd1eed9.system.entry.js.map +1 -0
  502. package/dist/stzh-components/p-cfdb06e4.js +2 -0
  503. package/dist/stzh-components/p-cfdb06e4.js.map +1 -0
  504. package/dist/stzh-components/{p-54c0340b.entry.js → p-d0678cbb.entry.js} +2 -2
  505. package/dist/stzh-components/p-d22fbf2e.system.entry.js +2 -0
  506. package/dist/stzh-components/p-d22fbf2e.system.entry.js.map +1 -0
  507. package/dist/stzh-components/{p-42138c55.entry.js → p-d362dc3a.entry.js} +2 -2
  508. package/dist/stzh-components/{p-3ac03d9a.entry.js → p-ded183e7.entry.js} +2 -2
  509. package/dist/stzh-components/{p-58a6ed19.system.entry.js → p-df322682.system.entry.js} +2 -2
  510. package/dist/stzh-components/{p-d50495d5.entry.js → p-e24cfa3e.entry.js} +2 -2
  511. package/dist/stzh-components/{p-ffe3fbab.entry.js → p-e3cd443b.entry.js} +2 -2
  512. package/dist/stzh-components/{p-e58d6819.system.entry.js → p-e61f6afc.system.entry.js} +2 -2
  513. package/dist/stzh-components/{p-e58d6819.system.entry.js.map → p-e61f6afc.system.entry.js.map} +1 -1
  514. package/dist/stzh-components/{p-f16e40f8.system.entry.js → p-e670eba0.system.entry.js} +2 -2
  515. package/dist/stzh-components/p-ed2896cd.entry.js +2 -0
  516. package/dist/stzh-components/p-ed2896cd.entry.js.map +1 -0
  517. package/dist/stzh-components/{p-3ccf5529.system.entry.js → p-f159a561.system.entry.js} +2 -2
  518. package/dist/stzh-components/p-f6662aa5.entry.js +2 -0
  519. package/dist/stzh-components/p-f6662aa5.entry.js.map +1 -0
  520. package/dist/stzh-components/p-f73af272.entry.js +8 -0
  521. package/dist/stzh-components/p-f73af272.entry.js.map +1 -0
  522. package/dist/stzh-components/{p-75beb9f8.system.entry.js → p-f8511c39.system.entry.js} +2 -2
  523. package/dist/stzh-components/{p-b1851b3e.entry.js → p-f91187c8.entry.js} +2 -2
  524. package/dist/stzh-components/p-f9cb0fcd.system.js +2 -0
  525. package/dist/stzh-components/p-f9cb0fcd.system.js.map +1 -0
  526. package/dist/stzh-components/{p-4e32ee7a.system.entry.js → p-ff1d24e2.system.entry.js} +2 -2
  527. package/dist/stzh-components/{p-61589824.system.entry.js → p-ff356dc8.system.entry.js} +2 -2
  528. package/dist/stzh-components/{p-9145f8d9.system.entry.js → p-ff9a0645.system.entry.js} +2 -2
  529. package/dist/stzh-components/p-ff9a0645.system.entry.js.map +1 -0
  530. package/dist/stzh-components/stzh-components.esm.js +1 -1
  531. package/dist/stzh-components/stzh-components.esm.js.map +1 -1
  532. package/dist/stzh-components/stzh-components.js +1 -1
  533. package/dist/types/components/stzh-accordion/stzh-accordion.d.ts +15 -0
  534. package/dist/types/components/stzh-accordion-item/stzh-accordion-item.d.ts +73 -0
  535. package/dist/types/components/stzh-actions/stzh-actions.d.ts +16 -0
  536. package/dist/types/components/stzh-actionset/stzh-actionset.d.ts +45 -0
  537. package/dist/types/components/stzh-amount/stzh-amount.d.ts +73 -0
  538. package/dist/types/components/stzh-appnav/stzh-appnav.d.ts +23 -0
  539. package/dist/types/components/stzh-appointments/stzh-appointments.d.ts +73 -0
  540. package/dist/types/components/stzh-audio/stzh-audio.d.ts +58 -0
  541. package/dist/types/components/stzh-button/stzh-button.d.ts +105 -0
  542. package/dist/types/components/stzh-buttongroup/stzh-buttongroup.d.ts +7 -0
  543. package/dist/types/components/stzh-calendar/stzh-calendar.d.ts +88 -0
  544. package/dist/types/components/stzh-card/stzh-card.d.ts +127 -0
  545. package/dist/types/components/stzh-card-list/stzh-card-list.d.ts +31 -0
  546. package/dist/types/components/stzh-carousel/stzh-carousel.d.ts +175 -0
  547. package/dist/types/components/stzh-chart/stzh-chart.d.ts +15 -0
  548. package/dist/types/components/stzh-checkbox/stzh-checkbox.d.ts +57 -0
  549. package/dist/types/components/stzh-checkboxgroup/stzh-checkboxgroup.d.ts +64 -0
  550. package/dist/types/components/stzh-chip/stzh-chip.d.ts +74 -0
  551. package/dist/types/components/stzh-chip-select/stzh-chip-select.d.ts +46 -0
  552. package/dist/types/components/stzh-clamp/stzh-clamp.d.ts +49 -0
  553. package/dist/types/components/stzh-contact/stzh-contact.d.ts +54 -0
  554. package/dist/types/components/stzh-datalist/stzh-datalist.d.ts +51 -0
  555. package/dist/types/components/stzh-datalist-item/stzh-datalist-item.d.ts +62 -0
  556. package/dist/types/components/stzh-datamessagelist/stzh-datamessagelist.d.ts +6 -0
  557. package/dist/types/components/stzh-datamessagelist-item/stzh-datamessagelist-item.d.ts +57 -0
  558. package/dist/types/components/stzh-datatable/stzh-datatable.d.ts +103 -0
  559. package/dist/types/components/stzh-datepicker/stzh-datepicker.d.ts +91 -0
  560. package/dist/types/components/stzh-details/stzh-details.d.ts +35 -0
  561. package/dist/types/components/stzh-dialog/stzh-dialog.d.ts +64 -0
  562. package/dist/types/components/stzh-dropdown/stzh-dropdown.d.ts +173 -0
  563. package/dist/types/components/stzh-figure/stzh-figure.d.ts +21 -0
  564. package/dist/types/components/stzh-flyingfocus/stzh-flyingfocus.d.ts +35 -0
  565. package/dist/types/components/stzh-footer/stzh-footer.d.ts +27 -0
  566. package/dist/types/components/stzh-gallery/stzh-gallery.d.ts +54 -0
  567. package/dist/types/components/stzh-gallery/stzh-gallery.localization.d.ts +10 -0
  568. package/dist/types/components/stzh-ghettobox/stzh-ghettobox.d.ts +50 -0
  569. package/dist/types/components/stzh-header/stzh-header.d.ts +68 -0
  570. package/dist/types/components/stzh-hr/stzh-hr.d.ts +7 -0
  571. package/dist/types/components/stzh-iframe/stzh-iframe.d.ts +60 -0
  572. package/dist/types/components/stzh-imagecomparison/stzh-imagecomparison.d.ts +29 -0
  573. package/dist/types/components/stzh-input/stzh-input.d.ts +104 -0
  574. package/dist/types/components/stzh-invert/stzh-invert.d.ts +7 -0
  575. package/dist/types/components/stzh-langnav/stzh-langnav.d.ts +19 -0
  576. package/dist/types/components/stzh-link/stzh-link.d.ts +88 -0
  577. package/dist/types/components/stzh-list/stzh-list.d.ts +9 -0
  578. package/dist/types/components/stzh-list-item/stzh-list-item.d.ts +7 -0
  579. package/dist/types/components/stzh-loader/stzh-loader.d.ts +13 -0
  580. package/dist/types/components/stzh-loadingbar/stzh-loadingbar.d.ts +12 -0
  581. package/dist/types/components/stzh-logo/stzh-logo.d.ts +9 -0
  582. package/dist/types/components/stzh-menu-item/stzh-menu-item.d.ts +50 -0
  583. package/dist/types/components/stzh-message/stzh-message.d.ts +37 -0
  584. package/dist/types/components/stzh-metanav/stzh-metanav.d.ts +11 -0
  585. package/dist/types/components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.d.ts +33 -0
  586. package/dist/types/components/stzh-monthyearpicker/stzh-monthyearpicker.d.ts +98 -0
  587. package/dist/types/components/stzh-olmap/stzh-olmap.d.ts +124 -0
  588. package/dist/types/components/stzh-overlay/stzh-overlay.d.ts +34 -0
  589. package/dist/types/components/stzh-page-skiplinks/stzh-page-skiplinks.d.ts +11 -0
  590. package/dist/types/components/stzh-pagebottom/stzh-pagebottom.d.ts +29 -0
  591. package/dist/types/components/stzh-pagetitle/stzh-pagetitle.d.ts +15 -0
  592. package/dist/types/components/stzh-pagetitle-hero/stzh-pagetitle-hero.d.ts +25 -0
  593. package/dist/types/components/stzh-pagination/stzh-pagination.d.ts +52 -0
  594. package/dist/types/components/stzh-panorama/stzh-panorama.d.ts +74 -0
  595. package/dist/types/components/stzh-popover/stzh-popover.d.ts +73 -0
  596. package/dist/types/components/stzh-print/stzh-print.d.ts +12 -0
  597. package/dist/types/components/stzh-progressbar/stzh-progressbar.d.ts +49 -0
  598. package/dist/types/components/stzh-progressbar-item/stzh-progressbar-item.d.ts +34 -0
  599. package/dist/types/components/stzh-radio/stzh-radio.d.ts +57 -0
  600. package/dist/types/components/stzh-radiogroup/stzh-radiogroup.d.ts +66 -0
  601. package/dist/types/components/stzh-ratio/stzh-ratio.d.ts +22 -0
  602. package/dist/types/components/stzh-readspeaker/stzh-readspeaker.d.ts +18 -0
  603. package/dist/types/components/stzh-richtext/stzh-richtext.d.ts +22 -0
  604. package/dist/types/components/stzh-saptcha/stzh-saptcha.d.ts +28 -0
  605. package/dist/types/components/stzh-scrollup/stzh-scrollup.d.ts +12 -0
  606. package/dist/types/components/stzh-share/stzh-share.d.ts +21 -0
  607. package/dist/types/components/stzh-show/stzh-show.d.ts +22 -0
  608. package/dist/types/components/stzh-sitemap/stzh-sitemap.d.ts +14 -0
  609. package/dist/types/components/stzh-skiplink/stzh-skiplink.d.ts +38 -0
  610. package/dist/types/components/stzh-sortable/stzh-sortable.d.ts +59 -0
  611. package/dist/types/components/stzh-status/stzh-status.d.ts +14 -0
  612. package/dist/types/components/stzh-sticky/stzh-sticky.d.ts +58 -0
  613. package/dist/types/components/stzh-table/stzh-table.d.ts +43 -0
  614. package/dist/types/components/stzh-textandimage/stzh-textandimage.d.ts +14 -0
  615. package/dist/types/components/stzh-timeline/stzh-timeline.d.ts +23 -0
  616. package/dist/types/components/stzh-timeline-item/stzh-timeline-item.d.ts +78 -0
  617. package/dist/types/components/stzh-timepicker/stzh-timepicker.d.ts +62 -0
  618. package/dist/types/components/stzh-toast/stzh-toast.d.ts +39 -0
  619. package/dist/types/components/stzh-toastbar/stzh-toastbar.d.ts +41 -0
  620. package/dist/types/components/stzh-toggle/stzh-toggle.d.ts +59 -0
  621. package/dist/types/components/stzh-tooltip/stzh-tooltip.d.ts +80 -0
  622. package/dist/types/components/stzh-upload/stzh-upload.d.ts +236 -0
  623. package/dist/types/components/stzh-vbz-carousel/stzh-vbz-carousel.d.ts +14 -0
  624. package/dist/types/components/stzh-vbz-linechip/stzh-vbz-linechip.d.ts +37 -0
  625. package/dist/types/components/stzh-vbz-majorticker/stzh-vbz-majorticker.d.ts +41 -0
  626. package/dist/types/components/stzh-vbz-ticker/stzh-vbz-ticker.d.ts +34 -0
  627. package/dist/types/components/stzh-youtube/stzh-youtube.d.ts +30 -0
  628. package/dist/types/components.d.ts +101 -24
  629. package/dist/types/index.d.ts +899 -0
  630. package/dist/types/libraries/tom-select/types/constants.d.ts +12 -0
  631. package/dist/types/libraries/tom-select/types/contrib/highlight.d.ts +13 -0
  632. package/dist/types/libraries/tom-select/types/contrib/microevent.d.ts +20 -0
  633. package/dist/types/libraries/tom-select/types/contrib/microplugin.d.ts +71 -0
  634. package/dist/types/libraries/tom-select/types/defaults.d.ts +51 -0
  635. package/dist/types/libraries/tom-select/types/getSettings.d.ts +3 -0
  636. package/dist/types/libraries/tom-select/types/plugins/caret_position/plugin.d.ts +16 -0
  637. package/dist/types/libraries/tom-select/types/plugins/change_listener/plugin.d.ts +16 -0
  638. package/dist/types/libraries/tom-select/types/plugins/checkbox_options/plugin.d.ts +16 -0
  639. package/dist/types/libraries/tom-select/types/plugins/clear_button/plugin.d.ts +17 -0
  640. package/dist/types/libraries/tom-select/types/plugins/clear_button/types.d.ts +5 -0
  641. package/dist/types/libraries/tom-select/types/plugins/drag_drop/plugin.d.ts +16 -0
  642. package/dist/types/libraries/tom-select/types/plugins/dropdown_header/plugin.d.ts +17 -0
  643. package/dist/types/libraries/tom-select/types/plugins/dropdown_header/types.d.ts +8 -0
  644. package/dist/types/libraries/tom-select/types/plugins/dropdown_input/plugin.d.ts +16 -0
  645. package/dist/types/libraries/tom-select/types/plugins/input_autogrow/plugin.d.ts +15 -0
  646. package/dist/types/libraries/tom-select/types/plugins/no_active_items/plugin.d.ts +15 -0
  647. package/dist/types/libraries/tom-select/types/plugins/no_backspace_delete/plugin.d.ts +15 -0
  648. package/dist/types/libraries/tom-select/types/plugins/optgroup_columns/plugin.d.ts +16 -0
  649. package/dist/types/libraries/tom-select/types/plugins/remove_button/plugin.d.ts +17 -0
  650. package/dist/types/libraries/tom-select/types/plugins/remove_button/types.d.ts +6 -0
  651. package/dist/types/libraries/tom-select/types/plugins/restore_on_backspace/plugin.d.ts +21 -0
  652. package/dist/types/libraries/tom-select/types/plugins/virtual_scroll/plugin.d.ts +16 -0
  653. package/dist/types/libraries/tom-select/types/tom-select.complete.d.ts +2 -0
  654. package/dist/types/libraries/tom-select/types/tom-select.d.ts +596 -0
  655. package/dist/types/libraries/tom-select/types/tom-select.popular.d.ts +2 -0
  656. package/dist/types/libraries/tom-select/types/types/core.d.ts +48 -0
  657. package/dist/types/libraries/tom-select/types/types/index.d.ts +2 -0
  658. package/dist/types/libraries/tom-select/types/types/settings.d.ts +78 -0
  659. package/dist/types/libraries/tom-select/types/utils.d.ts +76 -0
  660. package/dist/types/libraries/tom-select/types/vanilla.d.ts +76 -0
  661. package/dist/types/types/svg.d.ts +4 -0
  662. package/dist/types/utils/utils.d.ts +5 -0
  663. package/package.json +2 -1
  664. package/dist/cjs/stzh-figure.cjs.entry.js +0 -40
  665. package/dist/cjs/stzh-figure.cjs.entry.js.map +0 -1
  666. package/dist/cjs/stzh-hspace.cjs.entry.js.map +0 -1
  667. package/dist/cjs/stzh-ratio.cjs.entry.js.map +0 -1
  668. package/dist/cjs/stzh-show.cjs.entry.js +0 -43
  669. package/dist/cjs/stzh-show.cjs.entry.js.map +0 -1
  670. package/dist/cjs/utils-77bc0ea1.js.map +0 -1
  671. package/dist/esm/stzh-figure.entry.js +0 -36
  672. package/dist/esm/stzh-figure.entry.js.map +0 -1
  673. package/dist/esm/stzh-hspace.entry.js.map +0 -1
  674. package/dist/esm/stzh-ratio.entry.js.map +0 -1
  675. package/dist/esm/stzh-show.entry.js.map +0 -1
  676. package/dist/esm/utils-107fad0f.js.map +0 -1
  677. package/dist/esm-es5/stzh-figure.entry.js +0 -2
  678. package/dist/esm-es5/stzh-figure.entry.js.map +0 -1
  679. package/dist/esm-es5/stzh-hspace.entry.js +0 -2
  680. package/dist/esm-es5/stzh-hspace.entry.js.map +0 -1
  681. package/dist/esm-es5/stzh-ratio.entry.js +0 -2
  682. package/dist/esm-es5/stzh-ratio.entry.js.map +0 -1
  683. package/dist/esm-es5/stzh-show.entry.js +0 -2
  684. package/dist/esm-es5/stzh-show.entry.js.map +0 -1
  685. package/dist/esm-es5/utils-107fad0f.js +0 -2
  686. package/dist/esm-es5/utils-107fad0f.js.map +0 -1
  687. package/dist/stzh-components/p-004b3030.system.entry.js +0 -2
  688. package/dist/stzh-components/p-004b3030.system.entry.js.map +0 -1
  689. package/dist/stzh-components/p-044b80d8.system.js +0 -2
  690. package/dist/stzh-components/p-0a57145c.system.entry.js.map +0 -1
  691. package/dist/stzh-components/p-0c8d651e.entry.js +0 -2
  692. package/dist/stzh-components/p-0c8d651e.entry.js.map +0 -1
  693. package/dist/stzh-components/p-0e5d39e2.system.entry.js +0 -2
  694. package/dist/stzh-components/p-0e5d39e2.system.entry.js.map +0 -1
  695. package/dist/stzh-components/p-0ed6eafb.system.entry.js +0 -2
  696. package/dist/stzh-components/p-0ed6eafb.system.entry.js.map +0 -1
  697. package/dist/stzh-components/p-168f0faa.entry.js +0 -8
  698. package/dist/stzh-components/p-168f0faa.entry.js.map +0 -1
  699. package/dist/stzh-components/p-18bf2b21.system.entry.js +0 -2
  700. package/dist/stzh-components/p-18bf2b21.system.entry.js.map +0 -1
  701. package/dist/stzh-components/p-2452dd71.system.entry.js +0 -2
  702. package/dist/stzh-components/p-2452dd71.system.entry.js.map +0 -1
  703. package/dist/stzh-components/p-330bdf15.system.entry.js +0 -2
  704. package/dist/stzh-components/p-330bdf15.system.entry.js.map +0 -1
  705. package/dist/stzh-components/p-341c1c6c.entry.js +0 -2
  706. package/dist/stzh-components/p-341c1c6c.entry.js.map +0 -1
  707. package/dist/stzh-components/p-41b2f989.entry.js +0 -2
  708. package/dist/stzh-components/p-52e9dbe5.entry.js +0 -2
  709. package/dist/stzh-components/p-52e9dbe5.entry.js.map +0 -1
  710. package/dist/stzh-components/p-53e44e89.system.js +0 -2
  711. package/dist/stzh-components/p-53e44e89.system.js.map +0 -1
  712. package/dist/stzh-components/p-645bbb42.entry.js +0 -2
  713. package/dist/stzh-components/p-645bbb42.entry.js.map +0 -1
  714. package/dist/stzh-components/p-70461b7e.entry.js.map +0 -1
  715. package/dist/stzh-components/p-74e07267.entry.js +0 -2
  716. package/dist/stzh-components/p-74e07267.entry.js.map +0 -1
  717. package/dist/stzh-components/p-7b044a55.entry.js +0 -2
  718. package/dist/stzh-components/p-7b044a55.entry.js.map +0 -1
  719. package/dist/stzh-components/p-7eaed674.system.entry.js +0 -2
  720. package/dist/stzh-components/p-7eaed674.system.entry.js.map +0 -1
  721. package/dist/stzh-components/p-8de3379f.system.entry.js +0 -2
  722. package/dist/stzh-components/p-9145f8d9.system.entry.js.map +0 -1
  723. package/dist/stzh-components/p-9a22e78f.system.entry.js.map +0 -1
  724. package/dist/stzh-components/p-a27c6c02.system.entry.js +0 -2
  725. package/dist/stzh-components/p-a27c6c02.system.entry.js.map +0 -1
  726. package/dist/stzh-components/p-a509436d.entry.js.map +0 -1
  727. package/dist/stzh-components/p-a6938665.entry.js.map +0 -1
  728. package/dist/stzh-components/p-a999bb48.entry.js +0 -2
  729. package/dist/stzh-components/p-a999bb48.entry.js.map +0 -1
  730. package/dist/stzh-components/p-af5151b6.entry.js.map +0 -1
  731. package/dist/stzh-components/p-ba8c574b.js +0 -2
  732. package/dist/stzh-components/p-ba8c574b.js.map +0 -1
  733. package/dist/stzh-components/p-c2fcd668.entry.js +0 -2
  734. package/dist/stzh-components/p-c2fcd668.entry.js.map +0 -1
  735. package/dist/stzh-components/p-cc10a5c5.system.entry.js.map +0 -1
  736. package/dist/stzh-components/p-d18665b6.system.entry.js +0 -2
  737. package/dist/stzh-components/p-d18665b6.system.entry.js.map +0 -1
  738. package/dist/stzh-components/p-e42dbd26.system.entry.js.map +0 -1
  739. package/dist/stzh-components/p-e6f1bae9.system.entry.js +0 -2
  740. package/dist/stzh-components/p-e6f1bae9.system.entry.js.map +0 -1
  741. package/dist/stzh-components/p-ebaf8f26.entry.js +0 -2
  742. package/dist/stzh-components/p-ebaf8f26.entry.js.map +0 -1
  743. package/dist/stzh-components/p-ef274d0c.entry.js +0 -2
  744. package/dist/stzh-components/p-ef274d0c.entry.js.map +0 -1
  745. package/dist/vscode-data.json +0 -7422
  746. /package/dist/stzh-components/{p-6b9365fe.system.entry.js.map → p-0b4cba00.system.entry.js.map} +0 -0
  747. /package/dist/stzh-components/{p-b1fbe1d1.system.entry.js.map → p-0b8a15cc.system.entry.js.map} +0 -0
  748. /package/dist/stzh-components/{p-9bd8613c.system.entry.js.map → p-0c2381f6.system.entry.js.map} +0 -0
  749. /package/dist/stzh-components/{p-55a00af2.entry.js.map → p-10361297.entry.js.map} +0 -0
  750. /package/dist/stzh-components/{p-26f37848.entry.js.map → p-11031613.entry.js.map} +0 -0
  751. /package/dist/stzh-components/{p-062360a4.system.entry.js.map → p-153f8f3f.system.entry.js.map} +0 -0
  752. /package/dist/stzh-components/{p-fbf4ee43.system.entry.js.map → p-1834deba.system.entry.js.map} +0 -0
  753. /package/dist/stzh-components/{p-c1fa2872.system.entry.js.map → p-188dd49d.system.entry.js.map} +0 -0
  754. /package/dist/stzh-components/{p-68e15c10.system.entry.js.map → p-1a49012e.system.entry.js.map} +0 -0
  755. /package/dist/stzh-components/{p-2565c905.entry.js.map → p-1c9eee3d.entry.js.map} +0 -0
  756. /package/dist/stzh-components/{p-97b0b868.system.entry.js.map → p-2ff7c5db.system.entry.js.map} +0 -0
  757. /package/dist/stzh-components/{p-e0e5d06f.system.entry.js.map → p-3154e4da.system.entry.js.map} +0 -0
  758. /package/dist/stzh-components/{p-754f37ee.entry.js.map → p-34add4af.entry.js.map} +0 -0
  759. /package/dist/stzh-components/{p-b28e5fd4.system.entry.js.map → p-34ff6606.system.entry.js.map} +0 -0
  760. /package/dist/stzh-components/{p-46ccadd5.system.entry.js.map → p-3ab3a5a7.system.entry.js.map} +0 -0
  761. /package/dist/stzh-components/{p-dd43141d.system.entry.js.map → p-3ceef7dd.system.entry.js.map} +0 -0
  762. /package/dist/stzh-components/{p-38ebb72d.system.entry.js.map → p-42f483f6.system.entry.js.map} +0 -0
  763. /package/dist/stzh-components/{p-508f6d3d.entry.js.map → p-488c5c8a.entry.js.map} +0 -0
  764. /package/dist/stzh-components/{p-a5b55401.entry.js.map → p-4ad49ece.entry.js.map} +0 -0
  765. /package/dist/stzh-components/{p-f8b5c7a8.entry.js.map → p-4c091b1b.entry.js.map} +0 -0
  766. /package/dist/stzh-components/{p-66965853.entry.js.map → p-4cb041d5.entry.js.map} +0 -0
  767. /package/dist/stzh-components/{p-243f3d8c.system.entry.js.map → p-54a1fdcc.system.entry.js.map} +0 -0
  768. /package/dist/stzh-components/{p-b218ae94.system.entry.js.map → p-5d02c5e0.system.entry.js.map} +0 -0
  769. /package/dist/stzh-components/{p-01436630.system.entry.js.map → p-5e861cb6.system.entry.js.map} +0 -0
  770. /package/dist/stzh-components/{p-95e4bc28.entry.js.map → p-68feffea.entry.js.map} +0 -0
  771. /package/dist/stzh-components/{p-d5b2327f.system.entry.js.map → p-709514fc.system.entry.js.map} +0 -0
  772. /package/dist/stzh-components/{p-c9f0cf53.entry.js.map → p-73442cf1.entry.js.map} +0 -0
  773. /package/dist/stzh-components/{p-fd41d303.entry.js.map → p-7873a639.entry.js.map} +0 -0
  774. /package/dist/stzh-components/{p-a7ef9c99.entry.js.map → p-80851e3d.entry.js.map} +0 -0
  775. /package/dist/stzh-components/{p-e1bada00.entry.js.map → p-83a216d7.entry.js.map} +0 -0
  776. /package/dist/stzh-components/{p-bd5b6832.system.entry.js.map → p-88adaf4b.system.entry.js.map} +0 -0
  777. /package/dist/stzh-components/{p-34a359dd.entry.js.map → p-88e6248e.entry.js.map} +0 -0
  778. /package/dist/stzh-components/{p-7e76c84a.entry.js.map → p-91e7dae0.entry.js.map} +0 -0
  779. /package/dist/stzh-components/{p-a8c669b2.system.entry.js.map → p-97704eb0.system.entry.js.map} +0 -0
  780. /package/dist/stzh-components/{p-67a483cf.system.entry.js.map → p-a0b350c2.system.entry.js.map} +0 -0
  781. /package/dist/stzh-components/{p-a4c5ef8d.entry.js.map → p-a312a505.entry.js.map} +0 -0
  782. /package/dist/stzh-components/{p-80e08833.entry.js.map → p-abbcda3b.entry.js.map} +0 -0
  783. /package/dist/stzh-components/{p-793a530d.entry.js.map → p-af33b013.entry.js.map} +0 -0
  784. /package/dist/stzh-components/{p-19b7b131.entry.js.map → p-afb2885a.entry.js.map} +0 -0
  785. /package/dist/stzh-components/{p-7a7eb40f.system.entry.js.map → p-c143a3f0.system.entry.js.map} +0 -0
  786. /package/dist/stzh-components/{p-fb70c624.system.entry.js.map → p-c41d9fa7.system.entry.js.map} +0 -0
  787. /package/dist/stzh-components/{p-ebd47e41.entry.js.map → p-c5a4865c.entry.js.map} +0 -0
  788. /package/dist/stzh-components/{p-7007044a.entry.js.map → p-c7a068ee.entry.js.map} +0 -0
  789. /package/dist/stzh-components/{p-ae44fab0.entry.js.map → p-cb906ad4.entry.js.map} +0 -0
  790. /package/dist/stzh-components/{p-54c0340b.entry.js.map → p-d0678cbb.entry.js.map} +0 -0
  791. /package/dist/stzh-components/{p-42138c55.entry.js.map → p-d362dc3a.entry.js.map} +0 -0
  792. /package/dist/stzh-components/{p-3ac03d9a.entry.js.map → p-ded183e7.entry.js.map} +0 -0
  793. /package/dist/stzh-components/{p-58a6ed19.system.entry.js.map → p-df322682.system.entry.js.map} +0 -0
  794. /package/dist/stzh-components/{p-d50495d5.entry.js.map → p-e24cfa3e.entry.js.map} +0 -0
  795. /package/dist/stzh-components/{p-ffe3fbab.entry.js.map → p-e3cd443b.entry.js.map} +0 -0
  796. /package/dist/stzh-components/{p-f16e40f8.system.entry.js.map → p-e670eba0.system.entry.js.map} +0 -0
  797. /package/dist/stzh-components/{p-3ccf5529.system.entry.js.map → p-f159a561.system.entry.js.map} +0 -0
  798. /package/dist/stzh-components/{p-75beb9f8.system.entry.js.map → p-f8511c39.system.entry.js.map} +0 -0
  799. /package/dist/stzh-components/{p-b1851b3e.entry.js.map → p-f91187c8.entry.js.map} +0 -0
  800. /package/dist/stzh-components/{p-4e32ee7a.system.entry.js.map → p-ff1d24e2.system.entry.js.map} +0 -0
  801. /package/dist/stzh-components/{p-61589824.system.entry.js.map → p-ff356dc8.system.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"stzh-card2.js","mappings":"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","names":[],"sources":["src/components/stzh-card/stzh-card.scss?tag=stzh-card&encapsulation=scoped","src/components/stzh-card/stzh-card.tsx"],"sourcesContent":["/**\n * @prop --content-min-height: Min height of content\n */\n\n:host {\n --box-shadow: #{$boxShadowPopover};\n --border-color: #{$baseBorderColor};\n --border-radius: 3px;\n\n --content-min-height: 120px;\n\n --dnd-visibility: hidden;\n --dnd-opacity: 0;\n\n display: flex;\n flex-direction: column;\n position: relative;\n border-radius: var(--border-radius);\n\n @media print {\n page-break-inside: avoid;\n break-inside: avoid;\n }\n\n &[collapsed]:not([collapsed=\"false\"]) {\n --content-min-height: none;\n }\n\n &[checked]:not([checked=\"false\"]) {\n outline: 3px solid $colorPrimary;\n }\n\n &[hide-elevation]:not([hide-elevation=\"false\"]) {\n --box-shadow: none;\n\n &[href]:hover,\n &[href]:focus-within,\n &.is-selected,\n &.is-chosen,\n .is-selected &,\n .is-chosen & {\n --box-shadow: #{$boxShadowPopover};\n }\n }\n\n &.is-ghost::after,\n .is-ghost &::after {\n border-radius: var(--border-radius);\n }\n\n &[href]:hover,\n &[href]:focus-within,\n &.is-selected,\n &.is-chosen,\n .is-selected &,\n .is-chosen & {\n --box-shadow: #{$boxShadowOverlay};\n }\n\n &.is-ghost,\n .is-ghost & {\n --box-shadow: none;\n --border-color: transparent;\n\n overflow: hidden;\n }\n\n &.is-drag,\n &.is-chosen,\n &.is-ghost,\n &.is-selected,\n .is-drag &,\n .is-chosen &,\n .is-ghost &,\n .is-selected &,\n &[is-sortable]:hover {\n --dnd-visibility: visible;\n --dnd-opacity: 1;\n }\n\n ::slotted(*) {\n @include fontSize('milli');\n }\n\n ::slotted([slot=\"image\"]) {\n width: 100%;\n max-width: 100%;\n }\n\n ::slotted(img[slot=\"image\"]) {\n display: block;\n }\n\n ::slotted([slot=\"meta\"]:not(:last-child)) {\n margin-right: space('xsmall');\n }\n\n ::slotted(table) {\n border: 0;\n border-spacing: 0;\n\n th {\n @include font;\n }\n\n td, th {\n padding: 0;\n }\n\n td {\n color: $colorBlack;\n padding-left: space('xsmall');\n }\n }\n}\n\n:host ::slotted([slot=\"heading\"]),\n.stzh-card__title {\n @include font('heavy');\n @include fontCurve('h3', 'heading');\n}\n\n.stzh-card {\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n\tbackground-color: $colorWhite;\n\tborder-radius: var(--border-radius);\n\tbox-shadow: var(--box-shadow);\n border-width: 1px;\n border-style: solid;\n border-color: var(--border-color);\n\ttransition: box-shadow $baseTransitionAnimationSpeed;\n\n .vshow-medium {\n @include mq($to: medium) {\n @include visuallyhidden;\n }\n }\n\n .show-medium {\n @include mq($to: medium) {\n display: none;\n }\n }\n\n .hide-medium {\n @include mq($from: medium) {\n display: none;\n }\n }\n\n &__content-wrapper {\n position: relative;\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n min-height: var(--content-min-height);\n }\n\n\t&__dnd {\n --size: #{iconSize('xsmall')};\n\t\tposition: absolute;\n // INFO: we don't use space() values here, because we want this element to align with the heading\n left: 3px;\n top: 23px;\n\t\tdisplay: flex;\n\t\tvisibility: var(--dnd-visibility);\n\t\topacity: var(--dnd-opacity);\n\t\ttransition: all $baseTransitionAnimationSpeed;\n display: none;\n\n @include mq($from: medium) {\n display: block;\n }\n\n @include mq($from: large) {\n // INFO: we don't use space() values here, because we want this element to align with the heading\n left: 4px;\n top: 27px;\n }\n\t}\n\n &__header-top {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\talign-items: flex-start;\n }\n\n &__header-meta {\n &:not(:empty) {\n display: inline-flex;\n margin-top: space('xsmall');\n }\n }\n\n\t&__header-left,\n\t&__header-right {\n\t\tdisplay: flex;\n\t}\n\n\t&__header-right {\n @include spaceCurve('padding-left', 'tiny');\n\t}\n\n\t&__left {\n\t\talign-self: center;\n\t}\n\n\t&__title-area {\n\t\t@include wordWrap;\n\t\toverflow: hidden;\n\t}\n\n\t&__title,\n\t&__subtitle {\n\t\tmargin: 0;\n\t}\n\n &__title-link {\n color: inherit;\n text-decoration-line: none;\n }\n\n &__image-link {\n display: block;\n }\n\n\t&__subtitle {\n @include fontCurve('p1');\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex-wrap: wrap;\n\t\ttext-decoration-line: none;\n // INFO: we don't use space() values here, since we try to mimic the width of a whitespace here\n\t\tmargin-left: -0.5625em;\n\t}\n\n\t&__subtitle-text {\n\t\tposition: relative;\n\t\tdisplay: inline-flex;\n // INFO: we don't use space() values here, since we try to mimic the width of a whitespace here\n\t\tpadding-left: 0.5625em;\n\n\t\t&::after {\n\t\t\tcontent: ',';\n\t\t\tposition: absolute;\n\t\t\tleft: 0;\n\t\t}\n\t}\n\n\t&__content {\n flex-grow: 1;\n\n &:not(:empty) {\n @include spaceCurve('padding', 'regular');\n }\n\t}\n\n &__footer-arrow {\n --size: #{iconSize('medium')};\n color: $colorPrimary;\n }\n\n &__card-actions {\n\t\tdisplay: inline-flex;\n white-space: nowrap;\n\t}\n\n\t&__card-action {\n @include mq($to: medium) {\n --icon-text-margin: 0px;\n --badge-icon-text-margin: 0px;\n }\n\n &[variant=\"tertiary\"] {\n --color: #{$colorGrey70};\n }\n\n &.is-button {\n --icon-size: #{iconSize('small')};\n }\n\n &.is-placeholder {\n width: space('xxlarge');\n height: space('xxlarge');\n }\n\n &.is-star {\n }\n\t}\n\n &__card-action-popover {\n --width: auto;\n }\n\n /* Has header */\n\n &--has-header &__header {\n\t\t@include spaceCurve('padding', 'regular');\n\t\tborder-bottom: 1px solid $baseBorderColor;\n\t}\n\n /* Has footer */\n\n &--has-footer &__footer {\n &:not(:empty) {\n @include spaceCurve('padding', 'regular');\n border-top: 1px solid $baseBorderColor;\n }\n }\n\n /* Has Link */\n\n &--has-link &__title-link {\n color: $colorPrimary;\n text-decoration-line: none;\n transition: color $baseTransitionAnimationSpeed;\n border-radius: $buttonBorderRadius;\n\n &::before,\n &::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n // &::before {\n // transition: all $baseTransitionAnimationSpeed;\n // }\n\n &::after {\n z-index: 1;\n }\n }\n\n &--has-link &__card-actions,\n &--has-link &__header-meta,\n &--has-link &__footer-actionset,\n &--has-link &__footer-select-button {\n position: relative;\n z-index: 2;\n }\n\n &--has-link &__image-link:hover + &__content-wrapper &__title-link,\n &--has-link &__title-link:hover,\n &--has-link &__title-link:focus {\n color: $colorPrimaryHover;\n\n // &::before,\n // &::before {\n // background-color: $colorPrimary4;\n // }\n }\n\n &--has-link:hover &__footer-arrow {\n color: $colorPrimaryHover;\n }\n\n /* Interactive Subtitle */\n\n &--has-subtitle-interactive &__subtitle {\n cursor: pointer;\n font-family: inherit;\n padding: 0;\n appearance: none;\n background: none;\n border: none;\n transition: color $baseTransitionAnimationSpeed;\n color: $colorPrimary;\n\n &:hover,\n &:focus {\n color: $colorPrimaryHover;\n }\n }\n\n /* Is collapsible */\n\n &--is-collapsible &__header {\n cursor: pointer;\n }\n\n /* Collapsed (Header) */\n\n &--is-collapsed,\n &--has-collapsed-header &__header {\n .vhide-when-collapsed {\n @include visuallyhidden;\n }\n\n .hide-when-collapsed {\n display: none;\n }\n\n .show-when-collapsed {\n display: block;\n }\n }\n\n &--is-collapsed &__header {\n border-bottom: none;\n }\n\n &--is-collapsed &__card-action,\n &--has-collapsed-header &__card-action {\n --icon-text-margin: 0px;\n --badge-icon-text-margin: 0px;\n }\n\n /* Starred */\n\n &--is-starred &__card-action.is-star {\n color: $colorPrimary;\n\n &:hover,\n &:focus {\n color: $colorPrimaryHover;\n }\n }\n\n /** Hidden header / footer border */\n\n &--has-hidden-header-border &__header {\n\t\tborder-bottom: none;\n padding-bottom: 0;\n }\n\n &--has-hidden-footer-border &__footer {\n &:not(:empty) {\n padding-top: 0;\n border-top: none;\n }\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Watch,\n Event,\n EventEmitter,\n Fragment,\n forceUpdate\n} from \"@stencil/core\";\n\nimport {\n StzhCardHeaderAction,\n StzhActionsetItem,\n StzhCardCollapseEvent,\n StzhCardSubtitleClickEvent,\n StzhCardStarClickEvent,\n StzhCardClickEvent,\n StzhCardHeaderActionClickEvent,\n StzhButtonChangeEvent\n} from \"../../index\";\n\nimport { hasSlot, setPropsIfNull } from \"../../utils/utils\";\nimport { media } from '../../utils/media-utils';\n\nimport { StzhCardLocalizedText } from './stzh-card.localization';\n\n/**\n * @slot heading - Slot for heading\n * @slot image - Slot for optional image element\n * @slot content - Slot for content for any elements\n * @slot meta - Slot for meta elements (status or chip)\n * @slot footer - Slot to replace footer content (`footerActions`, 'withArrow`, and `selectable` button are not shown anymore)\n */\n@Component({\n tag: \"stzh-card\",\n styleUrl: \"stzh-card.scss\",\n scoped: true\n})\nexport class StzhCard {\n /** Translation strings */\n @Prop() localization: StzhCardLocalizedText;\n\n /** Whether card is collapsed or not */\n @Prop({ reflect: true, mutable: true }) collapsed: boolean = false;\n\n /** Whether card was starred */\n @Prop({ reflect: true, mutable: true }) starred: boolean = false;\n\n /**\n * Whether card star is displayed (with tooltip and menu-item in mobile popover).\n * The tooltip / menu-item text can be adjusted in the translations file (`actionAdd` & `actionRemove`).\n */\n @Prop({ reflect: true }) starrable: boolean = false;\n\n /** Whether card is selectable */\n @Prop({ reflect: true }) selectable: boolean = false;\n\n /** Whether card is checked (if card is selectable) */\n @Prop({ reflect: true }) checked: boolean = false;\n\n /** The name of the input element (if card is selectable) */\n @Prop({ reflect: true }) name: string = \"\";\n\n /** Href of card */\n @Prop({ reflect: true }) href: string;\n\n /** target if the button is used as link (if href used) */\n @Prop() target: string;\n\n /** The value of the input element (if card is selectable) */\n @Prop({ mutable: true }) value: string = \"\";\n\n /** Whether the element is disabled or not (if card is selectable) */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Whether card arrow is shown in footer area */\n @Prop({ reflect: true }) withArrow: boolean = false;\n\n /** Heading (or use heading slot instead) */\n @Prop() heading: string = \"\";\n\n /** Subtitle */\n @Prop() subtitle: string | string[] = \"\";\n private _subtitles = [];\n\n /** Card header actions */\n @Prop() headerActions: string | StzhCardHeaderAction[] = [];\n private _headerActions: StzhCardHeaderAction[];\n\n /**\n * Card footer actions.\n * The [`stzh-actionset`](?path=/story/components-actionset) component is used internally.\n * You can listen to clicks with the `stzhActionClick` event.\n */\n @Prop() footerActions: string | StzhActionsetItem[] = [];\n private _footerActions: StzhActionsetItem[];\n\n /** Whether subtitle should be rendered as button and event `stzhSubtitleClick` executed on click */\n @Prop() subtitleInteractive: boolean = false;\n\n /**\n * Whether sorting should be disabled.\n * Has no effect if card is not inside a `card-list` element, which has `sortableEnabled` property set to true.\n */\n @Prop({ reflect: true }) sortableDisabled: boolean = false;\n\n /** Whether card is collapsible */\n @Prop({ reflect: true }) collapsible: boolean = false;\n\n /** Whether to hide header separation border */\n @Prop({ reflect: true }) hideHeaderBorder: boolean = false;\n\n /** Whether to hide footer separation border */\n @Prop({ reflect: true }) hideFooterBorder: boolean = false;\n\n /** Whether card elevation should be hidden */\n @Prop({ reflect: true }) hideElevation: boolean = false;\n\n /**\n * Whether movement menu items should be shown.\n * Has no effect if card is not inside a `card-list` element, which has `sortableEnabled` property set to true.\n */\n @Prop() hideMovementActions: boolean = false;\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the link elements.\n * Default value will be taken from `heading` prop/slot.\n */\n @Prop() analyticsId: string;\n\n @Element() element: HTMLStzhCardElement;\n\n /** Click event (if href is used) */\n @Event() stzhClick: EventEmitter<StzhCardClickEvent>;\n\n /** Collapse event */\n @Event() stzhCollapse: EventEmitter<StzhCardCollapseEvent>;\n\n /** Subtitle click event */\n @Event() stzhSubtitleClick: EventEmitter<StzhCardSubtitleClickEvent>;\n\n /** Star click event */\n @Event() stzhStarClick: EventEmitter<StzhCardStarClickEvent>;\n\n /** Header action click event */\n @Event() stzhHeaderActionClick: EventEmitter<StzhCardHeaderActionClickEvent>;\n\n @Watch(\"subtitle\")\n subtitleWatcher(newValue: string[] | string) {\n if (typeof newValue === \"string\") {\n if (newValue === \"\") {\n this._subtitles = [];\n } else {\n try {\n this._subtitles = JSON.parse(newValue);\n } catch(err) {\n this._subtitles = [newValue];\n }\n }\n } else {\n this._subtitles = newValue;\n }\n }\n\n @Watch(\"headerActions\")\n headerActionsWatcher(newValue: StzhCardHeaderAction[] | string) {\n if (typeof newValue === \"string\") {\n this._headerActions = JSON.parse(newValue);\n } else {\n this._headerActions = newValue;\n }\n }\n\n @Watch(\"footerActions\")\n footerActionsWatcher(newValue: StzhActionsetItem[] | string) {\n if (typeof newValue === \"string\") {\n this._footerActions = JSON.parse(newValue);\n } else {\n this._footerActions = newValue;\n }\n }\n\n @Watch(\"collapsed\")\n collapsedWatcher() {\n this.handleResize();\n }\n\n private observer: MutationObserver;\n\n private nodeChange = (entries) => {\n let changeInSlot = false;\n\n entries.forEach((entry) => {\n if (entry.target.closest('[slot]') || entry.target.hasAttribute('slot')) {\n changeInSlot = true;\n }\n });\n\n if (changeInSlot) {\n forceUpdate(this.element);\n }\n };\n\n private mainElement: HTMLElement;\n private headerElement: HTMLElement;\n private headerLeftElement: HTMLElement;\n private headerRightElement: HTMLElement;\n private imageLinkElement: HTMLAnchorElement;\n private titleLinkElement: HTMLAnchorElement;\n private headingTextElement: HTMLDivElement;\n private sortable: HTMLStzhSortableElement;\n\n private debounceResize: number;\n private resizeObserver: ResizeObserver;\n\n private update = () => {\n if (!this.mainElement) {\n return;\n }\n\n this.mainElement.classList.remove(\"stzh-card--has-collapsed-header\");\n\n if (media('medium').matches) {\n const headerWidth = this.headerElement.clientWidth;\n const leftWidth = this.headerLeftElement.clientWidth;\n const rightWidth = this.headerRightElement.clientWidth;\n\n if (headerWidth - leftWidth <= rightWidth) {\n this.mainElement.classList.add(\"stzh-card--has-collapsed-header\");\n }\n }\n }\n\n private headerClick = (event: MouseEvent) => {\n if (!this.collapsible) {\n return;\n }\n\n const filterTags = [\"stzh-popover\", \"stzh-tooltip\", \"button\", \"a\", \"input\", \"select\", \"textarea\", \"iframe\", \"details\", \"label\", \"area\"];\n const composedPathTags = event.composedPath().map(element => (element as HTMLElement).tagName?.toLowerCase());\n const found = composedPathTags.some(r => filterTags.includes(r))\n\n if (!found) {\n this.collapsed = !this.collapsed;\n\n this.stzhCollapse.emit({\n component: \"stzh-card\",\n collapsed: this.collapsed\n });\n }\n }\n\n private subtitleClick = () => {\n if (this.subtitleInteractive) {\n this.stzhSubtitleClick.emit({\n component: \"stzh-card\"\n });\n }\n }\n\n private starToggleClick = () => {\n this.stzhStarClick.emit({\n component: \"stzh-card\",\n starred: this.starred\n });\n }\n\n private actionClick = (action: StzhCardHeaderAction) => {\n this.stzhHeaderActionClick.emit({\n component: \"stzh-card\",\n action\n });\n }\n\n private arrowUpClick = () => {\n const sortable = this.element.closest(\"stzh-sortable\");\n\n if (sortable) {\n const element = this.findSortableChildElement();\n sortable.moveItem(element, \"up\");\n }\n }\n\n private arrowDownClick = () => {\n const sortable = this.element.closest(\"stzh-sortable\");\n\n if (sortable) {\n const element = this.findSortableChildElement();\n sortable.moveItem(element, \"down\");\n }\n }\n\n private updateElementInsideSortable = () => {\n const currentSortable = this.element.closest(\"stzh-sortable\");\n\n // check if element is still inside sortable\n if (!currentSortable) {\n this.sortable.removeEventListener(\"stzhUpdate\", this.updateElementInsideSortable);\n this.sortable.removeEventListener(\"stzhDisable\", this.updateElementInsideSortable)\n return;\n }\n\n if (this.element) {\n forceUpdate(this.element);\n }\n }\n\n private init = () => {\n const chips = this.element.querySelectorAll(\n 'stzh-chip[slot=\"meta\"], [slot=\"meta\"] stzh-chip'\n );\n\n chips.forEach((chip) => {\n setPropsIfNull(chip, {\n size: \"small\"\n } as HTMLStzhChipElement)\n });\n }\n\n private handleResize = () => {\n if (this.debounceResize) {\n window.cancelAnimationFrame(this.debounceResize);\n }\n\n this.debounceResize = requestAnimationFrame(this.update);\n }\n\n private handleMutation = (entries) => {\n this.init();\n this.nodeChange(entries);\n }\n\n private handleSelectionChange = (event: CustomEvent<StzhButtonChangeEvent>) => {\n this.checked = event.detail.checked;\n }\n\n private cardClick = (originalEvent: MouseEvent) => {\n this.stzhClick.emit({\n component: \"stzh-card\",\n originalEvent\n });\n }\n\n private findSortableChildElement(): HTMLElement | undefined {\n const sortable = this.element.closest(\"stzh-sortable\");\n\n if (sortable) {\n let element: HTMLElement = this.element;\n let sortableContainer = null;\n\n if (typeof sortable.container === \"function\") {\n sortableContainer = sortable.container();\n } else {\n sortableContainer = sortable.container;\n }\n\n while (element.parentElement && element.parentElement !== sortableContainer) {\n element = element.parentElement;\n }\n\n return element;\n }\n }\n\n async componentWillLoad() {\n this.subtitleWatcher(this.subtitle);\n this.headerActionsWatcher(this.headerActions);\n this.footerActionsWatcher(this.footerActions);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"card\");\n }\n }\n\n componentDidLoad() {\n this.sortable = this.element.closest(\"stzh-sortable\");\n\n if (this.sortable) {\n this.sortable.addEventListener(\"stzhUpdate\", this.updateElementInsideSortable);\n this.sortable.addEventListener(\"stzhDisable\", this.updateElementInsideSortable)\n }\n }\n\n componentDidRender() {\n requestAnimationFrame(() => {\n const objectId = this.analyticsId || this.headingTextElement?.innerText;\n\n if (objectId) {\n this.imageLinkElement?.setAttribute(\"s-object-id\", objectId);\n this.titleLinkElement?.setAttribute(\"s-object-id\", objectId);\n }\n });\n }\n\n connectedCallback() {\n this.init();\n\n this.observer = new MutationObserver(this.handleMutation);\n this.observer.observe(this.element, {\n childList: true,\n subtree: true\n });\n\n this.resizeObserver = new ResizeObserver(this.handleResize);\n this.resizeObserver.observe(this.element);\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n render() {\n const imageUsed: boolean = hasSlot(this.element, \"image\");\n const headingUsed: boolean = hasSlot(this.element, \"heading\");\n const contentUsed: boolean = hasSlot(this.element, \"content\");\n\n const Subtitle = `${this.subtitleInteractive ? 'button' : 'span'}`;\n\n const sortableChildElement = this.findSortableChildElement();\n\n const isFirstItemInSortable = sortableChildElement?.parentElement\n && Array.from(sortableChildElement?.parentElement?.children)\n .indexOf(sortableChildElement) === 0;\n\n const isLastItemInSortable = sortableChildElement?.parentElement\n && Array.from(sortableChildElement?.parentElement?.children)\n .indexOf(sortableChildElement) === sortableChildElement?.parentElement?.children.length - 1;\n\n const sortableEnabled = !this.sortableDisabled && this.sortable && !this.sortable.disabled;\n const sortableActionsEnabled = sortableEnabled && !this.hideMovementActions;\n\n const nonCollapsingTextHeaderActions = this._headerActions.filter(action => !action.onlyCollapseText);\n\n // const headerActions = [\n // ...this._headerActions\n // ];\n\n const hasHeading = !!this.heading || headingUsed;\n\n const hasHeader = hasHeading\n || this._subtitles.length > 0\n || this._headerActions.length > 0\n || nonCollapsingTextHeaderActions.length > 0\n || this.starrable\n || sortableActionsEnabled;\n\n const hasFooter = this._footerActions.length > 0\n || this.selectable\n || this.withArrow;\n\n const classes = {\n \"stzh-card\": true,\n \"stzh-card--has-link\": !!this.href,\n \"stzh-card--has-image\": imageUsed,\n \"stzh-card--has-content\": contentUsed,\n \"stzh-card--has-subtitle\": !!this.subtitle,\n \"stzh-card--has-subtitle-interactive\": !!this.subtitle && this.subtitleInteractive,\n \"stzh-card--has-hidden-header-border\": this.hideHeaderBorder,\n \"stzh-card--has-hidden-footer-border\": this.hideFooterBorder,\n \"stzh-card--has-header\": hasHeader,\n \"stzh-card--has-footer\": hasFooter,\n \"stzh-card--is-collapsible\": this.collapsible,\n \"stzh-card--is-collapsed\": this.collapsed,\n \"stzh-card--is-starred\": this.starred,\n \"stzh-card--is-checked\": this.checked,\n \"stzh-card--is-sortable\": sortableEnabled\n };\n\n return (\n <Host role=\"listitem\" aria-label={this.heading} is-sortable={sortableEnabled}>\n <article\n ref={(el) => (this.mainElement = el as HTMLElement)}\n class={classes}\n >\n <a\n ref={(el) => (this.imageLinkElement = el as HTMLAnchorElement)}\n aria-hidden=\"true\"\n tabindex=\"-1\"\n class=\"stzh-card__image-link\"\n href={this.href}\n target={this.target}\n onClick={this.href ? this.cardClick : null}\n >\n <slot name=\"image\"></slot>\n </a>\n <div class=\"stzh-card__content-wrapper\">\n <stzh-icon class=\"stzh-card__dnd\" name=\"drag\"></stzh-icon>\n\n <header\n ref={(el) => (this.headerElement = el as HTMLElement)}\n class=\"stzh-card__header\"\n onClick={this.headerClick}\n >\n <div class=\"stzh-card__header-top\">\n <div\n ref={(el) => (this.headerLeftElement = el as HTMLElement)}\n class=\"stzh-card__header-left\"\n >\n <div class=\"stzh-card__title-area\">\n {hasHeading &&\n <h3 class=\"stzh-card__title\">\n <a\n ref={(el) => (this.titleLinkElement = el as HTMLAnchorElement)}\n class=\"stzh-card__title-link\"\n href={this.href}\n target={this.target}\n onClick={this.href ? this.cardClick : null}\n >\n <div ref={(el) => (this.headingTextElement = el as HTMLDivElement)}>\n {this.heading ? this.heading : <slot name=\"heading\"></slot>}\n </div>\n </a>\n </h3>\n }\n {this._subtitles.length > 0 &&\n <Subtitle class=\"stzh-card__subtitle\" onClick={this.subtitleClick}>\n {this._subtitles.map(subtitle => (\n <span class=\"stzh-card__subtitle-text\">{subtitle}</span>\n ))}\n </Subtitle>\n }\n </div>\n </div>\n <div\n ref={(el) => (this.headerRightElement = el as HTMLElement)}\n class=\"stzh-card__header-right\"\n >\n <div class=\"stzh-card__card-actions\">\n {this._headerActions.map(action => (\n <stzh-button\n class={{\n \"stzh-card__card-action\": true,\n \"is-button\": true,\n \"show-medium\": !action.onlyCollapseText,\n \"hide-when-collapsed\": !action.onlyCollapseText,\n \"hide-text-when-collapsed\": action.onlyCollapseText\n }}\n icon={action.icon}\n badge={action.badge}\n badgeEmpty={action.badgeEmpty}\n badgeType={action.badgeType}\n variant=\"tertiary\"\n size=\"tiny\"\n badgePosition=\"icon\"\n onClick={() => { this.actionClick(action) }}\n >\n <span\n class={{\n \"vshow-medium\": action.onlyCollapseText,\n \"vhide-when-collapsed\": action.onlyCollapseText\n }}\n >\n {action.label}\n </span>\n </stzh-button>\n ))}\n\n {this.starrable &&\n <stzh-tooltip>\n <stzh-button\n class=\"stzh-card__card-action is-star\"\n icon={this.starred ? \"star-filled\" : \"star\"}\n variant=\"tertiary\"\n size=\"tiny\"\n iconOnly={true}\n onClick={this.starToggleClick}\n ></stzh-button>\n <div slot=\"content\">\n {this.starred ? this.localization.actionRemove : this.localization.actionAdd}\n </div>\n </stzh-tooltip>\n }\n\n {/* <stzh-actionset actions={headerActions} variant=\"overflow\"></stzh-actionset> */}\n\n {(nonCollapsingTextHeaderActions.length > 0 || this.starrable || sortableActionsEnabled) &&\n <stzh-popover\n label={this.localization.actionsPopoverLabel}\n placement=\"bottom-end\"\n class={{\n \"stzh-card__card-action-popover\": true,\n \"hide-medium show-when-collapsed\": !this.starrable && !sortableActionsEnabled\n }}\n >\n <stzh-button\n class=\"stzh-card__card-action is-further\"\n variant=\"tertiary\"\n size=\"tiny\"\n icon=\"more-vertical\"\n iconOnly={true}\n ></stzh-button>\n <stzh-menu slot=\"content\">\n {this.starrable &&\n <stzh-menu-item icon={this.starred ? \"star-filled\" : \"star\"} onClick={this.starToggleClick}>\n {this.starred ? this.localization.actionRemove : this.localization.actionAdd}\n </stzh-menu-item>\n }\n\n {nonCollapsingTextHeaderActions.map(action => (\n <stzh-menu-item\n class=\"hide-medium show-when-collapsed\"\n icon={action.icon}\n badge={action.badge}\n badgeEmpty={action.badgeEmpty}\n badgeType={action.badgeType}\n onClick={() => { this.actionClick(action) }}\n >\n {action.label}\n </stzh-menu-item>\n ))}\n\n {sortableActionsEnabled &&\n <Fragment>\n {!isFirstItemInSortable &&\n <stzh-menu-item icon=\"arrow-up\" onClick={this.arrowUpClick}>\n {this.localization.actionMoveUp}\n </stzh-menu-item>\n }\n {!isLastItemInSortable &&\n <stzh-menu-item icon=\"arrow-down\" onClick={this.arrowDownClick}>\n {this.localization.actionMoveDown}\n </stzh-menu-item>\n }\n </Fragment>\n }\n </stzh-menu>\n </stzh-popover>\n }\n </div>\n </div>\n </div>\n\n <div class=\"stzh-card__header-meta\">\n <slot name=\"meta\"></slot>\n </div>\n </header>\n\n <div class=\"stzh-card__content hide-when-collapsed\">\n <slot name=\"content\"></slot>\n </div>\n\n <div class=\"stzh-card__footer hide-when-collapsed\">\n <slot name=\"footer\">\n {this._footerActions.length > 0 &&\n <stzh-actionset\n class=\"stzh-card__footer-actionset\"\n actions={this._footerActions}\n ></stzh-actionset>\n }\n\n {this.selectable &&\n <stzh-button\n class=\"stzh-card__footer-select-button\"\n fullwidth\n type=\"radio\"\n variant=\"secondary\"\n name={this.name}\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n label={this.localization.select}\n onStzhChange={this.handleSelectionChange}\n ></stzh-button>\n }\n\n {this.withArrow &&\n <stzh-icon\n class=\"stzh-card__footer-arrow\"\n name=\"arrow-right-long\"\n ></stzh-icon>}\n </slot>\n </div>\n </div>\n </article>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"stzh-card2.js","mappings":"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","names":[],"sources":["src/components/stzh-card/stzh-card.scss?tag=stzh-card&encapsulation=scoped","src/components/stzh-card/stzh-card.tsx"],"sourcesContent":["/**\n * @prop --content-min-height: Min height of content\n */\n\n:host {\n --box-shadow: #{$boxShadowPopover};\n --border-color: #{$baseBorderColor};\n --border-radius: 3px;\n\n --content-min-height: 120px;\n\n --dnd-visibility: hidden;\n --dnd-opacity: 0;\n\n display: flex;\n flex-direction: column;\n position: relative;\n border-radius: var(--border-radius);\n\n @media print {\n page-break-inside: avoid;\n break-inside: avoid;\n }\n\n &[collapsed]:not([collapsed=\"false\"]) {\n --content-min-height: none;\n }\n\n &[checked]:not([checked=\"false\"]) {\n outline: 3px solid $colorPrimary;\n }\n\n &[hide-elevation]:not([hide-elevation=\"false\"]) {\n --box-shadow: none;\n\n &[href]:hover,\n &[href]:focus-within,\n &.is-selected,\n &.is-chosen,\n .is-selected &,\n .is-chosen & {\n --box-shadow: #{$boxShadowPopover};\n }\n }\n\n &.is-ghost::after,\n .is-ghost &::after {\n border-radius: var(--border-radius);\n }\n\n &[href]:hover,\n &[href]:focus-within,\n &.is-selected,\n &.is-chosen,\n .is-selected &,\n .is-chosen & {\n --box-shadow: #{$boxShadowOverlay};\n }\n\n &.is-ghost,\n .is-ghost & {\n --box-shadow: none;\n --border-color: transparent;\n\n overflow: hidden;\n }\n\n &.is-drag,\n &.is-chosen,\n &.is-ghost,\n &.is-selected,\n .is-drag &,\n .is-chosen &,\n .is-ghost &,\n .is-selected &,\n &[is-sortable]:hover {\n --dnd-visibility: visible;\n --dnd-opacity: 1;\n }\n\n ::slotted(*) {\n @include fontSize('milli');\n }\n\n ::slotted([slot=\"image\"]) {\n width: 100%;\n max-width: 100%;\n background-color: $colorGrey13;\n }\n\n ::slotted(img[slot=\"image\"]) {\n display: block;\n }\n\n ::slotted([slot=\"meta\"]:not(:last-child)) {\n margin-right: space('xsmall');\n }\n\n ::slotted(table) {\n border: 0;\n border-spacing: 0;\n\n th {\n @include font;\n }\n\n td, th {\n padding: 0;\n }\n\n td {\n color: $colorBlack;\n padding-left: space('xsmall');\n }\n }\n}\n\n:host ::slotted([slot=\"heading\"]),\n.stzh-card__title {\n @include font('heavy');\n @include fontCurve('h3', 'heading');\n}\n\n.stzh-card {\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n\tbackground-color: $colorWhite;\n\tborder-radius: var(--border-radius);\n\tbox-shadow: var(--box-shadow);\n border-width: 1px;\n border-style: solid;\n border-color: var(--border-color);\n\ttransition: box-shadow $baseTransitionAnimationSpeed;\n\n .vshow-medium {\n @include mq($to: medium) {\n @include visuallyhidden;\n }\n }\n\n .show-medium {\n @include mq($to: medium) {\n display: none;\n }\n }\n\n .hide-medium {\n @include mq($from: medium) {\n display: none;\n }\n }\n\n &__content-wrapper {\n position: relative;\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n min-height: var(--content-min-height);\n }\n\n\t&__dnd {\n --size: #{iconSize('xsmall')};\n\t\tposition: absolute;\n // INFO: we don't use space() values here, because we want this element to align with the heading\n left: 3px;\n top: 23px;\n\t\tdisplay: flex;\n\t\tvisibility: var(--dnd-visibility);\n\t\topacity: var(--dnd-opacity);\n\t\ttransition: all $baseTransitionAnimationSpeed;\n display: none;\n\n @include mq($from: medium) {\n display: block;\n }\n\n @include mq($from: large) {\n // INFO: we don't use space() values here, because we want this element to align with the heading\n left: 4px;\n top: 27px;\n }\n\t}\n\n &__header-top {\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\talign-items: flex-start;\n }\n\n &__header-meta {\n &:not(:empty) {\n display: inline-flex;\n margin-top: space('xsmall');\n }\n }\n\n\t&__header-left,\n\t&__header-right {\n\t\tdisplay: flex;\n\t}\n\n\t&__header-right {\n @include spaceCurve('padding-left', 'tiny');\n\t}\n\n\t&__left {\n\t\talign-self: center;\n\t}\n\n\t&__title-area {\n\t\t@include wordWrap;\n\t\toverflow: hidden;\n\t}\n\n\t&__title,\n\t&__subtitle {\n\t\tmargin: 0;\n\t}\n\n &__title-link {\n color: inherit;\n text-decoration-line: none;\n }\n\n &__image-link {\n display: block;\n }\n\n\t&__subtitle {\n @include fontCurve('p1');\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex-wrap: wrap;\n\t\ttext-decoration-line: none;\n // INFO: we don't use space() values here, since we try to mimic the width of a whitespace here\n\t\tmargin-left: -0.5625em;\n\t}\n\n\t&__subtitle-text {\n\t\tposition: relative;\n\t\tdisplay: inline-flex;\n // INFO: we don't use space() values here, since we try to mimic the width of a whitespace here\n\t\tpadding-left: 0.5625em;\n\n\t\t&::after {\n\t\t\tcontent: ',';\n\t\t\tposition: absolute;\n\t\t\tleft: 0;\n\t\t}\n\t}\n\n\t&__content {\n flex-grow: 1;\n\n &:not(:empty) {\n @include spaceCurve('padding', 'regular');\n }\n\t}\n\n &__footer-arrow {\n --size: #{iconSize('medium')};\n color: $colorPrimary;\n }\n\n &__card-actions {\n\t\tdisplay: inline-flex;\n white-space: nowrap;\n\t}\n\n\t&__card-action {\n @include mq($to: medium) {\n --icon-text-margin: 0px;\n --badge-icon-text-margin: 0px;\n }\n\n &[variant=\"tertiary\"] {\n --color: #{$colorGrey70};\n }\n\n &.is-button {\n --icon-size: #{iconSize('small')};\n }\n\n &.is-placeholder {\n width: space('xxlarge');\n height: space('xxlarge');\n }\n\n &.is-star {\n }\n\t}\n\n &__card-action-popover {\n --width: auto;\n }\n\n /* Has header */\n\n &--has-header &__header {\n\t\t@include spaceCurve('padding', 'regular');\n\t\tborder-bottom: 1px solid $baseBorderColor;\n\t}\n\n /* Has footer */\n\n &--has-footer &__footer {\n &:not(:empty) {\n @include spaceCurve('padding', 'regular');\n border-top: 1px solid $baseBorderColor;\n }\n }\n\n /* Has Link */\n\n &--has-link &__title-link {\n color: $colorPrimary;\n text-decoration-line: none;\n transition: color $baseTransitionAnimationSpeed;\n border-radius: $buttonBorderRadius;\n\n &::before,\n &::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n\n // &::before {\n // transition: all $baseTransitionAnimationSpeed;\n // }\n\n &::after {\n z-index: 1;\n }\n }\n\n &--has-link &__card-actions,\n &--has-link &__header-meta,\n &--has-link &__footer-actionset,\n &--has-link &__footer-select-button {\n position: relative;\n z-index: 2;\n }\n\n &--has-link &__image-link:hover + &__content-wrapper &__title-link,\n &--has-link &__title-link:hover,\n &--has-link &__title-link:focus {\n color: $colorPrimaryHover;\n\n // &::before,\n // &::before {\n // background-color: $colorPrimary4;\n // }\n }\n\n &--has-link:hover &__footer-arrow {\n color: $colorPrimaryHover;\n }\n\n /* Interactive Subtitle */\n\n &--has-subtitle-interactive &__subtitle {\n cursor: pointer;\n font-family: inherit;\n padding: 0;\n appearance: none;\n background: none;\n border: none;\n transition: color $baseTransitionAnimationSpeed;\n color: $colorPrimary;\n\n &:hover,\n &:focus {\n color: $colorPrimaryHover;\n }\n }\n\n /* Is collapsible */\n\n &--is-collapsible &__header {\n cursor: pointer;\n }\n\n /* Collapsed (Header) */\n\n &--is-collapsed,\n &--has-collapsed-header &__header {\n .vhide-when-collapsed {\n @include visuallyhidden;\n }\n\n .hide-when-collapsed {\n display: none;\n }\n\n .show-when-collapsed {\n display: block;\n }\n }\n\n &--is-collapsed &__header {\n border-bottom: none;\n }\n\n &--is-collapsed &__card-action,\n &--has-collapsed-header &__card-action {\n --icon-text-margin: 0px;\n --badge-icon-text-margin: 0px;\n }\n\n /* Starred */\n\n &--is-starred &__card-action.is-star {\n color: $colorPrimary;\n\n &:hover,\n &:focus {\n color: $colorPrimaryHover;\n }\n }\n\n /** Hidden header / footer border */\n\n &--has-hidden-header-border &__header {\n\t\tborder-bottom: none;\n padding-bottom: 0;\n }\n\n &--has-hidden-footer-border &__footer {\n &:not(:empty) {\n padding-top: 0;\n border-top: none;\n }\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Watch,\n Event,\n EventEmitter,\n Fragment,\n forceUpdate\n} from \"@stencil/core\";\n\nimport {\n StzhCardHeaderAction,\n StzhActionsetItem,\n StzhCardCollapseEvent,\n StzhCardSubtitleClickEvent,\n StzhCardStarClickEvent,\n StzhCardClickEvent,\n StzhCardHeaderActionClickEvent,\n StzhButtonChangeEvent\n} from \"../../index\";\n\nimport { hasSlot, setPropsIfNull } from \"../../utils/utils\";\nimport { media } from '../../utils/media-utils';\n\nimport { StzhCardLocalizedText } from './stzh-card.localization';\n\n/**\n * @slot heading - Slot for heading\n * @slot image - Slot for optional image element\n * @slot content - Slot for content for any elements\n * @slot meta - Slot for meta elements (status or chip)\n * @slot footer - Slot to replace footer content (`footerActions`, 'withArrow`, and `selectable` button are not shown anymore)\n */\n@Component({\n tag: \"stzh-card\",\n styleUrl: \"stzh-card.scss\",\n scoped: true\n})\nexport class StzhCard {\n /** Translation strings */\n @Prop() localization: StzhCardLocalizedText;\n\n /** Whether card is collapsed or not */\n @Prop({ reflect: true, mutable: true }) collapsed: boolean = false;\n\n /** Whether card was starred */\n @Prop({ reflect: true, mutable: true }) starred: boolean = false;\n\n /**\n * Whether card star is displayed (with tooltip and menu-item in mobile popover).\n * The tooltip / menu-item text can be adjusted in the translations file (`actionAdd` & `actionRemove`).\n */\n @Prop({ reflect: true }) starrable: boolean = false;\n\n /** Whether card is selectable */\n @Prop({ reflect: true }) selectable: boolean = false;\n\n /** Whether card is checked (if card is selectable) */\n @Prop({ reflect: true }) checked: boolean = false;\n\n /** The name of the input element (if card is selectable) */\n @Prop({ reflect: true }) name: string = \"\";\n\n /** Href of card */\n @Prop({ reflect: true }) href: string;\n\n /** target if the button is used as link (if href used) */\n @Prop() target: string;\n\n /** The value of the input element (if card is selectable) */\n @Prop({ mutable: true }) value: string = \"\";\n\n /** Whether the element is disabled or not (if card is selectable) */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Whether card arrow is shown in footer area */\n @Prop({ reflect: true }) withArrow: boolean = false;\n\n /** Heading (or use heading slot instead) */\n @Prop() heading: string = \"\";\n\n /** Subtitle */\n @Prop() subtitle: string | string[] = \"\";\n private _subtitles = [];\n\n /** Card header actions */\n @Prop() headerActions: string | StzhCardHeaderAction[] = [];\n private _headerActions: StzhCardHeaderAction[];\n\n /**\n * Card footer actions.\n * The [`stzh-actionset`](?path=/story/components-actionset) component is used internally.\n * You can listen to clicks with the `stzhActionClick` event.\n */\n @Prop() footerActions: string | StzhActionsetItem[] = [];\n private _footerActions: StzhActionsetItem[];\n\n /** Whether subtitle should be rendered as button and event `stzhSubtitleClick` executed on click */\n @Prop() subtitleInteractive: boolean = false;\n\n /**\n * Whether sorting should be disabled.\n * Has no effect if card is not inside a `card-list` element, which has `sortableEnabled` property set to true.\n */\n @Prop({ reflect: true }) sortableDisabled: boolean = false;\n\n /** Whether card is collapsible */\n @Prop({ reflect: true }) collapsible: boolean = false;\n\n /** Whether to hide header separation border */\n @Prop({ reflect: true }) hideHeaderBorder: boolean = false;\n\n /** Whether to hide footer separation border */\n @Prop({ reflect: true }) hideFooterBorder: boolean = false;\n\n /** Whether card elevation should be hidden */\n @Prop({ reflect: true }) hideElevation: boolean = false;\n\n /**\n * Whether movement menu items should be shown.\n * Has no effect if card is not inside a `card-list` element, which has `sortableEnabled` property set to true.\n */\n @Prop() hideMovementActions: boolean = false;\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the link elements.\n * Default value will be taken from `heading` prop/slot.\n */\n @Prop() analyticsId: string;\n\n @Element() element: HTMLStzhCardElement;\n\n /** Click event (if href is used) */\n @Event() stzhClick: EventEmitter<StzhCardClickEvent>;\n\n /** Collapse event */\n @Event() stzhCollapse: EventEmitter<StzhCardCollapseEvent>;\n\n /** Subtitle click event */\n @Event() stzhSubtitleClick: EventEmitter<StzhCardSubtitleClickEvent>;\n\n /** Star click event */\n @Event() stzhStarClick: EventEmitter<StzhCardStarClickEvent>;\n\n /** Header action click event */\n @Event() stzhHeaderActionClick: EventEmitter<StzhCardHeaderActionClickEvent>;\n\n @Watch(\"subtitle\")\n subtitleWatcher(newValue: string[] | string) {\n if (typeof newValue === \"string\") {\n if (newValue === \"\") {\n this._subtitles = [];\n } else {\n try {\n this._subtitles = JSON.parse(newValue);\n } catch(err) {\n this._subtitles = [newValue];\n }\n }\n } else {\n this._subtitles = newValue;\n }\n }\n\n @Watch(\"headerActions\")\n headerActionsWatcher(newValue: StzhCardHeaderAction[] | string) {\n if (typeof newValue === \"string\") {\n this._headerActions = JSON.parse(newValue);\n } else {\n this._headerActions = newValue;\n }\n }\n\n @Watch(\"footerActions\")\n footerActionsWatcher(newValue: StzhActionsetItem[] | string) {\n if (typeof newValue === \"string\") {\n this._footerActions = JSON.parse(newValue);\n } else {\n this._footerActions = newValue;\n }\n }\n\n @Watch(\"collapsed\")\n collapsedWatcher() {\n this.handleResize();\n }\n\n private observer: MutationObserver;\n\n private nodeChange = (entries) => {\n let changeInSlot = false;\n\n entries.forEach((entry) => {\n if (entry.target.closest('[slot]') || entry.target.hasAttribute('slot')) {\n changeInSlot = true;\n }\n });\n\n if (changeInSlot) {\n forceUpdate(this.element);\n }\n };\n\n private mainElement: HTMLElement;\n private headerElement: HTMLElement;\n private headerLeftElement: HTMLElement;\n private headerRightElement: HTMLElement;\n private imageLinkElement: HTMLAnchorElement;\n private titleLinkElement: HTMLAnchorElement;\n private headingTextElement: HTMLDivElement;\n private sortable: HTMLStzhSortableElement;\n\n private debounceResize: number;\n private resizeObserver: ResizeObserver;\n\n private update = () => {\n if (!this.mainElement) {\n return;\n }\n\n this.mainElement.classList.remove(\"stzh-card--has-collapsed-header\");\n\n if (media('medium').matches) {\n const headerWidth = this.headerElement.clientWidth;\n const leftWidth = this.headerLeftElement.clientWidth;\n const rightWidth = this.headerRightElement.clientWidth;\n\n if (headerWidth - leftWidth <= rightWidth) {\n this.mainElement.classList.add(\"stzh-card--has-collapsed-header\");\n }\n }\n }\n\n private headerClick = (event: MouseEvent) => {\n if (!this.collapsible) {\n return;\n }\n\n const filterTags = [\"stzh-popover\", \"stzh-tooltip\", \"button\", \"a\", \"input\", \"select\", \"textarea\", \"iframe\", \"details\", \"label\", \"area\"];\n const composedPathTags = event.composedPath().map(element => (element as HTMLElement).tagName?.toLowerCase());\n const found = composedPathTags.some(r => filterTags.includes(r))\n\n if (!found) {\n this.collapsed = !this.collapsed;\n\n this.stzhCollapse.emit({\n component: \"stzh-card\",\n collapsed: this.collapsed\n });\n }\n }\n\n private subtitleClick = () => {\n if (this.subtitleInteractive) {\n this.stzhSubtitleClick.emit({\n component: \"stzh-card\"\n });\n }\n }\n\n private starToggleClick = () => {\n this.stzhStarClick.emit({\n component: \"stzh-card\",\n starred: this.starred\n });\n }\n\n private actionClick = (action: StzhCardHeaderAction) => {\n this.stzhHeaderActionClick.emit({\n component: \"stzh-card\",\n action\n });\n }\n\n private arrowUpClick = () => {\n const sortable = this.element.closest(\"stzh-sortable\");\n\n if (sortable) {\n const element = this.findSortableChildElement();\n sortable.moveItem(element, \"up\");\n }\n }\n\n private arrowDownClick = () => {\n const sortable = this.element.closest(\"stzh-sortable\");\n\n if (sortable) {\n const element = this.findSortableChildElement();\n sortable.moveItem(element, \"down\");\n }\n }\n\n private updateElementInsideSortable = () => {\n const currentSortable = this.element.closest(\"stzh-sortable\");\n\n // check if element is still inside sortable\n if (!currentSortable) {\n this.sortable.removeEventListener(\"stzhUpdate\", this.updateElementInsideSortable);\n this.sortable.removeEventListener(\"stzhDisable\", this.updateElementInsideSortable)\n return;\n }\n\n if (this.element) {\n forceUpdate(this.element);\n }\n }\n\n private init = () => {\n const chips = this.element.querySelectorAll(\n 'stzh-chip[slot=\"meta\"], [slot=\"meta\"] stzh-chip'\n );\n\n chips.forEach((chip) => {\n setPropsIfNull(chip, {\n size: \"small\"\n } as HTMLStzhChipElement)\n });\n }\n\n private handleResize = () => {\n if (this.debounceResize) {\n window.cancelAnimationFrame(this.debounceResize);\n }\n\n this.debounceResize = requestAnimationFrame(this.update);\n }\n\n private handleMutation = (entries) => {\n this.init();\n this.nodeChange(entries);\n }\n\n private handleSelectionChange = (event: CustomEvent<StzhButtonChangeEvent>) => {\n this.checked = event.detail.checked;\n }\n\n private cardClick = (originalEvent: MouseEvent) => {\n this.stzhClick.emit({\n component: \"stzh-card\",\n originalEvent\n });\n }\n\n private findSortableChildElement(): HTMLElement | undefined {\n const sortable = this.element.closest(\"stzh-sortable\");\n\n if (sortable) {\n let element: HTMLElement = this.element;\n let sortableContainer = null;\n\n if (typeof sortable.container === \"function\") {\n sortableContainer = sortable.container();\n } else {\n sortableContainer = sortable.container;\n }\n\n while (element.parentElement && element.parentElement !== sortableContainer) {\n element = element.parentElement;\n }\n\n return element;\n }\n }\n\n async componentWillLoad() {\n this.subtitleWatcher(this.subtitle);\n this.headerActionsWatcher(this.headerActions);\n this.footerActionsWatcher(this.footerActions);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"card\");\n }\n }\n\n componentDidLoad() {\n this.sortable = this.element.closest(\"stzh-sortable\");\n\n if (this.sortable) {\n this.sortable.addEventListener(\"stzhUpdate\", this.updateElementInsideSortable);\n this.sortable.addEventListener(\"stzhDisable\", this.updateElementInsideSortable)\n }\n }\n\n componentDidRender() {\n requestAnimationFrame(() => {\n const objectId = this.analyticsId || this.headingTextElement?.innerText;\n\n if (objectId) {\n this.imageLinkElement?.setAttribute(\"s-object-id\", objectId);\n this.titleLinkElement?.setAttribute(\"s-object-id\", objectId);\n }\n });\n }\n\n connectedCallback() {\n this.init();\n\n this.observer = new MutationObserver(this.handleMutation);\n this.observer.observe(this.element, {\n childList: true,\n subtree: true\n });\n\n this.resizeObserver = new ResizeObserver(this.handleResize);\n this.resizeObserver.observe(this.element);\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n render() {\n const imageUsed: boolean = hasSlot(this.element, \"image\");\n const headingUsed: boolean = hasSlot(this.element, \"heading\");\n const contentUsed: boolean = hasSlot(this.element, \"content\");\n\n const Subtitle = `${this.subtitleInteractive ? 'button' : 'span'}`;\n\n const sortableChildElement = this.findSortableChildElement();\n\n const isFirstItemInSortable = sortableChildElement?.parentElement\n && Array.from(sortableChildElement?.parentElement?.children)\n .indexOf(sortableChildElement) === 0;\n\n const isLastItemInSortable = sortableChildElement?.parentElement\n && Array.from(sortableChildElement?.parentElement?.children)\n .indexOf(sortableChildElement) === sortableChildElement?.parentElement?.children.length - 1;\n\n const sortableEnabled = !this.sortableDisabled && this.sortable && !this.sortable.disabled;\n const sortableActionsEnabled = sortableEnabled && !this.hideMovementActions;\n\n const nonCollapsingTextHeaderActions = this._headerActions.filter(action => !action.onlyCollapseText);\n\n // const headerActions = [\n // ...this._headerActions\n // ];\n\n const hasHeading = !!this.heading || headingUsed;\n\n const hasHeader = hasHeading\n || this._subtitles.length > 0\n || this._headerActions.length > 0\n || nonCollapsingTextHeaderActions.length > 0\n || this.starrable\n || sortableActionsEnabled;\n\n const hasFooter = this._footerActions.length > 0\n || this.selectable\n || this.withArrow;\n\n const classes = {\n \"stzh-card\": true,\n \"stzh-card--has-link\": !!this.href,\n \"stzh-card--has-image\": imageUsed,\n \"stzh-card--has-content\": contentUsed,\n \"stzh-card--has-subtitle\": !!this.subtitle,\n \"stzh-card--has-subtitle-interactive\": !!this.subtitle && this.subtitleInteractive,\n \"stzh-card--has-hidden-header-border\": this.hideHeaderBorder,\n \"stzh-card--has-hidden-footer-border\": this.hideFooterBorder,\n \"stzh-card--has-header\": hasHeader,\n \"stzh-card--has-footer\": hasFooter,\n \"stzh-card--is-collapsible\": this.collapsible,\n \"stzh-card--is-collapsed\": this.collapsed,\n \"stzh-card--is-starred\": this.starred,\n \"stzh-card--is-checked\": this.checked,\n \"stzh-card--is-sortable\": sortableEnabled\n };\n\n return (\n <Host role=\"listitem\" aria-label={this.heading} is-sortable={sortableEnabled}>\n <article\n ref={(el) => (this.mainElement = el as HTMLElement)}\n class={classes}\n >\n <a\n ref={(el) => (this.imageLinkElement = el as HTMLAnchorElement)}\n aria-hidden=\"true\"\n tabindex=\"-1\"\n class=\"stzh-card__image-link\"\n href={this.href}\n target={this.target}\n onClick={this.href ? this.cardClick : null}\n >\n <slot name=\"image\"></slot>\n </a>\n <div class=\"stzh-card__content-wrapper\">\n <stzh-icon class=\"stzh-card__dnd\" name=\"drag\"></stzh-icon>\n\n <header\n ref={(el) => (this.headerElement = el as HTMLElement)}\n class=\"stzh-card__header\"\n onClick={this.headerClick}\n >\n <div class=\"stzh-card__header-top\">\n <div\n ref={(el) => (this.headerLeftElement = el as HTMLElement)}\n class=\"stzh-card__header-left\"\n >\n <div class=\"stzh-card__title-area\">\n {hasHeading &&\n <h3 class=\"stzh-card__title\">\n <a\n ref={(el) => (this.titleLinkElement = el as HTMLAnchorElement)}\n class=\"stzh-card__title-link\"\n href={this.href}\n target={this.target}\n onClick={this.href ? this.cardClick : null}\n >\n <div ref={(el) => (this.headingTextElement = el as HTMLDivElement)}>\n {this.heading ? this.heading : <slot name=\"heading\"></slot>}\n </div>\n </a>\n </h3>\n }\n {this._subtitles.length > 0 &&\n <Subtitle class=\"stzh-card__subtitle\" onClick={this.subtitleClick}>\n {this._subtitles.map(subtitle => (\n <span class=\"stzh-card__subtitle-text\">{subtitle}</span>\n ))}\n </Subtitle>\n }\n </div>\n </div>\n <div\n ref={(el) => (this.headerRightElement = el as HTMLElement)}\n class=\"stzh-card__header-right\"\n >\n <div class=\"stzh-card__card-actions\">\n {this._headerActions.map(action => (\n <stzh-button\n class={{\n \"stzh-card__card-action\": true,\n \"is-button\": true,\n \"show-medium\": !action.onlyCollapseText,\n \"hide-when-collapsed\": !action.onlyCollapseText,\n \"hide-text-when-collapsed\": action.onlyCollapseText\n }}\n icon={action.icon}\n badge={action.badge}\n badgeEmpty={action.badgeEmpty}\n badgeType={action.badgeType}\n variant=\"tertiary\"\n size=\"tiny\"\n badgePosition=\"icon\"\n onClick={() => { this.actionClick(action) }}\n >\n <span\n class={{\n \"vshow-medium\": action.onlyCollapseText,\n \"vhide-when-collapsed\": action.onlyCollapseText\n }}\n >\n {action.label}\n </span>\n </stzh-button>\n ))}\n\n {this.starrable &&\n <stzh-tooltip>\n <stzh-button\n class=\"stzh-card__card-action is-star\"\n icon={this.starred ? \"star-filled\" : \"star\"}\n variant=\"tertiary\"\n size=\"tiny\"\n iconOnly={true}\n onClick={this.starToggleClick}\n ></stzh-button>\n <div slot=\"content\">\n {this.starred ? this.localization.actionRemove : this.localization.actionAdd}\n </div>\n </stzh-tooltip>\n }\n\n {/* <stzh-actionset actions={headerActions} variant=\"overflow\"></stzh-actionset> */}\n\n {(nonCollapsingTextHeaderActions.length > 0 || this.starrable || sortableActionsEnabled) &&\n <stzh-popover\n label={this.localization.actionsPopoverLabel}\n placement=\"bottom-end\"\n class={{\n \"stzh-card__card-action-popover\": true,\n \"hide-medium show-when-collapsed\": !this.starrable && !sortableActionsEnabled\n }}\n >\n <stzh-button\n class=\"stzh-card__card-action is-further\"\n variant=\"tertiary\"\n size=\"tiny\"\n icon=\"more-vertical\"\n iconOnly={true}\n ></stzh-button>\n <stzh-menu slot=\"content\">\n {this.starrable &&\n <stzh-menu-item icon={this.starred ? \"star-filled\" : \"star\"} onClick={this.starToggleClick}>\n {this.starred ? this.localization.actionRemove : this.localization.actionAdd}\n </stzh-menu-item>\n }\n\n {nonCollapsingTextHeaderActions.map(action => (\n <stzh-menu-item\n class=\"hide-medium show-when-collapsed\"\n icon={action.icon}\n badge={action.badge}\n badgeEmpty={action.badgeEmpty}\n badgeType={action.badgeType}\n onClick={() => { this.actionClick(action) }}\n >\n {action.label}\n </stzh-menu-item>\n ))}\n\n {sortableActionsEnabled &&\n <Fragment>\n {!isFirstItemInSortable &&\n <stzh-menu-item icon=\"arrow-up\" onClick={this.arrowUpClick}>\n {this.localization.actionMoveUp}\n </stzh-menu-item>\n }\n {!isLastItemInSortable &&\n <stzh-menu-item icon=\"arrow-down\" onClick={this.arrowDownClick}>\n {this.localization.actionMoveDown}\n </stzh-menu-item>\n }\n </Fragment>\n }\n </stzh-menu>\n </stzh-popover>\n }\n </div>\n </div>\n </div>\n\n <div class=\"stzh-card__header-meta\">\n <slot name=\"meta\"></slot>\n </div>\n </header>\n\n <div class=\"stzh-card__content hide-when-collapsed\">\n <slot name=\"content\"></slot>\n </div>\n\n <div class=\"stzh-card__footer hide-when-collapsed\">\n <slot name=\"footer\">\n {this._footerActions.length > 0 &&\n <stzh-actionset\n class=\"stzh-card__footer-actionset\"\n actions={this._footerActions}\n ></stzh-actionset>\n }\n\n {this.selectable &&\n <stzh-button\n class=\"stzh-card__footer-select-button\"\n fullwidth\n type=\"radio\"\n variant=\"secondary\"\n name={this.name}\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n label={this.localization.select}\n onStzhChange={this.handleSelectionChange}\n ></stzh-button>\n }\n\n {this.withArrow &&\n <stzh-icon\n class=\"stzh-card__footer-arrow\"\n name=\"arrow-right-long\"\n ></stzh-icon>}\n </slot>\n </div>\n </div>\n </article>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,7 +2,7 @@ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/
2
2
  import { i as isStzhElement } from './utils.js';
3
3
  import { a as addMediaChangeListener, r as removeMediaChangeListener, m as media } from './media-utils.js';
4
4
 
5
- const stzhCarouselCss = ".sc-stzh-carousel-h{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:var(--stzh-font-style-regular);color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block}[hidden].sc-stzh-carousel-h{display:none}.sc-stzh-carousel-h *.sc-stzh-carousel,.sc-stzh-carousel-h *.sc-stzh-carousel::before,.sc-stzh-carousel-h *.sc-stzh-carousel::after{-webkit-box-sizing:border-box;box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness)}.sc-stzh-carousel-h .has-focus.sc-stzh-carousel{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.3125rem}.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{--peek:calc(var(--peek-in, 0px) + var(--peek-out, 0px));--peek-out:1.25rem;--padding-top:0px;--padding-bottom:0px;--gutter:var(--stzh-space-xxxsmall);--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{--peek-out:2rem}}@media screen and (min-width: 1024px){.sc-stzh-carousel-h{--peek-out:0px}}.sc-stzh-carousel-h .sc-stzh-carousel-s>*{width:100%;height:100%;-ms-flex-negative:0;flex-shrink:0;scroll-snap-align:start;scroll-snap-stop:var(--snap-stop)}.sc-stzh-carousel-h .sc-stzh-carousel-s img{-webkit-user-drag:none;user-drag:none;-moz-user-select:none;-webkit-user-select:none;-ms-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)}.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>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{--padding-top:0.25rem;--padding-bottom:0.25rem;--gutter:var(--stzh-space-xsmall)}@media screen and (min-width: 1024px){[variant=cards].sc-stzh-carousel-h{--peek-out:2.5rem;--gutter:var(--stzh-space-small)}}@media screen and (min-width: 1260px){[variant=cards].sc-stzh-carousel-h{--peek-out:5.5rem;--gutter:var(--stzh-space-medium)}}@media screen and (min-width: 1440px){[variant=cards].sc-stzh-carousel-h{--peek-out:calc((100vw - 78.75rem - var(--stzh-scrollbar-width, 0px)) / 2)}}.sc-stzh-carousel-h[variant=cards] .sc-stzh-carousel-s>[slot=actions]{position:relative;-ms-flex-order:1;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:-ms-flexbox;display:flex;-ms-flex-direction:column;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);-webkit-clip-path:inset(100%);clip-path:inset(100%);width:0.0625rem;height:0.0625rem;overflow:hidden;padding:0;position:absolute}.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%;-moz-column-gap:var(--gutter);-webkit-column-gap:var(--gutter);column-gap:var(--gutter);-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;overscroll-behavior-x:contain;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;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:-webkit-grab;cursor:grab}.stzh-carousel--is-dragging.sc-stzh-carousel .stzh-carousel__scroll.sc-stzh-carousel{cursor:-webkit-grabbing;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;-ms-touch-action:none;touch-action:none}";
5
+ const stzhCarouselCss = ".sc-stzh-carousel-h{font-family:var(--stzh-font-family-regular);font-weight:var(--stzh-font-weight-regular);font-style:var(--stzh-font-style-regular);color:var(--stzh-base-color);-webkit-box-sizing:border-box;box-sizing:border-box;display:block}[hidden].sc-stzh-carousel-h{display:none}.sc-stzh-carousel-h *.sc-stzh-carousel,.sc-stzh-carousel-h *.sc-stzh-carousel::before,.sc-stzh-carousel-h *.sc-stzh-carousel::after{-webkit-box-sizing:border-box;box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness)}.sc-stzh-carousel-h .has-focus.sc-stzh-carousel{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.3125rem}.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{--peek:calc(var(--peek-in, 0px) + var(--peek-out, 0px));--peek-out:1.25rem;--padding-top:0px;--padding-bottom:0px;--gutter:var(--stzh-space-xxxsmall);--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{--peek-out:2rem}}@media screen and (min-width: 1024px){.sc-stzh-carousel-h{--peek-out:0px}}.sc-stzh-carousel-h .sc-stzh-carousel-s>*{width:100%;height:100%;-ms-flex-negative:0;flex-shrink:0;scroll-snap-align:start;scroll-snap-stop:var(--snap-stop)}.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;-moz-user-select:none;-webkit-user-select:none;-ms-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)}.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>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{--padding-top:0.25rem;--padding-bottom:0.25rem;--gutter:var(--stzh-space-xsmall)}@media screen and (min-width: 1024px){[variant=cards].sc-stzh-carousel-h{--peek-out:2.5rem;--gutter:var(--stzh-space-small)}}@media screen and (min-width: 1260px){[variant=cards].sc-stzh-carousel-h{--peek-out:5.5rem;--gutter:var(--stzh-space-medium)}}@media screen and (min-width: 1440px){[variant=cards].sc-stzh-carousel-h{--peek-out:calc((100vw - 78.75rem - var(--stzh-scrollbar-width, 0px)) / 2)}}.sc-stzh-carousel-h[variant=cards] .sc-stzh-carousel-s>[slot=actions]{position:relative;-ms-flex-order:1;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:-ms-flexbox;display:flex;-ms-flex-direction:column;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);-webkit-clip-path:inset(100%);clip-path:inset(100%);width:0.0625rem;height:0.0625rem;overflow:hidden;padding:0;position:absolute}.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%;-moz-column-gap:var(--gutter);-webkit-column-gap:var(--gutter);column-gap:var(--gutter);-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;overscroll-behavior-x:contain;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;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:-webkit-grab;cursor:grab}.stzh-carousel--is-dragging.sc-stzh-carousel .stzh-carousel__scroll.sc-stzh-carousel{cursor:-webkit-grabbing;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;-ms-touch-action:none;touch-action:none}";
6
6
 
7
7
  const reducedMotionMedia = window.matchMedia("(prefers-reduced-motion: reduce)");
8
8
  let carouselCounter = 0;
@@ -217,6 +217,7 @@ const StzhCarousel = /*@__PURE__*/ proxyCustomElement(class StzhCarousel extends
217
217
  const minimumReached = distance > this.distancePreventClick;
218
218
  if (minimumReached) {
219
219
  event.preventDefault();
220
+ event.stopPropagation();
220
221
  }
221
222
  this.lastX = null;
222
223
  window.removeEventListener("click", this.checkClick, { capture: true });
@@ -435,7 +436,7 @@ const StzhCarousel = /*@__PURE__*/ proxyCustomElement(class StzhCarousel extends
435
436
  // Math.round: Dispatch 'stzhSlidePassed' events around the center of each slide
436
437
  // Math.ceil: Dispatch 'stzhSlidePassed' events as soon as the next one is visible
437
438
  // Math.floor: Dispatch 'stzhSlidePassed' events only when the next one is fully visible
438
- return Math.floor(this.scrollElement.scrollLeft / this.itemSize);
439
+ return Math.round(this.scrollElement.scrollLeft / this.itemSize);
439
440
  }
440
441
  scrollToPreviousSnapPoint(behaviour = "smooth") {
441
442
  if (this.disabled) {
@@ -1 +1 @@
1
- {"file":"stzh-carousel2.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 --peek: calc(var(--peek-in, 0px) + var(--peek-out, 0px));\n --peek-out: #{$containerMargin};\n --padding-top: 0px;\n --padding-bottom: 0px;\n --gutter: #{space('xxxsmall')};\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-out: #{$containerMarginSmall};\n }\n\n @include mq($from: medium) {\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\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 stzh-text {\n width: auto;\n }\n\n stzh-button {\n pointer-events: all;\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 --padding-top: 4px;\n --padding-bottom: 4px;\n\n --gutter: #{spaceCurveValue('tiny')};\n\n @include mq($from: medium) {\n --peek-out: #{$containerMarginMedium};\n --gutter: #{spaceCurveValue('tiny', 'medium')};\n }\n\n @include mq($from: large) {\n --peek-out: #{$containerMarginLarge};\n --gutter: #{spaceCurveValue('tiny', 'large')};\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 &__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 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\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(\"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 ? \"true\" : \"false\");\n });\n\n this.previousElements.forEach((element) => {\n const isStzh = isStzhElement(element);\n element.setAttribute(isStzh ? \"a11y-disabled\" : \"aria-disabled\", reachedFirstSlide ? \"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.floor(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 }\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 this.disabled = true;\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 </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"stzh-carousel2.js","mappings":";;;;AAAA,MAAM,eAAe,GAAG,80JAA80J;;AC4Bt2J,MAAM,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC;AAEjF,IAAI,eAAe,GAAG,CAAC,CAAC;MAqBX,YAAY;;;;;;;;IAwVf,oBAAe,GAAW,CAAC,CAAC;;IAG5B,uBAAkB,GAAY,KAAK,CAAC;;IAGpC,oBAAe,GAAW,IAAI,CAAC;;IAM/B,UAAK,GAAW,IAAI,CAAC;;IAGrB,WAAM,GAAW,IAAI,CAAC;;IAGtB,oBAAe,GAAW,IAAI,CAAC;;IAG/B,qBAAgB,GAAW,IAAI,CAAC;;IAYhC,oBAAe,GAAY,KAAK,CAAC;IAoEjC,+BAA0B,GAAG;MACnC,IAAI,CAAC,6BAA6B,GAAG,kBAAkB,CAAC,OAAO,CAAC;KACjE,CAAA;IAEO,iBAAY,GAAG;MACrB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;QAC9B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;OACrC;KACF,CAAA;IAEO,iBAAY,GAAG;MACrB,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;KACtC,CAAA;IAEO,cAAS,GAAG;MAClB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;QAC9B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;OACrC;KACF,CAAA;IAEO,eAAU,GAAG;MACnB,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;KACtC,CAAA;IAEO,oBAAe,GAAG;MACxB,IAAI,CAAC,yBAAyB,EAAE,CAAC;KAClC,CAAA;IAEO,gBAAW,GAAG;MACpB,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B,CAAA;IAEO,kBAAa,GAAG;MACtB,IAAI,IAAI,CAAC,aAAa,EAAE;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;OACrC;KACF,CAAA;IAEO,eAAU,GAAG;MACnB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;QACvB,OAAO;OACR;MAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAkB,CAAC;MAE9E,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK;QACtC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,KAAK,CAAC,YAAY,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACpD,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU;WAC1D,OAAO,CAAC,eAAe,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;WAChD,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAC9D,CAAC;OACH,CAAC,CAAC;MAEH,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,+BAA+B,CAAC,CAAC,CAAC;MACnG,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,CAAC,CAAC;MAC3F,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,sCAAsC,CAAC,CAAC,CAAC;KACjH,CAAA;IAEO,aAAQ,GAAG;MACjB,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;QACjC,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAElF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;UAC5B,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;WACtC;eAAM;YACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;WACvB;SACF;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;UACvB,SAAS,EAAE,eAAe;UAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,SAAS;SAC9B,CAAC,CAAC;OACJ;MAED,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,cAAc,EAAE,EAAE;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;UACxB,SAAS,EAAE,eAAe;UAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;OACJ;MAED,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;MAClE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;KAChF,CAAA;IAEO,gBAAW,GAAG;MACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;MAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;MAEd,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;MACvB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;MAChC,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;MAEtC,IAAI,IAAI,CAAC,eAAe,EAAE;QACxB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;OAC7D;MAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE;QAC/C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;OACpB;WAAM;QACL,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU;WACnG,OAAO,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;WAC5D,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC;WACjE,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;OACjE;MAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QACrB,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;OAClB,CAAC,CAAC;KACJ,CAAA;IAEO,kBAAa,GAAG;MACtB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;MACrC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;MACrC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;MACvC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;MAErC,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE;QACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC;OACvC;WAAM,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE;QAC1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC;OACvC;WAAM,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE;QAC5C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;OACxC;WAAM,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE;QAC1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC;OACvC;WAAM;QACL,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;OAClC;;;;;;;;;;;;MAcD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC;KAC9C,CAAA;;IAGO,cAAS,GAAG,CAAC,KAAiB;MACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;MAC5C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;MAE3B,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,QAAQ,CAAC;KAC3C,CAAA;;IAGO,kBAAa,GAAG,CAAC,KAAiB;MACxC,KAAK,CAAC,cAAc,EAAE,CAAC;MAEvB,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;MACpE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;MAE7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;MACzC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;MACrD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;MAChE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;MAElE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;MAErB,IAAI,IAAI,CAAC,mBAAmB,EAAE;QAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;OACpC;WAAM;QACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;OACvB;MAED,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;MACrD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;MACzE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;KACtE,CAAA;;IAGO,iBAAY,GAAG,CAAC,KAAiB;MACvC,KAAK,CAAC,cAAc,EAAE,CAAC;MAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;MACpD,MAAM,cAAc,GAAG,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC;MAC1D,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;MAEtD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;MACtB,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;MAEpC,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;MAEtD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;MAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;MAEhD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;MAClE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;MAEzE,IAAI,SAAS,KAAK,IAAI,CAAC,eAAe,IAAI,CAAC,cAAc,EAAE;QACzD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC,OAAO,GAAG,MAAM,GAAG,QAAQ,EAAE,CAAC,CAAC;OAC5G;WAAM,IAAI,SAAS,KAAK,CAAC,EAAE;QAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;OACxB;WAAM;QACL,IAAI,CAAC,WAAW,EAAE,CAAC;OACpB;MAED,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;MACxD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;MAE5E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;KAC7B,CAAA;IAEO,eAAU,GAAG,CAAC,KAAiB;MACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;MACpD,MAAM,cAAc,GAAG,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC;MAE5D,IAAI,cAAc,EAAE;QAClB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;OACzB;MAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;MAElB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;KACzE,CAAA;IAEO,qBAAgB,GAAG;MACzB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;MAE/B,IAAI,IAAI,CAAC,mBAAmB,EAAE,EAAE;QAC9B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;OACjB;WAAM;QACL,IAAI,CAAC,WAAW,EAAE,CAAC;OACpB;KACF,CAAA;;mBAzqBuD,SAAS;oBAGpB,KAAK;kBAGP,KAAK;kBAGvB,CAAC;uBAEI,CAAC;wBAEA,CAAC;uBAEF,CAAC;uBAED,CAAC;iBAcP,CAAC;oBAQoB,KAAK;2BAGhB,IAAI;0BAGJ,KAAK;4BAGH,KAAK;gCAGD,KAAK;+BAGN,KAAK;sBAOd,KAAK;yBAIF,GAAG;8BAGE,EAAE;gCAGA,CAAC;2BA0NL,KAAK;yCAGS,KAAK;mCAGX,KAAK;mCAGL,KAAK;oCAGJ,KAAK;kCAGP,KAAK;oBAGnB,KAAK;qBAGJ,KAAK;oBAGP,EAAE;yBAGG,CAAC;8BAGI,CAAC;yBAGC,EAAE;4BAGC,EAAE;wBAGN,EAAE;kCAGQ,EAAE;;;EArPnD,MAAM,OAAO,CAAC,KAAK,EAAE,YAA+B,QAAQ;IAC1D,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;GACtC;;EAID,MAAM,eAAe,CAAC,YAA+B,QAAQ;IAC3D,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;GAC3C;;EAID,MAAM,WAAW,CAAC,YAA+B,QAAQ;IACvD,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;GACvC;EAGD,eAAe;IACb,IAAI,IAAI,CAAC,QAAQ,EAAE;MACjB,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;MACtF,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;MAClE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;MAC5B,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;MAClE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;MAClE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;MAC5D,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;MAC9D,IAAI,CAAC,0BAA0B,EAAE,CAAC;MAClC,kBAAkB,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;KACzG;SAAM;MACL,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;MACtG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;MAC/D,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;MAC/D,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;MACzD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;MAC3D,kBAAkB,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;KACtG;GACF;EAID,uBAAuB;IACrB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,EAAE;MAC1C,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;MACpE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;MAC7B,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;MAC9F,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;KACnB;SAAM;MACL,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;KAC5F;GACF;EAUD,sBAAsB;IACpB,IACE,CAAC,IAAI,CAAC,QAAQ;SACX,IAAI,CAAC,QAAQ;SACb,IAAI,CAAC,6BAA6B;SAClC,IAAI,CAAC,uBAAuB;SAC5B,IAAI,CAAC,uBAAuB;SAC5B,IAAI,CAAC,wBAAwB;SAC7B,IAAI,CAAC,sBAAsB,EAC9B;MACA,IAAI,CAAC,kBAAkB,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;MACzE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;MAC/B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;KAC9B;SAAM;MACL,IAAI,CAAC,kBAAkB,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;MACzE,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;MAC1F,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;KAC7B;GACF;EAID,gBAAgB;IACd,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK;MACtC,MAAM,UAAU,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,CAAC;MAErF,IAAI,UAAU,EAAE;QACd,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;OACjD;WAAM;QACL,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;OACtD;KACF,CAAC,CAAC;GACJ;EAOD,YAAY;IACV,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK;MACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU;WAC3B,IAAI,CAAC,OAAO,KAAK,OAAO;WACxB,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;MAEpE,KAAK,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC;MAExB,IAAI,QAAQ,EAAE;QACZ,KAAK,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;OACtC;WAAM;QACL,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;OAChE;KACF,CAAC,CAAC;GACJ;EAMD,yBAAyB;IACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC;IAE/D,MAAM,iBAAiB,GAAG,CAAC,OAAO;MAChC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;MAEtC,IAAI,UAAU,EAAE;QACd,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,eAAe,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC;OACnE;WAAM;QACL,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACvC,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,eAAe,GAAG,UAAU,CAAC,CAAC;OAChE;KACF,CAAA;IAED,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC7C,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;GAClD;EAOD,qBAAqB;IACnB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC;IAErE,MAAM,kBAAkB,GAAG,CAAC,OAAO;MACjC,IAAI,YAAY,EAAE;QAChB,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;OACpC;WAAM;QACL,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;OACnC;KACF,CAAC;IAEF,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACxD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC9C,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;GACnD;EAOD,uBAAuB;IACrB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;MACvB,OAAO;KACR;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAEpD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO;MAChC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;MACtC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,eAAe,GAAG,eAAe,EAAE,gBAAgB,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;KACvG,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO;MACpC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;MACtC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,eAAe,GAAG,eAAe,EAAE,iBAAiB,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;KACxG,CAAC,CAAC;GACJ;EAGD,mBAAmB;IACjB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW;MACpC,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;MAE1C,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;MACxD,WAAW,CAAC,YAAY,CAAC,MAAM,GAAG,eAAe,GAAG,eAAe,EAAE,GAAG,IAAI,CAAC,UAAU,SAAS,CAAC,CAAC;KACnG,CAAC,CAAC;GACJ;EAGD,uBAAuB;IACrB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,eAAe;MAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;MAE9C,eAAe,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;MAChE,eAAe,CAAC,YAAY,CAAC,MAAM,GAAG,eAAe,GAAG,eAAe,EAAE,GAAG,IAAI,CAAC,UAAU,SAAS,CAAC,CAAC;KACvG,CAAC,CAAC;GACJ;EAwFO,aAAa,CAAC,KAAK,EAAE,YAA+B,QAAQ;IAClE,IAAI,IAAI,CAAC,QAAQ,EAAE;MACjB,OAAO;KACR;IAED,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;MAC1B,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ;MAC3B,QAAQ,EAAE,kBAAkB,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS;KAC1D,CAAC,CAAC;GACJ;;EAGO,YAAY;IAClB,MAAM,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAExD,OAAO,CAAE,IAAI,CAAC,aAAa,CAAC,iBAAiC,IAAI,IAAI,CAAC,aAAa,EAAE,WAAW;QAC5F,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;GACtD;;;;;EAMO,cAAc;;;;IAIpB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;GAClE;EAEO,yBAAyB,CAAC,YAA+B,QAAQ;IACvE,IAAI,IAAI,CAAC,QAAQ,EAAE;MACjB,OAAO;KACR;IAED,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;IAC/B,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,OAAO,CAAC,OAAO,IAAI,aAAa,GAAG,CAAC,EAAE;MACpC,aAAa,GAAG,aAAa,GAAG,CAAC,CAAC;MAClC,OAAO,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,CAAC;KACrF;IAED,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;GACxC;EAEO,qBAAqB,CAAC,YAA+B,QAAQ;IACnE,IAAI,IAAI,CAAC,QAAQ,EAAE;MACjB,OAAO;KACR;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;GAC/D;EAEO,MAAM;IACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;IAElD,IAAI,CAAC,UAAU,EAAE,CAAC;GACnB;EAEO,mBAAmB;IACzB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;IACpE,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,WAAW,CAAC;GAC3D;EAqPD,MAAM,iBAAiB;IACrB,IAAI,CAAC,UAAU,GAAG,iBAAiB,eAAe,EAAE,EAAE,CAAC;IACvD,IAAI,CAAC,aAAa,EAAE,CAAC;IAErB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;MACtB,IAAI,CAAC,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;KACnG;GACF;EAED,gBAAgB;IACd,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACpC,IAAI,CAAC,MAAM,EAAE,CAAC;IAEd,IAAI,CAAC,eAAe,EAAE,CAAC;IACvB,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;GAC/B;EAED,iBAAiB;IACf,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE3C,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC5D,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAEzC,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;MAC1C,SAAS,EAAE,IAAI;MACf,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;GACJ;EAED,oBAAoB;IAClB,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAClE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IAErB,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE9C,IAAI,IAAI,CAAC,cAAc,EAAE;MACvB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;KAClC;IAED,IAAI,IAAI,CAAC,gBAAgB,EAAE;MACzB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;KACpC;GACF;EAED,MAAM;IACJ,MAAM,OAAO,GAAG;MACd,eAAe,EAAE,IAAI;MACrB,4BAA4B,EAAE,IAAI,CAAC,QAAQ;MAC3C,6BAA6B,EAAE,CAAC,IAAI,CAAC,gBAAgB;MACrD,mCAAmC,EAAE,IAAI,CAAC,cAAc;MACxD,4BAA4B,EAAE,IAAI,CAAC,QAAQ;MAC3C,6BAA6B,EAAE,IAAI,CAAC,SAAS;MAC7C,6BAA6B,EAAE,IAAI,CAAC,QAAQ;MAC5C,oCAAoC,EAAE,IAAI,CAAC,eAAe;KAC3D,CAAC;IAEF,QACE,EAAC,IAAI,4BACkB,UAAU,EAC/B,KAAK,EAAE;QACL,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;OAC1C,IAED,WAAK,KAAK,EAAE,OAAO,IACjB,YAAM,IAAI,EAAC,SAAS,GAAQ,EAC5B,WACE,KAAK,EAAC,wBAAwB,eACnB,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,uBAAuB,GAAG,QAAQ,GAAG,KAAK,IAEzF,IAAI,CAAC,QAAQ,CACV,EACN,WACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,aAAa,GAAG,EAAoB,CAAC,EACxD,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,SAAS,EAC/B,KAAK,EAAC,uBAAuB,IAE7B,eAAa,CACT,CACF,CACD,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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 --peek: calc(var(--peek-in, 0px) + var(--peek-out, 0px));\n --peek-out: #{$containerMargin};\n --padding-top: 0px;\n --padding-bottom: 0px;\n --gutter: #{space('xxxsmall')};\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-out: #{$containerMarginSmall};\n }\n\n @include mq($from: medium) {\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\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 stzh-text {\n width: auto;\n }\n\n stzh-button {\n pointer-events: all;\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 --padding-top: 4px;\n --padding-bottom: 4px;\n\n --gutter: #{spaceCurveValue('tiny')};\n\n @include mq($from: medium) {\n --peek-out: #{$containerMarginMedium};\n --gutter: #{spaceCurveValue('tiny', 'medium')};\n }\n\n @include mq($from: large) {\n --peek-out: #{$containerMarginLarge};\n --gutter: #{spaceCurveValue('tiny', 'large')};\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 &__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 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\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(\"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 ? \"true\" : \"false\");\n });\n\n this.previousElements.forEach((element) => {\n const isStzh = isStzhElement(element);\n element.setAttribute(isStzh ? \"a11y-disabled\" : \"aria-disabled\", reachedFirstSlide ? \"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 this.disabled = true;\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 </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -8,10 +8,10 @@ const StzhCell$1 = /*@__PURE__*/ proxyCustomElement(class StzhCell extends HTMLE
8
8
  this.__registerHost();
9
9
  this.__attachShadow();
10
10
  this.span = 12;
11
- this.spanSmall = 0;
12
- this.spanMedium = 0;
13
- this.spanLarge = 0;
14
- this.spanUltra = 0;
11
+ this.spanSmall = undefined;
12
+ this.spanMedium = undefined;
13
+ this.spanLarge = undefined;
14
+ this.spanUltra = undefined;
15
15
  this.align = "none";
16
16
  this.alignSelf = "auto";
17
17
  }
@@ -22,11 +22,11 @@ const StzhCell$1 = /*@__PURE__*/ proxyCustomElement(class StzhCell extends HTMLE
22
22
  }
23
23
  static get style() { return stzhCellCss; }
24
24
  }, [1, "stzh-cell", {
25
- "span": [2],
26
- "spanSmall": [2, "span-small"],
27
- "spanMedium": [2, "span-medium"],
28
- "spanLarge": [2, "span-large"],
29
- "spanUltra": [2, "span-ultra"],
25
+ "span": [514],
26
+ "spanSmall": [514, "span-small"],
27
+ "spanMedium": [514, "span-medium"],
28
+ "spanLarge": [514, "span-large"],
29
+ "spanUltra": [514, "span-ultra"],
30
30
  "align": [513],
31
31
  "alignSelf": [513, "align-self"]
32
32
  }]);
@@ -1 +1 @@
1
- {"file":"stzh-cell.js","mappings":";;AAAA,MAAM,WAAW,GAAG,omPAAomP;;MCiB3mPA,UAAQ;;;;;gBAEI,EAAE;qBAEG,CAAC;sBAEA,CAAC;qBAEF,CAAC;qBAED,CAAC;iBAG0C,MAAM;qBAGtB,MAAM;;EAE7D,MAAM;IACJ,QACE,EAAC,IAAI,QACH,WACE,KAAK,EAAE;QACL,WAAW,EAAE,IAAI;OAClB,IAED,eAAa,CACT,CACD,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["StzhCell"],"sources":["src/components/stzh-cell/stzh-cell.scss?tag=stzh-cell&encapsulation=shadow","src/components/stzh-cell/stzh-cell.tsx"],"sourcesContent":[":host {\n // couldn't use cell-span and calcuate the with with css calc\n // since IE was calculating the width wrongly with certain viewport widths\n // so calculating it with sass and using the width directly\n --cell-width: 100%;\n\n max-width: 100%;\n width: var(--cell-width);\n flex-basis: var(--cell-width);\n flex-shrink: 0;\n}\n\n/* Align variants */\n\n:host([align=\"left\"]) {\n margin-right: auto;\n}\n\n:host([align=\"right\"]) {\n margin-left: auto;\n}\n\n:host([align=\"middle\"]) {\n margin-left: auto;\n margin-right: auto;\n}\n\n/* Align self variants */\n\n:host([align-self=\"start\"]) {\n align-self: flex-start;\n}\n\n:host([align-self=\"end\"]) {\n align-self: flex-end;\n}\n\n:host([align-self=\"center\"]) {\n align-self: center;\n}\n\n:host([align-self=\"baseline\"]) {\n align-self: baseline;\n}\n\n:host([align-self=\"stretch\"]) {\n align-self: stretch;\n}\n\n@mixin cellProps($breakpoint: null) {\n @for $i from 1 through $gridCells {\n @if $breakpoint {\n :host([span-#{$breakpoint}=\"#{$i}\"]) {\n @include mq($from: $breakpoint) {\n --cell-width: #{100% / ($gridCells / $i)};\n }\n }\n } @else {\n :host([span=\"#{$i}\"]) {\n --cell-width: #{100% / ($gridCells / $i)};\n }\n }\n }\n}\n\n@include cellProps();\n\n@each $breakpoint, $size in $breakpoints {\n @include cellProps($breakpoint);\n}\n\n.stzh-cell {\n height: 100%;\n padding-left: calc(#{$gridGutter} / 2);\n padding-right: calc(#{$gridGutter} / 2);\n\n @include mq($from: small) {\n padding-left: calc(#{$gridGutterSmall} / 2);\n padding-right: calc(#{$gridGutterSmall} / 2);\n }\n\n @include mq($from: medium) {\n padding-left: calc(#{$gridGutterMedium} / 2);\n padding-right: calc(#{$gridGutterMedium} / 2);\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n} from \"@stencil/core\";\n\nimport { Layout } from \"../../index\";\n\n/**\n * @slot - Slot for any content\n */\n@Component({\n tag: \"stzh-cell\",\n styleUrl: \"stzh-cell.scss\",\n shadow: true\n})\nexport class StzhCell {\n /** Default span of each cell */\n @Prop() span: number = 12;\n /** Default span of each cell above small breakpoint */\n @Prop() spanSmall: number = 0;\n /** Default span of each cell above medium breakpoint */\n @Prop() spanMedium: number = 0;\n /** Default span of each cell above large breakpoint */\n @Prop() spanLarge: number = 0;\n /** Default span of each cell above ultra breakpoint */\n @Prop() spanUltra: number = 0;\n\n /** Controlling how cell is aligned in main axis (sets margin: auto to left/right side) */\n @Prop({ reflect: true }) align: \"none\" | \"left\" | \"right\" | \"middle\" = \"none\";\n\n /** Control how cells items are positioned along a container's cross axis */\n @Prop({ reflect: true }) alignSelf: Layout.AlignSelf = \"auto\";\n\n render() {\n return (\n <Host>\n <div\n class={{\n \"stzh-cell\": true\n }}\n >\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"stzh-cell.js","mappings":";;AAAA,MAAM,WAAW,GAAG,omPAAomP;;MCiB3mPA,UAAQ;;;;;gBAEqB,EAAE;;;;;iBAW6B,MAAM;qBAGtB,MAAM;;EAE7D,MAAM;IACJ,QACE,EAAC,IAAI,QACH,WACE,KAAK,EAAE;QACL,WAAW,EAAE,IAAI;OAClB,IAED,eAAa,CACT,CACD,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["StzhCell"],"sources":["src/components/stzh-cell/stzh-cell.scss?tag=stzh-cell&encapsulation=shadow","src/components/stzh-cell/stzh-cell.tsx"],"sourcesContent":[":host {\n // couldn't use cell-span and calcuate the with with css calc\n // since IE was calculating the width wrongly with certain viewport widths\n // so calculating it with sass and using the width directly\n --cell-width: 100%;\n\n max-width: 100%;\n width: var(--cell-width);\n flex-basis: var(--cell-width);\n flex-shrink: 0;\n}\n\n/* Align variants */\n\n:host([align=\"left\"]) {\n margin-right: auto;\n}\n\n:host([align=\"right\"]) {\n margin-left: auto;\n}\n\n:host([align=\"middle\"]) {\n margin-left: auto;\n margin-right: auto;\n}\n\n/* Align self variants */\n\n:host([align-self=\"start\"]) {\n align-self: flex-start;\n}\n\n:host([align-self=\"end\"]) {\n align-self: flex-end;\n}\n\n:host([align-self=\"center\"]) {\n align-self: center;\n}\n\n:host([align-self=\"baseline\"]) {\n align-self: baseline;\n}\n\n:host([align-self=\"stretch\"]) {\n align-self: stretch;\n}\n\n@mixin cellProps($breakpoint: null) {\n @for $i from 1 through $gridCells {\n @if $breakpoint {\n :host([span-#{$breakpoint}=\"#{$i}\"]) {\n @include mq($from: $breakpoint) {\n --cell-width: #{100% / ($gridCells / $i)};\n }\n }\n } @else {\n :host([span=\"#{$i}\"]) {\n --cell-width: #{100% / ($gridCells / $i)};\n }\n }\n }\n}\n\n@include cellProps();\n\n@each $breakpoint, $size in $breakpoints {\n @include cellProps($breakpoint);\n}\n\n.stzh-cell {\n height: 100%;\n padding-left: calc(#{$gridGutter} / 2);\n padding-right: calc(#{$gridGutter} / 2);\n\n @include mq($from: small) {\n padding-left: calc(#{$gridGutterSmall} / 2);\n padding-right: calc(#{$gridGutterSmall} / 2);\n }\n\n @include mq($from: medium) {\n padding-left: calc(#{$gridGutterMedium} / 2);\n padding-right: calc(#{$gridGutterMedium} / 2);\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n} from \"@stencil/core\";\n\nimport { Layout } from \"../../index\";\n\n/**\n * @slot - Slot for any content\n */\n@Component({\n tag: \"stzh-cell\",\n styleUrl: \"stzh-cell.scss\",\n shadow: true\n})\nexport class StzhCell {\n /** Default span of each cell */\n @Prop({ reflect: true }) span: number = 12;\n /** Default span of each cell above small breakpoint */\n @Prop({ reflect: true }) spanSmall: number;\n /** Default span of each cell above medium breakpoint */\n @Prop({ reflect: true }) spanMedium: number;\n /** Default span of each cell above large breakpoint */\n @Prop({ reflect: true }) spanLarge: number;\n /** Default span of each cell above ultra breakpoint */\n @Prop({ reflect: true }) spanUltra: number;\n\n /** Controlling how cell is aligned in main axis (sets margin: auto to left/right side) */\n @Prop({ reflect: true }) align: \"none\" | \"left\" | \"right\" | \"middle\" = \"none\";\n\n /** Control how cells items are positioned along a container's cross axis */\n @Prop({ reflect: true }) alignSelf: Layout.AlignSelf = \"auto\";\n\n render() {\n return (\n <Host>\n <div\n class={{\n \"stzh-cell\": true\n }}\n >\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -33,8 +33,9 @@ const StzhClamp = /*@__PURE__*/ proxyCustomElement(class StzhClamp extends HTMLE
33
33
  this.handleMutaton = () => {
34
34
  this.update();
35
35
  };
36
- this.handleExpandClick = () => {
36
+ this.handleExpandClick = async () => {
37
37
  this.expanded = !this.expanded;
38
+ await this.waitForNextRender();
38
39
  this.stzhExpand.emit({
39
40
  component: "stzh-clamp",
40
41
  expanded: this.expanded
@@ -54,6 +55,9 @@ const StzhClamp = /*@__PURE__*/ proxyCustomElement(class StzhClamp extends HTMLE
54
55
  this.textCloneElement.innerHTML = this.textElement.innerHTML;
55
56
  this.updateClamped();
56
57
  }
58
+ waitForNextRender() {
59
+ return new Promise(resolve => this.renderPromiseResolve = resolve);
60
+ }
57
61
  async componentWillLoad() {
58
62
  if (!this.localization) {
59
63
  this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, "clamp");
@@ -67,6 +71,9 @@ const StzhClamp = /*@__PURE__*/ proxyCustomElement(class StzhClamp extends HTMLE
67
71
  });
68
72
  }
69
73
  componentDidRender() {
74
+ if (this.renderPromiseResolve) {
75
+ this.renderPromiseResolve();
76
+ }
70
77
  this.update();
71
78
  }
72
79
  connectedCallback() {