@oiz/stzh-components 3.2.0-beta1 → 3.2.0

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 (285) hide show
  1. package/dist/cjs/{app-globals-efe6d21d.js → app-globals-d07dad99.js} +2 -2
  2. package/dist/cjs/{app-globals-efe6d21d.js.map → app-globals-d07dad99.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-audio.cjs.entry.js.map +1 -1
  6. package/dist/cjs/stzh-badge_3.cjs.entry.js +3 -3
  7. package/dist/cjs/stzh-badge_3.cjs.entry.js.map +1 -1
  8. package/dist/cjs/stzh-breadcrumb_2.cjs.entry.js.map +1 -1
  9. package/dist/cjs/stzh-card-navigation.cjs.entry.js +6 -4
  10. package/dist/cjs/stzh-card-navigation.cjs.entry.js.map +1 -1
  11. package/dist/cjs/stzh-card-searchresult.cjs.entry.js +3 -1
  12. package/dist/cjs/stzh-card-searchresult.cjs.entry.js.map +1 -1
  13. package/dist/cjs/stzh-card-superteaser.cjs.entry.js +8 -20
  14. package/dist/cjs/stzh-card-superteaser.cjs.entry.js.map +1 -1
  15. package/dist/cjs/stzh-carousel.cjs.entry.js.map +1 -1
  16. package/dist/cjs/stzh-chart.cjs.entry.js +1 -1
  17. package/dist/cjs/stzh-chart.cjs.entry.js.map +1 -1
  18. package/dist/cjs/stzh-clamp.cjs.entry.js.map +1 -1
  19. package/dist/cjs/stzh-components.cjs.js +2 -2
  20. package/dist/cjs/stzh-datalist_2.cjs.entry.js.map +1 -1
  21. package/dist/cjs/stzh-datamessagelist.cjs.entry.js.map +1 -1
  22. package/dist/cjs/stzh-datatable.cjs.entry.js +98 -79
  23. package/dist/cjs/stzh-datatable.cjs.entry.js.map +1 -1
  24. package/dist/cjs/stzh-dialog.cjs.entry.js.map +1 -1
  25. package/dist/cjs/stzh-disturber.cjs.entry.js +1 -1
  26. package/dist/cjs/stzh-disturber.cjs.entry.js.map +1 -1
  27. package/dist/cjs/stzh-ghettobox_3.cjs.entry.js.map +1 -1
  28. package/dist/cjs/stzh-header.cjs.entry.js.map +1 -1
  29. package/dist/cjs/stzh-link.cjs.entry.js.map +1 -1
  30. package/dist/cjs/stzh-pagebottom.cjs.entry.js.map +1 -1
  31. package/dist/cjs/stzh-pagecontent.cjs.entry.js.map +1 -1
  32. package/dist/cjs/stzh-pagetitle-hero.cjs.entry.js.map +1 -1
  33. package/dist/cjs/stzh-pagetitle.cjs.entry.js.map +1 -1
  34. package/dist/cjs/stzh-pi-pagetitle.cjs.entry.js.map +1 -1
  35. package/dist/cjs/stzh-pi-quote.cjs.entry.js.map +1 -1
  36. package/dist/cjs/stzh-progressbar.cjs.entry.js +1 -1
  37. package/dist/cjs/stzh-progressbar.cjs.entry.js.map +1 -1
  38. package/dist/cjs/stzh-search.cjs.entry.js +3 -4
  39. package/dist/cjs/stzh-search.cjs.entry.js.map +1 -1
  40. package/dist/cjs/stzh-sticky-actions.cjs.entry.js.map +1 -1
  41. package/dist/cjs/stzh-sticky.cjs.entry.js.map +1 -1
  42. package/dist/cjs/stzh-table.cjs.entry.js.map +1 -1
  43. package/dist/cjs/stzh-vbz-intro.cjs.entry.js.map +1 -1
  44. package/dist/cjs/stzh-youtube.cjs.entry.js.map +1 -1
  45. package/dist/collection/components/stzh-audio/stzh-audio.js +1 -0
  46. package/dist/collection/components/stzh-audio/stzh-audio.js.map +1 -1
  47. package/dist/collection/components/stzh-badge/stzh-badge.js +1 -1
  48. package/dist/collection/components/stzh-badge/stzh-badge.js.map +1 -1
  49. package/dist/collection/components/stzh-breadcrumb/stzh-breadcrumb.js +1 -1
  50. package/dist/collection/components/stzh-breadcrumb/stzh-breadcrumb.js.map +1 -1
  51. package/dist/collection/components/stzh-button/stzh-button.js +2 -2
  52. package/dist/collection/components/stzh-button/stzh-button.js.map +1 -1
  53. package/dist/collection/components/stzh-card-navigation/stzh-card-navigation.css +5 -0
  54. package/dist/collection/components/stzh-card-navigation/stzh-card-navigation.js +24 -4
  55. package/dist/collection/components/stzh-card-navigation/stzh-card-navigation.js.map +1 -1
  56. package/dist/collection/components/stzh-card-navigation/stzh-card-navigation.stories.js +14 -7
  57. package/dist/collection/components/stzh-card-searchresult/stzh-card-searchresult.css +5 -0
  58. package/dist/collection/components/stzh-card-searchresult/stzh-card-searchresult.js +20 -0
  59. package/dist/collection/components/stzh-card-searchresult/stzh-card-searchresult.js.map +1 -1
  60. package/dist/collection/components/stzh-card-searchresult/stzh-card-searchresult.stories.js +129 -109
  61. package/dist/collection/components/stzh-card-superteaser/stzh-card-superteaser.css +5 -0
  62. package/dist/collection/components/stzh-card-superteaser/stzh-card-superteaser.js +25 -19
  63. package/dist/collection/components/stzh-card-superteaser/stzh-card-superteaser.js.map +1 -1
  64. package/dist/collection/components/stzh-card-superteaser/stzh-card-superteaser.stories.js +116 -98
  65. package/dist/collection/components/stzh-carousel/stzh-carousel.js +1 -1
  66. package/dist/collection/components/stzh-carousel/stzh-carousel.js.map +1 -1
  67. package/dist/collection/components/stzh-chart/stzh-chart.js +1 -1
  68. package/dist/collection/components/stzh-chart/stzh-chart.js.map +1 -1
  69. package/dist/collection/components/stzh-clamp/stzh-clamp.js +1 -1
  70. package/dist/collection/components/stzh-clamp/stzh-clamp.js.map +1 -1
  71. package/dist/collection/components/stzh-datalist/stzh-datalist.js +1 -0
  72. package/dist/collection/components/stzh-datalist/stzh-datalist.js.map +1 -1
  73. package/dist/collection/components/stzh-datamessagelist/stzh-datamessagelist.js +1 -0
  74. package/dist/collection/components/stzh-datamessagelist/stzh-datamessagelist.js.map +1 -1
  75. package/dist/collection/components/stzh-datatable/stzh-datatable.js +100 -80
  76. package/dist/collection/components/stzh-datatable/stzh-datatable.js.map +1 -1
  77. package/dist/collection/components/stzh-datatable/stzh-datatable.stories.js +110 -39
  78. package/dist/collection/components/stzh-dialog/stzh-dialog.js +1 -0
  79. package/dist/collection/components/stzh-dialog/stzh-dialog.js.map +1 -1
  80. package/dist/collection/components/stzh-disturber/stzh-disturber.css +1 -0
  81. package/dist/collection/components/stzh-ghettobox/stzh-ghettobox.js +1 -0
  82. package/dist/collection/components/stzh-ghettobox/stzh-ghettobox.js.map +1 -1
  83. package/dist/collection/components/stzh-header/stzh-header.js +1 -0
  84. package/dist/collection/components/stzh-header/stzh-header.js.map +1 -1
  85. package/dist/collection/components/stzh-link/stzh-link.js +1 -1
  86. package/dist/collection/components/stzh-link/stzh-link.js.map +1 -1
  87. package/dist/collection/components/stzh-pagebottom/stzh-pagebottom.js +1 -0
  88. package/dist/collection/components/stzh-pagebottom/stzh-pagebottom.js.map +1 -1
  89. package/dist/collection/components/stzh-pagecontent/stzh-pagecontent.js +1 -0
  90. package/dist/collection/components/stzh-pagecontent/stzh-pagecontent.js.map +1 -1
  91. package/dist/collection/components/stzh-pagetitle/stzh-pagetitle.js +2 -1
  92. package/dist/collection/components/stzh-pagetitle/stzh-pagetitle.js.map +1 -1
  93. package/dist/collection/components/stzh-pagetitle-hero/stzh-pagetitle-hero.js +1 -0
  94. package/dist/collection/components/stzh-pagetitle-hero/stzh-pagetitle-hero.js.map +1 -1
  95. package/dist/collection/components/stzh-pi-pagetitle/stzh-pi-pagetitle.js +4 -0
  96. package/dist/collection/components/stzh-pi-pagetitle/stzh-pi-pagetitle.js.map +1 -1
  97. package/dist/collection/components/stzh-pi-quote/stzh-pi-quote.js +3 -0
  98. package/dist/collection/components/stzh-pi-quote/stzh-pi-quote.js.map +1 -1
  99. package/dist/collection/components/stzh-progressbar/stzh-progressbar.js +1 -1
  100. package/dist/collection/components/stzh-progressbar/stzh-progressbar.js.map +1 -1
  101. package/dist/collection/components/stzh-search/stzh-search.js +4 -4
  102. package/dist/collection/components/stzh-search/stzh-search.js.map +1 -1
  103. package/dist/collection/components/stzh-sticky/stzh-sticky.js +1 -1
  104. package/dist/collection/components/stzh-sticky/stzh-sticky.js.map +1 -1
  105. package/dist/collection/components/stzh-sticky-actions/stzh-sticky-actions.js +2 -0
  106. package/dist/collection/components/stzh-sticky-actions/stzh-sticky-actions.js.map +1 -1
  107. package/dist/collection/components/stzh-table/stzh-table.js +2 -0
  108. package/dist/collection/components/stzh-table/stzh-table.js.map +1 -1
  109. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.js +3 -0
  110. package/dist/collection/components/stzh-vbz-intro/stzh-vbz-intro.js.map +1 -1
  111. package/dist/collection/components/stzh-youtube/stzh-youtube.js +2 -1
  112. package/dist/collection/components/stzh-youtube/stzh-youtube.js.map +1 -1
  113. package/dist/collection/index.js.map +1 -1
  114. package/dist/components/index.js +1 -1
  115. package/dist/components/index2.js.map +1 -1
  116. package/dist/components/stzh-audio.js.map +1 -1
  117. package/dist/components/stzh-badge2.js +2 -2
  118. package/dist/components/stzh-badge2.js.map +1 -1
  119. package/dist/components/stzh-breadcrumb2.js.map +1 -1
  120. package/dist/components/stzh-button2.js +2 -2
  121. package/dist/components/stzh-button2.js.map +1 -1
  122. package/dist/components/stzh-card-navigation.js +8 -5
  123. package/dist/components/stzh-card-navigation.js.map +1 -1
  124. package/dist/components/stzh-card-searchresult.js +5 -2
  125. package/dist/components/stzh-card-searchresult.js.map +1 -1
  126. package/dist/components/stzh-card-superteaser.js +10 -21
  127. package/dist/components/stzh-card-superteaser.js.map +1 -1
  128. package/dist/components/stzh-carousel2.js.map +1 -1
  129. package/dist/components/stzh-chart.js +2 -2
  130. package/dist/components/stzh-chart.js.map +1 -1
  131. package/dist/components/stzh-clamp2.js.map +1 -1
  132. package/dist/components/stzh-datalist2.js.map +1 -1
  133. package/dist/components/stzh-datamessagelist.js.map +1 -1
  134. package/dist/components/stzh-datatable.js +98 -79
  135. package/dist/components/stzh-datatable.js.map +1 -1
  136. package/dist/components/stzh-dialog2.js.map +1 -1
  137. package/dist/components/stzh-disturber.js +1 -1
  138. package/dist/components/stzh-disturber.js.map +1 -1
  139. package/dist/components/stzh-ghettobox2.js.map +1 -1
  140. package/dist/components/stzh-header.js.map +1 -1
  141. package/dist/components/stzh-link2.js.map +1 -1
  142. package/dist/components/stzh-pagebottom.js.map +1 -1
  143. package/dist/components/stzh-pagecontent.js.map +1 -1
  144. package/dist/components/stzh-pagetitle-hero.js.map +1 -1
  145. package/dist/components/stzh-pagetitle.js.map +1 -1
  146. package/dist/components/stzh-pi-pagetitle.js.map +1 -1
  147. package/dist/components/stzh-pi-quote.js.map +1 -1
  148. package/dist/components/stzh-progressbar.js +2 -2
  149. package/dist/components/stzh-progressbar.js.map +1 -1
  150. package/dist/components/stzh-search.js +3 -4
  151. package/dist/components/stzh-search.js.map +1 -1
  152. package/dist/components/stzh-sticky-actions.js.map +1 -1
  153. package/dist/components/stzh-sticky2.js.map +1 -1
  154. package/dist/components/stzh-table.js.map +1 -1
  155. package/dist/components/stzh-vbz-intro.js.map +1 -1
  156. package/dist/components/stzh-youtube.js.map +1 -1
  157. package/dist/esm/{app-globals-93678901.js → app-globals-b0bdc495.js} +2 -2
  158. package/dist/esm/{app-globals-93678901.js.map → app-globals-b0bdc495.js.map} +1 -1
  159. package/dist/esm/index.js.map +1 -1
  160. package/dist/esm/loader.js +2 -2
  161. package/dist/esm/stzh-audio.entry.js.map +1 -1
  162. package/dist/esm/stzh-badge_3.entry.js +3 -3
  163. package/dist/esm/stzh-badge_3.entry.js.map +1 -1
  164. package/dist/esm/stzh-breadcrumb_2.entry.js.map +1 -1
  165. package/dist/esm/stzh-card-navigation.entry.js +6 -4
  166. package/dist/esm/stzh-card-navigation.entry.js.map +1 -1
  167. package/dist/esm/stzh-card-searchresult.entry.js +3 -1
  168. package/dist/esm/stzh-card-searchresult.entry.js.map +1 -1
  169. package/dist/esm/stzh-card-superteaser.entry.js +8 -20
  170. package/dist/esm/stzh-card-superteaser.entry.js.map +1 -1
  171. package/dist/esm/stzh-carousel.entry.js.map +1 -1
  172. package/dist/esm/stzh-chart.entry.js +1 -1
  173. package/dist/esm/stzh-chart.entry.js.map +1 -1
  174. package/dist/esm/stzh-clamp.entry.js.map +1 -1
  175. package/dist/esm/stzh-components.js +2 -2
  176. package/dist/esm/stzh-datalist_2.entry.js.map +1 -1
  177. package/dist/esm/stzh-datamessagelist.entry.js.map +1 -1
  178. package/dist/esm/stzh-datatable.entry.js +98 -79
  179. package/dist/esm/stzh-datatable.entry.js.map +1 -1
  180. package/dist/esm/stzh-dialog.entry.js.map +1 -1
  181. package/dist/esm/stzh-disturber.entry.js +1 -1
  182. package/dist/esm/stzh-disturber.entry.js.map +1 -1
  183. package/dist/esm/stzh-ghettobox_3.entry.js.map +1 -1
  184. package/dist/esm/stzh-header.entry.js.map +1 -1
  185. package/dist/esm/stzh-link.entry.js.map +1 -1
  186. package/dist/esm/stzh-pagebottom.entry.js.map +1 -1
  187. package/dist/esm/stzh-pagecontent.entry.js.map +1 -1
  188. package/dist/esm/stzh-pagetitle-hero.entry.js.map +1 -1
  189. package/dist/esm/stzh-pagetitle.entry.js.map +1 -1
  190. package/dist/esm/stzh-pi-pagetitle.entry.js.map +1 -1
  191. package/dist/esm/stzh-pi-quote.entry.js.map +1 -1
  192. package/dist/esm/stzh-progressbar.entry.js +1 -1
  193. package/dist/esm/stzh-progressbar.entry.js.map +1 -1
  194. package/dist/esm/stzh-search.entry.js +3 -4
  195. package/dist/esm/stzh-search.entry.js.map +1 -1
  196. package/dist/esm/stzh-sticky-actions.entry.js.map +1 -1
  197. package/dist/esm/stzh-sticky.entry.js.map +1 -1
  198. package/dist/esm/stzh-table.entry.js.map +1 -1
  199. package/dist/esm/stzh-vbz-intro.entry.js.map +1 -1
  200. package/dist/esm/stzh-youtube.entry.js.map +1 -1
  201. package/dist/stzh-components/index.esm.js.map +1 -1
  202. package/dist/stzh-components/p-069e181f.entry.js.map +1 -1
  203. package/dist/stzh-components/p-09480ffe.entry.js.map +1 -1
  204. package/dist/stzh-components/p-1c75b53f.entry.js +2 -0
  205. package/dist/stzh-components/p-1c75b53f.entry.js.map +1 -0
  206. package/dist/stzh-components/p-29c1cb5c.entry.js.map +1 -1
  207. package/dist/stzh-components/p-30a522e0.entry.js.map +1 -1
  208. package/dist/stzh-components/p-32cb5b94.entry.js.map +1 -1
  209. package/dist/stzh-components/p-3cc6f193.entry.js.map +1 -1
  210. package/dist/stzh-components/p-429d2a9b.entry.js.map +1 -1
  211. package/dist/stzh-components/{p-30a7c058.entry.js → p-4b0cb255.entry.js} +2 -2
  212. package/dist/stzh-components/p-4b0cb255.entry.js.map +1 -0
  213. package/dist/stzh-components/p-513b7fcd.entry.js +2 -0
  214. package/dist/stzh-components/p-513b7fcd.entry.js.map +1 -0
  215. package/dist/stzh-components/p-6e49f741.js +2 -0
  216. package/dist/stzh-components/{p-2d405b51.js.map → p-6e49f741.js.map} +1 -1
  217. package/dist/stzh-components/{p-3912a256.entry.js → p-8273e37d.entry.js} +2 -2
  218. package/dist/stzh-components/p-8273e37d.entry.js.map +1 -0
  219. package/dist/stzh-components/p-909f7fc0.entry.js.map +1 -1
  220. package/dist/stzh-components/p-94947ab0.entry.js.map +1 -1
  221. package/dist/stzh-components/{p-d9fa718c.entry.js → p-995bee31.entry.js} +2 -2
  222. package/dist/stzh-components/p-995bee31.entry.js.map +1 -0
  223. package/dist/stzh-components/p-9c1b3929.entry.js.map +1 -1
  224. package/dist/stzh-components/p-aa3e4203.entry.js.map +1 -1
  225. package/dist/stzh-components/p-b273f95c.entry.js.map +1 -1
  226. package/dist/stzh-components/p-b397337c.entry.js.map +1 -1
  227. package/dist/stzh-components/p-b41d255f.entry.js.map +1 -1
  228. package/dist/stzh-components/{p-2ba166dd.entry.js → p-b5c781bc.entry.js} +2 -2
  229. package/dist/stzh-components/{p-2ba166dd.entry.js.map → p-b5c781bc.entry.js.map} +1 -1
  230. package/dist/stzh-components/{p-ab2aee99.entry.js → p-b87781f5.entry.js} +2 -2
  231. package/dist/stzh-components/{p-ab2aee99.entry.js.map → p-b87781f5.entry.js.map} +1 -1
  232. package/dist/stzh-components/p-ba716237.entry.js.map +1 -1
  233. package/dist/stzh-components/p-bdff55a6.entry.js.map +1 -1
  234. package/dist/stzh-components/p-bfe8d5cc.entry.js +2 -0
  235. package/dist/stzh-components/p-bfe8d5cc.entry.js.map +1 -0
  236. package/dist/stzh-components/p-cb569e91.entry.js.map +1 -1
  237. package/dist/stzh-components/p-d0ecdd5b.entry.js.map +1 -1
  238. package/dist/stzh-components/p-d48ecb2f.entry.js.map +1 -1
  239. package/dist/stzh-components/p-d7697cf8.entry.js.map +1 -1
  240. package/dist/stzh-components/p-dcfe93da.entry.js.map +1 -1
  241. package/dist/stzh-components/{p-8b04698a.entry.js → p-f18978b5.entry.js} +2 -2
  242. package/dist/stzh-components/p-f18978b5.entry.js.map +1 -0
  243. package/dist/stzh-components/stzh-components.esm.js +1 -1
  244. package/dist/stzh-components/stzh-components.esm.js.map +1 -1
  245. package/dist/types/components/stzh-audio/stzh-audio.d.ts +1 -0
  246. package/dist/types/components/stzh-breadcrumb/stzh-breadcrumb.d.ts +1 -1
  247. package/dist/types/components/stzh-card-navigation/stzh-card-navigation.d.ts +2 -0
  248. package/dist/types/components/stzh-card-searchresult/stzh-card-searchresult.d.ts +2 -0
  249. package/dist/types/components/stzh-card-superteaser/stzh-card-superteaser.d.ts +3 -1
  250. package/dist/types/components/stzh-carousel/stzh-carousel.d.ts +1 -1
  251. package/dist/types/components/stzh-clamp/stzh-clamp.d.ts +1 -1
  252. package/dist/types/components/stzh-datalist/stzh-datalist.d.ts +1 -0
  253. package/dist/types/components/stzh-datamessagelist/stzh-datamessagelist.d.ts +1 -0
  254. package/dist/types/components/stzh-datatable/stzh-datatable.d.ts +2 -1
  255. package/dist/types/components/stzh-dialog/stzh-dialog.d.ts +1 -0
  256. package/dist/types/components/stzh-ghettobox/stzh-ghettobox.d.ts +1 -0
  257. package/dist/types/components/stzh-header/stzh-header.d.ts +1 -0
  258. package/dist/types/components/stzh-link/stzh-link.d.ts +1 -1
  259. package/dist/types/components/stzh-pagebottom/stzh-pagebottom.d.ts +1 -0
  260. package/dist/types/components/stzh-pagecontent/stzh-pagecontent.d.ts +1 -0
  261. package/dist/types/components/stzh-pagetitle/stzh-pagetitle.d.ts +2 -1
  262. package/dist/types/components/stzh-pagetitle-hero/stzh-pagetitle-hero.d.ts +1 -0
  263. package/dist/types/components/stzh-pi-pagetitle/stzh-pi-pagetitle.d.ts +4 -0
  264. package/dist/types/components/stzh-pi-quote/stzh-pi-quote.d.ts +3 -0
  265. package/dist/types/components/stzh-search/stzh-search.d.ts +1 -0
  266. package/dist/types/components/stzh-sticky/stzh-sticky.d.ts +1 -1
  267. package/dist/types/components/stzh-sticky-actions/stzh-sticky-actions.d.ts +2 -0
  268. package/dist/types/components/stzh-table/stzh-table.d.ts +2 -0
  269. package/dist/types/components/stzh-vbz-intro/stzh-vbz-intro.d.ts +3 -0
  270. package/dist/types/components/stzh-youtube/stzh-youtube.d.ts +2 -1
  271. package/dist/types/components.d.ts +26 -2
  272. package/dist/types/index.d.ts +4 -0
  273. package/dist/vscode-data.json +13 -1
  274. package/package.json +1 -1
  275. package/dist/stzh-components/p-2d405b51.js +0 -2
  276. package/dist/stzh-components/p-30a7c058.entry.js.map +0 -1
  277. package/dist/stzh-components/p-3912a256.entry.js.map +0 -1
  278. package/dist/stzh-components/p-39acdb68.entry.js +0 -2
  279. package/dist/stzh-components/p-39acdb68.entry.js.map +0 -1
  280. package/dist/stzh-components/p-8b04698a.entry.js.map +0 -1
  281. package/dist/stzh-components/p-acef653a.entry.js +0 -2
  282. package/dist/stzh-components/p-acef653a.entry.js.map +0 -1
  283. package/dist/stzh-components/p-c169f243.entry.js +0 -2
  284. package/dist/stzh-components/p-c169f243.entry.js.map +0 -1
  285. package/dist/stzh-components/p-d9fa718c.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["stzhCarouselCss","reducedMotionMedia","window","matchMedia","carouselCounter","StzhCarousel","this","slideScrollLeft","scrolledByAutoplay","scrollTimeoutId","lastX","startX","startScrollLeft","disableTimeoutId","stoppedDragging","onReducedMotionMediaChange","autoplayDisabledByMotionMedia","matches","onMouseenter","preventAutoplayPause","autoplayDisabledByMouse","onMouseleave","onFocusin","autoplayDisabledByFocus","onFocusout","onPreviousClick","scrollToPreviousSnapPoint","onNextClick","scrollToNextSnapPoint","onSlideResize","scrollElement","itemSize","sizingMethod","onMutation","slideElements","Array","from","children","forEach","slide","index","setAttribute","localization","slideLabel","replace","toString","length","previousElements","element","querySelectorAll","nextElements","navigationTextElements","onScroll","direction","scrollLeft","scrolling","preventAutoplayStop","autoplayDisabledByScroll","autoplay","stzhSlideStart","emit","component","calculateSlide","update","stzhSlidePassed","clearTimeout","setTimeout","onScrollEnd","scrollTimeout","style","removeProperty","tabThrough","variant","ariaLive","currentSlides","slidesLabel","stzhSlideEnd","onMediaChange","ultra","media","large","medium","small","slidesUltra","slidesLarge","slidesMedium","slidesSmall","slides","currentSwipeSlides","mouseMove","event","distance","clientX","startDragging","preventDefault","setProperty","dragging","autoplayDisabledByDrag","addEventListener","stopDragging","capture","checkClick","Math","abs","minimumReached","distanceQuickSwipe","endDraddingLeft","finalLeft","scrollTo","left","behavior","slideToPrevious","slideToNext","removeEventListener","distancePreventClick","stopPropagation","autoplayInterval","hasReachedLastSlide","slideTo","behaviour","scrollToSlide","disabledWatcher","disabled","passive","preventMouseDragWatcher","preventMouseDrag","autoplayRunningWatcher","autoplayIntervalId","clearInterval","autoplayRunning","setInterval","autoplayTimeout","snapAlignWatcher","shouldSnap","inertWatcher","isActive","inert","removeAttribute","prevNextNavigationWatcher","setAriaAttributes","isStzh","isStzhElement","prevNextHiddenWatcher","hideElements","setHiddenAttribute","nextPrevDisabledWatcher","reachedFirstSlide","reachedLastSlide","nextElementsWatcher","nextElement","carouselId","previousElementsWatcher","previousElement","css","getComputedStyle","firstElementChild","offsetWidth","parseInt","getPropertyValue","round","previousIndex","canSnap","scrollWidth","ceil","componentWillLoad","stzhComponents","utils","fetchTranslations","componentDidLoad","connectedCallback","addMediaChangeListener","resizeObserver","ResizeObserver","observe","mutationObserver","MutationObserver","childList","subtree","disconnectedCallback","removeMediaChangeListener","disconnect","render","classes","nonInteractive","h","Host","class","name","ref","el","id","withTrack","_a","width","_b"],"sources":["src/components/stzh-carousel/stzh-carousel.scss?tag=stzh-carousel&encapsulation=scoped","src/components/stzh-carousel/stzh-carousel.tsx"],"sourcesContent":["/**\n * @prop --padding-top: Padding Top of scroll container\n * @prop --padding-bottom: Padding Bottom of scroll container\n * @prop --peek-in: Peek size (inside container) showing the next/previous slides\n * @prop --peek-out: Negative peek size (breakout of container) showing the next/previous slides\n * @prop --gutter: Space between the slides\n * @prop --snap-stop: Snap stop of scroll container\n */\n\n:host {\n @include spaceCurve('--gutter', 'regular');\n --peek: calc(var(--peek-in, 0px) + var(--peek-out, 0px));\n --peek-in: calc(#{space('medium')} + #{spaceCurveValue('regular')});\n // --peek-out: #{space('medium')};\n --padding-top: 0px;\n --padding-bottom: 0px;\n --snap-stop: always;\n --slides: 1;\n --slide-size: calc((100% - (var(--slides) - 1) * var(--gutter)) / var(--slides));\n\n @include mq($from: small) {\n --peek-in: calc(#{space('xxxlarge')} + #{spaceCurveValue('regular', 'medium')});\n // --peek-out: #{$containerMarginSmall};\n }\n\n @include mq($from: medium) {\n --peek-in: calc(#{space('big')} + #{spaceCurveValue('regular', 'large')});\n // --peek-out: 0px;\n }\n\n ::slotted(*) {\n width: 100%;\n height: 100%;\n flex-shrink: 0;\n scroll-snap-align: start;\n scroll-snap-stop: var(--snap-stop);\n transition: opacity $baseTransitionAnimationSpeed;\n\n &:where([inert]) {\n opacity: 0.5;\n }\n\n &:where(stzh-figure[inert]) {\n --caption-opacity: 0;\n }\n\n img {\n -webkit-user-drag: none;\n user-drag: none;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n }\n }\n\n ::slotted([slot=\"actions\"]) {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n pointer-events: none;\n padding: 0 var(--peek);\n\n @media print {\n display: none;\n }\n\n stzh-text {\n width: auto;\n }\n\n stzh-button {\n pointer-events: all;\n }\n\n .stzh-carousel-action-previous,\n .stzh-carousel-action-next {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n }\n\n .stzh-carousel-action-previous {\n left: calc((#{space('medium')} + #{spaceCurveValue('regular')}) / -1);\n\n @include mq($from: small) {\n left: calc((#{space('xxxlarge')} + #{spaceCurveValue('regular', 'medium')}) / -1);\n }\n\n @include mq($from: medium) {\n left: calc((#{space('big')} + #{spaceCurveValue('regular', 'large')}) / -1);\n }\n }\n\n .stzh-carousel-action-next {\n right: calc((#{space('medium')} + #{spaceCurveValue('regular')}) / -1);\n\n @include mq($from: small) {\n right: calc((#{space('xxxlarge')} + #{spaceCurveValue('regular', 'medium')}) / -1);\n }\n\n @include mq($from: medium) {\n right: calc((#{space('big')} + #{spaceCurveValue('regular', 'large')}) / -1);\n }\n }\n }\n\n ::slotted(stzh-ratio[slot=\"actions\"]) {\n stzh-space,\n stzh-hspace,\n stzh-vspace {\n padding: space('xsmall');\n }\n }\n\n ::slotted(stzh-ratio[slot=\"actions\"]) {\n --background-color: transparent;\n }\n\n /* Card */\n\n &[variant=\"cards\"] {\n @include spaceCurve('--gutter', 'tiny');\n --padding-top: 4px;\n --padding-bottom: 4px;\n\n @include mq($from: medium) {\n --peek-out: #{$containerMarginMedium};\n }\n\n @include mq($from: large) {\n --peek-out: #{$containerMarginLarge};\n }\n\n @include mq($from: ultra) {\n --peek-out: calc((100vw - #{$containerMaxWidth} - var(--stzh-scrollbar-width, 0px)) / 2);\n }\n }\n\n &[variant=\"cards\"] ::slotted([slot=\"actions\"]) {\n position: relative;\n order: 1;\n margin-top: calc(#{space('medium')} - var(--padding-bottom));\n }\n\n /* No peek */\n\n &[no-peek]:not([no-peek=\"false\"]) {\n --peek-out: 0px;\n --peek-in: 0px;\n }\n}\n\n.stzh-carousel {\n position: relative;\n display: flex;\n flex-direction: column;\n width: calc(100% + var(--peek-out) * 2);\n margin-left: calc(var(--peek-out) / -1);\n margin-right: calc(var(--peek-out) / -1);\n\n &__vhidden {\n @include visuallyhidden;\n }\n\n &__indicator {\n @include spaceCurve('margin-top', 'regular');\n margin-left: auto;\n margin-right: auto;\n position: relative;\n width: 230px;\n height: 4px;\n background-color: $colorBlack20op;\n }\n\n &__indicator-track {\n position: absolute;\n background-color: $colorSecondary50;\n height: 6px;\n left: 0px;\n bottom: 0px;\n transition-property: left, width;\n transition-duration: $baseTransitionAnimationSpeed;\n }\n\n &__scroll {\n position: relative;\n grid-area: slides;\n display: grid;\n width: 100%;\n height: 100%;\n place-items: center;\n overflow-x: auto;\n overflow-y: visible;\n grid-auto-flow: column;\n grid-auto-columns: var(--slide-size);\n grid-auto-rows: 100%;\n column-gap: var(--gutter);\n -webkit-overflow-scrolling: touch;\n scrollbar-width: none;\n -ms-overflow-style: none;\n scroll-behavior: smooth;\n overscroll-behavior-x: contain;\n scroll-snap-type: x mandatory;\n scroll-padding: 0 var(--peek);\n padding: var(--padding-top) var(--peek) var(--padding-bottom);\n\n @media (prefers-reduced-motion: reduce) {\n scroll-behavior: auto;\n }\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n &--is-draggable &__scroll {\n cursor: grab;\n }\n\n &--is-dragging &__scroll {\n cursor: grabbing;\n }\n\n &--is-disabled &__scroll {\n cursor: not-allowed;\n overflow: hidden;\n }\n\n &--is-non-interactive {\n pointer-events: none;\n touch-action: none;\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Method,\n Event,\n EventEmitter,\n Watch,\n State\n} from \"@stencil/core\";\n\nimport {\n StzhCarouselSlideStartEvent,\n StzhCarouselSlidePassedEvent,\n StzhCarouselSlideEndEvent\n} from \"../../index\";\n\nimport { isStzhElement } from \"../../utils/utils\";\nimport { StzhCarouselLocalizedText } from \"./stzh-carousel.localization\"\n\nimport {\n media,\n addMediaChangeListener,\n removeMediaChangeListener\n} from '../../utils/media-utils';\n\nconst reducedMotionMedia = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n\nlet carouselCounter = 0;\n\n/*\n* Inspired by:\n*\n* - https://github.com/barthy-koeln/scroll-snap-slider\n* - https://tannerhodges.github.io/snap-slider/\n* - https://www.w3.org/WAI/ARIA/apg/patterns/carousel/examples/carousel-1-prev-next/\n* - https://dev.to/jasonwebb/how-to-build-a-more-accessible-carousel-or-slider-35lp\n* - http://web-accessibility.carnegiemuseums.org/code/carousels/\n*/\n\n/**\n * @slot - Slot any element\n * @slot actions - Slot for `stzh-actions` element\n */\n@Component({\n tag: \"stzh-carousel\",\n styleUrl: \"stzh-carousel.scss\",\n scoped: true\n})\nexport class StzhCarousel {\n /** Translation strings */\n @Prop() localization: StzhCarouselLocalizedText;\n\n /** Carousel variant */\n @Prop({ reflect: true }) variant: \"default\" | \"cards\" = \"default\";\n\n /** Whether carousel is disabled */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Whether to remove inside/outside peek. */\n @Prop({ reflect: true }) noPeek: boolean = false;\n\n /** Slides number */\n @Prop() slides: number = 1;\n /** Slides number above small breakpoint */\n @Prop() slidesSmall: number = 0;\n /** Slides number above medium breakpoint */\n @Prop() slidesMedium: number = 0;\n /** Slides number above large breakpoint */\n @Prop() slidesLarge: number = 0;\n /** Slides number above ultra breakpoint */\n @Prop() slidesUltra: number = 0;\n\n // /** How many slides per swipe */\n // @Prop() swipeSlides: number = 1;\n // /** How many slides per swipe above small breakpoint */\n // @Prop() swipeSlidesSmall: number = 0;\n // /** How many slides per swipe above medium breakpoint */\n // @Prop() swipeSlidesMedium: number = 0;\n // /** How many slides per swipe above large breakpoint */\n // @Prop() swipeSlidesLarge: number = 0;\n // /** How many slides per swipe above ultra breakpoint */\n // @Prop() swipeSlidesUltra: number = 0;\n\n /** Active slide (readonly) */\n @Prop() slide: number = 0;\n\n /**\n * Whether autoplay is enabled.\n * Gets paused, when user has focus inside carousel element or hovers over it.\n * Also when reduced motion media query is active or carousel is set disabled.\n * Gets disabled permanently, when user interacts with carousel manually (clicks prev/next, scrolls or drags)\n */\n @Prop({ mutable: true }) autoplay: boolean = false;\n\n /** Timeout delay in milliseconds used for autoplay */\n @Prop() autoplayTimeout: number = 3000;\n\n /** Whether scrolling & dragging should be disabled */\n @Prop() nonInteractive: boolean = false;\n\n /** Whether drag with mouse should be disabled (still will be able to scroll with wheeling or arrow keys) */\n @Prop() preventMouseDrag: boolean = false;\n\n /** Whether autoplay pause should be prevented when user hovers/focuses carousel */\n @Prop() preventAutoplayPause: boolean = false;\n\n /** Whether autoplay stop should be prevented when user scroll or drags carousel */\n @Prop() preventAutoplayStop: boolean = false;\n\n /**\n * Enable all slides to be tabbable (will disable prev/next arrows from being tabbable).\n * By default only the visible slides will be tabbable and the prev/next can be used to change slides\n * (enabled when `variant` is set to `cards`).\n */\n @Prop() tabThrough: boolean = false;\n\n /** Whether indicator should be shown */\n @Prop() withTrack: boolean = false;\n\n\n /** Timeout delay in milliseconds used to catch the end of scroll events */\n @State() scrollTimeout: number = 100;\n\n /** Minimum drag distance that needs to be reached to swipe to next/previous slide(s). */\n @State() distanceQuickSwipe: number = 40;\n\n /** Minimum drag distance that neeeds to be reached to prevent click on slide elements. */\n @State() distancePreventClick: number = 6;\n\n @Element() element: HTMLStzhCarouselElement;\n\n /** Slide start event */\n @Event() stzhSlideStart: EventEmitter<StzhCarouselSlideStartEvent>;\n\n /** Slide passed event */\n @Event() stzhSlidePassed: EventEmitter<StzhCarouselSlidePassedEvent>;\n\n /** Slide end event */\n @Event() stzhSlideEnd: EventEmitter<StzhCarouselSlideEndEvent>;\n\n /** Scroll to a slide by index */\n @Method()\n async slideTo(index, behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n this.scrollToSlide(index, behaviour);\n }\n\n /** Scroll to previous snap point */\n @Method()\n async slideToPrevious(behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n this.scrollToPreviousSnapPoint(behaviour);\n }\n\n /** Scroll to next snap point */\n @Method()\n async slideToNext(behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n this.scrollToNextSnapPoint(behaviour);\n }\n\n @Watch(\"disabled\")\n disabledWatcher() {\n if (this.disabled) {\n this.scrollElement && this.scrollElement.removeEventListener(\"scroll\", this.onScroll);\n this.scrollTimeoutId && window.clearTimeout(this.scrollTimeoutId);\n this.scrollTimeoutId = null;\n this.element.removeEventListener(\"mouseenter\", this.onMouseenter);\n this.element.removeEventListener(\"mouseleave\", this.onMouseleave);\n this.element.removeEventListener(\"focusin\", this.onFocusin);\n this.element.removeEventListener(\"focusout\", this.onFocusout);\n this.onReducedMotionMediaChange();\n reducedMotionMedia && reducedMotionMedia.removeEventListener(\"change\", this.onReducedMotionMediaChange);\n } else {\n this.scrollElement && this.scrollElement.addEventListener(\"scroll\", this.onScroll, { passive: true });\n this.element.addEventListener(\"mouseenter\", this.onMouseenter);\n this.element.addEventListener(\"mouseleave\", this.onMouseleave);\n this.element.addEventListener(\"focusin\", this.onFocusin);\n this.element.addEventListener(\"focusout\", this.onFocusout);\n reducedMotionMedia && reducedMotionMedia.addEventListener(\"change\", this.onReducedMotionMediaChange);\n }\n }\n\n @Watch(\"disabled\")\n @Watch(\"preventMouseDrag\")\n preventMouseDragWatcher() {\n if (this.preventMouseDrag || this.disabled) {\n this.disableTimeoutId && window.clearTimeout(this.disableTimeoutId);\n this.disableTimeoutId = null;\n this.scrollElement && this.scrollElement.removeEventListener(\"mousedown\", this.startDragging);\n this.lastX = null;\n } else {\n this.scrollElement && this.scrollElement.addEventListener(\"mousedown\", this.startDragging);\n }\n }\n\n @Watch(\"autoplay\")\n @Watch(\"autoplayDisabledByMotionMedia\")\n @Watch(\"autoplayDisabledByMouse\")\n @Watch(\"autoplayDisabledByFocus\")\n @Watch(\"autoplayDisabledByScroll\")\n @Watch(\"autoplayDisabledByDrag\")\n @Watch(\"autoplayTimeout\")\n @Watch(\"disabled\")\n autoplayRunningWatcher() {\n if (\n !this.autoplay\n || this.disabled\n || this.autoplayDisabledByMotionMedia\n || this.autoplayDisabledByMouse\n || this.autoplayDisabledByFocus\n || this.autoplayDisabledByScroll\n || this.autoplayDisabledByDrag\n ) {\n this.autoplayIntervalId && window.clearInterval(this.autoplayIntervalId);\n this.autoplayIntervalId = null;\n this.autoplayRunning = false;\n } else {\n this.autoplayIntervalId && window.clearInterval(this.autoplayIntervalId);\n this.autoplayIntervalId = window.setInterval(this.autoplayInterval, this.autoplayTimeout);\n this.autoplayRunning = true;\n }\n }\n\n @Watch(\"slideElements\")\n @Watch(\"currentSwipeSlides\")\n snapAlignWatcher() {\n this.slideElements.forEach((slide, index) => {\n const shouldSnap = (index - this.currentSwipeSlides) % this.currentSwipeSlides === 0;\n\n if (shouldSnap) {\n slide.style.removeProperty(\"scroll-snap-align\");\n } else {\n slide.style.setProperty(\"scroll-snap-align\", \"none\");\n }\n });\n }\n\n @Watch(\"slide\")\n @Watch(\"variant\")\n @Watch(\"slideElements\")\n @Watch(\"currentSlides\")\n @Watch(\"tabThrough\")\n inertWatcher() {\n this.slideElements.forEach((slide, index) => {\n const isActive = this.tabThrough\n || this.variant === \"cards\"\n || index >= this.slide && index < this.slide + this.currentSlides;\n\n slide.inert = !isActive;\n\n if (isActive) {\n slide.removeAttribute(\"aria-hidden\");\n } else {\n slide.setAttribute(\"aria-hidden\", isActive ? \"false\" : \"true\");\n }\n });\n }\n\n @Watch(\"variant\")\n @Watch(\"tabThrough\")\n @Watch(\"nextElements\")\n @Watch(\"previousElements\")\n prevNextNavigationWatcher() {\n const tabThrough = this.tabThrough || this.variant === \"cards\";\n\n const setAriaAttributes = (element) => {\n const isStzh = isStzhElement(element);\n\n if (tabThrough) {\n element.setAttribute(\"aria-hidden\", \"true\");\n element.setAttribute(isStzh ? \"a11y-tabindex\" : \"tabindex\", \"-1\");\n } else {\n element.removeAttribute(\"aria-hidden\");\n element.removeAttribute(isStzh ? \"a11y-tabindex\" : \"tabindex\");\n }\n }\n\n this.nextElements.forEach(setAriaAttributes);\n this.previousElements.forEach(setAriaAttributes);\n }\n\n @Watch(\"currentSlides\")\n @Watch(\"slideElements\")\n @Watch(\"nextElements\")\n @Watch(\"previousElements\")\n @Watch(\"navigationTextElements\")\n prevNextHiddenWatcher() {\n const hideElements = this.slideElements.length <= this.currentSlides;\n\n const setHiddenAttribute = (element) => {\n if (hideElements) {\n element.setAttribute(\"hidden\", \"\");\n } else {\n element.removeAttribute(\"hidden\");\n }\n };\n\n this.navigationTextElements.forEach(setHiddenAttribute);\n this.nextElements.forEach(setHiddenAttribute);\n this.previousElements.forEach(setHiddenAttribute);\n }\n\n @Watch(\"disabled\")\n @Watch(\"slide\")\n @Watch(\"currentSlides\")\n @Watch(\"slideElements\")\n @Watch(\"nextElements\")\n @Watch(\"previousElements\")\n nextPrevDisabledWatcher() {\n if (!this.scrollElement) {\n return;\n }\n\n const reachedFirstSlide = this.slide === 0;\n const reachedLastSlide = this.hasReachedLastSlide();\n\n this.nextElements.forEach((element) => {\n const isStzh = isStzhElement(element);\n element.setAttribute(isStzh ? \"a11y-disabled\" : \"aria-disabled\", reachedLastSlide || this.disabled ? \"true\" : \"false\");\n });\n\n this.previousElements.forEach((element) => {\n const isStzh = isStzhElement(element);\n element.setAttribute(isStzh ? \"a11y-disabled\" : \"aria-disabled\", reachedFirstSlide || this.disabled ? \"true\" : \"false\");\n });\n }\n\n @Watch(\"nextElements\")\n nextElementsWatcher() {\n this.nextElements.forEach((nextElement) => {\n const isStzh = isStzhElement(nextElement);\n\n nextElement.addEventListener(\"click\", this.onNextClick);\n nextElement.setAttribute(isStzh ? \"a11y-controls\" : \"aria-controls\", `${this.carouselId}-scroll`);\n });\n }\n\n @Watch(\"previousElements\")\n previousElementsWatcher() {\n this.previousElements.forEach((previousElement) => {\n const isStzh = isStzhElement(previousElement);\n\n previousElement.addEventListener(\"click\", this.onPreviousClick);\n previousElement.setAttribute(isStzh ? \"a11y-controls\" : \"aria-controls\", `${this.carouselId}-scroll`);\n });\n }\n\n /** Whether autoplay is currently running */\n @State() autoplayRunning: boolean = false;\n\n /** Whether autoplay is currently disabled by reduced motion media */\n @State() autoplayDisabledByMotionMedia: boolean = false;\n\n /** Whether autoplay is currently disabled by mouse */\n @State() autoplayDisabledByMouse: boolean = false;\n\n /** Whether autoplay is currently disabled by focus */\n @State() autoplayDisabledByFocus: boolean = false;\n\n /** Whether autoplay is currently disabled by scroll */\n @State() autoplayDisabledByScroll: boolean = false;\n\n /** Whether autoplay is currently disabled by drag */\n @State() autoplayDisabledByDrag: boolean = false;\n\n /** Whether user is currently dragging with mouse */\n @State() dragging: boolean = false;\n\n /** Whether user is currently scrolling */\n @State() scrolling: boolean = false;\n\n /** Aria live text */\n @State() ariaLive: string = \"\";\n\n /** Currently shown slides */\n @State() currentSlides: number = 1;\n\n /** How many slides should be moved currently */\n @State() currentSwipeSlides: number = 1;\n\n /** Slide elements */\n @State() slideElements: HTMLElement[] = [];\n\n /** Previous elements */\n @State() previousElements: HTMLElement[] = [];\n\n /** Next elements */\n @State() nextElements: HTMLElement[] = [];\n\n /** Navigation text elements */\n @State() navigationTextElements: HTMLElement[] = [];\n\n private scrollElement: HTMLElement;\n\n /** Unique generated id */\n private carouselId: string;\n\n /** Current scroll position */\n private slideScrollLeft: number = 0;\n\n /** Flag whether scrolling was done by user or not */\n private scrolledByAutoplay: boolean = false;\n\n /** Timeout ID used to catch the end of scroll events */\n private scrollTimeoutId: number = null;\n\n /** Interval ID for autoplay */\n private autoplayIntervalId: number;\n\n /** Last drag event position */\n private lastX: number = null;\n\n /** Where the dragging started */\n private startX: number = null;\n\n /** Where the dragging started scroll position */\n private startScrollLeft: number = null;\n\n /** Timeout ID for a smooth drag release */\n private disableTimeoutId: number = null;\n\n /** Calculated size of a single item */\n private itemSize: number;\n\n /** Resize observer used to update item size */\n private resizeObserver: ResizeObserver;\n\n /** Mutation observer used to keep track of slides */\n private mutationObserver: MutationObserver;\n\n /** Whether user has just stopped dragging */\n private stoppedDragging: boolean = false;\n\n private scrollToSlide(index, behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n if (this.disabled) {\n return;\n }\n\n this.scrollElement.scrollTo({\n left: index * this.itemSize,\n behavior: reducedMotionMedia.matches ? \"auto\" : behaviour\n });\n }\n\n /** Width of a slide */\n private sizingMethod() {\n const css = window.getComputedStyle(this.scrollElement);\n\n return ((this.scrollElement.firstElementChild as HTMLElement) || this.scrollElement).offsetWidth\n + parseInt(css.getPropertyValue(\"column-gap\"), 10);\n }\n\n /**\n * Calculates the active slide.\n * The scroll-snap-type property makes sure that the container snaps perfectly to integer multiples.\n */\n private calculateSlide() {\n // Math.round: Dispatch 'stzhSlidePassed' events around the center of each slide\n // Math.ceil: Dispatch 'stzhSlidePassed' events as soon as the next one is visible\n // Math.floor: Dispatch 'stzhSlidePassed' events only when the next one is fully visible\n return Math.round(this.scrollElement.scrollLeft / this.itemSize);\n }\n\n private scrollToPreviousSnapPoint(behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n if (this.disabled) {\n return;\n }\n\n let previousIndex = this.slide;\n let canSnap = false;\n\n while (!canSnap && previousIndex > 0) {\n previousIndex = previousIndex - 1;\n canSnap = (previousIndex - this.currentSwipeSlides) % this.currentSwipeSlides === 0;\n }\n\n this.slideTo(previousIndex, behaviour);\n }\n\n private scrollToNextSnapPoint(behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n if (this.disabled) {\n return;\n }\n\n this.slideTo(this.slide + this.currentSwipeSlides, behaviour);\n }\n\n private update() {\n this.slide = this.calculateSlide();\n this.slideScrollLeft = this.slide * this.itemSize;\n\n this.onMutation();\n }\n\n private hasReachedLastSlide() {\n const { scrollLeft, offsetWidth, scrollWidth } = this.scrollElement;\n return Math.ceil(scrollLeft + offsetWidth) >= scrollWidth;\n }\n\n private onReducedMotionMediaChange = () => {\n this.autoplayDisabledByMotionMedia = reducedMotionMedia.matches;\n }\n\n private onMouseenter = () => {\n if (!this.preventAutoplayPause) {\n this.autoplayDisabledByMouse = true;\n }\n }\n\n private onMouseleave = () => {\n this.autoplayDisabledByMouse = false;\n }\n\n private onFocusin = () => {\n if (!this.preventAutoplayPause) {\n this.autoplayDisabledByFocus = true;\n }\n }\n\n private onFocusout = () => {\n this.autoplayDisabledByFocus = false;\n }\n\n private onPreviousClick = () => {\n this.scrollToPreviousSnapPoint();\n }\n\n private onNextClick = () => {\n this.scrollToNextSnapPoint();\n }\n\n private onSlideResize = () => {\n if (this.scrollElement) {\n this.itemSize = this.sizingMethod();\n }\n }\n\n private onMutation = () => {\n if (!this.scrollElement) {\n return;\n }\n\n this.slideElements = Array.from(this.scrollElement.children) as HTMLElement[];\n\n this.slideElements.forEach((slide, index) => {\n slide.setAttribute(\"role\", \"group\");\n slide.setAttribute(\"aria-roledescription\", \"slide\");\n slide.setAttribute(\"aria-label\", this.localization.slideLabel\n .replace(/\\{current\\}/gi, (index + 1).toString())\n .replace(/\\{total\\}/gi, this.slideElements.length.toString())\n );\n });\n\n this.previousElements = Array.from(this.element.querySelectorAll(\"[data-stzh-carousel-previous]\"));\n this.nextElements = Array.from(this.element.querySelectorAll(\"[data-stzh-carousel-next]\"));\n this.navigationTextElements = Array.from(this.element.querySelectorAll(\"[data-stzh-carousel-navigation-text]\"));\n }\n\n private onScroll = () => {\n if (this.scrollTimeoutId === null) {\n const direction = (this.scrollElement.scrollLeft > this.slideScrollLeft) ? 1 : -1;\n\n this.scrolling = true;\n\n if (!this.scrolledByAutoplay) {\n if (this.preventAutoplayStop) {\n this.autoplayDisabledByScroll = true;\n } else {\n this.autoplay = false;\n }\n }\n\n this.stzhSlideStart.emit({\n component: \"stzh-carousel\",\n index: this.slide + direction\n });\n }\n\n if (this.slide !== this.calculateSlide()) {\n this.update();\n this.stzhSlidePassed.emit({\n component: \"stzh-carousel\",\n index: this.slide\n });\n }\n\n this.scrollTimeoutId && window.clearTimeout(this.scrollTimeoutId);\n this.scrollTimeoutId = window.setTimeout(this.onScrollEnd, this.scrollTimeout);\n }\n\n private onScrollEnd = () => {\n this.scrollTimeoutId = null;\n this.update();\n\n this.scrolling = false;\n this.scrolledByAutoplay = false;\n this.autoplayDisabledByScroll = false;\n\n if (this.stoppedDragging) {\n this.stoppedDragging = false;\n this.scrollElement.style.removeProperty(\"scroll-behavior\");\n this.scrollElement.style.removeProperty(\"scroll-snap-type\");\n }\n\n if (this.tabThrough || this.variant === \"cards\") {\n this.ariaLive = \"\";\n } else {\n this.ariaLive = (this.currentSlides > 1 ? this.localization.slidesLabel : this.localization.slideLabel)\n .replace(/\\{(current|from)\\}/gi, (this.slide + 1).toString())\n .replace(/\\{to\\}/gi, (this.slide + this.currentSlides).toString())\n .replace(/\\{total\\}/gi, this.slideElements.length.toString());\n }\n\n this.stzhSlideEnd.emit({\n component: \"stzh-carousel\",\n index: this.slide\n });\n }\n\n private onMediaChange = () => {\n const ultra = media(\"ultra\").matches;\n const large = media(\"large\").matches;\n const medium = media(\"medium\").matches;\n const small = media(\"small\").matches;\n\n if (ultra && this.slidesUltra !== 0) {\n this.currentSlides = this.slidesUltra;\n } else if (large && this.slidesLarge !== 0) {\n this.currentSlides = this.slidesLarge;\n } else if (medium && this.slidesMedium !== 0) {\n this.currentSlides = this.slidesMedium;\n } else if (small && this.slidesSmall !== 0) {\n this.currentSlides = this.slidesSmall;\n } else {\n this.currentSlides = this.slides;\n }\n\n // if (ultra && this.swipeSlidesUltra !== 0) {\n // this.currentSwipeSlides = this.swipeSlidesUltra;\n // } else if (large && this.swipeSlidesLarge !== 0) {\n // this.currentSwipeSlides = this.swipeSlidesLarge;\n // } else if (medium && this.swipeSlidesMedium !== 0) {\n // this.currentSwipeSlides = this.swipeSlidesMedium;\n // } else if (small && this.swipeSlidesSmall !== 0) {\n // this.currentSwipeSlides = this.swipeSlidesSmall;\n // } else {\n // this.currentSwipeSlides = this.swipeSlides;\n // }\n\n this.currentSwipeSlides = this.currentSlides;\n }\n\n /** Scroll the slider the appropriate amount of pixels and update the last event position */\n private mouseMove = (event: MouseEvent) => {\n const distance = this.lastX - event.clientX;\n this.lastX = event.clientX;\n\n this.scrollElement.scrollLeft += distance;\n }\n\n /** Clear disable timeout, set up variables and styles and attach the listener. */\n private startDragging = (event: MouseEvent) => {\n event.preventDefault();\n\n this.disableTimeoutId && window.clearTimeout(this.disableTimeoutId);\n this.disableTimeoutId = null;\n\n this.startX = this.lastX = event.clientX;\n this.startScrollLeft = this.scrollElement.scrollLeft;\n this.scrollElement.style.setProperty(\"scroll-behavior\", \"auto\");\n this.scrollElement.style.setProperty(\"scroll-snap-type\", \"unset\");\n\n this.dragging = true;\n\n if (this.preventAutoplayStop) {\n this.autoplayDisabledByDrag = true;\n } else {\n this.autoplay = false;\n }\n\n window.addEventListener(\"mousemove\", this.mouseMove);\n window.addEventListener(\"mouseup\", this.stopDragging, { capture: true });\n window.addEventListener(\"click\", this.checkClick, { capture: true });\n }\n\n /** User stopped dragging */\n private stopDragging = (event: MouseEvent) => {\n event.preventDefault();\n\n const distance = Math.abs(this.startX - this.lastX);\n const minimumReached = distance > this.distanceQuickSwipe;\n const direction = (this.lastX > this.startX) ? 1 : -1;\n\n this.dragging = false;\n this.autoplayDisabledByDrag = false;\n\n const endDraddingLeft = this.scrollElement.scrollLeft;\n\n this.scrollElement.style.removeProperty(\"scroll-snap-type\");\n const finalLeft = this.scrollElement.scrollLeft;\n\n this.scrollElement.style.setProperty(\"scroll-snap-type\", \"unset\");\n this.scrollElement.scrollTo({ left: endDraddingLeft, behavior: \"auto\" });\n\n if (finalLeft !== this.startScrollLeft || !minimumReached) {\n this.scrollElement.scrollTo({ left: finalLeft, behavior: reducedMotionMedia.matches ? \"auto\" : \"smooth\" });\n } else if (direction === 1) {\n this.slideToPrevious();\n } else {\n this.slideToNext();\n }\n\n window.removeEventListener(\"mousemove\", this.mouseMove);\n window.removeEventListener(\"mouseup\", this.stopDragging, { capture: true });\n\n this.stoppedDragging = true;\n }\n\n private checkClick = (event: MouseEvent) => {\n const distance = Math.abs(this.startX - this.lastX);\n const minimumReached = distance > this.distancePreventClick;\n\n if (minimumReached) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n this.lastX = null;\n\n window.removeEventListener(\"click\", this.checkClick, { capture: true });\n }\n\n private autoplayInterval = () => {\n this.scrolledByAutoplay = true;\n\n if (this.hasReachedLastSlide()) {\n this.slideTo(0);\n } else {\n this.slideToNext();\n }\n }\n\n async componentWillLoad() {\n this.carouselId = `stzh-carousel-${carouselCounter++}`;\n this.onMediaChange();\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"carousel\");\n }\n }\n\n componentDidLoad() {\n this.itemSize = this.sizingMethod();\n this.update();\n\n this.disabledWatcher();\n this.preventMouseDragWatcher();\n this.autoplayRunningWatcher();\n }\n\n connectedCallback() {\n addMediaChangeListener(this.onMediaChange);\n\n this.resizeObserver = new ResizeObserver(this.onSlideResize)\n this.resizeObserver.observe(this.element)\n\n this.mutationObserver = new MutationObserver(this.onMutation);\n this.mutationObserver.observe(this.element, {\n childList: true,\n subtree: true\n });\n }\n\n disconnectedCallback() {\n this.scrollTimeoutId && window.clearTimeout(this.scrollTimeoutId);\n this.scrollTimeoutId = null;\n\n removeMediaChangeListener(this.onMediaChange);\n\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n\n render() {\n const classes = {\n \"stzh-carousel\": true,\n \"stzh-carousel--is-disabled\": this.disabled,\n \"stzh-carousel--is-draggable\": !this.preventMouseDrag,\n \"stzh-carousel--is-non-interactive\": this.nonInteractive,\n \"stzh-carousel--is-dragging\": this.dragging,\n \"stzh-carousel--is-scrolling\": this.scrolling,\n \"stzh-carousel--has-autoplay\": this.autoplay,\n \"stzh-carousel--is-autoplay-running\": this.autoplayRunning,\n };\n\n return (\n <Host\n aria-roledescription=\"carousel\"\n style={{\n '--slides': this.currentSlides.toString()\n }}\n >\n <div class={classes}>\n <slot name=\"actions\"></slot>\n <div\n class=\"stzh-carousel__vhidden\"\n aria-live={this.autoplayDisabledByFocus || this.autoplayDisabledByMouse ? \"polite\" : \"off\"}\n >\n {this.ariaLive}\n </div>\n <div\n ref={(el) => (this.scrollElement = el as HTMLDivElement)}\n id={`${this.carouselId}-scroll`}\n class=\"stzh-carousel__scroll\"\n >\n <slot></slot>\n </div>\n {this.withTrack &&\n <div class=\"stzh-carousel__indicator\">\n <div\n class=\"stzh-carousel__indicator-track\"\n style={{\n left: `${100 / (this.slideElements?.length || 1) * this.slide}%`,\n width: `${100 / (this.slideElements?.length || 1) * this.currentSlides || 0}%`\n }}\n ></div>\n </div>\n }\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["stzhCarouselCss","reducedMotionMedia","window","matchMedia","carouselCounter","StzhCarousel","this","slideScrollLeft","scrolledByAutoplay","scrollTimeoutId","lastX","startX","startScrollLeft","disableTimeoutId","stoppedDragging","onReducedMotionMediaChange","autoplayDisabledByMotionMedia","matches","onMouseenter","preventAutoplayPause","autoplayDisabledByMouse","onMouseleave","onFocusin","autoplayDisabledByFocus","onFocusout","onPreviousClick","scrollToPreviousSnapPoint","onNextClick","scrollToNextSnapPoint","onSlideResize","scrollElement","itemSize","sizingMethod","onMutation","slideElements","Array","from","children","forEach","slide","index","setAttribute","localization","slideLabel","replace","toString","length","previousElements","element","querySelectorAll","nextElements","navigationTextElements","onScroll","direction","scrollLeft","scrolling","preventAutoplayStop","autoplayDisabledByScroll","autoplay","stzhSlideStart","emit","component","calculateSlide","update","stzhSlidePassed","clearTimeout","setTimeout","onScrollEnd","scrollTimeout","style","removeProperty","tabThrough","variant","ariaLive","currentSlides","slidesLabel","stzhSlideEnd","onMediaChange","ultra","media","large","medium","small","slidesUltra","slidesLarge","slidesMedium","slidesSmall","slides","currentSwipeSlides","mouseMove","event","distance","clientX","startDragging","preventDefault","setProperty","dragging","autoplayDisabledByDrag","addEventListener","stopDragging","capture","checkClick","Math","abs","minimumReached","distanceQuickSwipe","endDraddingLeft","finalLeft","scrollTo","left","behavior","slideToPrevious","slideToNext","removeEventListener","distancePreventClick","stopPropagation","autoplayInterval","hasReachedLastSlide","slideTo","behaviour","scrollToSlide","disabledWatcher","disabled","passive","preventMouseDragWatcher","preventMouseDrag","autoplayRunningWatcher","autoplayIntervalId","clearInterval","autoplayRunning","setInterval","autoplayTimeout","snapAlignWatcher","shouldSnap","inertWatcher","isActive","inert","removeAttribute","prevNextNavigationWatcher","setAriaAttributes","isStzh","isStzhElement","prevNextHiddenWatcher","hideElements","setHiddenAttribute","nextPrevDisabledWatcher","reachedFirstSlide","reachedLastSlide","nextElementsWatcher","nextElement","carouselId","previousElementsWatcher","previousElement","css","getComputedStyle","firstElementChild","offsetWidth","parseInt","getPropertyValue","round","previousIndex","canSnap","scrollWidth","ceil","componentWillLoad","stzhComponents","utils","fetchTranslations","componentDidLoad","connectedCallback","addMediaChangeListener","resizeObserver","ResizeObserver","observe","mutationObserver","MutationObserver","childList","subtree","disconnectedCallback","removeMediaChangeListener","disconnect","render","classes","nonInteractive","h","Host","class","name","ref","el","id","withTrack","_a","width","_b"],"sources":["src/components/stzh-carousel/stzh-carousel.scss?tag=stzh-carousel&encapsulation=scoped","src/components/stzh-carousel/stzh-carousel.tsx"],"sourcesContent":["/**\n * @prop --padding-top: Padding Top of scroll container\n * @prop --padding-bottom: Padding Bottom of scroll container\n * @prop --peek-in: Peek size (inside container) showing the next/previous slides\n * @prop --peek-out: Negative peek size (breakout of container) showing the next/previous slides\n * @prop --gutter: Space between the slides\n * @prop --snap-stop: Snap stop of scroll container\n */\n\n:host {\n @include spaceCurve('--gutter', 'regular');\n --peek: calc(var(--peek-in, 0px) + var(--peek-out, 0px));\n --peek-in: calc(#{space('medium')} + #{spaceCurveValue('regular')});\n // --peek-out: #{space('medium')};\n --padding-top: 0px;\n --padding-bottom: 0px;\n --snap-stop: always;\n --slides: 1;\n --slide-size: calc((100% - (var(--slides) - 1) * var(--gutter)) / var(--slides));\n\n @include mq($from: small) {\n --peek-in: calc(#{space('xxxlarge')} + #{spaceCurveValue('regular', 'medium')});\n // --peek-out: #{$containerMarginSmall};\n }\n\n @include mq($from: medium) {\n --peek-in: calc(#{space('big')} + #{spaceCurveValue('regular', 'large')});\n // --peek-out: 0px;\n }\n\n ::slotted(*) {\n width: 100%;\n height: 100%;\n flex-shrink: 0;\n scroll-snap-align: start;\n scroll-snap-stop: var(--snap-stop);\n transition: opacity $baseTransitionAnimationSpeed;\n\n &:where([inert]) {\n opacity: 0.5;\n }\n\n &:where(stzh-figure[inert]) {\n --caption-opacity: 0;\n }\n\n img {\n -webkit-user-drag: none;\n user-drag: none;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n }\n }\n\n ::slotted([slot=\"actions\"]) {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1;\n pointer-events: none;\n padding: 0 var(--peek);\n\n @media print {\n display: none;\n }\n\n stzh-text {\n width: auto;\n }\n\n stzh-button {\n pointer-events: all;\n }\n\n .stzh-carousel-action-previous,\n .stzh-carousel-action-next {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n }\n\n .stzh-carousel-action-previous {\n left: calc((#{space('medium')} + #{spaceCurveValue('regular')}) / -1);\n\n @include mq($from: small) {\n left: calc((#{space('xxxlarge')} + #{spaceCurveValue('regular', 'medium')}) / -1);\n }\n\n @include mq($from: medium) {\n left: calc((#{space('big')} + #{spaceCurveValue('regular', 'large')}) / -1);\n }\n }\n\n .stzh-carousel-action-next {\n right: calc((#{space('medium')} + #{spaceCurveValue('regular')}) / -1);\n\n @include mq($from: small) {\n right: calc((#{space('xxxlarge')} + #{spaceCurveValue('regular', 'medium')}) / -1);\n }\n\n @include mq($from: medium) {\n right: calc((#{space('big')} + #{spaceCurveValue('regular', 'large')}) / -1);\n }\n }\n }\n\n ::slotted(stzh-ratio[slot=\"actions\"]) {\n stzh-space,\n stzh-hspace,\n stzh-vspace {\n padding: space('xsmall');\n }\n }\n\n ::slotted(stzh-ratio[slot=\"actions\"]) {\n --background-color: transparent;\n }\n\n /* Card */\n\n &[variant=\"cards\"] {\n @include spaceCurve('--gutter', 'tiny');\n --padding-top: 4px;\n --padding-bottom: 4px;\n\n @include mq($from: medium) {\n --peek-out: #{$containerMarginMedium};\n }\n\n @include mq($from: large) {\n --peek-out: #{$containerMarginLarge};\n }\n\n @include mq($from: ultra) {\n --peek-out: calc((100vw - #{$containerMaxWidth} - var(--stzh-scrollbar-width, 0px)) / 2);\n }\n }\n\n &[variant=\"cards\"] ::slotted([slot=\"actions\"]) {\n position: relative;\n order: 1;\n margin-top: calc(#{space('medium')} - var(--padding-bottom));\n }\n\n /* No peek */\n\n &[no-peek]:not([no-peek=\"false\"]) {\n --peek-out: 0px;\n --peek-in: 0px;\n }\n}\n\n.stzh-carousel {\n position: relative;\n display: flex;\n flex-direction: column;\n width: calc(100% + var(--peek-out) * 2);\n margin-left: calc(var(--peek-out) / -1);\n margin-right: calc(var(--peek-out) / -1);\n\n &__vhidden {\n @include visuallyhidden;\n }\n\n &__indicator {\n @include spaceCurve('margin-top', 'regular');\n margin-left: auto;\n margin-right: auto;\n position: relative;\n width: 230px;\n height: 4px;\n background-color: $colorBlack20op;\n }\n\n &__indicator-track {\n position: absolute;\n background-color: $colorSecondary50;\n height: 6px;\n left: 0px;\n bottom: 0px;\n transition-property: left, width;\n transition-duration: $baseTransitionAnimationSpeed;\n }\n\n &__scroll {\n position: relative;\n grid-area: slides;\n display: grid;\n width: 100%;\n height: 100%;\n place-items: center;\n overflow-x: auto;\n overflow-y: visible;\n grid-auto-flow: column;\n grid-auto-columns: var(--slide-size);\n grid-auto-rows: 100%;\n column-gap: var(--gutter);\n -webkit-overflow-scrolling: touch;\n scrollbar-width: none;\n -ms-overflow-style: none;\n scroll-behavior: smooth;\n overscroll-behavior-x: contain;\n scroll-snap-type: x mandatory;\n scroll-padding: 0 var(--peek);\n padding: var(--padding-top) var(--peek) var(--padding-bottom);\n\n @media (prefers-reduced-motion: reduce) {\n scroll-behavior: auto;\n }\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n &--is-draggable &__scroll {\n cursor: grab;\n }\n\n &--is-dragging &__scroll {\n cursor: grabbing;\n }\n\n &--is-disabled &__scroll {\n cursor: not-allowed;\n overflow: hidden;\n }\n\n &--is-non-interactive {\n pointer-events: none;\n touch-action: none;\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Method,\n Event,\n EventEmitter,\n Watch,\n State\n} from \"@stencil/core\";\n\nimport {\n StzhCarouselSlideStartEvent,\n StzhCarouselSlidePassedEvent,\n StzhCarouselSlideEndEvent\n} from \"../../index\";\n\nimport { isStzhElement } from \"../../utils/utils\";\nimport { StzhCarouselLocalizedText } from \"./stzh-carousel.localization\"\n\nimport {\n media,\n addMediaChangeListener,\n removeMediaChangeListener\n} from '../../utils/media-utils';\n\nconst reducedMotionMedia = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n\nlet carouselCounter = 0;\n\n/*\n* Inspired by:\n*\n* - https://github.com/barthy-koeln/scroll-snap-slider\n* - https://tannerhodges.github.io/snap-slider/\n* - https://www.w3.org/WAI/ARIA/apg/patterns/carousel/examples/carousel-1-prev-next/\n* - https://dev.to/jasonwebb/how-to-build-a-more-accessible-carousel-or-slider-35lp\n* - http://web-accessibility.carnegiemuseums.org/code/carousels/\n*/\n\n/**\n * @slot - Slot for any element\n * @slot actions - Slot for `stzh-actions` element\n */\n@Component({\n tag: \"stzh-carousel\",\n styleUrl: \"stzh-carousel.scss\",\n scoped: true\n})\nexport class StzhCarousel {\n /** Translation strings */\n @Prop() localization: StzhCarouselLocalizedText;\n\n /** Carousel variant */\n @Prop({ reflect: true }) variant: \"default\" | \"cards\" = \"default\";\n\n /** Whether carousel is disabled */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Whether to remove inside/outside peek. */\n @Prop({ reflect: true }) noPeek: boolean = false;\n\n /** Slides number */\n @Prop() slides: number = 1;\n /** Slides number above small breakpoint */\n @Prop() slidesSmall: number = 0;\n /** Slides number above medium breakpoint */\n @Prop() slidesMedium: number = 0;\n /** Slides number above large breakpoint */\n @Prop() slidesLarge: number = 0;\n /** Slides number above ultra breakpoint */\n @Prop() slidesUltra: number = 0;\n\n // /** How many slides per swipe */\n // @Prop() swipeSlides: number = 1;\n // /** How many slides per swipe above small breakpoint */\n // @Prop() swipeSlidesSmall: number = 0;\n // /** How many slides per swipe above medium breakpoint */\n // @Prop() swipeSlidesMedium: number = 0;\n // /** How many slides per swipe above large breakpoint */\n // @Prop() swipeSlidesLarge: number = 0;\n // /** How many slides per swipe above ultra breakpoint */\n // @Prop() swipeSlidesUltra: number = 0;\n\n /** Active slide (readonly) */\n @Prop() slide: number = 0;\n\n /**\n * Whether autoplay is enabled.\n * Gets paused, when user has focus inside carousel element or hovers over it.\n * Also when reduced motion media query is active or carousel is set disabled.\n * Gets disabled permanently, when user interacts with carousel manually (clicks prev/next, scrolls or drags)\n */\n @Prop({ mutable: true }) autoplay: boolean = false;\n\n /** Timeout delay in milliseconds used for autoplay */\n @Prop() autoplayTimeout: number = 3000;\n\n /** Whether scrolling & dragging should be disabled */\n @Prop() nonInteractive: boolean = false;\n\n /** Whether drag with mouse should be disabled (still will be able to scroll with wheeling or arrow keys) */\n @Prop() preventMouseDrag: boolean = false;\n\n /** Whether autoplay pause should be prevented when user hovers/focuses carousel */\n @Prop() preventAutoplayPause: boolean = false;\n\n /** Whether autoplay stop should be prevented when user scroll or drags carousel */\n @Prop() preventAutoplayStop: boolean = false;\n\n /**\n * Enable all slides to be tabbable (will disable prev/next arrows from being tabbable).\n * By default only the visible slides will be tabbable and the prev/next can be used to change slides\n * (enabled when `variant` is set to `cards`).\n */\n @Prop() tabThrough: boolean = false;\n\n /** Whether indicator should be shown */\n @Prop() withTrack: boolean = false;\n\n\n /** Timeout delay in milliseconds used to catch the end of scroll events */\n @State() scrollTimeout: number = 100;\n\n /** Minimum drag distance that needs to be reached to swipe to next/previous slide(s). */\n @State() distanceQuickSwipe: number = 40;\n\n /** Minimum drag distance that neeeds to be reached to prevent click on slide elements. */\n @State() distancePreventClick: number = 6;\n\n @Element() element: HTMLStzhCarouselElement;\n\n /** Slide start event */\n @Event() stzhSlideStart: EventEmitter<StzhCarouselSlideStartEvent>;\n\n /** Slide passed event */\n @Event() stzhSlidePassed: EventEmitter<StzhCarouselSlidePassedEvent>;\n\n /** Slide end event */\n @Event() stzhSlideEnd: EventEmitter<StzhCarouselSlideEndEvent>;\n\n /** Scroll to a slide by index */\n @Method()\n async slideTo(index, behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n this.scrollToSlide(index, behaviour);\n }\n\n /** Scroll to previous snap point */\n @Method()\n async slideToPrevious(behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n this.scrollToPreviousSnapPoint(behaviour);\n }\n\n /** Scroll to next snap point */\n @Method()\n async slideToNext(behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n this.scrollToNextSnapPoint(behaviour);\n }\n\n @Watch(\"disabled\")\n disabledWatcher() {\n if (this.disabled) {\n this.scrollElement && this.scrollElement.removeEventListener(\"scroll\", this.onScroll);\n this.scrollTimeoutId && window.clearTimeout(this.scrollTimeoutId);\n this.scrollTimeoutId = null;\n this.element.removeEventListener(\"mouseenter\", this.onMouseenter);\n this.element.removeEventListener(\"mouseleave\", this.onMouseleave);\n this.element.removeEventListener(\"focusin\", this.onFocusin);\n this.element.removeEventListener(\"focusout\", this.onFocusout);\n this.onReducedMotionMediaChange();\n reducedMotionMedia && reducedMotionMedia.removeEventListener(\"change\", this.onReducedMotionMediaChange);\n } else {\n this.scrollElement && this.scrollElement.addEventListener(\"scroll\", this.onScroll, { passive: true });\n this.element.addEventListener(\"mouseenter\", this.onMouseenter);\n this.element.addEventListener(\"mouseleave\", this.onMouseleave);\n this.element.addEventListener(\"focusin\", this.onFocusin);\n this.element.addEventListener(\"focusout\", this.onFocusout);\n reducedMotionMedia && reducedMotionMedia.addEventListener(\"change\", this.onReducedMotionMediaChange);\n }\n }\n\n @Watch(\"disabled\")\n @Watch(\"preventMouseDrag\")\n preventMouseDragWatcher() {\n if (this.preventMouseDrag || this.disabled) {\n this.disableTimeoutId && window.clearTimeout(this.disableTimeoutId);\n this.disableTimeoutId = null;\n this.scrollElement && this.scrollElement.removeEventListener(\"mousedown\", this.startDragging);\n this.lastX = null;\n } else {\n this.scrollElement && this.scrollElement.addEventListener(\"mousedown\", this.startDragging);\n }\n }\n\n @Watch(\"autoplay\")\n @Watch(\"autoplayDisabledByMotionMedia\")\n @Watch(\"autoplayDisabledByMouse\")\n @Watch(\"autoplayDisabledByFocus\")\n @Watch(\"autoplayDisabledByScroll\")\n @Watch(\"autoplayDisabledByDrag\")\n @Watch(\"autoplayTimeout\")\n @Watch(\"disabled\")\n autoplayRunningWatcher() {\n if (\n !this.autoplay\n || this.disabled\n || this.autoplayDisabledByMotionMedia\n || this.autoplayDisabledByMouse\n || this.autoplayDisabledByFocus\n || this.autoplayDisabledByScroll\n || this.autoplayDisabledByDrag\n ) {\n this.autoplayIntervalId && window.clearInterval(this.autoplayIntervalId);\n this.autoplayIntervalId = null;\n this.autoplayRunning = false;\n } else {\n this.autoplayIntervalId && window.clearInterval(this.autoplayIntervalId);\n this.autoplayIntervalId = window.setInterval(this.autoplayInterval, this.autoplayTimeout);\n this.autoplayRunning = true;\n }\n }\n\n @Watch(\"slideElements\")\n @Watch(\"currentSwipeSlides\")\n snapAlignWatcher() {\n this.slideElements.forEach((slide, index) => {\n const shouldSnap = (index - this.currentSwipeSlides) % this.currentSwipeSlides === 0;\n\n if (shouldSnap) {\n slide.style.removeProperty(\"scroll-snap-align\");\n } else {\n slide.style.setProperty(\"scroll-snap-align\", \"none\");\n }\n });\n }\n\n @Watch(\"slide\")\n @Watch(\"variant\")\n @Watch(\"slideElements\")\n @Watch(\"currentSlides\")\n @Watch(\"tabThrough\")\n inertWatcher() {\n this.slideElements.forEach((slide, index) => {\n const isActive = this.tabThrough\n || this.variant === \"cards\"\n || index >= this.slide && index < this.slide + this.currentSlides;\n\n slide.inert = !isActive;\n\n if (isActive) {\n slide.removeAttribute(\"aria-hidden\");\n } else {\n slide.setAttribute(\"aria-hidden\", isActive ? \"false\" : \"true\");\n }\n });\n }\n\n @Watch(\"variant\")\n @Watch(\"tabThrough\")\n @Watch(\"nextElements\")\n @Watch(\"previousElements\")\n prevNextNavigationWatcher() {\n const tabThrough = this.tabThrough || this.variant === \"cards\";\n\n const setAriaAttributes = (element) => {\n const isStzh = isStzhElement(element);\n\n if (tabThrough) {\n element.setAttribute(\"aria-hidden\", \"true\");\n element.setAttribute(isStzh ? \"a11y-tabindex\" : \"tabindex\", \"-1\");\n } else {\n element.removeAttribute(\"aria-hidden\");\n element.removeAttribute(isStzh ? \"a11y-tabindex\" : \"tabindex\");\n }\n }\n\n this.nextElements.forEach(setAriaAttributes);\n this.previousElements.forEach(setAriaAttributes);\n }\n\n @Watch(\"currentSlides\")\n @Watch(\"slideElements\")\n @Watch(\"nextElements\")\n @Watch(\"previousElements\")\n @Watch(\"navigationTextElements\")\n prevNextHiddenWatcher() {\n const hideElements = this.slideElements.length <= this.currentSlides;\n\n const setHiddenAttribute = (element) => {\n if (hideElements) {\n element.setAttribute(\"hidden\", \"\");\n } else {\n element.removeAttribute(\"hidden\");\n }\n };\n\n this.navigationTextElements.forEach(setHiddenAttribute);\n this.nextElements.forEach(setHiddenAttribute);\n this.previousElements.forEach(setHiddenAttribute);\n }\n\n @Watch(\"disabled\")\n @Watch(\"slide\")\n @Watch(\"currentSlides\")\n @Watch(\"slideElements\")\n @Watch(\"nextElements\")\n @Watch(\"previousElements\")\n nextPrevDisabledWatcher() {\n if (!this.scrollElement) {\n return;\n }\n\n const reachedFirstSlide = this.slide === 0;\n const reachedLastSlide = this.hasReachedLastSlide();\n\n this.nextElements.forEach((element) => {\n const isStzh = isStzhElement(element);\n element.setAttribute(isStzh ? \"a11y-disabled\" : \"aria-disabled\", reachedLastSlide || this.disabled ? \"true\" : \"false\");\n });\n\n this.previousElements.forEach((element) => {\n const isStzh = isStzhElement(element);\n element.setAttribute(isStzh ? \"a11y-disabled\" : \"aria-disabled\", reachedFirstSlide || this.disabled ? \"true\" : \"false\");\n });\n }\n\n @Watch(\"nextElements\")\n nextElementsWatcher() {\n this.nextElements.forEach((nextElement) => {\n const isStzh = isStzhElement(nextElement);\n\n nextElement.addEventListener(\"click\", this.onNextClick);\n nextElement.setAttribute(isStzh ? \"a11y-controls\" : \"aria-controls\", `${this.carouselId}-scroll`);\n });\n }\n\n @Watch(\"previousElements\")\n previousElementsWatcher() {\n this.previousElements.forEach((previousElement) => {\n const isStzh = isStzhElement(previousElement);\n\n previousElement.addEventListener(\"click\", this.onPreviousClick);\n previousElement.setAttribute(isStzh ? \"a11y-controls\" : \"aria-controls\", `${this.carouselId}-scroll`);\n });\n }\n\n /** Whether autoplay is currently running */\n @State() autoplayRunning: boolean = false;\n\n /** Whether autoplay is currently disabled by reduced motion media */\n @State() autoplayDisabledByMotionMedia: boolean = false;\n\n /** Whether autoplay is currently disabled by mouse */\n @State() autoplayDisabledByMouse: boolean = false;\n\n /** Whether autoplay is currently disabled by focus */\n @State() autoplayDisabledByFocus: boolean = false;\n\n /** Whether autoplay is currently disabled by scroll */\n @State() autoplayDisabledByScroll: boolean = false;\n\n /** Whether autoplay is currently disabled by drag */\n @State() autoplayDisabledByDrag: boolean = false;\n\n /** Whether user is currently dragging with mouse */\n @State() dragging: boolean = false;\n\n /** Whether user is currently scrolling */\n @State() scrolling: boolean = false;\n\n /** Aria live text */\n @State() ariaLive: string = \"\";\n\n /** Currently shown slides */\n @State() currentSlides: number = 1;\n\n /** How many slides should be moved currently */\n @State() currentSwipeSlides: number = 1;\n\n /** Slide elements */\n @State() slideElements: HTMLElement[] = [];\n\n /** Previous elements */\n @State() previousElements: HTMLElement[] = [];\n\n /** Next elements */\n @State() nextElements: HTMLElement[] = [];\n\n /** Navigation text elements */\n @State() navigationTextElements: HTMLElement[] = [];\n\n private scrollElement: HTMLElement;\n\n /** Unique generated id */\n private carouselId: string;\n\n /** Current scroll position */\n private slideScrollLeft: number = 0;\n\n /** Flag whether scrolling was done by user or not */\n private scrolledByAutoplay: boolean = false;\n\n /** Timeout ID used to catch the end of scroll events */\n private scrollTimeoutId: number = null;\n\n /** Interval ID for autoplay */\n private autoplayIntervalId: number;\n\n /** Last drag event position */\n private lastX: number = null;\n\n /** Where the dragging started */\n private startX: number = null;\n\n /** Where the dragging started scroll position */\n private startScrollLeft: number = null;\n\n /** Timeout ID for a smooth drag release */\n private disableTimeoutId: number = null;\n\n /** Calculated size of a single item */\n private itemSize: number;\n\n /** Resize observer used to update item size */\n private resizeObserver: ResizeObserver;\n\n /** Mutation observer used to keep track of slides */\n private mutationObserver: MutationObserver;\n\n /** Whether user has just stopped dragging */\n private stoppedDragging: boolean = false;\n\n private scrollToSlide(index, behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n if (this.disabled) {\n return;\n }\n\n this.scrollElement.scrollTo({\n left: index * this.itemSize,\n behavior: reducedMotionMedia.matches ? \"auto\" : behaviour\n });\n }\n\n /** Width of a slide */\n private sizingMethod() {\n const css = window.getComputedStyle(this.scrollElement);\n\n return ((this.scrollElement.firstElementChild as HTMLElement) || this.scrollElement).offsetWidth\n + parseInt(css.getPropertyValue(\"column-gap\"), 10);\n }\n\n /**\n * Calculates the active slide.\n * The scroll-snap-type property makes sure that the container snaps perfectly to integer multiples.\n */\n private calculateSlide() {\n // Math.round: Dispatch 'stzhSlidePassed' events around the center of each slide\n // Math.ceil: Dispatch 'stzhSlidePassed' events as soon as the next one is visible\n // Math.floor: Dispatch 'stzhSlidePassed' events only when the next one is fully visible\n return Math.round(this.scrollElement.scrollLeft / this.itemSize);\n }\n\n private scrollToPreviousSnapPoint(behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n if (this.disabled) {\n return;\n }\n\n let previousIndex = this.slide;\n let canSnap = false;\n\n while (!canSnap && previousIndex > 0) {\n previousIndex = previousIndex - 1;\n canSnap = (previousIndex - this.currentSwipeSlides) % this.currentSwipeSlides === 0;\n }\n\n this.slideTo(previousIndex, behaviour);\n }\n\n private scrollToNextSnapPoint(behaviour: \"auto\" | \"smooth\" = \"smooth\") {\n if (this.disabled) {\n return;\n }\n\n this.slideTo(this.slide + this.currentSwipeSlides, behaviour);\n }\n\n private update() {\n this.slide = this.calculateSlide();\n this.slideScrollLeft = this.slide * this.itemSize;\n\n this.onMutation();\n }\n\n private hasReachedLastSlide() {\n const { scrollLeft, offsetWidth, scrollWidth } = this.scrollElement;\n return Math.ceil(scrollLeft + offsetWidth) >= scrollWidth;\n }\n\n private onReducedMotionMediaChange = () => {\n this.autoplayDisabledByMotionMedia = reducedMotionMedia.matches;\n }\n\n private onMouseenter = () => {\n if (!this.preventAutoplayPause) {\n this.autoplayDisabledByMouse = true;\n }\n }\n\n private onMouseleave = () => {\n this.autoplayDisabledByMouse = false;\n }\n\n private onFocusin = () => {\n if (!this.preventAutoplayPause) {\n this.autoplayDisabledByFocus = true;\n }\n }\n\n private onFocusout = () => {\n this.autoplayDisabledByFocus = false;\n }\n\n private onPreviousClick = () => {\n this.scrollToPreviousSnapPoint();\n }\n\n private onNextClick = () => {\n this.scrollToNextSnapPoint();\n }\n\n private onSlideResize = () => {\n if (this.scrollElement) {\n this.itemSize = this.sizingMethod();\n }\n }\n\n private onMutation = () => {\n if (!this.scrollElement) {\n return;\n }\n\n this.slideElements = Array.from(this.scrollElement.children) as HTMLElement[];\n\n this.slideElements.forEach((slide, index) => {\n slide.setAttribute(\"role\", \"group\");\n slide.setAttribute(\"aria-roledescription\", \"slide\");\n slide.setAttribute(\"aria-label\", this.localization.slideLabel\n .replace(/\\{current\\}/gi, (index + 1).toString())\n .replace(/\\{total\\}/gi, this.slideElements.length.toString())\n );\n });\n\n this.previousElements = Array.from(this.element.querySelectorAll(\"[data-stzh-carousel-previous]\"));\n this.nextElements = Array.from(this.element.querySelectorAll(\"[data-stzh-carousel-next]\"));\n this.navigationTextElements = Array.from(this.element.querySelectorAll(\"[data-stzh-carousel-navigation-text]\"));\n }\n\n private onScroll = () => {\n if (this.scrollTimeoutId === null) {\n const direction = (this.scrollElement.scrollLeft > this.slideScrollLeft) ? 1 : -1;\n\n this.scrolling = true;\n\n if (!this.scrolledByAutoplay) {\n if (this.preventAutoplayStop) {\n this.autoplayDisabledByScroll = true;\n } else {\n this.autoplay = false;\n }\n }\n\n this.stzhSlideStart.emit({\n component: \"stzh-carousel\",\n index: this.slide + direction\n });\n }\n\n if (this.slide !== this.calculateSlide()) {\n this.update();\n this.stzhSlidePassed.emit({\n component: \"stzh-carousel\",\n index: this.slide\n });\n }\n\n this.scrollTimeoutId && window.clearTimeout(this.scrollTimeoutId);\n this.scrollTimeoutId = window.setTimeout(this.onScrollEnd, this.scrollTimeout);\n }\n\n private onScrollEnd = () => {\n this.scrollTimeoutId = null;\n this.update();\n\n this.scrolling = false;\n this.scrolledByAutoplay = false;\n this.autoplayDisabledByScroll = false;\n\n if (this.stoppedDragging) {\n this.stoppedDragging = false;\n this.scrollElement.style.removeProperty(\"scroll-behavior\");\n this.scrollElement.style.removeProperty(\"scroll-snap-type\");\n }\n\n if (this.tabThrough || this.variant === \"cards\") {\n this.ariaLive = \"\";\n } else {\n this.ariaLive = (this.currentSlides > 1 ? this.localization.slidesLabel : this.localization.slideLabel)\n .replace(/\\{(current|from)\\}/gi, (this.slide + 1).toString())\n .replace(/\\{to\\}/gi, (this.slide + this.currentSlides).toString())\n .replace(/\\{total\\}/gi, this.slideElements.length.toString());\n }\n\n this.stzhSlideEnd.emit({\n component: \"stzh-carousel\",\n index: this.slide\n });\n }\n\n private onMediaChange = () => {\n const ultra = media(\"ultra\").matches;\n const large = media(\"large\").matches;\n const medium = media(\"medium\").matches;\n const small = media(\"small\").matches;\n\n if (ultra && this.slidesUltra !== 0) {\n this.currentSlides = this.slidesUltra;\n } else if (large && this.slidesLarge !== 0) {\n this.currentSlides = this.slidesLarge;\n } else if (medium && this.slidesMedium !== 0) {\n this.currentSlides = this.slidesMedium;\n } else if (small && this.slidesSmall !== 0) {\n this.currentSlides = this.slidesSmall;\n } else {\n this.currentSlides = this.slides;\n }\n\n // if (ultra && this.swipeSlidesUltra !== 0) {\n // this.currentSwipeSlides = this.swipeSlidesUltra;\n // } else if (large && this.swipeSlidesLarge !== 0) {\n // this.currentSwipeSlides = this.swipeSlidesLarge;\n // } else if (medium && this.swipeSlidesMedium !== 0) {\n // this.currentSwipeSlides = this.swipeSlidesMedium;\n // } else if (small && this.swipeSlidesSmall !== 0) {\n // this.currentSwipeSlides = this.swipeSlidesSmall;\n // } else {\n // this.currentSwipeSlides = this.swipeSlides;\n // }\n\n this.currentSwipeSlides = this.currentSlides;\n }\n\n /** Scroll the slider the appropriate amount of pixels and update the last event position */\n private mouseMove = (event: MouseEvent) => {\n const distance = this.lastX - event.clientX;\n this.lastX = event.clientX;\n\n this.scrollElement.scrollLeft += distance;\n }\n\n /** Clear disable timeout, set up variables and styles and attach the listener. */\n private startDragging = (event: MouseEvent) => {\n event.preventDefault();\n\n this.disableTimeoutId && window.clearTimeout(this.disableTimeoutId);\n this.disableTimeoutId = null;\n\n this.startX = this.lastX = event.clientX;\n this.startScrollLeft = this.scrollElement.scrollLeft;\n this.scrollElement.style.setProperty(\"scroll-behavior\", \"auto\");\n this.scrollElement.style.setProperty(\"scroll-snap-type\", \"unset\");\n\n this.dragging = true;\n\n if (this.preventAutoplayStop) {\n this.autoplayDisabledByDrag = true;\n } else {\n this.autoplay = false;\n }\n\n window.addEventListener(\"mousemove\", this.mouseMove);\n window.addEventListener(\"mouseup\", this.stopDragging, { capture: true });\n window.addEventListener(\"click\", this.checkClick, { capture: true });\n }\n\n /** User stopped dragging */\n private stopDragging = (event: MouseEvent) => {\n event.preventDefault();\n\n const distance = Math.abs(this.startX - this.lastX);\n const minimumReached = distance > this.distanceQuickSwipe;\n const direction = (this.lastX > this.startX) ? 1 : -1;\n\n this.dragging = false;\n this.autoplayDisabledByDrag = false;\n\n const endDraddingLeft = this.scrollElement.scrollLeft;\n\n this.scrollElement.style.removeProperty(\"scroll-snap-type\");\n const finalLeft = this.scrollElement.scrollLeft;\n\n this.scrollElement.style.setProperty(\"scroll-snap-type\", \"unset\");\n this.scrollElement.scrollTo({ left: endDraddingLeft, behavior: \"auto\" });\n\n if (finalLeft !== this.startScrollLeft || !minimumReached) {\n this.scrollElement.scrollTo({ left: finalLeft, behavior: reducedMotionMedia.matches ? \"auto\" : \"smooth\" });\n } else if (direction === 1) {\n this.slideToPrevious();\n } else {\n this.slideToNext();\n }\n\n window.removeEventListener(\"mousemove\", this.mouseMove);\n window.removeEventListener(\"mouseup\", this.stopDragging, { capture: true });\n\n this.stoppedDragging = true;\n }\n\n private checkClick = (event: MouseEvent) => {\n const distance = Math.abs(this.startX - this.lastX);\n const minimumReached = distance > this.distancePreventClick;\n\n if (minimumReached) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n this.lastX = null;\n\n window.removeEventListener(\"click\", this.checkClick, { capture: true });\n }\n\n private autoplayInterval = () => {\n this.scrolledByAutoplay = true;\n\n if (this.hasReachedLastSlide()) {\n this.slideTo(0);\n } else {\n this.slideToNext();\n }\n }\n\n async componentWillLoad() {\n this.carouselId = `stzh-carousel-${carouselCounter++}`;\n this.onMediaChange();\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"carousel\");\n }\n }\n\n componentDidLoad() {\n this.itemSize = this.sizingMethod();\n this.update();\n\n this.disabledWatcher();\n this.preventMouseDragWatcher();\n this.autoplayRunningWatcher();\n }\n\n connectedCallback() {\n addMediaChangeListener(this.onMediaChange);\n\n this.resizeObserver = new ResizeObserver(this.onSlideResize)\n this.resizeObserver.observe(this.element)\n\n this.mutationObserver = new MutationObserver(this.onMutation);\n this.mutationObserver.observe(this.element, {\n childList: true,\n subtree: true\n });\n }\n\n disconnectedCallback() {\n this.scrollTimeoutId && window.clearTimeout(this.scrollTimeoutId);\n this.scrollTimeoutId = null;\n\n removeMediaChangeListener(this.onMediaChange);\n\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n\n render() {\n const classes = {\n \"stzh-carousel\": true,\n \"stzh-carousel--is-disabled\": this.disabled,\n \"stzh-carousel--is-draggable\": !this.preventMouseDrag,\n \"stzh-carousel--is-non-interactive\": this.nonInteractive,\n \"stzh-carousel--is-dragging\": this.dragging,\n \"stzh-carousel--is-scrolling\": this.scrolling,\n \"stzh-carousel--has-autoplay\": this.autoplay,\n \"stzh-carousel--is-autoplay-running\": this.autoplayRunning,\n };\n\n return (\n <Host\n aria-roledescription=\"carousel\"\n style={{\n '--slides': this.currentSlides.toString()\n }}\n >\n <div class={classes}>\n <slot name=\"actions\"></slot>\n <div\n class=\"stzh-carousel__vhidden\"\n aria-live={this.autoplayDisabledByFocus || this.autoplayDisabledByMouse ? \"polite\" : \"off\"}\n >\n {this.ariaLive}\n </div>\n <div\n ref={(el) => (this.scrollElement = el as HTMLDivElement)}\n id={`${this.carouselId}-scroll`}\n class=\"stzh-carousel__scroll\"\n >\n <slot></slot>\n </div>\n {this.withTrack &&\n <div class=\"stzh-carousel__indicator\">\n <div\n class=\"stzh-carousel__indicator-track\"\n style={{\n left: `${100 / (this.slideElements?.length || 1) * this.slide}%`,\n width: `${100 / (this.slideElements?.length || 1) * this.currentSlides || 0}%`\n }}\n ></div>\n </div>\n }\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["stzhPagecontentCss","StzhPagecontent","render","hasAsideLeft","hasSlot","this","element","hasAnchornav","classes","h","Host","class","name","slot"],"sources":["src/components/stzh-pagecontent/stzh-pagecontent.scss?tag=stzh-pagecontent&encapsulation=scoped","src/components/stzh-pagecontent/stzh-pagecontent.tsx"],"sourcesContent":[".stzh-pagecontent {\n @include grid;\n\n grid-template-areas:\n \"aside-left aside-left aside-left aside-left\"\n \"content content content content\";\n\n @include mq($from: medium) {\n grid-template-areas:\n \"aside-left aside-left aside-left aside-left aside-left aside-left aside-left aside-left\"\n \"content content content content content content content content\";\n }\n\n @include mq($from: large) {\n grid-template-areas:\n \"aside-left aside-left aside-left aside-left aside-left aside-left aside-left aside-left aside-left aside-left aside-left aside-left\"\n \"content content content content content content content content content content content content\";\n }\n\n &__aside-left {\n grid-area: aside-left;\n }\n\n &__content {\n grid-area: content;\n }\n\n &__anchornav {\n @include mq($to: large) {\n position: relative;\n top: 0px;\n left: 50%;\n right: 50%;\n margin-left: calc(-50vw + var(--stzh-scrollbar-width) / 2);\n margin-right: calc(-50vw + var(--stzh-scrollbar-width) / 2);\n width: calc(100vw - var(--stzh-scrollbar-width));\n max-width: calc(100vw - var(--stzh-scrollbar-width));\n }\n\n @include mq($from: large) {\n position: sticky;\n top: calc(var(--stzh-header-metabar-height, 0px) * var(--stzh-header-is-stuck, 0) + #{space('medium')});\n transition: top $baseTransitionAnimationSpeed;\n width: calc(100% + #{$gridGutterLarge} - #{spaceCurveValue('large', 'large')});\n }\n\n @include mq($from: ultra) {\n width: calc(100% + #{$gridGutterUltra} - #{spaceCurveValue('large', 'large')});\n }\n }\n\n /* Has aside content */\n\n &--has-aside-left {\n @include mq($from: large) {\n // --stzh-textandimage-grid-template-columns: repeat(8, minmax(0, 1fr));\n // --stzh-textandimage-grid-template-areas:\n // \"text text text text image image image image\";\n // --stzh-textandimage-small-grid-template-areas:\n // \"text text text text text image image image\";\n // --stzh-textandimage-large-grid-template-areas:\n // \"text text text text text text . .\"\n // \"image image image image image image image image\";\n\n --stzh-content-grid-template-areas:\n \"content content content content content content content content content content content content\";\n\n grid-template-areas:\n \"aside-left aside-left aside-left aside-left content content content content content content content content\";\n }\n }\n\n &--has-aside-left &__aside-left {\n @include spaceCurve('margin-bottom', 'section-inner');\n }\n\n /* Has no aside content */\n\n &--has-no-aside-left {\n }\n}\n","import {\n Component,\n Host,\n h,\n Element\n} from \"@stencil/core\";\n\nimport { hasSlot } from \"../../utils/utils\";\n\n/**\n * @slot anchornav - Slot for anchornav\n * @slot - Slot for content\n */\n@Component({\n tag: \"stzh-pagecontent\",\n styleUrl: \"stzh-pagecontent.scss\",\n scoped: true\n})\nexport class StzhPagecontent {\n @Element() element: HTMLStzhPagecontentElement;\n\n render() {\n const hasAsideLeft = hasSlot(this.element, \"aside-left\");\n const hasAnchornav = hasSlot(this.element, \"anchornav\");\n\n const classes = {\n \"stzh-pagecontent\": true,\n \"stzh-pagecontent--has-aside-left\": hasAsideLeft || hasAnchornav,\n \"stzh-pagecontent--has-no-aside-left\": !hasAsideLeft && !hasAnchornav,\n };\n\n return (\n <Host>\n <div class={classes}>\n <aside class=\"stzh-pagecontent__aside-left\">\n <div class=\"stzh-pagecontent__anchornav\">\n <slot name=\"anchornav\"></slot>\n </div>\n <slot slot=\"aside-left\"></slot>\n </aside>\n <div class=\"stzh-pagecontent__content\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"qHAAA,MAAMA,EAAqB,0gK,MCkBdC,EAAe,M,yBAG1B,MAAAC,GACE,MAAMC,EAAeC,EAAQC,KAAKC,QAAS,cAC3C,MAAMC,EAAeH,EAAQC,KAAKC,QAAS,aAE3C,MAAME,EAAU,CACd,mBAAoB,KACpB,mCAAoCL,GAAgBI,EACpD,uCAAwCJ,IAAiBI,GAG3D,OACEE,EAACC,EAAI,KACHD,EAAA,OAAKE,MAAOH,GACVC,EAAA,SAAOE,MAAM,gCACXF,EAAA,OAAKE,MAAM,+BACTF,EAAA,QAAMG,KAAK,eAEbH,EAAA,QAAMI,KAAK,gBAEbJ,EAAA,OAAKE,MAAM,6BACTF,EAAA,e"}
1
+ {"version":3,"names":["stzhPagecontentCss","StzhPagecontent","render","hasAsideLeft","hasSlot","this","element","hasAnchornav","classes","h","Host","class","name","slot"],"sources":["src/components/stzh-pagecontent/stzh-pagecontent.scss?tag=stzh-pagecontent&encapsulation=scoped","src/components/stzh-pagecontent/stzh-pagecontent.tsx"],"sourcesContent":[".stzh-pagecontent {\n @include grid;\n\n grid-template-areas:\n \"aside-left aside-left aside-left aside-left\"\n \"content content content content\";\n\n @include mq($from: medium) {\n grid-template-areas:\n \"aside-left aside-left aside-left aside-left aside-left aside-left aside-left aside-left\"\n \"content content content content content content content content\";\n }\n\n @include mq($from: large) {\n grid-template-areas:\n \"aside-left aside-left aside-left aside-left aside-left aside-left aside-left aside-left aside-left aside-left aside-left aside-left\"\n \"content content content content content content content content content content content content\";\n }\n\n &__aside-left {\n grid-area: aside-left;\n }\n\n &__content {\n grid-area: content;\n }\n\n &__anchornav {\n @include mq($to: large) {\n position: relative;\n top: 0px;\n left: 50%;\n right: 50%;\n margin-left: calc(-50vw + var(--stzh-scrollbar-width) / 2);\n margin-right: calc(-50vw + var(--stzh-scrollbar-width) / 2);\n width: calc(100vw - var(--stzh-scrollbar-width));\n max-width: calc(100vw - var(--stzh-scrollbar-width));\n }\n\n @include mq($from: large) {\n position: sticky;\n top: calc(var(--stzh-header-metabar-height, 0px) * var(--stzh-header-is-stuck, 0) + #{space('medium')});\n transition: top $baseTransitionAnimationSpeed;\n width: calc(100% + #{$gridGutterLarge} - #{spaceCurveValue('large', 'large')});\n }\n\n @include mq($from: ultra) {\n width: calc(100% + #{$gridGutterUltra} - #{spaceCurveValue('large', 'large')});\n }\n }\n\n /* Has aside content */\n\n &--has-aside-left {\n @include mq($from: large) {\n // --stzh-textandimage-grid-template-columns: repeat(8, minmax(0, 1fr));\n // --stzh-textandimage-grid-template-areas:\n // \"text text text text image image image image\";\n // --stzh-textandimage-small-grid-template-areas:\n // \"text text text text text image image image\";\n // --stzh-textandimage-large-grid-template-areas:\n // \"text text text text text text . .\"\n // \"image image image image image image image image\";\n\n --stzh-content-grid-template-areas:\n \"content content content content content content content content content content content content\";\n\n grid-template-areas:\n \"aside-left aside-left aside-left aside-left content content content content content content content content\";\n }\n }\n\n &--has-aside-left &__aside-left {\n @include spaceCurve('margin-bottom', 'section-inner');\n }\n\n /* Has no aside content */\n\n &--has-no-aside-left {\n }\n}\n","import {\n Component,\n Host,\n h,\n Element\n} from \"@stencil/core\";\n\nimport { hasSlot } from \"../../utils/utils\";\n\n/**\n * @slot anchornav - Slot for anchornav\n * @slot aside-left - Slot for aside left content\n * @slot - Slot for content\n */\n@Component({\n tag: \"stzh-pagecontent\",\n styleUrl: \"stzh-pagecontent.scss\",\n scoped: true\n})\nexport class StzhPagecontent {\n @Element() element: HTMLStzhPagecontentElement;\n\n render() {\n const hasAsideLeft = hasSlot(this.element, \"aside-left\");\n const hasAnchornav = hasSlot(this.element, \"anchornav\");\n\n const classes = {\n \"stzh-pagecontent\": true,\n \"stzh-pagecontent--has-aside-left\": hasAsideLeft || hasAnchornav,\n \"stzh-pagecontent--has-no-aside-left\": !hasAsideLeft && !hasAnchornav,\n };\n\n return (\n <Host>\n <div class={classes}>\n <aside class=\"stzh-pagecontent__aside-left\">\n <div class=\"stzh-pagecontent__anchornav\">\n <slot name=\"anchornav\"></slot>\n </div>\n <slot slot=\"aside-left\"></slot>\n </aside>\n <div class=\"stzh-pagecontent__content\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"qHAAA,MAAMA,EAAqB,0gK,MCmBdC,EAAe,M,yBAG1B,MAAAC,GACE,MAAMC,EAAeC,EAAQC,KAAKC,QAAS,cAC3C,MAAMC,EAAeH,EAAQC,KAAKC,QAAS,aAE3C,MAAME,EAAU,CACd,mBAAoB,KACpB,mCAAoCL,GAAgBI,EACpD,uCAAwCJ,IAAiBI,GAG3D,OACEE,EAACC,EAAI,KACHD,EAAA,OAAKE,MAAOH,GACVC,EAAA,SAAOE,MAAM,gCACXF,EAAA,OAAKE,MAAM,+BACTF,EAAA,QAAMG,KAAK,eAEbH,EAAA,QAAMI,KAAK,gBAEbJ,EAAA,OAAKE,MAAM,6BACTF,EAAA,e"}
@@ -1 +1 @@
1
- {"version":3,"names":["stzhYoutubeCss","StzhYoutube","this","handlePreviewSkipped","previewSkipped","componentWillLoad","localization","window","stzhComponents","utils","fetchTranslations","element","render","classes","hasParams","url","includes","encodeURIComponent","location","protocol","host","h","Host","class","src","previewLabel","previewIcon","cookie","cookieConfirmLabel","confirmLabel","cookieConfirmIcon","cookieExpires","skipPreview","skipPreviewIfCookieAccepted","onStzhPreviewSkip","name","slot","innerHTML","confirmText"],"sources":["src/components/stzh-youtube/stzh-youtube.scss?tag=stzh-youtube&encapsulation=scoped","src/components/stzh-youtube/stzh-youtube.tsx"],"sourcesContent":[":host {\n @media print {\n display: none;\n }\n}\n\n.stzh-youtube {\n\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n State,\n} from \"@stencil/core\";\n\nimport { StzhYoutubeLocalizedText } from './stzh-youtube.localization';\n\n// import { hasSlot } from \"../../utils/utils\";\n\n/**\n *\n */\n@Component({\n tag: \"stzh-youtube\",\n styleUrl: \"stzh-youtube.scss\",\n scoped: true\n})\nexport class StzhYoutube {\n /** Translation strings */\n @Prop() localization: StzhYoutubeLocalizedText;\n\n /** URL to youtube video */\n @Prop() url: string = \"\";\n\n /**\n * Cookie name (used for showing/hiding cookie wall)\n * Will be prefixed with `stzh-components-iframe-confirm-`.\n */\n @Prop() cookie: string = \"youtube\";\n\n /**\n * Number of days the cookie is valid for.\n * If omitted or set to null or 0, the cookie expires when browser is closed.\n * Maximum is on year (365 days, is default).\n */\n @Prop() cookieExpires: number | null = 365;\n\n /** Whether preview should be skipped, if user passed the cookiewall before */\n @Prop() skipPreviewIfCookieAccepted: boolean = false;\n\n /** Whether preview should always be skipped */\n @Prop() skipPreview: boolean = false;\n\n @Element() element: HTMLStzhYoutubeElement;\n\n @State() previewSkipped = false;\n\n private handlePreviewSkipped = () => {\n this.previewSkipped = true;\n }\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"youtube\");\n }\n }\n\n render() {\n const classes = {\n \"stzh-youtube\": true,\n };\n\n const hasParams = this.url.includes(\"?\");\n\n const url = this.url + (hasParams ? \"&\" : \"?\")\n + \"html5=1\"\n + \"&showinfo=0\"\n + \"&rel=0\"\n + \"&modestbranding=0\"\n + \"&playsinline=1\"\n + `&origin=${encodeURIComponent(window.location.protocol + \"//\" + window.location.host)}`\n + \"&enablejsapi=1\"\n + \"&widgetid=1\"\n + (this.previewSkipped ? \"\" : \"&autoplay=1\");\n\n return (\n <Host>\n <div class={classes}>\n <stzh-ratio>\n <stzh-iframe\n src={url}\n previewLabel={this.localization.previewLabel}\n previewIcon={\"play\"}\n cookie={this.cookie}\n cookieConfirmLabel={this.localization.confirmLabel}\n cookieConfirmIcon={\"play\"}\n cookieExpires={this.cookieExpires}\n skipPreview={this.skipPreview}\n skipPreviewIfCookieAccepted={this.skipPreviewIfCookieAccepted}\n onStzhPreviewSkip={this.handlePreviewSkipped}\n >\n <slot name=\"preview-logo\" slot=\"preview-logo\"></slot>\n <slot name=\"preview-image\" slot=\"preview-image\"></slot>\n <div slot=\"cookiewall-text\" innerHTML={this.localization.confirmText}></div>\n </stzh-iframe>\n </stzh-ratio>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAiB,8vC,MCqBVC,EAAW,M,yBA8BdC,KAAAC,qBAAuB,KAC7BD,KAAKE,eAAiB,IAAI,E,qCA1BN,G,YAMG,U,mBAOc,I,iCAGQ,M,iBAGhB,M,oBAIL,K,CAM1B,uBAAMC,GACJ,IAAKH,KAAKI,aAAc,CACtBJ,KAAKI,mBAAqBC,OAAOC,eAAeC,MAAMC,kBAAkBR,KAAKS,QAAS,U,EAI1F,MAAAC,GACE,MAAMC,EAAU,CACd,eAAgB,MAGlB,MAAMC,EAAYZ,KAAKa,IAAIC,SAAS,KAEpC,MAAMD,EAAMb,KAAKa,KAAOD,EAAY,IAAM,KACtC,UACA,cACA,SACA,oBACA,iBACA,WAAWG,mBAAmBV,OAAOW,SAASC,SAAW,KAAOZ,OAAOW,SAASE,QAChF,iBACA,eACClB,KAAKE,eAAiB,GAAK,eAEhC,OACEiB,EAACC,EAAI,KACHD,EAAA,OAAKE,MAAOV,GACVQ,EAAA,kBACEA,EAAA,eACEG,IAAKT,EACLU,aAAcvB,KAAKI,aAAamB,aAChCC,YAAa,OACbC,OAAQzB,KAAKyB,OACbC,mBAAoB1B,KAAKI,aAAauB,aACtCC,kBAAmB,OACnBC,cAAe7B,KAAK6B,cACpBC,YAAa9B,KAAK8B,YAClBC,4BAA6B/B,KAAK+B,4BAClCC,kBAAmBhC,KAAKC,sBAExBkB,EAAA,QAAMc,KAAK,eAAeC,KAAK,iBAC/Bf,EAAA,QAAMc,KAAK,gBAAgBC,KAAK,kBAChCf,EAAA,OAAKe,KAAK,kBAAkBC,UAAWnC,KAAKI,aAAagC,iB"}
1
+ {"version":3,"names":["stzhYoutubeCss","StzhYoutube","this","handlePreviewSkipped","previewSkipped","componentWillLoad","localization","window","stzhComponents","utils","fetchTranslations","element","render","classes","hasParams","url","includes","encodeURIComponent","location","protocol","host","h","Host","class","src","previewLabel","previewIcon","cookie","cookieConfirmLabel","confirmLabel","cookieConfirmIcon","cookieExpires","skipPreview","skipPreviewIfCookieAccepted","onStzhPreviewSkip","name","slot","innerHTML","confirmText"],"sources":["src/components/stzh-youtube/stzh-youtube.scss?tag=stzh-youtube&encapsulation=scoped","src/components/stzh-youtube/stzh-youtube.tsx"],"sourcesContent":[":host {\n @media print {\n display: none;\n }\n}\n\n.stzh-youtube {\n\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n State,\n} from \"@stencil/core\";\n\nimport { StzhYoutubeLocalizedText } from './stzh-youtube.localization';\n\n// import { hasSlot } from \"../../utils/utils\";\n\n/**\n * @slot prewiev-logo - Slot for preview logo\n * @slot prewiev-image - Slot for preview image\n */\n@Component({\n tag: \"stzh-youtube\",\n styleUrl: \"stzh-youtube.scss\",\n scoped: true\n})\nexport class StzhYoutube {\n /** Translation strings */\n @Prop() localization: StzhYoutubeLocalizedText;\n\n /** URL to youtube video */\n @Prop() url: string = \"\";\n\n /**\n * Cookie name (used for showing/hiding cookie wall)\n * Will be prefixed with `stzh-components-iframe-confirm-`.\n */\n @Prop() cookie: string = \"youtube\";\n\n /**\n * Number of days the cookie is valid for.\n * If omitted or set to null or 0, the cookie expires when browser is closed.\n * Maximum is on year (365 days, is default).\n */\n @Prop() cookieExpires: number | null = 365;\n\n /** Whether preview should be skipped, if user passed the cookiewall before */\n @Prop() skipPreviewIfCookieAccepted: boolean = false;\n\n /** Whether preview should always be skipped */\n @Prop() skipPreview: boolean = false;\n\n @Element() element: HTMLStzhYoutubeElement;\n\n @State() previewSkipped = false;\n\n private handlePreviewSkipped = () => {\n this.previewSkipped = true;\n }\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"youtube\");\n }\n }\n\n render() {\n const classes = {\n \"stzh-youtube\": true,\n };\n\n const hasParams = this.url.includes(\"?\");\n\n const url = this.url + (hasParams ? \"&\" : \"?\")\n + \"html5=1\"\n + \"&showinfo=0\"\n + \"&rel=0\"\n + \"&modestbranding=0\"\n + \"&playsinline=1\"\n + `&origin=${encodeURIComponent(window.location.protocol + \"//\" + window.location.host)}`\n + \"&enablejsapi=1\"\n + \"&widgetid=1\"\n + (this.previewSkipped ? \"\" : \"&autoplay=1\");\n\n return (\n <Host>\n <div class={classes}>\n <stzh-ratio>\n <stzh-iframe\n src={url}\n previewLabel={this.localization.previewLabel}\n previewIcon={\"play\"}\n cookie={this.cookie}\n cookieConfirmLabel={this.localization.confirmLabel}\n cookieConfirmIcon={\"play\"}\n cookieExpires={this.cookieExpires}\n skipPreview={this.skipPreview}\n skipPreviewIfCookieAccepted={this.skipPreviewIfCookieAccepted}\n onStzhPreviewSkip={this.handlePreviewSkipped}\n >\n <slot name=\"preview-logo\" slot=\"preview-logo\"></slot>\n <slot name=\"preview-image\" slot=\"preview-image\"></slot>\n <div slot=\"cookiewall-text\" innerHTML={this.localization.confirmText}></div>\n </stzh-iframe>\n </stzh-ratio>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAiB,8vC,MCsBVC,EAAW,M,yBA8BdC,KAAAC,qBAAuB,KAC7BD,KAAKE,eAAiB,IAAI,E,qCA1BN,G,YAMG,U,mBAOc,I,iCAGQ,M,iBAGhB,M,oBAIL,K,CAM1B,uBAAMC,GACJ,IAAKH,KAAKI,aAAc,CACtBJ,KAAKI,mBAAqBC,OAAOC,eAAeC,MAAMC,kBAAkBR,KAAKS,QAAS,U,EAI1F,MAAAC,GACE,MAAMC,EAAU,CACd,eAAgB,MAGlB,MAAMC,EAAYZ,KAAKa,IAAIC,SAAS,KAEpC,MAAMD,EAAMb,KAAKa,KAAOD,EAAY,IAAM,KACtC,UACA,cACA,SACA,oBACA,iBACA,WAAWG,mBAAmBV,OAAOW,SAASC,SAAW,KAAOZ,OAAOW,SAASE,QAChF,iBACA,eACClB,KAAKE,eAAiB,GAAK,eAEhC,OACEiB,EAACC,EAAI,KACHD,EAAA,OAAKE,MAAOV,GACVQ,EAAA,kBACEA,EAAA,eACEG,IAAKT,EACLU,aAAcvB,KAAKI,aAAamB,aAChCC,YAAa,OACbC,OAAQzB,KAAKyB,OACbC,mBAAoB1B,KAAKI,aAAauB,aACtCC,kBAAmB,OACnBC,cAAe7B,KAAK6B,cACpBC,YAAa9B,KAAK8B,YAClBC,4BAA6B/B,KAAK+B,4BAClCC,kBAAmBhC,KAAKC,sBAExBkB,EAAA,QAAMc,KAAK,eAAeC,KAAK,iBAC/Bf,EAAA,QAAMc,KAAK,gBAAgBC,KAAK,kBAChCf,EAAA,OAAKe,KAAK,kBAAkBC,UAAWnC,KAAKI,aAAagC,iB"}
@@ -13,5 +13,5 @@ v5.4.1
13
13
  https://github.com/mholt/PapaParse
14
14
  License: MIT
15
15
  */
16
- !function(i,e){t.exports=e()}(o,(function t(){var i="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==i?i:{};var e=!i.document&&!!i.postMessage,s=i.IS_PAPA_WORKER||!1,n={},a=0,r={parse:function(e,s){var o=(s=s||{}).dynamicTyping||!1;_(o)&&(s.dynamicTypingFunction=o,o={});if(s.dynamicTyping=o,s.transform=!!_(s.transform)&&s.transform,s.worker&&r.WORKERS_SUPPORTED){var h=function(){if(!r.WORKERS_SUPPORTED)return!1;var e=(o=i.URL||i.webkitURL||null,h=t.toString(),r.BLOB_URL||(r.BLOB_URL=o.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ","(",h,")();"],{type:"text/javascript"})))),s=new i.Worker(e);var o,h;return s.onmessage=p,s.id=a++,n[s.id]=s}();return h.userStep=s.step,h.userChunk=s.chunk,h.userComplete=s.complete,h.userError=s.error,s.step=_(s.step),s.chunk=_(s.chunk),s.complete=_(s.complete),s.error=_(s.error),delete s.worker,void h.postMessage({input:e,config:s,workerId:h.id})}var u=null;"string"==typeof e?(e=function(t){if(65279===t.charCodeAt(0))return t.slice(1);return t}(e),u=s.download?new l(s):new f(s)):!0===e.readable&&_(e.read)&&_(e.on)?u=new d(s):(i.File&&e instanceof File||e instanceof Object)&&(u=new c(s));return u.stream(e)},unparse:function(t,i){var e=!1,s=!0,n=",",a="\r\n",o='"',h=o+o,l=!1,c=null,f=!1;!function(){if("object"!=typeof i)return;"string"!=typeof i.delimiter||r.BAD_DELIMITERS.filter((function(t){return-1!==i.delimiter.indexOf(t)})).length||(n=i.delimiter);("boolean"==typeof i.quotes||"function"==typeof i.quotes||Array.isArray(i.quotes))&&(e=i.quotes);"boolean"!=typeof i.skipEmptyLines&&"string"!=typeof i.skipEmptyLines||(l=i.skipEmptyLines);"string"==typeof i.newline&&(a=i.newline);"string"==typeof i.quoteChar&&(o=i.quoteChar);"boolean"==typeof i.header&&(s=i.header);if(Array.isArray(i.columns)){if(0===i.columns.length)throw new Error("Option columns is empty");c=i.columns}void 0!==i.escapeChar&&(h=i.escapeChar+o);("boolean"==typeof i.escapeFormulae||i.escapeFormulae instanceof RegExp)&&(f=i.escapeFormulae instanceof RegExp?i.escapeFormulae:/^[=+\-@\t\r].*$/)}();var d=new RegExp(v(o),"g");"string"==typeof t&&(t=JSON.parse(t));if(Array.isArray(t)){if(!t.length||Array.isArray(t[0]))return u(null,t,l);if("object"==typeof t[0])return u(c||Object.keys(t[0]),t,l)}else if("object"==typeof t)return"string"==typeof t.data&&(t.data=JSON.parse(t.data)),Array.isArray(t.data)&&(t.fields||(t.fields=t.meta&&t.meta.fields||c),t.fields||(t.fields=Array.isArray(t.data[0])?t.fields:"object"==typeof t.data[0]?Object.keys(t.data[0]):[]),Array.isArray(t.data[0])||"object"==typeof t.data[0]||(t.data=[t.data])),u(t.fields||[],t.data||[],l);throw new Error("Unable to serialize unrecognized input");function u(t,i,e){var r="";"string"==typeof t&&(t=JSON.parse(t)),"string"==typeof i&&(i=JSON.parse(i));var o=Array.isArray(t)&&0<t.length,h=!Array.isArray(i[0]);if(o&&s){for(var l=0;l<t.length;l++)0<l&&(r+=n),r+=b(t[l],l);0<i.length&&(r+=a)}for(var c=0;c<i.length;c++){var f=o?t.length:i[c].length,d=!1,u=o?0===Object.keys(i[c]).length:0===i[c].length;if(e&&!o&&(d="greedy"===e?""===i[c].join("").trim():1===i[c].length&&0===i[c][0].length),"greedy"===e&&o){for(var v=[],p=0;p<f;p++){var m=h?t[p]:p;v.push(i[c][m])}d=""===v.join("").trim()}if(!d){for(var z=0;z<f;z++){0<z&&!u&&(r+=n);var g=o&&h?t[z]:z;r+=b(i[c][g],z)}c<i.length-1&&(!e||0<f&&!u)&&(r+=a)}}return r}function b(t,i){if(null==t)return"";if(t.constructor===Date)return JSON.stringify(t).slice(1,25);var s=!1;f&&"string"==typeof t&&f.test(t)&&(t="'"+t,s=!0);var a=t.toString().replace(d,h);return(s=s||!0===e||"function"==typeof e&&e(t,i)||Array.isArray(e)&&e[i]||function(t,i){for(var e=0;e<i.length;e++)if(-1<t.indexOf(i[e]))return!0;return!1}(a,r.BAD_DELIMITERS)||-1<a.indexOf(n)||" "===a.charAt(0)||" "===a.charAt(a.length-1))?o+a+o:a}}};if(r.RECORD_SEP=String.fromCharCode(30),r.UNIT_SEP=String.fromCharCode(31),r.BYTE_ORDER_MARK="\ufeff",r.BAD_DELIMITERS=["\r","\n",'"',r.BYTE_ORDER_MARK],r.WORKERS_SUPPORTED=!e&&!!i.Worker,r.NODE_STREAM_INPUT=1,r.LocalChunkSize=10485760,r.RemoteChunkSize=5242880,r.DefaultDelimiter=",",r.Parser=b,r.ParserHandle=u,r.NetworkStreamer=l,r.FileStreamer=c,r.StringStreamer=f,r.ReadableStreamStreamer=d,i.jQuery){var o=i.jQuery;o.fn.parse=function(t){var e=t.config||{},s=[];return this.each((function(t){if(!("INPUT"===o(this).prop("tagName").toUpperCase()&&"file"===o(this).attr("type").toLowerCase()&&i.FileReader)||!this.files||0===this.files.length)return!0;for(var n=0;n<this.files.length;n++)s.push({file:this.files[n],inputElem:this,instanceConfig:o.extend({},e)})})),n(),this;function n(){if(0!==s.length){var i,e,n,h,l=s[0];if(_(t.before)){var c=t.before(l.file,l.inputElem);if("object"==typeof c){if("abort"===c.action)return i="AbortError",e=l.file,n=l.inputElem,h=c.reason,void(_(t.error)&&t.error({name:i},e,n,h));if("skip"===c.action)return void a();"object"==typeof c.config&&(l.instanceConfig=o.extend(l.instanceConfig,c.config))}else if("skip"===c)return void a()}var f=l.instanceConfig.complete;l.instanceConfig.complete=function(t){_(f)&&f(t,l.file,l.inputElem),a()},r.parse(l.file,l.instanceConfig)}else _(t.complete)&&t.complete()}function a(){s.splice(0,1),n()}}}function h(t){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(t){var i=g(t);i.chunkSize=parseInt(i.chunkSize),t.step||t.chunk||(i.chunkSize=null);this._handle=new u(i),(this._handle.streamer=this)._config=i}.call(this,t),this.parseChunk=function(t,e){if(this.isFirstChunk&&_(this._config.beforeFirstChunk)){var n=this._config.beforeFirstChunk(t);void 0!==n&&(t=n)}this.isFirstChunk=!1,this._halted=!1;var a=this._partialLine+t;this._partialLine="";var o=this._handle.parse(a,this._baseIndex,!this._finished);if(!this._handle.paused()&&!this._handle.aborted()){var h=o.meta.cursor;this._finished||(this._partialLine=a.substring(h-this._baseIndex),this._baseIndex=h),o&&o.data&&(this._rowCount+=o.data.length);var l=this._finished||this._config.preview&&this._rowCount>=this._config.preview;if(s)i.postMessage({results:o,workerId:r.WORKER_ID,finished:l});else if(_(this._config.chunk)&&!e){if(this._config.chunk(o,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);o=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(o.data),this._completeResults.errors=this._completeResults.errors.concat(o.errors),this._completeResults.meta=o.meta),this._completed||!l||!_(this._config.complete)||o&&o.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),l||o&&o.meta.paused||this._nextChunk(),o}this._halted=!0},this._sendError=function(t){_(this._config.error)?this._config.error(t):s&&this._config.error&&i.postMessage({workerId:r.WORKER_ID,error:t,finished:!1})}}function l(t){var i;(t=t||{}).chunkSize||(t.chunkSize=r.RemoteChunkSize),h.call(this,t),this._nextChunk=e?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(t){this._input=t,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(i=new XMLHttpRequest,this._config.withCredentials&&(i.withCredentials=this._config.withCredentials),e||(i.onload=y(this._chunkLoaded,this),i.onerror=y(this._chunkError,this)),i.open(this._config.downloadRequestBody?"POST":"GET",this._input,!e),this._config.downloadRequestHeaders){var t=this._config.downloadRequestHeaders;for(var s in t)i.setRequestHeader(s,t[s])}if(this._config.chunkSize){var n=this._start+this._config.chunkSize-1;i.setRequestHeader("Range","bytes="+this._start+"-"+n)}try{i.send(this._config.downloadRequestBody)}catch(t){this._chunkError(t.message)}e&&0===i.status&&this._chunkError()}},this._chunkLoaded=function(){4===i.readyState&&(i.status<200||400<=i.status?this._chunkError():(this._start+=this._config.chunkSize?this._config.chunkSize:i.responseText.length,this._finished=!this._config.chunkSize||this._start>=function(t){var i=t.getResponseHeader("Content-Range");if(null===i)return-1;return parseInt(i.substring(i.lastIndexOf("/")+1))}(i),this.parseChunk(i.responseText)))},this._chunkError=function(t){var e=i.statusText||t;this._sendError(new Error(e))}}function c(t){var i,e;(t=t||{}).chunkSize||(t.chunkSize=r.LocalChunkSize),h.call(this,t);var s="undefined"!=typeof FileReader;this.stream=function(t){this._input=t,e=t.slice||t.webkitSlice||t.mozSlice,s?((i=new FileReader).onload=y(this._chunkLoaded,this),i.onerror=y(this._chunkError,this)):i=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){var t=this._input;if(this._config.chunkSize){var n=Math.min(this._start+this._config.chunkSize,this._input.size);t=e.call(t,this._start,n)}var a=i.readAsText(t,this._config.encoding);s||this._chunkLoaded({target:{result:a}})},this._chunkLoaded=function(t){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(t.target.result)},this._chunkError=function(){this._sendError(i.error)}}function f(t){var i;h.call(this,t=t||{}),this.stream=function(t){return i=t,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var t,e=this._config.chunkSize;return e?(t=i.substring(0,e),i=i.substring(e)):(t=i,i=""),this._finished=!i,this.parseChunk(t)}}}function d(t){h.call(this,t=t||{});var i=[],e=!0,s=!1;this.pause=function(){h.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){h.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(t){this._input=t,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){s&&1===i.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),i.length?this.parseChunk(i.shift()):e=!0},this._streamData=y((function(t){try{i.push("string"==typeof t?t:t.toString(this._config.encoding)),e&&(e=!1,this._checkIsFinished(),this.parseChunk(i.shift()))}catch(t){this._streamError(t)}}),this),this._streamError=y((function(t){this._streamCleanUp(),this._sendError(t)}),this),this._streamEnd=y((function(){this._streamCleanUp(),s=!0,this._streamData("")}),this),this._streamCleanUp=y((function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)}),this)}function u(t){var i,e,s,n=Math.pow(2,53),a=-n,o=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,h=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,l=this,c=0,f=0,d=!1,u=!1,p=[],m={data:[],errors:[],meta:{}};if(_(t.step)){var z=t.step;t.step=function(i){if(m=i,k())w();else{if(w(),0===m.data.length)return;c+=i.data.length,t.preview&&c>t.preview?e.abort():(m.data=m.data[0],z(m,l))}}}function y(i){return"greedy"===t.skipEmptyLines?""===i.join("").trim():1===i.length&&0===i[0].length}function w(){return m&&s&&(j("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+r.DefaultDelimiter+"'"),s=!1),t.skipEmptyLines&&(m.data=m.data.filter((function(t){return!y(t)}))),k()&&function(){if(!m)return;function i(i,e){_(t.transformHeader)&&(i=t.transformHeader(i,e)),p.push(i)}if(Array.isArray(m.data[0])){for(var e=0;k()&&e<m.data.length;e++)m.data[e].forEach(i);m.data.splice(0,1)}else m.data.forEach(i)}(),function(){if(!m||!t.header&&!t.dynamicTyping&&!t.transform)return m;function i(i,e){var s,n=t.header?{}:[];for(s=0;s<i.length;s++){var a=s,r=i[s];t.header&&(a=s>=p.length?"__parsed_extra":p[s]),t.transform&&(r=t.transform(r,a)),r=x(a,r),"__parsed_extra"===a?(n[a]=n[a]||[],n[a].push(r)):n[a]=r}return t.header&&(s>p.length?j("FieldMismatch","TooManyFields","Too many fields: expected "+p.length+" fields but parsed "+s,f+e):s<p.length&&j("FieldMismatch","TooFewFields","Too few fields: expected "+p.length+" fields but parsed "+s,f+e)),n}var e=1;!m.data.length||Array.isArray(m.data[0])?(m.data=m.data.map(i),e=m.data.length):m.data=i(m.data,0);t.header&&m.meta&&(m.meta.fields=p);return f+=e,m}()}function k(){return t.header&&0===p.length}function x(i,e){return s=i,t.dynamicTypingFunction&&void 0===t.dynamicTyping[s]&&(t.dynamicTyping[s]=t.dynamicTypingFunction(s)),!0===(t.dynamicTyping[s]||t.dynamicTyping)?"true"===e||"TRUE"===e||"false"!==e&&"FALSE"!==e&&(function(t){if(o.test(t)){var i=parseFloat(t);if(a<i&&i<n)return!0}return!1}(e)?parseFloat(e):h.test(e)?new Date(e):""===e?null:e):e;var s}function j(t,i,e,s){var n={type:t,code:i,message:e};void 0!==s&&(n.row=s),m.errors.push(n)}this.parse=function(n,a,o){var h=t.quoteChar||'"';if(t.newline||(t.newline=function(t,i){t=t.substring(0,1048576);var e=new RegExp(v(i)+"([^]*?)"+v(i),"gm"),s=(t=t.replace(e,"")).split("\r"),n=t.split("\n"),a=1<n.length&&n[0].length<s[0].length;if(1===s.length||a)return"\n";for(var r=0,o=0;o<s.length;o++)"\n"===s[o][0]&&r++;return r>=s.length/2?"\r\n":"\r"}(n,h)),s=!1,t.delimiter)_(t.delimiter)&&(t.delimiter=t.delimiter(n),m.meta.delimiter=t.delimiter);else{var l=function(i,e,s,n,a){var o,h,l,c;a=a||[",","\t","|",";",r.RECORD_SEP,r.UNIT_SEP];for(var f=0;f<a.length;f++){var d=a[f],u=0,v=0,p=0;l=void 0;for(var m=new b({comments:n,delimiter:d,newline:e,preview:10}).parse(i),z=0;z<m.data.length;z++)if(s&&y(m.data[z]))p++;else{var g=m.data[z].length;v+=g,void 0!==l?0<g&&(u+=Math.abs(g-l),l=g):l=g}0<m.data.length&&(v/=m.data.length-p),(void 0===h||u<=h)&&(void 0===c||c<v)&&1.99<v&&(h=u,o=d,c=v)}return{successful:!!(t.delimiter=o),bestDelimiter:o}}(n,t.newline,t.skipEmptyLines,t.comments,t.delimitersToGuess);l.successful?t.delimiter=l.bestDelimiter:(s=!0,t.delimiter=r.DefaultDelimiter),m.meta.delimiter=t.delimiter}var c=g(t);return t.preview&&t.header&&c.preview++,i=n,e=new b(c),m=e.parse(i,a,o),w(),d?{meta:{paused:!0}}:m||{meta:{paused:!1}}},this.paused=function(){return d},this.pause=function(){d=!0,e.abort(),i=_(t.chunk)?"":i.substring(e.getCharIndex())},this.resume=function(){l.streamer._halted?(d=!1,l.streamer.parseChunk(i,!0)):setTimeout(l.resume,3)},this.aborted=function(){return u},this.abort=function(){u=!0,e.abort(),m.meta.aborted=!0,_(t.complete)&&t.complete(m),i=""}}function v(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function b(t){var i,e=(t=t||{}).delimiter,s=t.newline,n=t.comments,a=t.step,o=t.preview,h=t.fastMode,l=i=void 0===t.quoteChar||null===t.quoteChar?'"':t.quoteChar;if(void 0!==t.escapeChar&&(l=t.escapeChar),("string"!=typeof e||-1<r.BAD_DELIMITERS.indexOf(e))&&(e=","),n===e)throw new Error("Comment character same as delimiter");!0===n?n="#":("string"!=typeof n||-1<r.BAD_DELIMITERS.indexOf(n))&&(n=!1),"\n"!==s&&"\r"!==s&&"\r\n"!==s&&(s="\n");var c=0,f=!1;this.parse=function(r,d,u){if("string"!=typeof r)throw new Error("Input must be a string");var b=r.length,p=e.length,m=s.length,z=n.length,g=_(a),y=[],w=[],k=[],x=c=0;if(!r)return q();if(t.header&&!d){var j=r.split(s)[0].split(e),O=[],A={},C=!1;for(var S in j){var E=j[S];_(t.transformHeader)&&(E=t.transformHeader(E,S));var F=E,T=A[E]||0;for(0<T&&(C=!0,F=E+"_"+T),A[E]=T+1;O.includes(F);)F=F+"_"+T;O.push(F)}if(C){var M=r.split(s);M[0]=O.join(e),r=M.join(s)}}if(h||!1!==h&&-1===r.indexOf(i)){for(var R=r.split(s),N=0;N<R.length;N++){if(k=R[N],c+=k.length,N!==R.length-1)c+=s.length;else if(u)return q();if(!n||k.substring(0,z)!==n){if(g){if(y=[],B(k.split(e)),H(),f)return q()}else B(k.split(e));if(o&&o<=N)return y=y.slice(0,o),q(!0)}}return q()}for(var D=r.indexOf(e,c),W=r.indexOf(s,c),I=new RegExp(v(l)+v(i),"g"),P=r.indexOf(i,c);;)if(r[c]!==i)if(n&&0===k.length&&r.substring(c,c+z)===n){if(-1===W)return q();c=W+m,W=r.indexOf(s,c),D=r.indexOf(e,c)}else if(-1!==D&&(D<W||-1===W))k.push(r.substring(c,D)),c=D+p,D=r.indexOf(e,c);else{if(-1===W)break;if(k.push(r.substring(c,W)),G(W+m),g&&(H(),f))return q();if(o&&y.length>=o)return q(!0)}else for(P=c,c++;;){if(-1===(P=r.indexOf(i,P+1)))return u||w.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:y.length,index:c}),L();if(P===b-1)return L(r.substring(c,P).replace(I,i));if(i!==l||r[P+1]!==l){if(i===l||0===P||r[P-1]!==l){-1!==D&&D<P+1&&(D=r.indexOf(e,P+1)),-1!==W&&W<P+1&&(W=r.indexOf(s,P+1));var J=U(-1===W?D:Math.min(D,W));if(r.substr(P+1+J,p)===e){k.push(r.substring(c,P).replace(I,i)),r[c=P+1+J+p]!==i&&(P=r.indexOf(i,c)),D=r.indexOf(e,c),W=r.indexOf(s,c);break}var $=U(W);if(r.substring(P+1+$,P+1+$+m)===s){if(k.push(r.substring(c,P).replace(I,i)),G(P+1+$+m),D=r.indexOf(e,c),P=r.indexOf(i,c),g&&(H(),f))return q();if(o&&y.length>=o)return q(!0);break}w.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:y.length,index:c}),P++}}else P++}return L();function B(t){y.push(t),x=c}function U(t){var i=0;if(-1!==t){var e=r.substring(P+1,t);e&&""===e.trim()&&(i=e.length)}return i}function L(t){return u||(void 0===t&&(t=r.substring(c)),k.push(t),c=b,B(k),g&&H()),q()}function G(t){c=t,B(k),k=[],W=r.indexOf(s,c)}function q(t){return{data:y,errors:w,meta:{delimiter:e,linebreak:s,aborted:f,truncated:!!t,cursor:x+(d||0)}}}function H(){a(q()),y=[],w=[]}},this.abort=function(){f=!0},this.getCharIndex=function(){return c}}function p(t){var i=t.data,e=n[i.workerId],s=!1;if(i.error)e.userError(i.error,i.file);else if(i.results&&i.results.data){var a={abort:function(){s=!0,m(i.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:z,resume:z};if(_(e.userStep)){for(var r=0;r<i.results.data.length&&(e.userStep({data:i.results.data[r],errors:i.results.errors,meta:i.results.meta},a),!s);r++);delete i.results}else _(e.userChunk)&&(e.userChunk(i.results,a,i.file),delete i.results)}i.finished&&!s&&m(i.workerId,i.results)}function m(t,i){var e=n[t];_(e.userComplete)&&e.userComplete(i),e.terminate(),delete n[t]}function z(){throw new Error("Not implemented.")}function g(t){if("object"!=typeof t||null===t)return t;var i=Array.isArray(t)?[]:{};for(var e in t)i[e]=g(t[e]);return i}function y(t,i){return function(){t.apply(i,arguments)}}function _(t){return"function"==typeof t}return s&&(i.onmessage=function(t){var e=t.data;void 0===r.WORKER_ID&&e&&(r.WORKER_ID=e.workerId);if("string"==typeof e.input)i.postMessage({workerId:r.WORKER_ID,results:r.parse(e.input,e.config),finished:!0});else if(i.File&&e.input instanceof File||e.input instanceof Object){var s=r.parse(e.input,e.config);s&&i.postMessage({workerId:r.WORKER_ID,results:s,finished:!0})}}),(l.prototype=Object.create(h.prototype)).constructor=l,(c.prototype=Object.create(h.prototype)).constructor=c,(f.prototype=Object.create(f.prototype)).constructor=f,(d.prototype=Object.create(h.prototype)).constructor=d,r}))}));const v=':host{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block;}:host[hidden]{display:none}:host::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}:host::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}:host *,:host *::before,:host *::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}:host .has-focus{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}:host .stzh-fylingfocus-focused{outline-style:none !important}:host .stzh-fylingfocus-focused::-moz-focus-inner{border:0 !important}stzh-datatable{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block;--stzh-list-font-size:"";--stzh-list-line-height:"";--stzh-list-letter-spacing:"";--max-height:var(--stzh-table-max-height);--min-width:var(--stzh-table-min-width);--cell-padding:var(--stzh-table-cell-padding);--search-input-width:var(--stzh-table-search-input-width)}stzh-datatable[hidden]{display:none}stzh-datatable::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}stzh-datatable::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}stzh-datatable *,stzh-datatable *::before,stzh-datatable *::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}stzh-datatable .has-focus{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}stzh-datatable .stzh-fylingfocus-focused{outline-style:none !important}stzh-datatable .stzh-fylingfocus-focused::-moz-focus-inner{border:0 !important}stzh-datatable[disable-min-width]:not([disable-min-width=false]){--min-width:none}.stzh-datatable{}.stzh-datatable__sub-header{display:flex;align-items:flex-end;justify-content:space-between}.stzh-datatable__header .stzh-datatable__search{flex-grow:1;margin-right:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-datatable__header .stzh-datatable__search{width:var(--search-input-width);flex-grow:0}}.stzh-datatable__action-button{flex-shrink:0;margin-left:auto}.stzh-datatable__outer-wrapper{position:relative}.stzh-datatable__wrapper{overflow-x:auto;max-height:var(--max-height)}.stzh-datatable__pagination-wrapper{display:flex;justify-content:flex-end}.stzh-datatable__pagination-wrapper:not(:empty){margin-top:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-datatable__pagination-wrapper:not(:empty){margin-top:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-datatable__pagination-wrapper:not(:empty){margin-top:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-datatable__pagination-wrapper:not(:empty){margin-top:var(--stzh-space-xxlarge)}}.stzh-datatable__sort-button{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;display:inline-flex;align-items:center;font-size:inherit;line-height:inherit;color:inherit;padding:var(--cell-padding);gap:var(--stzh-space-xxsmall)}.stzh-datatable__sort-button:hover,.stzh-datatable__sort-button:focus{color:var(--stzh-color-primary-hover)}.stzh-datatable__list-sort-wrapper{display:flex;flex-direction:column;align-items:flex-start}.stzh-datatable__list-sort-wrapper:not(:empty){margin-bottom:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-datatable__list-sort-wrapper:not(:empty){margin-bottom:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-datatable__list-sort-wrapper:not(:empty){margin-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-datatable__list-sort-wrapper:not(:empty){margin-bottom:var(--stzh-space-xxlarge)}}.stzh-datatable__list-sort-wrapper stzh-dropdown+stzh-dropdown{margin-top:calc(var(--stzh-space-xsmall) / -1)}.stzh-datatable stzh-icon.stzh-datatable__sort-icon{display:none}.stzh-datatable__table{width:100%;border-spacing:0;min-width:var(--min-width);}.stzh-datatable__table.has-layout-fixed{table-layout:fixed}.stzh-datatable__thead{position:-webkit-sticky;position:sticky;top:0;z-index:3}.stzh-datatable__tbody .stzh-datatable__row:nth-child(even) .stzh-datatable__cell{background-color:var(--stzh-color-grey10)}.stzh-datatable__cell{font-size:var(--stzh-font-milli-font-size);line-height:var(--stzh-font-milli-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing);text-align:left;border:none;vertical-align:top;border:none;background-color:var(--stzh-color-white);transition:background-color var(--stzh-base-transition-animation-speed);padding:var(--cell-padding);}.stzh-datatable__cell a{color:var(--stzh-link-color);transition:color var(--stzh-base-transition-animation-speed);border-radius:var(--stzh-button-border-radius);text-underline-offset:var(--stzh-link-text-underline-offset);-webkit-text-decoration-line:var(--stzh-link-text-decoration-line);text-decoration-line:var(--stzh-link-text-decoration-line);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.stzh-datatable__cell a:hover{color:var(--stzh-link-hover-color);-webkit-text-decoration-line:var(--stzh-link-hover-text-decoration-line);text-decoration-line:var(--stzh-link-hover-text-decoration-line)}.stzh-datatable__cell b,.stzh-datatable__cell strong{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy)}.stzh-datatable__cell i,.stzh-datatable__cell em{font-family:var(--stzh-font-family-medium-italic);font-weight:var(--stzh-font-weight-medium-italic);font-style:var(--stzh-font-style-medium-italic)}.stzh-datatable__cell.align-left{text-align:left}.stzh-datatable__cell.align-right{text-align:right}.stzh-datatable__cell.align-center{text-align:center}.stzh-datatable__cell.valign-auto{vertical-align:auto}.stzh-datatable__cell.valign-middle{vertical-align:middle}.stzh-datatable__cell.valign-bottom{vertical-align:bottom}.stzh-datatable__cell.valign-top{vertical-align:top}.stzh-datatable__cell.nowrap{white-space:nowrap}.stzh-datatable__cell.is-head{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy)}.stzh-datatable__cell.is-sticky-left,.stzh-datatable__cell.is-sticky-right{position:-webkit-sticky;position:sticky;z-index:1}.stzh-datatable__cell.has-sticked{z-index:2}.stzh-datatable__cell.is-sticky-left{left:0}.stzh-datatable__cell.is-sticky-right{right:0}.stzh-datatable__cell.is-sticky-left::after,.stzh-datatable__cell.is-sticky-right::after{background:linear-gradient(90deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0) 100%);content:"";pointer-events:none;position:absolute;top:0;height:100%;width:0.375rem;transform:translate(100%);opacity:0;transition:opacity var(--stzh-base-transition-animation-speed)}.stzh-datatable__cell.is-sticky-left::after{right:0}.stzh-datatable__cell.is-sticky-right::after{left:0;transform:rotate(-180deg) translate(100%)}.stzh-datatable__cell.has-sticked.is-sticky-left::after,.stzh-datatable__cell.has-sticked.is-sticky-right::after{opacity:1}.stzh-datatable__cell--head{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy);color:var(--stzh-color-primary)}.stzh-datatable__cell--head.is-sortable{padding:0}.stzh-datatable__cell.has-sorted .stzh-datatable__sort-icon{display:inline-flex}.stzh-datatable__cell.has-sorted-desc .stzh-datatable__sort-icon{transform:rotate(180deg)}.stzh-datatable.has-header .stzh-datatable__header{margin-bottom:var(--stzh-space-small)}@media screen and (min-width: 900px){.stzh-datatable.has-header .stzh-datatable__header{margin-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-datatable.has-header .stzh-datatable__header{margin-bottom:var(--stzh-space-large)}}.stzh-datatable.has-action-or-search .stzh-datatable__heading:not(:empty){margin-bottom:var(--stzh-space-xlarge)}.stzh-datatable.has-list .stzh-datatable__outer-wrapper{display:none}@media screen and (min-width: 1260px){.stzh-datatable.has-list .stzh-datatable__outer-wrapper{display:block}}@media screen and (min-width: 1260px){.stzh-datatable.has-list .stzh-datatable__list-wrapper{display:none}}';const b=class{constructor(e){t(this,e);this.stzhRowClick=i(this,"stzhRowClick",7);this.stzhCellClick=i(this,"stzhCellClick",7);this.stzhHeadingCellClick=i(this,"stzhHeadingCellClick",7);this.stzhSortClick=i(this,"stzhSortClick",7);this.stzhSortByChange=i(this,"stzhSortByChange",7);this.stzhSortDirectionChange=i(this,"stzhSortDirectionChange",7);this.handleSortByDropdownChange=async t=>{const i=t.target;const e=await i.getValue();this.sortBy=e};this.handleSortDirectionDropdownChange=async t=>{const i=t.target;const e=await i.getValue();this.sortDirection=e};this.handleRowClick=(t,i)=>{this.stzhRowClick.emit({component:"stzh-datatable",row:i,originalEvent:t})};this.handleCellClick=(t,i,e,s,n)=>{this.stzhCellClick.emit({component:"stzh-datatable",row:i,column:e,cellIndex:s,rowIndex:n,originalEvent:t})};this.handleSortClick=(t,i)=>{this.stzhSortClick.emit({component:"stzh-datatable",column:i,originalEvent:t});this.toggleSort(i.key)};this.updateScrollStates=()=>{if(!this.tableWrapper){return}const t=this.tableWrapper.scrollLeft;const i=this.tableWrapper.scrollWidth;const e=this.tableWrapper.clientWidth;this.isScrollable=i>e;this.hasScrollLeft=t>0;this.hasScrollRight=t<i-e;const s=Array.from(this.tableWrapper.querySelectorAll("tr"));const n=s[0];if(!n){return}this.cellsStickyLeft=[];this.cellsStickyRight=[];const a=Array.from(n.children);a.forEach(((i,s)=>{const n=i.offsetLeft;const a=n+i.offsetWidth;if(this.hasScrollLeft&&this._columns[s].fixed==="left"&&Math.ceil(t)>=n){this.cellsStickyLeft.push(s)}if(this.hasScrollRight&&this._columns[s].fixed==="right"&&Math.ceil(t)+e<=a){this.cellsStickyRight.push(s)}}))};this.handleResize=()=>{if(this.debounceResize){window.cancelAnimationFrame(this.debounceResize)}this.debounceResize=requestAnimationFrame(this.updateScrollStates)};this.handleScroll=()=>{if(this.debounceScroll){window.cancelAnimationFrame(this.debounceScroll)}this.debounceScroll=requestAnimationFrame(this.updateScrollStates)};this.onInputChange=()=>{this.query=this.input.value};this.onPaginationChange=t=>{if(t.detail.component==="stzh-pagination"){this.page=t.detail.page}};this.tableLayout="auto";this.localization=undefined;this.label="";this.sortBy="";this.sortDirection="asc";this.idField="id";this.rowHeaderField="";this.hideSearch=false;this.hideColumnHeadings=false;this.showList=false;this.page=1;this.pageSize=null;this.csvUrl=undefined;this.csvHeader=true;this.csvDynamicTyping=true;this.disableMinWidth=false;this.rows=[];this.columns=[];this.query="";this.hasScrollLeft=false;this.hasScrollRight=false;this.isScrollable=false;this.cellsStickyLeft=[];this.cellsStickyRight=[]}async toggleSort(t){this.page=1;if(t===this.sortBy){this.sortDirection=this.sortDirection==="asc"?"desc":"asc"}else{this.sortDirection="asc";this.sortBy=t}}async csvUrlsWatcher(t){if(!t){return}const i=await fetch(t);const e=await i.text();const{columns:s,rows:n}=await this.parseCsvToJson(e);if(this.csvHeader){this.columns=s.map((t=>{var i;return Object.assign(Object.assign({},t),((i=this._columns)===null||i===void 0?void 0:i.find((({key:i})=>i===t.key)))||{})}))}else{this.columns=this.columns||s}this.rows=n}rowsWatcher(t){let i;if(typeof t==="string"){i=JSON.parse(t)}else{i=t}this._rows=i.map((t=>{const i={};function e(t){const i={value:""};if(typeof t==="object"){return Object.assign(Object.assign({},i),t)}else{return Object.assign(Object.assign({},i),{value:t})}}this._columns.forEach(((s,n)=>{if(Array.isArray(t)){i[s.key]=e(t[n])}else{i[s.key]=e(t[s.key])}}));return i}));this.buildSearchIndex()}columnsWatcher(t){if(typeof t==="string"){this._columns=JSON.parse(t)}else{this._columns=t}this.rowsWatcher(this.rows)}sortByWatcher(t,i){this.stzhSortByChange.emit({component:"stzh-datatable",value:t,oldValue:i})}sortDirectionWatcher(t,i){this.stzhSortDirectionChange.emit({component:"stzh-datatable",value:t,oldValue:i})}async parseCsvToJson(t){return new Promise(((i,e)=>{u.parse(t,{header:this.csvHeader,dynamicTyping:this.csvDynamicTyping,complete:t=>{const e=t.data.map((t=>{const i={};Object.keys(t).forEach((e=>{i[e.toLowerCase()]=t[e]}));return i}));i({columns:Object.keys(t.data[0]).map((t=>({key:t.toLowerCase(),text:t}))),rows:e})},error:t=>{e(t)}})}))}handleHeadingCellClick(t,i,e){this.stzhHeadingCellClick.emit({component:"stzh-datatable",column:i,index:e,originalEvent:t})}buildSearchIndex(){if(!this._rows||this._rows.length===0||!this._columns||this._columns.length===0){return}this.searchIndex=new d.Document({tokenize:"forward",matcher:{"[äà]":"a","[öó]":"o","[üûúù]":"u","[éè]":"e"},document:{id:this.idField,index:this._columns.map((t=>t.key))}});this._rows.forEach((t=>{const i={};for(const e in t){i[e]=t[e].value.toString()}this.searchIndex.add(i)}))}async componentWillLoad(){this.columnsWatcher(this.columns);await this.csvUrlsWatcher(this.csvUrl);if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"datatable")}}componentDidLoad(){this.updateScrollStates()}componentWillRender(){this._rowsShown=[];this._rowsFiltered=[];if(this.query){let t=[];this.searchIndex.search(this.query).forEach((i=>{t=[...t,...i.result]}));t=t.filter((function(i,e){return t.indexOf(i)===e}));this._rows.forEach((i=>{if(t.includes(i[this.idField].value)||t.includes(i[this.idField].value.toString())){this._rowsFiltered.push(i)}}))}else{this._rowsFiltered=[...this._rows]}if(this.sortBy){const t=this._columns.find((t=>t.key===this.sortBy));let i=this.sortBy;let e=null;if(typeof t.sort==="object"){if(t.sort.field){i=t.sort.field}if(t.sort.type){e=t.sort.type}}this._rowsFiltered.sort(((t,s)=>{if(e==="numerical"){if(this.sortDirection==="asc"){return Number(t[i].value)-Number(s[i].value)}else{return Number(s[i].value)-Number(t[i].value)}}else{const e=t[i].value.toString().localeCompare(s[i].value.toString());return this.sortDirection==="asc"?e:e/-1}}))}if(this.pageSize!==null){const t=this.page*this.pageSize;this._rowsShown=this._rowsFiltered.slice(t-this.pageSize,t)}else{this._rowsShown=[...this._rowsFiltered]}}connectedCallback(){this.resizeObserver=new ResizeObserver(this.handleResize);this.resizeObserver.observe(this.element)}disconnectedCallback(){if(this.resizeObserver){this.resizeObserver.disconnect()}}render(){var t,i;const n=h(this.element,"heading");const a=h(this.element,"action-button");const r={"stzh-datatable":true,"is-scrollable":this.isScrollable,"has-scroll-left":this.hasScrollLeft,"has-scroll-right":this.hasScrollRight,"has-scroll-left-shadow":this.hasScrollLeft&&this.cellsStickyLeft.length===0,"has-scroll-right-shadow":this.hasScrollRight&&this.cellsStickyRight.length===0,"has-list":this.showList,"has-heading":n,"has-action-or-search":a||!this.hideSearch,"has-header":n||a||!this.hideSearch};const o=Math.ceil(this._rowsFiltered.length/this.pageSize);const l=this._columns.find((t=>t.isHeader));const c=[{text:this.localization.sortByDefaultOption,value:""},...this._columns.filter((t=>!!t.sort)).map((t=>{var i;return{value:t.key,text:(i=this.localization.sortByOption)===null||i===void 0?void 0:i.replace(/\{column\}/gi,t.text)}}))];const f=[{value:"asc",text:(t=this.localization.sortDirectionOption)===null||t===void 0?void 0:t.replace(/\{direction\}/gi,this.localization.asc)},{value:"desc",text:(i=this.localization.sortDirectionOption)===null||i===void 0?void 0:i.replace(/\{direction\}/gi,this.localization.desc)}];const d=(t,i,e)=>{var s,n,a,r,o;return{"stzh-datatable__cell stzh-datatable__cell--body":true,"is-sticky-left":t.fixed==="left","is-sticky-right":t.fixed==="right","is-head":!!((s=i[t.key])===null||s===void 0?void 0:s.isHeader)||!!t.isHeader,"is-sortable":!!t.sort,"has-sticked":this.cellsStickyLeft.indexOf(e)>-1||this.cellsStickyRight.indexOf(e)>-1,"has-sorted":t.key===this.sortBy,"has-sorted-asc":t.key===this.sortBy&&this.sortDirection==="asc","has-sorted-desc":t.key===this.sortBy&&this.sortDirection==="desc",[`align-${((n=i[t.key])===null||n===void 0?void 0:n.align)||t.align}`]:!!((a=i[t.key])===null||a===void 0?void 0:a.align)||!!t.align,[`valign-${((r=i[t.key])===null||r===void 0?void 0:r.valign)||t.valign}`]:!!((o=i[t.key])===null||o===void 0?void 0:o.valign)||!!t.valign}};return e(s,null,e("div",{class:r},e("div",{class:"stzh-datatable__header"},e("div",{class:"stzh-datatable__heading"},e("slot",{name:"heading"})),e("div",{class:"stzh-datatable__sub-header"},!this.hideSearch&&e("stzh-input",{ref:t=>this.input=t,class:"stzh-datatable__search",size:"small",name:"stzh-datatable-search",onStzhChange:this.onInputChange,hideOptional:true,label:this.localization.searchLabel,type:"search"}),e("div",{class:"stzh-datatable__action-button"},e("slot",{name:"action-button"})))),e("div",{class:"stzh-datatable__outer-wrapper"},e("div",{ref:t=>this.tableWrapper=t,class:"stzh-datatable__wrapper",onScroll:this.handleScroll},e("table",{class:{"stzh-datatable__table":true,"has-layout-fixed":this.tableLayout==="fixed"}},!this.hideColumnHeadings&&e("thead",{class:"stzh-datatable__thead"},e("tr",{class:"stzh-datatable__row stzh-datatable__row--head"},this._columns.map(((t,i)=>e("th",{onClick:e=>this.handleHeadingCellClick(e,t,i),style:t.style,class:{"stzh-datatable__cell stzh-datatable__cell--head":true,"is-sticky-left":t.fixed==="left","is-sticky-right":t.fixed==="right","is-sortable":!!t.sort,"has-sticked":this.cellsStickyLeft.indexOf(i)>-1||this.cellsStickyRight.indexOf(i)>-1,"has-sorted":t.key===this.sortBy,"has-sorted-asc":t.key===this.sortBy&&this.sortDirection==="asc","has-sorted-desc":t.key===this.sortBy&&this.sortDirection==="desc",[`align-${t.align}`]:!!t.align,[`valign-${t.valign}`]:!!t.valign}},!t.hideColumnHeading&&(t.sort?e("button",{class:"stzh-datatable__sort-button",type:"button",onClick:i=>this.handleSortClick(i,t),"s-object-id":t.analyticsId||`${t.text} ${this.localization.columnSort}`},e("span",null,t.text),e("stzh-icon",{name:"arrow-up",class:"stzh-datatable__sort-icon",a11yTitle:this.localization.columnSort})):e("span",null,t.text))))))),e("tbody",{class:"stzh-datatable__tbody"},this._rowsShown.map(((t,i)=>e("tr",{class:"stzh-datatable__row stzh-datatable__row--body",onClick:i=>this.handleRowClick(i,t)},this._columns.map(((s,n)=>{var a;return!!((a=t[s.key])===null||a===void 0?void 0:a.isHeader)||!!s.isHeader?e("th",{id:t[s.key].id,onClick:e=>this.handleCellClick(e,t,s,n,i),innerHTML:t[s.key].value.toString()||"",style:s.style,class:d(s,t,n)}):e("td",{id:t[s.key].id,onClick:e=>this.handleCellClick(e,t,s,n,i),innerHTML:t[s.key].value.toString()||"",style:s.style,class:d(s,t,n)})}))))))))),this.showList&&e("div",{class:"stzh-datatable__list-wrapper"},c.length>1&&e("div",{class:"stzh-datatable__list-sort-wrapper"},e("stzh-dropdown",{inline:true,"no-search":true,class:"stzh-datatable__list-sort-by-dropdown",variant:"plain",size:"small",items:[this.sortBy],options:c,onStzhChange:this.handleSortByDropdownChange}),e("stzh-dropdown",{disabled:this.sortBy==="",inline:true,"no-search":true,class:"stzh-datatable__list-sort-direction-dropdown",variant:"plain",size:"small",items:[this.sortDirection],options:f,onStzhChange:this.handleSortDirectionDropdownChange})),e("stzh-accordion",{variant:"table"},this._rowsShown.map(((t,i)=>{var s,n,a,r;return e("stzh-accordion-item",{heading:((n=(s=t[this.rowHeaderField])===null||s===void 0?void 0:s.value)===null||n===void 0?void 0:n.toString())||((r=(a=t[l===null||l===void 0?void 0:l.key])===null||a===void 0?void 0:a.value)===null||r===void 0?void 0:r.toString())||this.localization.defaultListRowHeading.replace(/\{n\}/gi,(i+1).toString())},e("stzh-datalist",{variant:"table",columnsMedium:2},this._columns.map((i=>{var s,n;return e("stzh-datalist-item",{label:i.text,value:((n=(s=t[i.key])===null||s===void 0?void 0:s.value)===null||n===void 0?void 0:n.toString())||""})}))))})))),this.pageSize!==null&&o>1&&e("div",{class:"stzh-datatable__pagination-wrapper"},e("stzh-pagination",{value:this.page,total:o,onStzhChange:this.onPaginationChange}))))}get element(){return n(this)}static get watchers(){return{csvUrls:["csvUrlsWatcher"],rows:["rowsWatcher"],columns:["columnsWatcher"],sortBy:["sortByWatcher"],sortDirection:["sortDirectionWatcher"]}}};b.style=v;export{b as stzh_datatable};
17
- //# sourceMappingURL=p-8b04698a.entry.js.map
16
+ !function(i,e){t.exports=e()}(o,(function t(){var i="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==i?i:{};var e=!i.document&&!!i.postMessage,s=i.IS_PAPA_WORKER||!1,n={},a=0,r={parse:function(e,s){var o=(s=s||{}).dynamicTyping||!1;_(o)&&(s.dynamicTypingFunction=o,o={});if(s.dynamicTyping=o,s.transform=!!_(s.transform)&&s.transform,s.worker&&r.WORKERS_SUPPORTED){var h=function(){if(!r.WORKERS_SUPPORTED)return!1;var e=(o=i.URL||i.webkitURL||null,h=t.toString(),r.BLOB_URL||(r.BLOB_URL=o.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ","(",h,")();"],{type:"text/javascript"})))),s=new i.Worker(e);var o,h;return s.onmessage=p,s.id=a++,n[s.id]=s}();return h.userStep=s.step,h.userChunk=s.chunk,h.userComplete=s.complete,h.userError=s.error,s.step=_(s.step),s.chunk=_(s.chunk),s.complete=_(s.complete),s.error=_(s.error),delete s.worker,void h.postMessage({input:e,config:s,workerId:h.id})}var u=null;"string"==typeof e?(e=function(t){if(65279===t.charCodeAt(0))return t.slice(1);return t}(e),u=s.download?new l(s):new f(s)):!0===e.readable&&_(e.read)&&_(e.on)?u=new d(s):(i.File&&e instanceof File||e instanceof Object)&&(u=new c(s));return u.stream(e)},unparse:function(t,i){var e=!1,s=!0,n=",",a="\r\n",o='"',h=o+o,l=!1,c=null,f=!1;!function(){if("object"!=typeof i)return;"string"!=typeof i.delimiter||r.BAD_DELIMITERS.filter((function(t){return-1!==i.delimiter.indexOf(t)})).length||(n=i.delimiter);("boolean"==typeof i.quotes||"function"==typeof i.quotes||Array.isArray(i.quotes))&&(e=i.quotes);"boolean"!=typeof i.skipEmptyLines&&"string"!=typeof i.skipEmptyLines||(l=i.skipEmptyLines);"string"==typeof i.newline&&(a=i.newline);"string"==typeof i.quoteChar&&(o=i.quoteChar);"boolean"==typeof i.header&&(s=i.header);if(Array.isArray(i.columns)){if(0===i.columns.length)throw new Error("Option columns is empty");c=i.columns}void 0!==i.escapeChar&&(h=i.escapeChar+o);("boolean"==typeof i.escapeFormulae||i.escapeFormulae instanceof RegExp)&&(f=i.escapeFormulae instanceof RegExp?i.escapeFormulae:/^[=+\-@\t\r].*$/)}();var d=new RegExp(v(o),"g");"string"==typeof t&&(t=JSON.parse(t));if(Array.isArray(t)){if(!t.length||Array.isArray(t[0]))return u(null,t,l);if("object"==typeof t[0])return u(c||Object.keys(t[0]),t,l)}else if("object"==typeof t)return"string"==typeof t.data&&(t.data=JSON.parse(t.data)),Array.isArray(t.data)&&(t.fields||(t.fields=t.meta&&t.meta.fields||c),t.fields||(t.fields=Array.isArray(t.data[0])?t.fields:"object"==typeof t.data[0]?Object.keys(t.data[0]):[]),Array.isArray(t.data[0])||"object"==typeof t.data[0]||(t.data=[t.data])),u(t.fields||[],t.data||[],l);throw new Error("Unable to serialize unrecognized input");function u(t,i,e){var r="";"string"==typeof t&&(t=JSON.parse(t)),"string"==typeof i&&(i=JSON.parse(i));var o=Array.isArray(t)&&0<t.length,h=!Array.isArray(i[0]);if(o&&s){for(var l=0;l<t.length;l++)0<l&&(r+=n),r+=b(t[l],l);0<i.length&&(r+=a)}for(var c=0;c<i.length;c++){var f=o?t.length:i[c].length,d=!1,u=o?0===Object.keys(i[c]).length:0===i[c].length;if(e&&!o&&(d="greedy"===e?""===i[c].join("").trim():1===i[c].length&&0===i[c][0].length),"greedy"===e&&o){for(var v=[],p=0;p<f;p++){var m=h?t[p]:p;v.push(i[c][m])}d=""===v.join("").trim()}if(!d){for(var z=0;z<f;z++){0<z&&!u&&(r+=n);var g=o&&h?t[z]:z;r+=b(i[c][g],z)}c<i.length-1&&(!e||0<f&&!u)&&(r+=a)}}return r}function b(t,i){if(null==t)return"";if(t.constructor===Date)return JSON.stringify(t).slice(1,25);var s=!1;f&&"string"==typeof t&&f.test(t)&&(t="'"+t,s=!0);var a=t.toString().replace(d,h);return(s=s||!0===e||"function"==typeof e&&e(t,i)||Array.isArray(e)&&e[i]||function(t,i){for(var e=0;e<i.length;e++)if(-1<t.indexOf(i[e]))return!0;return!1}(a,r.BAD_DELIMITERS)||-1<a.indexOf(n)||" "===a.charAt(0)||" "===a.charAt(a.length-1))?o+a+o:a}}};if(r.RECORD_SEP=String.fromCharCode(30),r.UNIT_SEP=String.fromCharCode(31),r.BYTE_ORDER_MARK="\ufeff",r.BAD_DELIMITERS=["\r","\n",'"',r.BYTE_ORDER_MARK],r.WORKERS_SUPPORTED=!e&&!!i.Worker,r.NODE_STREAM_INPUT=1,r.LocalChunkSize=10485760,r.RemoteChunkSize=5242880,r.DefaultDelimiter=",",r.Parser=b,r.ParserHandle=u,r.NetworkStreamer=l,r.FileStreamer=c,r.StringStreamer=f,r.ReadableStreamStreamer=d,i.jQuery){var o=i.jQuery;o.fn.parse=function(t){var e=t.config||{},s=[];return this.each((function(t){if(!("INPUT"===o(this).prop("tagName").toUpperCase()&&"file"===o(this).attr("type").toLowerCase()&&i.FileReader)||!this.files||0===this.files.length)return!0;for(var n=0;n<this.files.length;n++)s.push({file:this.files[n],inputElem:this,instanceConfig:o.extend({},e)})})),n(),this;function n(){if(0!==s.length){var i,e,n,h,l=s[0];if(_(t.before)){var c=t.before(l.file,l.inputElem);if("object"==typeof c){if("abort"===c.action)return i="AbortError",e=l.file,n=l.inputElem,h=c.reason,void(_(t.error)&&t.error({name:i},e,n,h));if("skip"===c.action)return void a();"object"==typeof c.config&&(l.instanceConfig=o.extend(l.instanceConfig,c.config))}else if("skip"===c)return void a()}var f=l.instanceConfig.complete;l.instanceConfig.complete=function(t){_(f)&&f(t,l.file,l.inputElem),a()},r.parse(l.file,l.instanceConfig)}else _(t.complete)&&t.complete()}function a(){s.splice(0,1),n()}}}function h(t){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(t){var i=g(t);i.chunkSize=parseInt(i.chunkSize),t.step||t.chunk||(i.chunkSize=null);this._handle=new u(i),(this._handle.streamer=this)._config=i}.call(this,t),this.parseChunk=function(t,e){if(this.isFirstChunk&&_(this._config.beforeFirstChunk)){var n=this._config.beforeFirstChunk(t);void 0!==n&&(t=n)}this.isFirstChunk=!1,this._halted=!1;var a=this._partialLine+t;this._partialLine="";var o=this._handle.parse(a,this._baseIndex,!this._finished);if(!this._handle.paused()&&!this._handle.aborted()){var h=o.meta.cursor;this._finished||(this._partialLine=a.substring(h-this._baseIndex),this._baseIndex=h),o&&o.data&&(this._rowCount+=o.data.length);var l=this._finished||this._config.preview&&this._rowCount>=this._config.preview;if(s)i.postMessage({results:o,workerId:r.WORKER_ID,finished:l});else if(_(this._config.chunk)&&!e){if(this._config.chunk(o,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);o=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(o.data),this._completeResults.errors=this._completeResults.errors.concat(o.errors),this._completeResults.meta=o.meta),this._completed||!l||!_(this._config.complete)||o&&o.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),l||o&&o.meta.paused||this._nextChunk(),o}this._halted=!0},this._sendError=function(t){_(this._config.error)?this._config.error(t):s&&this._config.error&&i.postMessage({workerId:r.WORKER_ID,error:t,finished:!1})}}function l(t){var i;(t=t||{}).chunkSize||(t.chunkSize=r.RemoteChunkSize),h.call(this,t),this._nextChunk=e?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(t){this._input=t,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(i=new XMLHttpRequest,this._config.withCredentials&&(i.withCredentials=this._config.withCredentials),e||(i.onload=y(this._chunkLoaded,this),i.onerror=y(this._chunkError,this)),i.open(this._config.downloadRequestBody?"POST":"GET",this._input,!e),this._config.downloadRequestHeaders){var t=this._config.downloadRequestHeaders;for(var s in t)i.setRequestHeader(s,t[s])}if(this._config.chunkSize){var n=this._start+this._config.chunkSize-1;i.setRequestHeader("Range","bytes="+this._start+"-"+n)}try{i.send(this._config.downloadRequestBody)}catch(t){this._chunkError(t.message)}e&&0===i.status&&this._chunkError()}},this._chunkLoaded=function(){4===i.readyState&&(i.status<200||400<=i.status?this._chunkError():(this._start+=this._config.chunkSize?this._config.chunkSize:i.responseText.length,this._finished=!this._config.chunkSize||this._start>=function(t){var i=t.getResponseHeader("Content-Range");if(null===i)return-1;return parseInt(i.substring(i.lastIndexOf("/")+1))}(i),this.parseChunk(i.responseText)))},this._chunkError=function(t){var e=i.statusText||t;this._sendError(new Error(e))}}function c(t){var i,e;(t=t||{}).chunkSize||(t.chunkSize=r.LocalChunkSize),h.call(this,t);var s="undefined"!=typeof FileReader;this.stream=function(t){this._input=t,e=t.slice||t.webkitSlice||t.mozSlice,s?((i=new FileReader).onload=y(this._chunkLoaded,this),i.onerror=y(this._chunkError,this)):i=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){var t=this._input;if(this._config.chunkSize){var n=Math.min(this._start+this._config.chunkSize,this._input.size);t=e.call(t,this._start,n)}var a=i.readAsText(t,this._config.encoding);s||this._chunkLoaded({target:{result:a}})},this._chunkLoaded=function(t){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(t.target.result)},this._chunkError=function(){this._sendError(i.error)}}function f(t){var i;h.call(this,t=t||{}),this.stream=function(t){return i=t,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var t,e=this._config.chunkSize;return e?(t=i.substring(0,e),i=i.substring(e)):(t=i,i=""),this._finished=!i,this.parseChunk(t)}}}function d(t){h.call(this,t=t||{});var i=[],e=!0,s=!1;this.pause=function(){h.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){h.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(t){this._input=t,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){s&&1===i.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),i.length?this.parseChunk(i.shift()):e=!0},this._streamData=y((function(t){try{i.push("string"==typeof t?t:t.toString(this._config.encoding)),e&&(e=!1,this._checkIsFinished(),this.parseChunk(i.shift()))}catch(t){this._streamError(t)}}),this),this._streamError=y((function(t){this._streamCleanUp(),this._sendError(t)}),this),this._streamEnd=y((function(){this._streamCleanUp(),s=!0,this._streamData("")}),this),this._streamCleanUp=y((function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)}),this)}function u(t){var i,e,s,n=Math.pow(2,53),a=-n,o=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,h=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,l=this,c=0,f=0,d=!1,u=!1,p=[],m={data:[],errors:[],meta:{}};if(_(t.step)){var z=t.step;t.step=function(i){if(m=i,k())w();else{if(w(),0===m.data.length)return;c+=i.data.length,t.preview&&c>t.preview?e.abort():(m.data=m.data[0],z(m,l))}}}function y(i){return"greedy"===t.skipEmptyLines?""===i.join("").trim():1===i.length&&0===i[0].length}function w(){return m&&s&&(j("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+r.DefaultDelimiter+"'"),s=!1),t.skipEmptyLines&&(m.data=m.data.filter((function(t){return!y(t)}))),k()&&function(){if(!m)return;function i(i,e){_(t.transformHeader)&&(i=t.transformHeader(i,e)),p.push(i)}if(Array.isArray(m.data[0])){for(var e=0;k()&&e<m.data.length;e++)m.data[e].forEach(i);m.data.splice(0,1)}else m.data.forEach(i)}(),function(){if(!m||!t.header&&!t.dynamicTyping&&!t.transform)return m;function i(i,e){var s,n=t.header?{}:[];for(s=0;s<i.length;s++){var a=s,r=i[s];t.header&&(a=s>=p.length?"__parsed_extra":p[s]),t.transform&&(r=t.transform(r,a)),r=x(a,r),"__parsed_extra"===a?(n[a]=n[a]||[],n[a].push(r)):n[a]=r}return t.header&&(s>p.length?j("FieldMismatch","TooManyFields","Too many fields: expected "+p.length+" fields but parsed "+s,f+e):s<p.length&&j("FieldMismatch","TooFewFields","Too few fields: expected "+p.length+" fields but parsed "+s,f+e)),n}var e=1;!m.data.length||Array.isArray(m.data[0])?(m.data=m.data.map(i),e=m.data.length):m.data=i(m.data,0);t.header&&m.meta&&(m.meta.fields=p);return f+=e,m}()}function k(){return t.header&&0===p.length}function x(i,e){return s=i,t.dynamicTypingFunction&&void 0===t.dynamicTyping[s]&&(t.dynamicTyping[s]=t.dynamicTypingFunction(s)),!0===(t.dynamicTyping[s]||t.dynamicTyping)?"true"===e||"TRUE"===e||"false"!==e&&"FALSE"!==e&&(function(t){if(o.test(t)){var i=parseFloat(t);if(a<i&&i<n)return!0}return!1}(e)?parseFloat(e):h.test(e)?new Date(e):""===e?null:e):e;var s}function j(t,i,e,s){var n={type:t,code:i,message:e};void 0!==s&&(n.row=s),m.errors.push(n)}this.parse=function(n,a,o){var h=t.quoteChar||'"';if(t.newline||(t.newline=function(t,i){t=t.substring(0,1048576);var e=new RegExp(v(i)+"([^]*?)"+v(i),"gm"),s=(t=t.replace(e,"")).split("\r"),n=t.split("\n"),a=1<n.length&&n[0].length<s[0].length;if(1===s.length||a)return"\n";for(var r=0,o=0;o<s.length;o++)"\n"===s[o][0]&&r++;return r>=s.length/2?"\r\n":"\r"}(n,h)),s=!1,t.delimiter)_(t.delimiter)&&(t.delimiter=t.delimiter(n),m.meta.delimiter=t.delimiter);else{var l=function(i,e,s,n,a){var o,h,l,c;a=a||[",","\t","|",";",r.RECORD_SEP,r.UNIT_SEP];for(var f=0;f<a.length;f++){var d=a[f],u=0,v=0,p=0;l=void 0;for(var m=new b({comments:n,delimiter:d,newline:e,preview:10}).parse(i),z=0;z<m.data.length;z++)if(s&&y(m.data[z]))p++;else{var g=m.data[z].length;v+=g,void 0!==l?0<g&&(u+=Math.abs(g-l),l=g):l=g}0<m.data.length&&(v/=m.data.length-p),(void 0===h||u<=h)&&(void 0===c||c<v)&&1.99<v&&(h=u,o=d,c=v)}return{successful:!!(t.delimiter=o),bestDelimiter:o}}(n,t.newline,t.skipEmptyLines,t.comments,t.delimitersToGuess);l.successful?t.delimiter=l.bestDelimiter:(s=!0,t.delimiter=r.DefaultDelimiter),m.meta.delimiter=t.delimiter}var c=g(t);return t.preview&&t.header&&c.preview++,i=n,e=new b(c),m=e.parse(i,a,o),w(),d?{meta:{paused:!0}}:m||{meta:{paused:!1}}},this.paused=function(){return d},this.pause=function(){d=!0,e.abort(),i=_(t.chunk)?"":i.substring(e.getCharIndex())},this.resume=function(){l.streamer._halted?(d=!1,l.streamer.parseChunk(i,!0)):setTimeout(l.resume,3)},this.aborted=function(){return u},this.abort=function(){u=!0,e.abort(),m.meta.aborted=!0,_(t.complete)&&t.complete(m),i=""}}function v(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function b(t){var i,e=(t=t||{}).delimiter,s=t.newline,n=t.comments,a=t.step,o=t.preview,h=t.fastMode,l=i=void 0===t.quoteChar||null===t.quoteChar?'"':t.quoteChar;if(void 0!==t.escapeChar&&(l=t.escapeChar),("string"!=typeof e||-1<r.BAD_DELIMITERS.indexOf(e))&&(e=","),n===e)throw new Error("Comment character same as delimiter");!0===n?n="#":("string"!=typeof n||-1<r.BAD_DELIMITERS.indexOf(n))&&(n=!1),"\n"!==s&&"\r"!==s&&"\r\n"!==s&&(s="\n");var c=0,f=!1;this.parse=function(r,d,u){if("string"!=typeof r)throw new Error("Input must be a string");var b=r.length,p=e.length,m=s.length,z=n.length,g=_(a),y=[],w=[],k=[],x=c=0;if(!r)return q();if(t.header&&!d){var j=r.split(s)[0].split(e),O=[],A={},C=!1;for(var S in j){var E=j[S];_(t.transformHeader)&&(E=t.transformHeader(E,S));var F=E,T=A[E]||0;for(0<T&&(C=!0,F=E+"_"+T),A[E]=T+1;O.includes(F);)F=F+"_"+T;O.push(F)}if(C){var M=r.split(s);M[0]=O.join(e),r=M.join(s)}}if(h||!1!==h&&-1===r.indexOf(i)){for(var R=r.split(s),N=0;N<R.length;N++){if(k=R[N],c+=k.length,N!==R.length-1)c+=s.length;else if(u)return q();if(!n||k.substring(0,z)!==n){if(g){if(y=[],B(k.split(e)),H(),f)return q()}else B(k.split(e));if(o&&o<=N)return y=y.slice(0,o),q(!0)}}return q()}for(var D=r.indexOf(e,c),W=r.indexOf(s,c),I=new RegExp(v(l)+v(i),"g"),P=r.indexOf(i,c);;)if(r[c]!==i)if(n&&0===k.length&&r.substring(c,c+z)===n){if(-1===W)return q();c=W+m,W=r.indexOf(s,c),D=r.indexOf(e,c)}else if(-1!==D&&(D<W||-1===W))k.push(r.substring(c,D)),c=D+p,D=r.indexOf(e,c);else{if(-1===W)break;if(k.push(r.substring(c,W)),G(W+m),g&&(H(),f))return q();if(o&&y.length>=o)return q(!0)}else for(P=c,c++;;){if(-1===(P=r.indexOf(i,P+1)))return u||w.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:y.length,index:c}),L();if(P===b-1)return L(r.substring(c,P).replace(I,i));if(i!==l||r[P+1]!==l){if(i===l||0===P||r[P-1]!==l){-1!==D&&D<P+1&&(D=r.indexOf(e,P+1)),-1!==W&&W<P+1&&(W=r.indexOf(s,P+1));var J=U(-1===W?D:Math.min(D,W));if(r.substr(P+1+J,p)===e){k.push(r.substring(c,P).replace(I,i)),r[c=P+1+J+p]!==i&&(P=r.indexOf(i,c)),D=r.indexOf(e,c),W=r.indexOf(s,c);break}var $=U(W);if(r.substring(P+1+$,P+1+$+m)===s){if(k.push(r.substring(c,P).replace(I,i)),G(P+1+$+m),D=r.indexOf(e,c),P=r.indexOf(i,c),g&&(H(),f))return q();if(o&&y.length>=o)return q(!0);break}w.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:y.length,index:c}),P++}}else P++}return L();function B(t){y.push(t),x=c}function U(t){var i=0;if(-1!==t){var e=r.substring(P+1,t);e&&""===e.trim()&&(i=e.length)}return i}function L(t){return u||(void 0===t&&(t=r.substring(c)),k.push(t),c=b,B(k),g&&H()),q()}function G(t){c=t,B(k),k=[],W=r.indexOf(s,c)}function q(t){return{data:y,errors:w,meta:{delimiter:e,linebreak:s,aborted:f,truncated:!!t,cursor:x+(d||0)}}}function H(){a(q()),y=[],w=[]}},this.abort=function(){f=!0},this.getCharIndex=function(){return c}}function p(t){var i=t.data,e=n[i.workerId],s=!1;if(i.error)e.userError(i.error,i.file);else if(i.results&&i.results.data){var a={abort:function(){s=!0,m(i.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:z,resume:z};if(_(e.userStep)){for(var r=0;r<i.results.data.length&&(e.userStep({data:i.results.data[r],errors:i.results.errors,meta:i.results.meta},a),!s);r++);delete i.results}else _(e.userChunk)&&(e.userChunk(i.results,a,i.file),delete i.results)}i.finished&&!s&&m(i.workerId,i.results)}function m(t,i){var e=n[t];_(e.userComplete)&&e.userComplete(i),e.terminate(),delete n[t]}function z(){throw new Error("Not implemented.")}function g(t){if("object"!=typeof t||null===t)return t;var i=Array.isArray(t)?[]:{};for(var e in t)i[e]=g(t[e]);return i}function y(t,i){return function(){t.apply(i,arguments)}}function _(t){return"function"==typeof t}return s&&(i.onmessage=function(t){var e=t.data;void 0===r.WORKER_ID&&e&&(r.WORKER_ID=e.workerId);if("string"==typeof e.input)i.postMessage({workerId:r.WORKER_ID,results:r.parse(e.input,e.config),finished:!0});else if(i.File&&e.input instanceof File||e.input instanceof Object){var s=r.parse(e.input,e.config);s&&i.postMessage({workerId:r.WORKER_ID,results:s,finished:!0})}}),(l.prototype=Object.create(h.prototype)).constructor=l,(c.prototype=Object.create(h.prototype)).constructor=c,(f.prototype=Object.create(f.prototype)).constructor=f,(d.prototype=Object.create(h.prototype)).constructor=d,r}))}));const v=':host{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block;}:host[hidden]{display:none}:host::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}:host::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}:host *,:host *::before,:host *::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}:host .has-focus{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}:host .stzh-fylingfocus-focused{outline-style:none !important}:host .stzh-fylingfocus-focused::-moz-focus-inner{border:0 !important}stzh-datatable{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block;--stzh-list-font-size:"";--stzh-list-line-height:"";--stzh-list-letter-spacing:"";--max-height:var(--stzh-table-max-height);--min-width:var(--stzh-table-min-width);--cell-padding:var(--stzh-table-cell-padding);--search-input-width:var(--stzh-table-search-input-width)}stzh-datatable[hidden]{display:none}stzh-datatable::-moz-selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}stzh-datatable::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}stzh-datatable *,stzh-datatable *::before,stzh-datatable *::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}stzh-datatable .has-focus{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}stzh-datatable .stzh-fylingfocus-focused{outline-style:none !important}stzh-datatable .stzh-fylingfocus-focused::-moz-focus-inner{border:0 !important}stzh-datatable[disable-min-width]:not([disable-min-width=false]){--min-width:none}.stzh-datatable{}.stzh-datatable__sub-header{display:flex;align-items:flex-end;justify-content:space-between}.stzh-datatable__header .stzh-datatable__search{flex-grow:1;margin-right:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-datatable__header .stzh-datatable__search{width:var(--search-input-width);flex-grow:0}}.stzh-datatable__action-button{flex-shrink:0;margin-left:auto}.stzh-datatable__outer-wrapper{position:relative}.stzh-datatable__wrapper{overflow-x:auto;max-height:var(--max-height)}.stzh-datatable__pagination-wrapper{display:flex;justify-content:flex-end}.stzh-datatable__pagination-wrapper:not(:empty){margin-top:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-datatable__pagination-wrapper:not(:empty){margin-top:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-datatable__pagination-wrapper:not(:empty){margin-top:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-datatable__pagination-wrapper:not(:empty){margin-top:var(--stzh-space-xxlarge)}}.stzh-datatable__sort-button{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;display:inline-flex;align-items:center;font-size:inherit;line-height:inherit;color:inherit;padding:var(--cell-padding);gap:var(--stzh-space-xxsmall)}.stzh-datatable__sort-button:hover,.stzh-datatable__sort-button:focus{color:var(--stzh-color-primary-hover)}.stzh-datatable__list-sort-wrapper{display:flex;flex-direction:column;align-items:flex-start}.stzh-datatable__list-sort-wrapper:not(:empty){margin-bottom:var(--stzh-space-medium)}@media screen and (min-width: 600px){.stzh-datatable__list-sort-wrapper:not(:empty){margin-bottom:var(--stzh-space-large)}}@media screen and (min-width: 900px){.stzh-datatable__list-sort-wrapper:not(:empty){margin-bottom:var(--stzh-space-xlarge)}}@media screen and (min-width: 1260px){.stzh-datatable__list-sort-wrapper:not(:empty){margin-bottom:var(--stzh-space-xxlarge)}}.stzh-datatable__list-sort-wrapper stzh-dropdown+stzh-dropdown{margin-top:calc(var(--stzh-space-xsmall) / -1)}.stzh-datatable stzh-icon.stzh-datatable__sort-icon{display:none}.stzh-datatable__table{width:100%;border-spacing:0;min-width:var(--min-width);}.stzh-datatable__table.has-layout-fixed{table-layout:fixed}.stzh-datatable__thead{position:-webkit-sticky;position:sticky;top:0;z-index:3}.stzh-datatable__tbody .stzh-datatable__row:nth-child(even) .stzh-datatable__cell{background-color:var(--stzh-color-grey10)}.stzh-datatable__cell{font-size:var(--stzh-font-milli-font-size);line-height:var(--stzh-font-milli-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing);text-align:left;border:none;vertical-align:top;border:none;background-color:var(--stzh-color-white);transition:background-color var(--stzh-base-transition-animation-speed);padding:var(--cell-padding);}.stzh-datatable__cell a{color:var(--stzh-link-color);transition:color var(--stzh-base-transition-animation-speed);border-radius:var(--stzh-button-border-radius);text-underline-offset:var(--stzh-link-text-underline-offset);-webkit-text-decoration-line:var(--stzh-link-text-decoration-line);text-decoration-line:var(--stzh-link-text-decoration-line);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.stzh-datatable__cell a:hover{color:var(--stzh-link-hover-color);-webkit-text-decoration-line:var(--stzh-link-hover-text-decoration-line);text-decoration-line:var(--stzh-link-hover-text-decoration-line)}.stzh-datatable__cell b,.stzh-datatable__cell strong{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy)}.stzh-datatable__cell i,.stzh-datatable__cell em{font-family:var(--stzh-font-family-medium-italic);font-weight:var(--stzh-font-weight-medium-italic);font-style:var(--stzh-font-style-medium-italic)}.stzh-datatable__cell.align-left{text-align:left}.stzh-datatable__cell.align-right{text-align:right}.stzh-datatable__cell.align-center{text-align:center}.stzh-datatable__cell.valign-auto{vertical-align:auto}.stzh-datatable__cell.valign-middle{vertical-align:middle}.stzh-datatable__cell.valign-bottom{vertical-align:bottom}.stzh-datatable__cell.valign-top{vertical-align:top}.stzh-datatable__cell.nowrap{white-space:nowrap}.stzh-datatable__cell.is-head{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy)}.stzh-datatable__cell.is-sticky-left,.stzh-datatable__cell.is-sticky-right{position:-webkit-sticky;position:sticky;z-index:1}.stzh-datatable__cell.has-sticked{z-index:2}.stzh-datatable__cell.is-sticky-left{left:0}.stzh-datatable__cell.is-sticky-right{right:0}.stzh-datatable__cell.is-sticky-left::after,.stzh-datatable__cell.is-sticky-right::after{background:linear-gradient(90deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0) 100%);content:"";pointer-events:none;position:absolute;top:0;height:100%;width:0.375rem;transform:translate(100%);opacity:0;transition:opacity var(--stzh-base-transition-animation-speed)}.stzh-datatable__cell.is-sticky-left::after{right:0}.stzh-datatable__cell.is-sticky-right::after{left:0;transform:rotate(-180deg) translate(100%)}.stzh-datatable__cell.has-sticked.is-sticky-left::after,.stzh-datatable__cell.has-sticked.is-sticky-right::after{opacity:1}.stzh-datatable__cell--head{font-family:var(--stzh-font-family-heavy);font-weight:var(--stzh-font-weight-heavy);font-style:var(--stzh-font-style-heavy);color:var(--stzh-color-primary)}.stzh-datatable__cell--head.is-sortable{padding:0}.stzh-datatable__cell.has-sorted .stzh-datatable__sort-icon{display:inline-flex}.stzh-datatable__cell.has-sorted-desc .stzh-datatable__sort-icon{transform:rotate(180deg)}.stzh-datatable.has-header .stzh-datatable__header{margin-bottom:var(--stzh-space-small)}@media screen and (min-width: 900px){.stzh-datatable.has-header .stzh-datatable__header{margin-bottom:var(--stzh-space-medium)}}@media screen and (min-width: 1260px){.stzh-datatable.has-header .stzh-datatable__header{margin-bottom:var(--stzh-space-large)}}.stzh-datatable.has-action-or-search .stzh-datatable__heading:not(:empty){margin-bottom:var(--stzh-space-xlarge)}.stzh-datatable.has-list .stzh-datatable__outer-wrapper{display:none}@media screen and (min-width: 1260px){.stzh-datatable.has-list .stzh-datatable__outer-wrapper{display:block}}@media screen and (min-width: 1260px){.stzh-datatable.has-list .stzh-datatable__list-wrapper{display:none}}';const b=class{constructor(e){t(this,e);this.stzhRowClick=i(this,"stzhRowClick",7);this.stzhCellClick=i(this,"stzhCellClick",7);this.stzhHeadingCellClick=i(this,"stzhHeadingCellClick",7);this.stzhSortClick=i(this,"stzhSortClick",7);this.stzhSortByChange=i(this,"stzhSortByChange",7);this.stzhSortDirectionChange=i(this,"stzhSortDirectionChange",7);this.handleSortByDropdownChange=async t=>{const i=t.target;const e=await i.getValue();this.sortBy=e};this.handleSortDirectionDropdownChange=async t=>{const i=t.target;const e=await i.getValue();this.sortDirection=e};this.handleRowClick=(t,i)=>{this.stzhRowClick.emit({component:"stzh-datatable",row:i,originalEvent:t})};this.handleCellClick=(t,i,e,s,n)=>{this.stzhCellClick.emit({component:"stzh-datatable",row:i,column:e,cellIndex:s,rowIndex:n,originalEvent:t})};this.handleSortClick=(t,i)=>{this.stzhSortClick.emit({component:"stzh-datatable",column:i,originalEvent:t});this.toggleSort(i.key)};this.updateScrollStates=()=>{if(!this.tableWrapper){return}const t=this.tableWrapper.scrollLeft;const i=this.tableWrapper.scrollWidth;const e=this.tableWrapper.clientWidth;this.isScrollable=i>e;this.hasScrollLeft=t>0;this.hasScrollRight=t<i-e;const s=Array.from(this.tableWrapper.querySelectorAll("tr"));const n=s[0];if(!n){return}this.cellsStickyLeft=[];this.cellsStickyRight=[];const a=Array.from(n.children);a.forEach(((i,s)=>{const n=i.offsetLeft;const a=n+i.offsetWidth;if(this.hasScrollLeft&&this._columns[s].fixed==="left"&&Math.ceil(t)>=n){this.cellsStickyLeft.push(s)}if(this.hasScrollRight&&this._columns[s].fixed==="right"&&Math.ceil(t)+e<=a){this.cellsStickyRight.push(s)}}))};this.handleResize=()=>{if(this.debounceResize){window.cancelAnimationFrame(this.debounceResize)}this.debounceResize=requestAnimationFrame(this.updateScrollStates)};this.handleScroll=()=>{if(this.debounceScroll){window.cancelAnimationFrame(this.debounceScroll)}this.debounceScroll=requestAnimationFrame(this.updateScrollStates)};this.onInputChange=()=>{this.query=this.input.value};this.onPaginationChange=t=>{if(t.detail.component==="stzh-pagination"){this.page=t.detail.page}};this.tableLayout="auto";this.localization=undefined;this.label="";this.sortBy="";this.sortDirection="asc";this.idField="id";this.rowHeaderField="";this.hideSearch=false;this.hideColumnHeadings=false;this.showList=false;this.page=1;this.pageSize=null;this.csvUrl=undefined;this.csvHeader=true;this.csvDynamicTyping=true;this.disableMinWidth=false;this.rows=[];this.columns=[];this.query="";this.hasScrollLeft=false;this.hasScrollRight=false;this.isScrollable=false;this.cellsStickyLeft=[];this.cellsStickyRight=[]}async toggleSort(t){this.page=1;if(t===this.sortBy){this.sortDirection=this.sortDirection==="asc"?"desc":"asc"}else{this.sortDirection="asc";this.sortBy=t}}async csvUrlsWatcher(t){if(!t){return}const i=await fetch(t);const e=await i.text();const{columns:s,rows:n}=await this.parseCsvToJson(e);if(this.csvHeader){this.columns=s.map((t=>{var i;return Object.assign(Object.assign({},t),((i=this._columns)===null||i===void 0?void 0:i.find((({key:i})=>i===t.key)))||{})}))}else{this.columns=this.columns||s}this.rows=n}rowsWatcher(t){let i;if(typeof t==="string"){i=JSON.parse(t)}else{i=t}this._rows=i.map((t=>{const i={};function e(t){const i={value:""};if(typeof t==="object"){return Object.assign(Object.assign({},i),t)}else{return Object.assign(Object.assign({},i),{value:t})}}this._columns.forEach(((s,n)=>{if(Array.isArray(t)){i[s.key]=e(t[n])}else{i[s.key]=e(t[s.key])}}));return i}));this.buildSearchIndex()}columnsWatcher(t){if(typeof t==="string"){this._columns=JSON.parse(t)}else{this._columns=t}this.rowsWatcher(this.rows)}sortByWatcher(t,i){this.stzhSortByChange.emit({component:"stzh-datatable",value:t,oldValue:i})}sortDirectionWatcher(t,i){this.stzhSortDirectionChange.emit({component:"stzh-datatable",value:t,oldValue:i})}async parseCsvToJson(t){return new Promise(((i,e)=>{u.parse(t,{header:this.csvHeader,dynamicTyping:this.csvDynamicTyping,complete:t=>{const e=t.data.map((t=>{const i={};Object.keys(t).forEach((e=>{i[e.toLowerCase()]=t[e]}));return i}));i({columns:Object.keys(t.data[0]).map((t=>({key:t.toLowerCase(),text:t}))),rows:e})},error:t=>{e(t)}})}))}handleHeadingCellClick(t,i,e){this.stzhHeadingCellClick.emit({component:"stzh-datatable",column:i,index:e,originalEvent:t})}buildSearchIndex(){if(!this._rows||this._rows.length===0||!this._columns||this._columns.length===0){return}this.searchIndex=new d.Document({tokenize:"forward",matcher:{"[äà]":"a","[öó]":"o","[üûúù]":"u","[éè]":"e"},document:{id:this.idField,index:this._columns.map((t=>t.key))}});this._rows.forEach((t=>{const i={};for(const e in t){i[e]=t[e].value.toString()}this.searchIndex.add(i)}))}async componentWillLoad(){this.columnsWatcher(this.columns);await this.csvUrlsWatcher(this.csvUrl);if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"datatable")}}componentDidLoad(){this.updateScrollStates()}componentWillRender(){this._rowsShown=[];this._rowsFiltered=[];if(this.query){let t=[];this.searchIndex.search(this.query).forEach((i=>{t=[...t,...i.result]}));t=t.filter((function(i,e){return t.indexOf(i)===e}));this._rows.forEach((i=>{if(t.includes(i[this.idField].value)||t.includes(i[this.idField].value.toString())){this._rowsFiltered.push(i)}}))}else{this._rowsFiltered=[...this._rows]}if(this.sortBy){const t=this._columns.find((t=>t.key===this.sortBy));let i=this.sortBy;let e=null;if(typeof t.sort==="object"){if(t.sort.field){i=t.sort.field}if(t.sort.type){e=t.sort.type}}this._rowsFiltered.sort(((t,s)=>{if(e==="numerical"){if(this.sortDirection==="asc"){return Number(t[i].value)-Number(s[i].value)}else{return Number(s[i].value)-Number(t[i].value)}}else{const e=t[i].value.toString().localeCompare(s[i].value.toString());return this.sortDirection==="asc"?e:e/-1}}))}if(this.pageSize!==null){const t=this.page*this.pageSize;this._rowsShown=this._rowsFiltered.slice(t-this.pageSize,t)}else{this._rowsShown=[...this._rowsFiltered]}}connectedCallback(){this.resizeObserver=new ResizeObserver(this.handleResize);this.resizeObserver.observe(this.element)}disconnectedCallback(){if(this.resizeObserver){this.resizeObserver.disconnect()}}render(){var t,i;const n=h(this.element,"heading");const a=h(this.element,"action-button");const r={"stzh-datatable":true,"is-scrollable":this.isScrollable,"has-scroll-left":this.hasScrollLeft,"has-scroll-right":this.hasScrollRight,"has-scroll-left-shadow":this.hasScrollLeft&&this.cellsStickyLeft.length===0,"has-scroll-right-shadow":this.hasScrollRight&&this.cellsStickyRight.length===0,"has-list":this.showList,"has-heading":n,"has-action-or-search":a||!this.hideSearch,"has-header":n||a||!this.hideSearch};const o=Math.ceil(this._rowsFiltered.length/this.pageSize);const l=this._columns.find((t=>t.isHeader));const c=[{text:this.localization.sortByDefaultOption,value:""},...this._columns.filter((t=>!!t.sort)).map((t=>{var i;return{value:t.key,text:(i=this.localization.sortByOption)===null||i===void 0?void 0:i.replace(/\{column\}/gi,t.text)}}))];const f=[{value:"asc",text:(t=this.localization.sortDirectionOption)===null||t===void 0?void 0:t.replace(/\{direction\}/gi,this.localization.asc)},{value:"desc",text:(i=this.localization.sortDirectionOption)===null||i===void 0?void 0:i.replace(/\{direction\}/gi,this.localization.desc)}];const d=(t,i,e)=>{var s,n,a,r,o;return{"stzh-datatable__cell stzh-datatable__cell--body":true,"is-sticky-left":t.fixed==="left","is-sticky-right":t.fixed==="right","is-head":!!((s=i[t.key])===null||s===void 0?void 0:s.isHeader)||!!t.isHeader,"is-sortable":!!t.sort,"has-sticked":this.cellsStickyLeft.indexOf(e)>-1||this.cellsStickyRight.indexOf(e)>-1,"has-sorted":t.key===this.sortBy,"has-sorted-asc":t.key===this.sortBy&&this.sortDirection==="asc","has-sorted-desc":t.key===this.sortBy&&this.sortDirection==="desc",[`align-${((n=i[t.key])===null||n===void 0?void 0:n.align)||t.align}`]:!!((a=i[t.key])===null||a===void 0?void 0:a.align)||!!t.align,[`valign-${((r=i[t.key])===null||r===void 0?void 0:r.valign)||t.valign}`]:!!((o=i[t.key])===null||o===void 0?void 0:o.valign)||!!t.valign}};return e(s,null,e("div",{class:r},e("div",{class:"stzh-datatable__header"},e("div",{class:"stzh-datatable__heading"},e("slot",{name:"heading"})),e("div",{class:"stzh-datatable__sub-header"},!this.hideSearch&&e("stzh-input",{ref:t=>this.input=t,class:"stzh-datatable__search",size:"small",name:"stzh-datatable-search",onStzhChange:this.onInputChange,hideOptional:true,label:this.localization.searchLabel,type:"search"}),e("div",{class:"stzh-datatable__action-button"},e("slot",{name:"action-button"})))),e("div",{class:"stzh-datatable__outer-wrapper"},e("div",{ref:t=>this.tableWrapper=t,class:"stzh-datatable__wrapper",onScroll:this.handleScroll},e("table",{class:{"stzh-datatable__table":true,"has-layout-fixed":this.tableLayout==="fixed"}},!this.hideColumnHeadings&&e("thead",{class:"stzh-datatable__thead"},e("tr",{class:"stzh-datatable__row stzh-datatable__row--head"},(()=>{let t=0;return this._columns.map(((i,s)=>{if(t>0){t--;return null}const n=i.colspan||1;if(n>1){t=n-1}return e("th",Object.assign({onClick:t=>this.handleHeadingCellClick(t,i,s),style:i.style,class:{"stzh-datatable__cell stzh-datatable__cell--head":true,"is-sticky-left":i.fixed==="left","is-sticky-right":i.fixed==="right","is-sortable":!!i.sort,"has-sticked":this.cellsStickyLeft.indexOf(s)>-1||this.cellsStickyRight.indexOf(s)>-1,"has-sorted":i.key===this.sortBy,"has-sorted-asc":i.key===this.sortBy&&this.sortDirection==="asc","has-sorted-desc":i.key===this.sortBy&&this.sortDirection==="desc",[`align-${i.align}`]:!!i.align,[`valign-${i.valign}`]:!!i.valign}},n>1?{colspan:n}:{},i.rowspan?{rowspan:i.rowspan}:{}),!i.hideColumnHeading&&(i.sort?e("button",{class:"stzh-datatable__sort-button",type:"button",onClick:t=>this.handleSortClick(t,i),"s-object-id":i.analyticsId||`${i.text} ${this.localization.columnSort}`},e("span",null,i.text),e("stzh-icon",{name:"arrow-up",class:"stzh-datatable__sort-icon",a11yTitle:this.localization.columnSort})):e("span",null,i.text)))}))})())),e("tbody",{class:"stzh-datatable__tbody"},(()=>{const t=[];return this._rowsShown.map(((i,s)=>e("tr",{class:"stzh-datatable__row stzh-datatable__row--body",onClick:t=>this.handleRowClick(t,i)},(()=>{let n=0;return this._columns.map(((a,r)=>{if(t[r]){t[r]--;return null}if(n>0){n--;return null}const o=i[a.key];const h=(o===null||o===void 0?void 0:o.colspan)||1;const l=(o===null||o===void 0?void 0:o.rowspan)||1;if(h>1){n=h-1}if(l>1){t[r]=l-1}return(o===null||o===void 0?void 0:o.isHeader)||a.isHeader?e("th",Object.assign({id:o.id,onClick:t=>this.handleCellClick(t,i,a,r,s),innerHTML:o.value.toString()||"",style:a.style},h>1?{colspan:h}:{},l>1?{rowspan:l}:{},{class:d(a,i,r)})):e("td",Object.assign({id:o.id,onClick:t=>this.handleCellClick(t,i,a,r,s),innerHTML:o.value.toString()||"",style:a.style},h>1?{colspan:h}:{},l>1?{rowspan:l}:{},{class:d(a,i,r)}))}))})())))})())))),this.showList&&e("div",{class:"stzh-datatable__list-wrapper"},c.length>1&&e("div",{class:"stzh-datatable__list-sort-wrapper"},e("stzh-dropdown",{inline:true,"no-search":true,class:"stzh-datatable__list-sort-by-dropdown",variant:"plain",size:"small",items:[this.sortBy],options:c,onStzhChange:this.handleSortByDropdownChange}),e("stzh-dropdown",{disabled:this.sortBy==="",inline:true,"no-search":true,class:"stzh-datatable__list-sort-direction-dropdown",variant:"plain",size:"small",items:[this.sortDirection],options:f,onStzhChange:this.handleSortDirectionDropdownChange})),e("stzh-accordion",{variant:"table"},this._rowsShown.map(((t,i)=>{var s,n,a,r;return e("stzh-accordion-item",{heading:((n=(s=t[this.rowHeaderField])===null||s===void 0?void 0:s.value)===null||n===void 0?void 0:n.toString())||((r=(a=t[l===null||l===void 0?void 0:l.key])===null||a===void 0?void 0:a.value)===null||r===void 0?void 0:r.toString())||this.localization.defaultListRowHeading.replace(/\{n\}/gi,(i+1).toString())},e("stzh-datalist",{variant:"table",columnsMedium:2},this._columns.map((i=>{var s,n;return e("stzh-datalist-item",{label:i.text,value:((n=(s=t[i.key])===null||s===void 0?void 0:s.value)===null||n===void 0?void 0:n.toString())||""})}))))})))),this.pageSize!==null&&o>1&&e("div",{class:"stzh-datatable__pagination-wrapper"},e("stzh-pagination",{value:this.page,total:o,onStzhChange:this.onPaginationChange}))))}get element(){return n(this)}static get watchers(){return{csvUrls:["csvUrlsWatcher"],rows:["rowsWatcher"],columns:["columnsWatcher"],sortBy:["sortByWatcher"],sortDirection:["sortDirectionWatcher"]}}};b.style=v;export{b as stzh_datatable};
17
+ //# sourceMappingURL=p-f18978b5.entry.js.map