@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,"file":"stzh-pagetitle.js","sourceRoot":"","sources":["../../../../src/components/stzh-pagetitle/stzh-pagetitle.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Host, Listen, Prop } from \"@stencil/core\";\n\nimport { StzhDisturberCloseEvent, StzhDisturberOpenEvent } from \"../../index\";\n\nimport { hasSlot, setPropsIfNull } from \"../../utils/utils\";\nimport { media } from \"../../utils/media-utils\";\n\n/**\n * @slot heading - Slot for `stzh-heading` element\n * @slot image - Slot for `stzh-figure` or `img` element\n * @slot lead - Slot for `stzh-text` element\n * @slot tag - Slot for `stzh-tag` element\n * @slot readspeaker - Slot for `stzh-readspeaker` element\n */\n@Component({\n tag: \"stzh-pagetitle\",\n styleUrl: \"stzh-pagetitle.scss\",\n scoped: true,\n})\nexport class StzhPagetitle {\n @Element() element: HTMLStzhPagetitleElement;\n\n /** Background color */\n @Prop({ reflect: true }) background: \"default\" | \"transparent\" = \"default\";\n\n /** Background color */\n @Prop({ reflect: true }) hyphensEnabled: boolean = false;\n\n /** Dateline */\n @Prop() dateline: string;\n\n @Listen(\"resize\", { target: \"window\" })\n handleResize() {\n if (this.debounceResize) {\n window.cancelAnimationFrame(this.debounceResize);\n }\n\n this.debounceResize = requestAnimationFrame(this.update);\n }\n\n @Listen(\"stzhOpen\")\n handleStzhOpen(event: CustomEvent<StzhDisturberOpenEvent>) {\n if (event.detail.component === \"stzh-disturber\") {\n this.isDisturberOpen = true;\n requestAnimationFrame(() => {\n requestAnimationFrame(this.update);\n });\n }\n }\n\n @Listen(\"stzhClose\")\n handleStzhClose(event: CustomEvent<StzhDisturberCloseEvent>) {\n if (event.detail.component === \"stzh-disturber\") {\n this.isDisturberOpen = false;\n requestAnimationFrame(() => {\n requestAnimationFrame(this.update);\n });\n }\n }\n\n private observer: MutationObserver;\n private debounceResize: number;\n private disturberElement: HTMLDivElement;\n private isDisturberOpen: boolean = false;\n\n private update = () => {\n if (!this.disturberElement) {\n return;\n }\n\n const isMedium = media(\"medium\").matches;\n const disturberHeight = this.disturberElement?.offsetHeight || 0;\n const hasDisturber = disturberHeight && this.isDisturberOpen;\n const isStuck = hasDisturber && !isMedium;\n\n document.documentElement.style.setProperty(\n \"--stzh-pagetitle-disturber-height\",\n hasDisturber ? `${disturberHeight}px` : \"0px\"\n );\n document.documentElement.style.setProperty(\n \"--stzh-pagetitle-disturber-stuck-height\",\n isStuck ? `${disturberHeight}px` : \"0px\"\n );\n document.documentElement.style.setProperty(\"--stzh-pagetitle-disturber-is-stuck\", isStuck ? \"1\" : \"0\");\n document.documentElement.style.setProperty(\"--stzh-pagetitle-disturber-is-not-stuck\", isStuck ? \"0\" : \"1\");\n\n // document.documentElement.classList.toggle(\"stzh-pagetitle-disturber-is-stuck\", isStuck);\n };\n\n private init = () => {\n const heading = this.element.querySelector('stzh-heading[slot=\"heading\"], [slot=\"heading\"] stzh-heading');\n const disturber = this.element.querySelector('stzh-disturber[slot=\"disturber\"], [slot=\"disturber\"] stzh-disturber');\n const leads = this.element.querySelectorAll('stzh-text[slot=\"lead\"], [slot=\"lead\"] stzh-text');\n const show = this.element.querySelector('stzh-show[slot=\"disturber\"], [slot=\"disturber\"] stzh-show');\n const readspeakerButton = this.element.querySelector('[slot=\"readspeaker\"] stzh-button');\n const tag = this.element.querySelector('stzh-tag[slot=\"tag\"], [slot=\"tag\"] stzh-tag');\n\n if (heading) {\n setPropsIfNull(heading, {\n curve: \"hero\",\n level: \"1\",\n } as HTMLStzhHeadingElement);\n }\n\n if (disturber) {\n setPropsIfNull(disturber, {\n initialOpenAnimation: true,\n } as HTMLStzhDisturberElement);\n }\n\n if (show) {\n setPropsIfNull(show, {\n mikro: true,\n } as HTMLStzhShowElement);\n }\n\n if (tag) {\n setPropsIfNull(tag, {\n type: \"secondary\",\n size: \"large\",\n nonInteractive: true,\n } as HTMLStzhTagElement);\n }\n\n if (readspeakerButton) {\n setPropsIfNull(readspeakerButton, {\n variant: \"tertiary-plain\",\n noPaddingLeft: true,\n noPaddingRight: true,\n size: \"small\",\n sizeMedium: \"tiny\",\n buttonAccesskey: \"L\",\n } as HTMLStzhButtonElement);\n }\n\n leads.forEach(lead => {\n setPropsIfNull(lead, {\n lead: true,\n } as HTMLStzhTextElement);\n });\n };\n\n componentDidRender() {\n requestAnimationFrame(() => {\n requestAnimationFrame(this.update);\n });\n }\n\n connectedCallback() {\n this.init();\n\n this.observer = new MutationObserver(this.init);\n this.observer.observe(this.element, {\n childList: true,\n subtree: true,\n });\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n }\n\n render() {\n const imageSlotUsed = hasSlot(this.element, \"image\");\n const leadSlotUsed = hasSlot(this.element, \"lead\");\n const tagSlotUsed = hasSlot(this.element, \"tag\");\n const readspeakerSlotUsed = hasSlot(this.element, \"readspeaker\");\n\n const classes = {\n \"stzh-pagetitle\": true,\n \"stzh-pagetitle--has-image\": imageSlotUsed,\n \"stzh-pagetitle--has-no-image\": !imageSlotUsed,\n \"stzh-pagetitle--has-lead\": leadSlotUsed,\n \"stzh-pagetitle--has-tag\": tagSlotUsed,\n \"stzh-pagetitle--has-meta\": tagSlotUsed || readspeakerSlotUsed,\n \"stzh-pagetitle--hyphens\": this.hyphensEnabled,\n [`stzh-pagetitle--background-${this.background}`]: !!this.background,\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"stzh-pagetitle__container\">\n <div class=\"stzh-pagetitle__wrapper\">\n <div class=\"stzh-pagetitle__text\">\n <div class=\"stzh-pagetitle__meta\">\n <div class=\"stzh-pagetitle__tag\">\n <slot name=\"tag\"></slot>\n </div>\n\n <div class=\"stzh-pagetitle__readspeaker\">\n <slot name=\"readspeaker\"></slot>\n </div>\n </div>\n\n {this.dateline && <div class=\"stzh-pagetitle__dateline\">{this.dateline}</div>}\n\n <div class=\"stzh-pagetitle__heading\">\n <slot name=\"heading\"></slot>\n </div>\n\n <div class=\"stzh-pagetitle__lead\">\n <slot name=\"lead\"></slot>\n </div>\n </div>\n\n <div class=\"stzh-pagetitle__image-wrapper\">\n <stzh-ratio\n ratio={\"16:9\"}\n ratioSmall={\"3:2\"}\n ratioMedium={\"16:9\"}\n class=\"stzh-pagetitle__ratio\"\n ></stzh-ratio>\n <div class=\"stzh-pagetitle__image-inner-wrapper\">\n <slot name=\"image\"></slot>\n </div>\n </div>\n\n <div class=\"stzh-pagetitle__disturber\" ref={el => (this.disturberElement = el as HTMLDivElement)}>\n <slot name=\"disturber\"></slot>\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"stzh-pagetitle.js","sourceRoot":"","sources":["../../../../src/components/stzh-pagetitle/stzh-pagetitle.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Host, Listen, Prop } from \"@stencil/core\";\n\nimport { StzhDisturberCloseEvent, StzhDisturberOpenEvent } from \"../../index\";\n\nimport { hasSlot, setPropsIfNull } from \"../../utils/utils\";\nimport { media } from \"../../utils/media-utils\";\n\n/**\n * @slot heading - Slot for `stzh-heading` element\n * @slot image - Slot for `stzh-figure` or `img` element\n * @slot lead - Slot for `stzh-text` element\n * @slot tag - Slot for `stzh-tag` element\n * @slot readspeaker - Slot for `stzh-readspeaker` element\n * @slot disturber - Slot for disturber content\n */\n@Component({\n tag: \"stzh-pagetitle\",\n styleUrl: \"stzh-pagetitle.scss\",\n scoped: true,\n})\nexport class StzhPagetitle {\n @Element() element: HTMLStzhPagetitleElement;\n\n /** Background color */\n @Prop({ reflect: true }) background: \"default\" | \"transparent\" = \"default\";\n\n /** Automatic Hyphens */\n @Prop({ reflect: true }) hyphensEnabled: boolean = false;\n\n /** Dateline */\n @Prop() dateline: string;\n\n @Listen(\"resize\", { target: \"window\" })\n handleResize() {\n if (this.debounceResize) {\n window.cancelAnimationFrame(this.debounceResize);\n }\n\n this.debounceResize = requestAnimationFrame(this.update);\n }\n\n @Listen(\"stzhOpen\")\n handleStzhOpen(event: CustomEvent<StzhDisturberOpenEvent>) {\n if (event.detail.component === \"stzh-disturber\") {\n this.isDisturberOpen = true;\n requestAnimationFrame(() => {\n requestAnimationFrame(this.update);\n });\n }\n }\n\n @Listen(\"stzhClose\")\n handleStzhClose(event: CustomEvent<StzhDisturberCloseEvent>) {\n if (event.detail.component === \"stzh-disturber\") {\n this.isDisturberOpen = false;\n requestAnimationFrame(() => {\n requestAnimationFrame(this.update);\n });\n }\n }\n\n private observer: MutationObserver;\n private debounceResize: number;\n private disturberElement: HTMLDivElement;\n private isDisturberOpen: boolean = false;\n\n private update = () => {\n if (!this.disturberElement) {\n return;\n }\n\n const isMedium = media(\"medium\").matches;\n const disturberHeight = this.disturberElement?.offsetHeight || 0;\n const hasDisturber = disturberHeight && this.isDisturberOpen;\n const isStuck = hasDisturber && !isMedium;\n\n document.documentElement.style.setProperty(\n \"--stzh-pagetitle-disturber-height\",\n hasDisturber ? `${disturberHeight}px` : \"0px\"\n );\n document.documentElement.style.setProperty(\n \"--stzh-pagetitle-disturber-stuck-height\",\n isStuck ? `${disturberHeight}px` : \"0px\"\n );\n document.documentElement.style.setProperty(\"--stzh-pagetitle-disturber-is-stuck\", isStuck ? \"1\" : \"0\");\n document.documentElement.style.setProperty(\"--stzh-pagetitle-disturber-is-not-stuck\", isStuck ? \"0\" : \"1\");\n\n // document.documentElement.classList.toggle(\"stzh-pagetitle-disturber-is-stuck\", isStuck);\n };\n\n private init = () => {\n const heading = this.element.querySelector('stzh-heading[slot=\"heading\"], [slot=\"heading\"] stzh-heading');\n const disturber = this.element.querySelector('stzh-disturber[slot=\"disturber\"], [slot=\"disturber\"] stzh-disturber');\n const leads = this.element.querySelectorAll('stzh-text[slot=\"lead\"], [slot=\"lead\"] stzh-text');\n const show = this.element.querySelector('stzh-show[slot=\"disturber\"], [slot=\"disturber\"] stzh-show');\n const readspeakerButton = this.element.querySelector('[slot=\"readspeaker\"] stzh-button');\n const tag = this.element.querySelector('stzh-tag[slot=\"tag\"], [slot=\"tag\"] stzh-tag');\n\n if (heading) {\n setPropsIfNull(heading, {\n curve: \"hero\",\n level: \"1\",\n } as HTMLStzhHeadingElement);\n }\n\n if (disturber) {\n setPropsIfNull(disturber, {\n initialOpenAnimation: true,\n } as HTMLStzhDisturberElement);\n }\n\n if (show) {\n setPropsIfNull(show, {\n mikro: true,\n } as HTMLStzhShowElement);\n }\n\n if (tag) {\n setPropsIfNull(tag, {\n type: \"secondary\",\n size: \"large\",\n nonInteractive: true,\n } as HTMLStzhTagElement);\n }\n\n if (readspeakerButton) {\n setPropsIfNull(readspeakerButton, {\n variant: \"tertiary-plain\",\n noPaddingLeft: true,\n noPaddingRight: true,\n size: \"small\",\n sizeMedium: \"tiny\",\n buttonAccesskey: \"L\",\n } as HTMLStzhButtonElement);\n }\n\n leads.forEach(lead => {\n setPropsIfNull(lead, {\n lead: true,\n } as HTMLStzhTextElement);\n });\n };\n\n componentDidRender() {\n requestAnimationFrame(() => {\n requestAnimationFrame(this.update);\n });\n }\n\n connectedCallback() {\n this.init();\n\n this.observer = new MutationObserver(this.init);\n this.observer.observe(this.element, {\n childList: true,\n subtree: true,\n });\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n }\n\n render() {\n const imageSlotUsed = hasSlot(this.element, \"image\");\n const leadSlotUsed = hasSlot(this.element, \"lead\");\n const tagSlotUsed = hasSlot(this.element, \"tag\");\n const readspeakerSlotUsed = hasSlot(this.element, \"readspeaker\");\n\n const classes = {\n \"stzh-pagetitle\": true,\n \"stzh-pagetitle--has-image\": imageSlotUsed,\n \"stzh-pagetitle--has-no-image\": !imageSlotUsed,\n \"stzh-pagetitle--has-lead\": leadSlotUsed,\n \"stzh-pagetitle--has-tag\": tagSlotUsed,\n \"stzh-pagetitle--has-meta\": tagSlotUsed || readspeakerSlotUsed,\n \"stzh-pagetitle--hyphens\": this.hyphensEnabled,\n [`stzh-pagetitle--background-${this.background}`]: !!this.background,\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"stzh-pagetitle__container\">\n <div class=\"stzh-pagetitle__wrapper\">\n <div class=\"stzh-pagetitle__text\">\n <div class=\"stzh-pagetitle__meta\">\n <div class=\"stzh-pagetitle__tag\">\n <slot name=\"tag\"></slot>\n </div>\n\n <div class=\"stzh-pagetitle__readspeaker\">\n <slot name=\"readspeaker\"></slot>\n </div>\n </div>\n\n {this.dateline && <div class=\"stzh-pagetitle__dateline\">{this.dateline}</div>}\n\n <div class=\"stzh-pagetitle__heading\">\n <slot name=\"heading\"></slot>\n </div>\n\n <div class=\"stzh-pagetitle__lead\">\n <slot name=\"lead\"></slot>\n </div>\n </div>\n\n <div class=\"stzh-pagetitle__image-wrapper\">\n <stzh-ratio\n ratio={\"16:9\"}\n ratioSmall={\"3:2\"}\n ratioMedium={\"16:9\"}\n class=\"stzh-pagetitle__ratio\"\n ></stzh-ratio>\n <div class=\"stzh-pagetitle__image-inner-wrapper\">\n <slot name=\"image\"></slot>\n </div>\n </div>\n\n <div class=\"stzh-pagetitle__disturber\" ref={el => (this.disturberElement = el as HTMLDivElement)}>\n <slot name=\"disturber\"></slot>\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -6,6 +6,7 @@ import Fitty from "fitty";
6
6
  * @slot image - Slot for `picture` or `img` element
7
7
  * @slot lead - Slot for `stzh-text` element
8
8
  * @slot back-link - Slot for `stzh-link` element
9
+ * @slot tag - Slot for `stzh-tag` element
9
10
  */
10
11
  export class StzhPagetitleHero {
11
12
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-pagetitle-hero.js","sourceRoot":"","sources":["../../../../src/components/stzh-pagetitle-hero/stzh-pagetitle-hero.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n} from \"@stencil/core\";\n\nimport { hasSlot, setPropsIfNull } from \"../../utils/utils\";\nimport { addMediaChangeListener, removeMediaChangeListener, media } from \"../../utils/media-utils\";\n\nimport Fitty from \"fitty\";\n\n/**\n * @slot image - Slot for `picture` or `img` element\n * @slot lead - Slot for `stzh-text` element\n * @slot back-link - Slot for `stzh-link` element\n */\n@Component({\n tag: \"stzh-pagetitle-hero\",\n styleUrl: \"stzh-pagetitle-hero.scss\",\n scoped: true\n})\nexport class StzhPagetitleHero {\n /** Heading */\n @Prop() heading: string = \"\";\n\n /** Heading ID */\n @Prop() headingId: string = \"anchorContent\";\n\n /** Lead author */\n @Prop() leadAuthor: string = \"\";\n\n /** Subtitle */\n @Prop() subtitle: string = \"\";\n\n @Element() element: HTMLStzhPagetitleHeroElement;\n\n private fitty: any;\n private mainTitleElement: HTMLHeadingElement;\n private observer: MutationObserver;\n\n private destroyFitty() {\n if (this.fitty) {\n this.fitty.unsubscribe();\n this.fitty = null;\n }\n }\n\n private init = () => {\n const backLink = this.element.querySelector('stzh-link[slot=\"back-link\"], [slot=\"back-link\"] stzh-link');\n const leads = this.element.querySelectorAll('stzh-text[slot=\"lead\"], [slot=\"lead\"] stzh-text');\n const tags = this.element.querySelectorAll('stzh-chip[slot=\"tag\"], [slot=\"tag\"] stzh-chip');\n\n if (backLink) {\n setPropsIfNull(backLink, {\n icon: \"angle-left\"\n } as HTMLStzhLinkElement)\n }\n\n leads.forEach((lead) => {\n setPropsIfNull(lead, {\n lead: true\n } as HTMLStzhTextElement)\n });\n\n tags.forEach((tag) => {\n setPropsIfNull(tag, {\n role: \"listitem\"\n })\n });\n }\n\n private reinitFitty = () => {\n this.destroyFitty();\n\n const isSmall = media(\"small\").matches;\n\n this.fitty = Fitty(this.mainTitleElement, {\n minSize: isSmall ? 45 : 32,\n maxSize: isSmall ? 96 : 64\n });\n }\n\n async componentWillUpdate() {\n this.destroyFitty();\n }\n\n async componentDidRender() {\n if (this.fitty) {\n return;\n }\n\n this.reinitFitty();\n }\n\n connectedCallback() {\n this.init();\n addMediaChangeListener(this.reinitFitty);\n\n this.observer = new MutationObserver(this.init);\n this.observer.observe(this.element, {\n childList: true,\n subtree: true\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n\n removeMediaChangeListener(this.reinitFitty);\n this.destroyFitty();\n }\n\n render() {\n const imageSlotUsed = hasSlot(this.element, \"image\");\n const leadSlotUsed = hasSlot(this.element, \"lead\");\n const backLinkSlotUsed = hasSlot(this.element, \"back-link\");\n\n const classes = {\n \"stzh-pagetitle-hero\": true,\n \"stzh-pagetitle-hero--has-no-image\": !imageSlotUsed,\n \"stzh-pagetitle-hero--has-no-lead\": !leadSlotUsed,\n \"stzh-pagetitle-hero--has-back-link\": backLinkSlotUsed,\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"stzh-pagetitle-hero__header\">\n <div class=\"stzh-pagetitle-hero__back-link\">\n <slot name=\"back-link\"></slot>\n </div>\n\n <div class=\"stzh-pagetitle-hero__image-wrapper\">\n <div class=\"stzh-pagetitle-hero__image-ratio\"></div>\n <slot name=\"image\"></slot>\n </div>\n\n <div class=\"stzh-pagetitle-hero__title-wrapper\">\n <div class=\"stzh-pagetitle-hero__tags\" role=\"list\">\n <slot name=\"tag\"></slot>\n </div>\n\n <div class=\"stzh-pagetitle-hero__title-parent\">\n <h1\n ref={(el) => (this.mainTitleElement = el as HTMLHeadingElement)}\n class=\"stzh-pagetitle-hero__title\"\n id={this.headingId}\n >\n {this.heading}\n </h1>\n </div>\n {this.subtitle &&\n <div class=\"stzh-pagetitle-hero__subtitle\">\n {this.subtitle}\n </div>\n }\n </div>\n </div>\n\n <div class=\"stzh-pagetitle-hero__lead\">\n <slot name=\"lead\"></slot>\n <div class=\"stzh-pagetitle-hero__lead-author\">\n {this.leadAuthor}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"stzh-pagetitle-hero.js","sourceRoot":"","sources":["../../../../src/components/stzh-pagetitle-hero/stzh-pagetitle-hero.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n} from \"@stencil/core\";\n\nimport { hasSlot, setPropsIfNull } from \"../../utils/utils\";\nimport { addMediaChangeListener, removeMediaChangeListener, media } from \"../../utils/media-utils\";\n\nimport Fitty from \"fitty\";\n\n/**\n * @slot image - Slot for `picture` or `img` element\n * @slot lead - Slot for `stzh-text` element\n * @slot back-link - Slot for `stzh-link` element\n * @slot tag - Slot for `stzh-tag` element\n */\n@Component({\n tag: \"stzh-pagetitle-hero\",\n styleUrl: \"stzh-pagetitle-hero.scss\",\n scoped: true\n})\nexport class StzhPagetitleHero {\n /** Heading */\n @Prop() heading: string = \"\";\n\n /** Heading ID */\n @Prop() headingId: string = \"anchorContent\";\n\n /** Lead author */\n @Prop() leadAuthor: string = \"\";\n\n /** Subtitle */\n @Prop() subtitle: string = \"\";\n\n @Element() element: HTMLStzhPagetitleHeroElement;\n\n private fitty: any;\n private mainTitleElement: HTMLHeadingElement;\n private observer: MutationObserver;\n\n private destroyFitty() {\n if (this.fitty) {\n this.fitty.unsubscribe();\n this.fitty = null;\n }\n }\n\n private init = () => {\n const backLink = this.element.querySelector('stzh-link[slot=\"back-link\"], [slot=\"back-link\"] stzh-link');\n const leads = this.element.querySelectorAll('stzh-text[slot=\"lead\"], [slot=\"lead\"] stzh-text');\n const tags = this.element.querySelectorAll('stzh-chip[slot=\"tag\"], [slot=\"tag\"] stzh-chip');\n\n if (backLink) {\n setPropsIfNull(backLink, {\n icon: \"angle-left\"\n } as HTMLStzhLinkElement)\n }\n\n leads.forEach((lead) => {\n setPropsIfNull(lead, {\n lead: true\n } as HTMLStzhTextElement)\n });\n\n tags.forEach((tag) => {\n setPropsIfNull(tag, {\n role: \"listitem\"\n })\n });\n }\n\n private reinitFitty = () => {\n this.destroyFitty();\n\n const isSmall = media(\"small\").matches;\n\n this.fitty = Fitty(this.mainTitleElement, {\n minSize: isSmall ? 45 : 32,\n maxSize: isSmall ? 96 : 64\n });\n }\n\n async componentWillUpdate() {\n this.destroyFitty();\n }\n\n async componentDidRender() {\n if (this.fitty) {\n return;\n }\n\n this.reinitFitty();\n }\n\n connectedCallback() {\n this.init();\n addMediaChangeListener(this.reinitFitty);\n\n this.observer = new MutationObserver(this.init);\n this.observer.observe(this.element, {\n childList: true,\n subtree: true\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n\n removeMediaChangeListener(this.reinitFitty);\n this.destroyFitty();\n }\n\n render() {\n const imageSlotUsed = hasSlot(this.element, \"image\");\n const leadSlotUsed = hasSlot(this.element, \"lead\");\n const backLinkSlotUsed = hasSlot(this.element, \"back-link\");\n\n const classes = {\n \"stzh-pagetitle-hero\": true,\n \"stzh-pagetitle-hero--has-no-image\": !imageSlotUsed,\n \"stzh-pagetitle-hero--has-no-lead\": !leadSlotUsed,\n \"stzh-pagetitle-hero--has-back-link\": backLinkSlotUsed,\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"stzh-pagetitle-hero__header\">\n <div class=\"stzh-pagetitle-hero__back-link\">\n <slot name=\"back-link\"></slot>\n </div>\n\n <div class=\"stzh-pagetitle-hero__image-wrapper\">\n <div class=\"stzh-pagetitle-hero__image-ratio\"></div>\n <slot name=\"image\"></slot>\n </div>\n\n <div class=\"stzh-pagetitle-hero__title-wrapper\">\n <div class=\"stzh-pagetitle-hero__tags\" role=\"list\">\n <slot name=\"tag\"></slot>\n </div>\n\n <div class=\"stzh-pagetitle-hero__title-parent\">\n <h1\n ref={(el) => (this.mainTitleElement = el as HTMLHeadingElement)}\n class=\"stzh-pagetitle-hero__title\"\n id={this.headingId}\n >\n {this.heading}\n </h1>\n </div>\n {this.subtitle &&\n <div class=\"stzh-pagetitle-hero__subtitle\">\n {this.subtitle}\n </div>\n }\n </div>\n </div>\n\n <div class=\"stzh-pagetitle-hero__lead\">\n <slot name=\"lead\"></slot>\n <div class=\"stzh-pagetitle-hero__lead-author\">\n {this.leadAuthor}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,10 +1,14 @@
1
1
  import { h, Host } from "@stencil/core";
2
2
  import { hasSlot, setPropsIfNull } from "../../utils/utils";
3
3
  /**
4
+ * @slot - Slot for any content
4
5
  * @slot heading - Slot for `stzh-heading` element
5
6
  * @slot image - Slot for `stzh-figure` or `img` element
6
7
  * @slot lead - Slot for `stzh-text` element
7
8
  * @slot readspeaker - Slot for `stzh-readspeaker` element
9
+ * @slot breadcrumb - Slot for `stzh-link` element
10
+ * @slot menu - Slot for `stzh-link` element
11
+ * @slot dateline - Slot for date or meta information
8
12
  */
9
13
  export class StzhPiPagetitle {
10
14
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-pi-pagetitle.js","sourceRoot":"","sources":["../../../../src/components/stzh-pi-pagetitle/stzh-pi-pagetitle.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Host, Prop, Watch } from \"@stencil/core\";\n\nimport { hasSlot, setPropsIfNull } from \"../../utils/utils\";\n\n/**\n * @slot heading - Slot for `stzh-heading` element\n * @slot image - Slot for `stzh-figure` or `img` element\n * @slot lead - Slot for `stzh-text` element\n * @slot readspeaker - Slot for `stzh-readspeaker` element\n */\n@Component({\n tag: \"stzh-pi-pagetitle\",\n styleUrl: \"stzh-pi-pagetitle.scss\",\n scoped: true,\n})\nexport class StzhPiPagetitle {\n /** Level */\n @Prop({ reflect: true }) level: 1 | 2 | 3 | 4 = 1;\n\n /** Author of the content */\n @Prop({ reflect: true }) author: string = \"\";\n\n /** Date of the content */\n @Prop({ reflect: true }) date: string = \"\";\n\n @Element() element: HTMLStzhPiPagetitleElement;\n\n private init = () => {\n const heading = this.element.querySelector('stzh-heading[slot=\"heading\"], [slot=\"heading\"] stzh-heading');\n const leads = this.element.querySelectorAll('stzh-text[slot=\"lead\"], [slot=\"lead\"] stzh-text');\n const readspeakerButton = this.element.querySelector('[slot=\"readspeaker\"] stzh-button');\n\n if (heading) {\n setPropsIfNull(heading, {\n curve: \"hero\",\n level: \"1\",\n } as HTMLStzhHeadingElement);\n }\n\n if (readspeakerButton) {\n setPropsIfNull(readspeakerButton, {\n variant: \"tertiary-plain\",\n noPaddingLeft: true,\n noPaddingRight: true,\n size: \"small\",\n sizeMedium: \"tiny\",\n buttonAccesskey: \"L\",\n } as HTMLStzhButtonElement);\n }\n\n leads.forEach(lead => {\n setPropsIfNull(lead, {\n lead: true,\n } as HTMLStzhTextElement);\n });\n };\n\n @Watch(\"level\")\n handleLevelChange(level: number) {\n const menuElement = this.element.querySelector(\"stzh-pi-menu\");\n if (menuElement) {\n menuElement.breakout = level >= 3;\n }\n }\n\n async componentDidLoad() {\n this.handleLevelChange(this.level);\n }\n\n connectedCallback() {\n this.init();\n }\n\n render() {\n const imageSlotUsed = hasSlot(this.element, \"image\");\n const leadSlotUsed = hasSlot(this.element, \"lead\");\n const readspeakerSlotUsed = hasSlot(this.element, \"readspeaker\");\n const menuSlotUsed = hasSlot(this.element, \"menu\");\n const hasArticleInfo = !!this.author || !!this.date;\n\n const classes = {\n \"stzh-pi-pagetitle\": true,\n \"stzh-pi-pagetitle--has-image\": imageSlotUsed,\n \"stzh-pi-pagetitle--has-no-image\": !imageSlotUsed,\n \"stzh-pi-pagetitle--has-lead\": leadSlotUsed,\n \"stzh-pi-pagetitle--has-meta\": readspeakerSlotUsed,\n \"stzh-pi-pagetitle--has-menu\": menuSlotUsed,\n \"stzh-pi-pagetitle--has-article-info\": hasArticleInfo,\n [`stzh-pi-pagetitle--level-${this.level}`]: !!this.level,\n };\n\n return (\n <Host has-menu={menuSlotUsed} has-article-info={hasArticleInfo}>\n <div class={classes}>\n <div class=\"stzh-pi-pagetitle__hero-container\">\n <div class=\"stzh-pi-pagetitle__hero\">\n <div class=\"stzh-pi-pagetitle__breadcrumbs\">\n <slot name=\"breadcrumb\"></slot>\n </div>\n\n <div class=\"stzh-pi-pagetitle__meta\">\n <div class=\"stzh-pi-pagetitle__readspeaker\">\n <slot name=\"readspeaker\"></slot>\n </div>\n </div>\n\n <div class=\"stzh-pi-pagetitle__dateline\">\n <slot name=\"dateline\"></slot>\n </div>\n\n <div class=\"stzh-pi-pagetitle__heading\">\n <slot name=\"heading\"></slot>\n </div>\n </div>\n </div>\n <div class=\"stzh-pi-pagetitle__image-lead-menu-container\">\n <div class=\"stzh-pi-pagetitle__image-lead-menu\">\n <div class=\"stzh-pi-pagetitle__menu\">\n {menuSlotUsed && (\n <div class=\"stzh-pi-pagetitle__menu-inner\">\n <slot name=\"menu\"></slot>\n </div>\n )}\n </div>\n\n <div class=\"stzh-pi-pagetitle__image\">\n {[1, 2].indexOf(this.level) > -1 && (\n <div class=\"stzh-pi-pagetitle__image-wrapper\">\n <stzh-ratio ratio={\"16:9\"} ratioSmall={\"21:9\"} class=\"stzh-pi-pagetitle__ratio\">\n <slot name={\"image\"}></slot>\n </stzh-ratio>\n </div>\n )}\n </div>\n\n {menuSlotUsed && (\n <div class=\"stzh-pi-pagetitle__lead\">\n <slot name=\"lead\"></slot>\n </div>\n )}\n </div>\n </div>\n\n {!menuSlotUsed && (\n <div class=\"stzh-pi-pagetitle__lead-container\">\n <div class=\"stzh-pi-pagetitle__lead\">\n <slot name=\"lead\"></slot>\n </div>\n </div>\n )}\n\n {hasArticleInfo && (\n <div class=\"stzh-pi-pagetitle__article-info-wrapper\">\n <div class=\"stzh-pi-pagetitle__article-info\">\n {this.author && <p class=\"stzh-pi-pagetitle__author\">{this.author}</p>}\n {this.date && <p class=\"stzh-pi-pagetitle__date\">{this.date}</p>}\n </div>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"stzh-pi-pagetitle.js","sourceRoot":"","sources":["../../../../src/components/stzh-pi-pagetitle/stzh-pi-pagetitle.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Host, Prop, Watch } from \"@stencil/core\";\n\nimport { hasSlot, setPropsIfNull } from \"../../utils/utils\";\n\n/**\n * @slot - Slot for any content\n * @slot heading - Slot for `stzh-heading` element\n * @slot image - Slot for `stzh-figure` or `img` element\n * @slot lead - Slot for `stzh-text` element\n * @slot readspeaker - Slot for `stzh-readspeaker` element\n * @slot breadcrumb - Slot for `stzh-link` element\n * @slot menu - Slot for `stzh-link` element\n * @slot dateline - Slot for date or meta information\n */\n@Component({\n tag: \"stzh-pi-pagetitle\",\n styleUrl: \"stzh-pi-pagetitle.scss\",\n scoped: true,\n})\nexport class StzhPiPagetitle {\n /** Level */\n @Prop({ reflect: true }) level: 1 | 2 | 3 | 4 = 1;\n\n /** Author of the content */\n @Prop({ reflect: true }) author: string = \"\";\n\n /** Date of the content */\n @Prop({ reflect: true }) date: string = \"\";\n\n @Element() element: HTMLStzhPiPagetitleElement;\n\n private init = () => {\n const heading = this.element.querySelector('stzh-heading[slot=\"heading\"], [slot=\"heading\"] stzh-heading');\n const leads = this.element.querySelectorAll('stzh-text[slot=\"lead\"], [slot=\"lead\"] stzh-text');\n const readspeakerButton = this.element.querySelector('[slot=\"readspeaker\"] stzh-button');\n\n if (heading) {\n setPropsIfNull(heading, {\n curve: \"hero\",\n level: \"1\",\n } as HTMLStzhHeadingElement);\n }\n\n if (readspeakerButton) {\n setPropsIfNull(readspeakerButton, {\n variant: \"tertiary-plain\",\n noPaddingLeft: true,\n noPaddingRight: true,\n size: \"small\",\n sizeMedium: \"tiny\",\n buttonAccesskey: \"L\",\n } as HTMLStzhButtonElement);\n }\n\n leads.forEach(lead => {\n setPropsIfNull(lead, {\n lead: true,\n } as HTMLStzhTextElement);\n });\n };\n\n @Watch(\"level\")\n handleLevelChange(level: number) {\n const menuElement = this.element.querySelector(\"stzh-pi-menu\");\n if (menuElement) {\n menuElement.breakout = level >= 3;\n }\n }\n\n async componentDidLoad() {\n this.handleLevelChange(this.level);\n }\n\n connectedCallback() {\n this.init();\n }\n\n render() {\n const imageSlotUsed = hasSlot(this.element, \"image\");\n const leadSlotUsed = hasSlot(this.element, \"lead\");\n const readspeakerSlotUsed = hasSlot(this.element, \"readspeaker\");\n const menuSlotUsed = hasSlot(this.element, \"menu\");\n const hasArticleInfo = !!this.author || !!this.date;\n\n const classes = {\n \"stzh-pi-pagetitle\": true,\n \"stzh-pi-pagetitle--has-image\": imageSlotUsed,\n \"stzh-pi-pagetitle--has-no-image\": !imageSlotUsed,\n \"stzh-pi-pagetitle--has-lead\": leadSlotUsed,\n \"stzh-pi-pagetitle--has-meta\": readspeakerSlotUsed,\n \"stzh-pi-pagetitle--has-menu\": menuSlotUsed,\n \"stzh-pi-pagetitle--has-article-info\": hasArticleInfo,\n [`stzh-pi-pagetitle--level-${this.level}`]: !!this.level,\n };\n\n return (\n <Host has-menu={menuSlotUsed} has-article-info={hasArticleInfo}>\n <div class={classes}>\n <div class=\"stzh-pi-pagetitle__hero-container\">\n <div class=\"stzh-pi-pagetitle__hero\">\n <div class=\"stzh-pi-pagetitle__breadcrumbs\">\n <slot name=\"breadcrumb\"></slot>\n </div>\n\n <div class=\"stzh-pi-pagetitle__meta\">\n <div class=\"stzh-pi-pagetitle__readspeaker\">\n <slot name=\"readspeaker\"></slot>\n </div>\n </div>\n\n <div class=\"stzh-pi-pagetitle__dateline\">\n <slot name=\"dateline\"></slot>\n </div>\n\n <div class=\"stzh-pi-pagetitle__heading\">\n <slot name=\"heading\"></slot>\n </div>\n </div>\n </div>\n <div class=\"stzh-pi-pagetitle__image-lead-menu-container\">\n <div class=\"stzh-pi-pagetitle__image-lead-menu\">\n <div class=\"stzh-pi-pagetitle__menu\">\n {menuSlotUsed && (\n <div class=\"stzh-pi-pagetitle__menu-inner\">\n <slot name=\"menu\"></slot>\n </div>\n )}\n </div>\n\n <div class=\"stzh-pi-pagetitle__image\">\n {[1, 2].indexOf(this.level) > -1 && (\n <div class=\"stzh-pi-pagetitle__image-wrapper\">\n <stzh-ratio ratio={\"16:9\"} ratioSmall={\"21:9\"} class=\"stzh-pi-pagetitle__ratio\">\n <slot name={\"image\"}></slot>\n </stzh-ratio>\n </div>\n )}\n </div>\n\n {menuSlotUsed && (\n <div class=\"stzh-pi-pagetitle__lead\">\n <slot name=\"lead\"></slot>\n </div>\n )}\n </div>\n </div>\n\n {!menuSlotUsed && (\n <div class=\"stzh-pi-pagetitle__lead-container\">\n <div class=\"stzh-pi-pagetitle__lead\">\n <slot name=\"lead\"></slot>\n </div>\n </div>\n )}\n\n {hasArticleInfo && (\n <div class=\"stzh-pi-pagetitle__article-info-wrapper\">\n <div class=\"stzh-pi-pagetitle__article-info\">\n {this.author && <p class=\"stzh-pi-pagetitle__author\">{this.author}</p>}\n {this.date && <p class=\"stzh-pi-pagetitle__date\">{this.date}</p>}\n </div>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,4 +1,7 @@
1
1
  import { h, Host } from "@stencil/core";
2
+ /**
3
+ *
4
+ */
2
5
  export class StzhPiQuote {
3
6
  constructor() {
4
7
  this.text = "";
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-pi-quote.js","sourceRoot":"","sources":["../../../../src/components/stzh-pi-quote/stzh-pi-quote.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOlE,MAAM,OAAO,WAAW;;gBAIC,EAAE;;EAEzB,MAAM;IACJ,MAAM,OAAO,GAAG;MACd,eAAe,EAAE,IAAI;KACtB,CAAC;IAEF,OAAO,CACL,EAAC,IAAI;MACH,WAAK,KAAK,EAAE,OAAO;QACjB,kBAAY,KAAK,EAAC,qBAAqB,IAAE,IAAI,CAAC,IAAI,CAAc,CAC5D,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Host, Prop } from \"@stencil/core\";\n\n@Component({\n tag: \"stzh-pi-quote\",\n styleUrl: \"stzh-pi-quote.scss\",\n scoped: true,\n})\nexport class StzhPiQuote {\n @Element() element: HTMLStzhListElement;\n\n /* Text for quote */\n @Prop() text: string = \"\";\n\n render() {\n const classes = {\n \"stzh-pi-quote\": true,\n };\n\n return (\n <Host>\n <div class={classes}>\n <blockquote class=\"stzh-pi-quote__text\">{this.text}</blockquote>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"stzh-pi-quote.js","sourceRoot":"","sources":["../../../../src/components/stzh-pi-quote/stzh-pi-quote.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAElE;;GAEG;AAMH,MAAM,OAAO,WAAW;;gBAIC,EAAE;;EAEzB,MAAM;IACJ,MAAM,OAAO,GAAG;MACd,eAAe,EAAE,IAAI;KACtB,CAAC;IAEF,OAAO,CACL,EAAC,IAAI;MACH,WAAK,KAAK,EAAE,OAAO;QACjB,kBAAY,KAAK,EAAC,qBAAqB,IAAE,IAAI,CAAC,IAAI,CAAc,CAC5D,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Host, Prop } from \"@stencil/core\";\n\n/**\n * \n */\n@Component({\n tag: \"stzh-pi-quote\",\n styleUrl: \"stzh-pi-quote.scss\",\n scoped: true,\n})\nexport class StzhPiQuote {\n @Element() element: HTMLStzhListElement;\n\n /* Text for quote */\n @Prop() text: string = \"\";\n\n render() {\n const classes = {\n \"stzh-pi-quote\": true,\n };\n\n return (\n <Host>\n <div class={classes}>\n <blockquote class=\"stzh-pi-quote__text\">{this.text}</blockquote>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -116,7 +116,7 @@ export class StzhProgressbar {
116
116
  };
117
117
  return (h(Host, { style: {
118
118
  '--steps': this.currentSteps ? this.currentSteps.toString() : null,
119
- } }, h("div", { class: classes }, h("div", { class: "stzh-progressbar__items", role: "list", "aria-label": this.localization.label }, this._data.map((step, index) => h("stzh-progressbar-item", Object.assign({}, this.getItemAttributes(index), { icon: step.icon, disabled: step.disabled, label: step.label, "click-disabled": this.clickDisabled, class: "stzh-progressbar__item" })))))));
119
+ } }, h("div", { class: classes }, h("div", { class: "stzh-progressbar__items", role: "list", "aria-label": this.localization.label }, this._data.map((step, index) => h("stzh-progressbar-item", Object.assign({}, this.getItemAttributes(index), { icon: step.icon, disabled: step.disabled, label: step.label, "click-disabled": this.clickDisabled, class: "stzh-progressbar__item" }))), h("slot", null)))));
120
120
  }
121
121
  static get is() { return "stzh-progressbar"; }
122
122
  static get encapsulation() { return "scoped"; }
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-progressbar.js","sourceRoot":"","sources":["../../../../src/components/stzh-progressbar/stzh-progressbar.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Watch,\n Method\n} from \"@stencil/core\";\n\nimport {\n StzhProgressbarDataItem\n} from '../../index';\n\nimport { addMediaChangeListener, removeMediaChangeListener, media } from \"../../utils/media-utils\";\nimport { StzhProgressbarLocalizedText } from \"./stzh-progressbar.localization\"\n\n/**\n * @slot - Slot for any text content\n */\n@Component({\n tag: \"stzh-progressbar\",\n styleUrl: \"stzh-progressbar.scss\",\n scoped: true\n})\nexport class StzhProgressbar {\n /** Translation strings */\n @Prop() localization: StzhProgressbarLocalizedText;\n\n /**\n * Step data (JSON array with objects that have `label` attribute and optional:\n * - `disabled`, if step should be disabled\n * - `icon`, if icon instead of step number should be displayed):\n * - `analyticsId`, for Adobe Analytics, rendered as `s-object-id` (default is `label`)\n *\n * ```\n * {\n * \"label\": \"Step Label\"\n * \"icon\": \"clock\",\n * \"disabled\": true\n * }\n * ```\n */\n @Prop() data: StzhProgressbarDataItem[] | string = [];\n private _data: StzhProgressbarDataItem[];\n\n /** Index of the item that be active */\n @Prop() index: number = 0;\n\n /** Number of steps to show below small breakpoint */\n @Prop() steps: number = 5;\n\n /** Number of steps to show above small breakpoint */\n @Prop() stepsSmall: number = 6;\n\n /** Number of steps to show above medium breakpoint */\n @Prop() stepsMedium: number = 0;\n\n /** Number of steps to show above large breakpoint */\n @Prop() stepsLarge: number = 0;\n\n /** Number of steps to show above ultra breakpoint */\n @Prop() stepsUltra: number = 0;\n\n /**\n * Whether all the progressbar-items are clickable.\n */\n @Prop() clickDisabled: boolean = false;\n\n @State() currentSteps: number;\n\n @Element() element: HTMLStzhProgressbarElement;\n\n /**\n * Return infos about rendered progressbar items.\n * Array of objects including: hide (whether step is hidden)\n * / passed (whether step has been passed)\n * / current (whether step is currently active)\n * / dotted (whether step has dotted style active)\n * / first|last (whether step is first or last)\n * / label\n */\n @Method()\n async getItemData() {\n return this._data.map((step, index) => {\n return {\n ...step,\n ...this.getItemAttributes(index)\n }\n });\n }\n\n @Watch(\"steps\")\n @Watch(\"stepsSmall\")\n @Watch(\"stepsMedium\")\n @Watch(\"stepsLarge\")\n @Watch(\"stepsUltra\")\n stepsWatcher() {\n this.setCurrentSteps();\n }\n\n @Watch(\"data\")\n dataWatcher(newValue: any[] | string) {\n if (typeof newValue === \"string\") {\n this._data = JSON.parse(newValue);\n }\n else {\n this._data = newValue;\n }\n\n this.lastItemIndex = this._data.length - 1;\n this.maxStepIndex = this.currentSteps - 1;\n this.withinLastFewSteps = this.index >= this._data.length - this.maxStepIndex;\n }\n\n private lastItemIndex: number;\n private maxStepIndex: number;\n private withinLastFewSteps: boolean;\n\n private getItemAttributes(itemIndex: number): any {\n const item = {} as HTMLStzhProgressbarItemElement;\n\n item.step = itemIndex + 1;\n item.first = itemIndex === 0;\n item.last = itemIndex === this.lastItemIndex;\n item.current = itemIndex === this.index;\n item.passed = itemIndex < this.index;\n\n // hide overflowings if more items than max steps in DOM\n if (this._data.length > this.currentSteps) {\n // add dots to last item if current index is below the last few items\n if (itemIndex === this.lastItemIndex && !this.withinLastFewSteps) {\n item.dotted = true;\n }\n\n if (this.index < 2) {\n // hide overflowing items on the right\n item.hide = itemIndex > this.maxStepIndex - 1 && itemIndex < this.lastItemIndex;\n } else {\n // add dots to first item if current item is third or above\n if (itemIndex === 0) {\n item.dotted = true;\n }\n\n let substract = this.index;\n\n // if is within the last elements, calculate how much previous\n // should be shown to stay on 5 visible elements\n if (this.withinLastFewSteps) {\n substract = this._data.length - this.maxStepIndex;\n }\n\n // hide overflowing items on left and right side\n item.hide = itemIndex > 0 && itemIndex < substract\n || itemIndex > this.index + (this.currentSteps - 3) && itemIndex < this.lastItemIndex;\n }\n }\n\n return item;\n }\n\n private setCurrentSteps = () => {\n if (media(\"ultra\").matches && this.stepsUltra) {\n this.currentSteps = this.stepsUltra;\n } else if (media(\"large\").matches && this.stepsLarge) {\n this.currentSteps = this.stepsLarge;\n } else if (media(\"medium\").matches && this.stepsMedium) {\n this.currentSteps = this.stepsMedium;\n } else if (media(\"small\").matches && this.stepsSmall) {\n this.currentSteps = this.stepsSmall;\n } else {\n this.currentSteps = this.steps;\n }\n }\n\n async componentWillLoad() {\n this.dataWatcher(this.data);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"progressbar\");\n }\n }\n\n connectedCallback() {\n this.setCurrentSteps();\n addMediaChangeListener(this.setCurrentSteps);\n }\n\n disconnectedCallback() {\n removeMediaChangeListener(this.setCurrentSteps);\n }\n\n render() {\n const classes = {\n \"stzh-progressbar\": true,\n [`stzh-progressbar--index-${this.index}`]: !!this.index\n };\n\n return (\n <Host\n style={{\n '--steps': this.currentSteps ? this.currentSteps.toString() : null,\n }}\n >\n <div class={classes}>\n <div\n class=\"stzh-progressbar__items\"\n role=\"list\"\n aria-label={this.localization.label}\n >\n {this._data.map((step, index) =>\n <stzh-progressbar-item\n {...this.getItemAttributes(index)}\n icon={step.icon}\n disabled={step.disabled}\n label={step.label}\n click-disabled={this.clickDisabled}\n class=\"stzh-progressbar__item\"\n ></stzh-progressbar-item>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"stzh-progressbar.js","sourceRoot":"","sources":["../../../../src/components/stzh-progressbar/stzh-progressbar.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Watch,\n Method\n} from \"@stencil/core\";\n\nimport {\n StzhProgressbarDataItem\n} from '../../index';\n\nimport { addMediaChangeListener, removeMediaChangeListener, media } from \"../../utils/media-utils\";\nimport { StzhProgressbarLocalizedText } from \"./stzh-progressbar.localization\"\n\n/**\n * @slot - Slot for any text content\n */\n@Component({\n tag: \"stzh-progressbar\",\n styleUrl: \"stzh-progressbar.scss\",\n scoped: true\n})\nexport class StzhProgressbar {\n /** Translation strings */\n @Prop() localization: StzhProgressbarLocalizedText;\n\n /**\n * Step data (JSON array with objects that have `label` attribute and optional:\n * - `disabled`, if step should be disabled\n * - `icon`, if icon instead of step number should be displayed):\n * - `analyticsId`, for Adobe Analytics, rendered as `s-object-id` (default is `label`)\n *\n * ```\n * {\n * \"label\": \"Step Label\"\n * \"icon\": \"clock\",\n * \"disabled\": true\n * }\n * ```\n */\n @Prop() data: StzhProgressbarDataItem[] | string = [];\n private _data: StzhProgressbarDataItem[];\n\n /** Index of the item that be active */\n @Prop() index: number = 0;\n\n /** Number of steps to show below small breakpoint */\n @Prop() steps: number = 5;\n\n /** Number of steps to show above small breakpoint */\n @Prop() stepsSmall: number = 6;\n\n /** Number of steps to show above medium breakpoint */\n @Prop() stepsMedium: number = 0;\n\n /** Number of steps to show above large breakpoint */\n @Prop() stepsLarge: number = 0;\n\n /** Number of steps to show above ultra breakpoint */\n @Prop() stepsUltra: number = 0;\n\n /**\n * Whether all the progressbar-items are clickable.\n */\n @Prop() clickDisabled: boolean = false;\n\n @State() currentSteps: number;\n\n @Element() element: HTMLStzhProgressbarElement;\n\n /**\n * Return infos about rendered progressbar items.\n * Array of objects including: hide (whether step is hidden)\n * / passed (whether step has been passed)\n * / current (whether step is currently active)\n * / dotted (whether step has dotted style active)\n * / first|last (whether step is first or last)\n * / label\n */\n @Method()\n async getItemData() {\n return this._data.map((step, index) => {\n return {\n ...step,\n ...this.getItemAttributes(index)\n }\n });\n }\n\n @Watch(\"steps\")\n @Watch(\"stepsSmall\")\n @Watch(\"stepsMedium\")\n @Watch(\"stepsLarge\")\n @Watch(\"stepsUltra\")\n stepsWatcher() {\n this.setCurrentSteps();\n }\n\n @Watch(\"data\")\n dataWatcher(newValue: any[] | string) {\n if (typeof newValue === \"string\") {\n this._data = JSON.parse(newValue);\n }\n else {\n this._data = newValue;\n }\n\n this.lastItemIndex = this._data.length - 1;\n this.maxStepIndex = this.currentSteps - 1;\n this.withinLastFewSteps = this.index >= this._data.length - this.maxStepIndex;\n }\n\n private lastItemIndex: number;\n private maxStepIndex: number;\n private withinLastFewSteps: boolean;\n\n private getItemAttributes(itemIndex: number): any {\n const item = {} as HTMLStzhProgressbarItemElement;\n\n item.step = itemIndex + 1;\n item.first = itemIndex === 0;\n item.last = itemIndex === this.lastItemIndex;\n item.current = itemIndex === this.index;\n item.passed = itemIndex < this.index;\n\n // hide overflowings if more items than max steps in DOM\n if (this._data.length > this.currentSteps) {\n // add dots to last item if current index is below the last few items\n if (itemIndex === this.lastItemIndex && !this.withinLastFewSteps) {\n item.dotted = true;\n }\n\n if (this.index < 2) {\n // hide overflowing items on the right\n item.hide = itemIndex > this.maxStepIndex - 1 && itemIndex < this.lastItemIndex;\n } else {\n // add dots to first item if current item is third or above\n if (itemIndex === 0) {\n item.dotted = true;\n }\n\n let substract = this.index;\n\n // if is within the last elements, calculate how much previous\n // should be shown to stay on 5 visible elements\n if (this.withinLastFewSteps) {\n substract = this._data.length - this.maxStepIndex;\n }\n\n // hide overflowing items on left and right side\n item.hide = itemIndex > 0 && itemIndex < substract\n || itemIndex > this.index + (this.currentSteps - 3) && itemIndex < this.lastItemIndex;\n }\n }\n\n return item;\n }\n\n private setCurrentSteps = () => {\n if (media(\"ultra\").matches && this.stepsUltra) {\n this.currentSteps = this.stepsUltra;\n } else if (media(\"large\").matches && this.stepsLarge) {\n this.currentSteps = this.stepsLarge;\n } else if (media(\"medium\").matches && this.stepsMedium) {\n this.currentSteps = this.stepsMedium;\n } else if (media(\"small\").matches && this.stepsSmall) {\n this.currentSteps = this.stepsSmall;\n } else {\n this.currentSteps = this.steps;\n }\n }\n\n async componentWillLoad() {\n this.dataWatcher(this.data);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"progressbar\");\n }\n }\n\n connectedCallback() {\n this.setCurrentSteps();\n addMediaChangeListener(this.setCurrentSteps);\n }\n\n disconnectedCallback() {\n removeMediaChangeListener(this.setCurrentSteps);\n }\n\n render() {\n const classes = {\n \"stzh-progressbar\": true,\n [`stzh-progressbar--index-${this.index}`]: !!this.index\n };\n\n return (\n <Host\n style={{\n '--steps': this.currentSteps ? this.currentSteps.toString() : null,\n }}\n >\n <div class={classes}>\n <div\n class=\"stzh-progressbar__items\"\n role=\"list\"\n aria-label={this.localization.label}\n >\n {this._data.map((step, index) =>\n <stzh-progressbar-item\n {...this.getItemAttributes(index)}\n icon={step.icon}\n disabled={step.disabled}\n label={step.label}\n click-disabled={this.clickDisabled}\n class=\"stzh-progressbar__item\"\n ></stzh-progressbar-item>\n )}\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -42,6 +42,7 @@ function defaultResultWrapperProps(search) {
42
42
  };
43
43
  }
44
44
  /**
45
+ * @slot - Slot for any content
45
46
  * @slot filters-main - Slot for main filters
46
47
  * @slot filters-aside - Slot for aside filters
47
48
  */
@@ -50,6 +51,8 @@ export class StzhSearch {
50
51
  this._showMoreLink = false;
51
52
  this.fetch = async (append = false, initial = false) => {
52
53
  var _a, _b;
54
+ this.loading = true;
55
+ this.error = "";
53
56
  if (this.currentController) {
54
57
  this.currentController.abort();
55
58
  }
@@ -57,8 +60,6 @@ export class StzhSearch {
57
60
  this.loading = false;
58
61
  return;
59
62
  }
60
- this.loading = true;
61
- this.error = "";
62
63
  let apiUrl = this.api.replace(/\{lang\}/gi, this.localization.$locale);
63
64
  let limit = this.limit.toString();
64
65
  this.params.set("offset", append ? this.results.length.toString() : "0");
@@ -121,7 +122,6 @@ export class StzhSearch {
121
122
  searchParams.delete("offset");
122
123
  searchParams.set("limit", this.results.length.toString());
123
124
  newUrlParams.set("search", searchParams.toString());
124
- // console.log(location.search, searchParams.toString(), newUrlParams.toString());
125
125
  window.history.replaceState(null, "", `${location.pathname}?${newUrlParams}`);
126
126
  }
127
127
  if (initial || !this.firstFetched) {
@@ -400,7 +400,7 @@ export class StzhSearch {
400
400
  counter: `${chipResult.amount}`,
401
401
  variant: "filter",
402
402
  size: "small",
403
- })) }))))), filtersAsideUsed && (h(Fragment, null, h("div", { class: "stzh-search__filters-aside", onStzhChange: this.handleAsideFilterChange }, h("div", { class: "stzh-search__filters-aside-inner" }, h("div", { class: "stzh-search__filters-aside-heading" }, this.localization.moreFilter), h("stzh-details", { open: this.isDetailsOpen, class: "stzh-search__filters-aside-details" }, h("stzh-button", { class: "stzh-search__filters-aside-details-trigger", variant: "tertiary-plain", size: "small", noPaddingLeft: true, showToggleIcon: true, iconPosition: "right", label: this.localization.moreFilter }), h("div", { slot: "content" }, h("slot", { name: "filters-aside" }))))))), h("div", { class: "stzh-search__results-wrapper" }, resultsShown && (h(Fragment, null, this.results.length === 0 ? (h(Fragment, null, this.variant !== "teaser" && this.resultsHeading && (h("stzh-heading", { class: "stzh-search__results-heading", curve: "h3", level: this.resultHeadingLevel, innerHTML: this.resultsHeading })), this.emptyText && (h("stzh-text", { class: "stzh-search__empty-text", innerHTML: this.emptyText })), this.emptyLinkLabel && this.emptyLinkHref && (h("div", { class: "stzh-search__empty-link-wrapper" }, h("stzh-link", { href: this.emptyLinkHref, label: this.emptyLinkLabel }))))) : (h(Fragment, null, this.variant !== "teaser" && this.resultsHeading && (h("stzh-heading", { class: "stzh-search__results-heading", curve: "h3", level: this.resultHeadingLevel, innerHTML: this.resultsHeading })), h(WrapperElement, Object.assign({ class: "stzh-search__results" }, wrapperProps), this.results.map(result => (h("div", { class: "stzh-search__results-item", innerHTML: result.html || "" })))), h("div", { class: "stzh-search__actions-wrapper" }, this._showMoreLink && (h("stzh-button", { variant: "secondary", class: "stzh-search__action-more", label: this.localization.showMore, onClick: this.handleMoreClick, a11yDisabled: this.loading }))))))), this.error && (h("div", { class: "stzh-search__error" }, h("stzh-message", { type: "error", label: this.error }))), this.loading && h("stzh-loader", { class: "stzh-search__loader" })), h("slot", null))));
403
+ })) }))))), filtersAsideUsed && (h(Fragment, null, h("div", { class: "stzh-search__filters-aside", onStzhChange: this.handleAsideFilterChange }, h("div", { class: "stzh-search__filters-aside-inner" }, h("div", { class: "stzh-search__filters-aside-heading" }, this.localization.moreFilter), h("stzh-details", { open: this.isDetailsOpen, class: "stzh-search__filters-aside-details" }, h("stzh-button", { class: "stzh-search__filters-aside-details-trigger", variant: "tertiary-plain", size: "small", noPaddingLeft: true, showToggleIcon: true, iconPosition: "right", label: this.localization.moreFilter }), h("div", { slot: "content" }, h("slot", { name: "filters-aside" }))))))), h("div", { class: "stzh-search__results-wrapper" }, resultsShown && (h(Fragment, null, this.results.length === 0 ? (h(Fragment, null, this.variant !== "teaser" && this.resultsHeading && (h("stzh-heading", { class: "stzh-search__results-heading", curve: "h3", level: this.resultHeadingLevel, innerHTML: this.resultsHeading })), this.emptyText && (h("stzh-text", { class: "stzh-search__empty-text", innerHTML: this.emptyText })), this.emptyLinkLabel && this.emptyLinkHref && (h("div", { class: "stzh-search__empty-link-wrapper" }, h("stzh-link", { href: this.emptyLinkHref, label: this.emptyLinkLabel }))))) : (h(Fragment, null, this.variant !== "teaser" && this.resultsHeading && (h("stzh-heading", { class: "stzh-search__results-heading", curve: "h3", level: this.resultHeadingLevel, innerHTML: this.resultsHeading })), h(WrapperElement, Object.assign({ class: "stzh-search__results" }, wrapperProps), this.results.map(result => (h("div", { class: "stzh-search__results-item", innerHTML: result.html || "" })))), h("div", { class: "stzh-search__actions-wrapper" }, this._showMoreLink && (h("stzh-button", { variant: "secondary", class: "stzh-search__action-more", label: this.localization.showMore, onClick: this.handleMoreClick, disabled: this.loading, a11yDisabled: this.loading }))))))), this.error && (h("div", { class: "stzh-search__error" }, h("stzh-message", { type: "error", label: this.error }))), this.loading && h("stzh-loader", { class: "stzh-search__loader" })), h("slot", null))));
404
404
  }
405
405
  static get is() { return "stzh-search"; }
406
406
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-search.js","sourceRoot":"","sources":["../../../../src/components/stzh-search/stzh-search.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Fragment, h, Host, Prop, State, Watch } from \"@stencil/core\";\n\nimport { StzhSearchChipsResult, StzhSearchOverlayCloseClickEvent, StzhSearchResult } from \"../../index\";\n\nimport axios from \"axios\";\nimport { hasSlot, raf } from \"../../utils/utils\";\n\nimport { StzhSearchLocalizedText } from \"./stzh-search.localization\";\n\nimport { addMediaChangeListener, media, removeMediaChangeListener } from \"../../utils/media-utils\";\n\nimport debounce from \"lodash/debounce\";\n\nfunction defaultTemplateResult(search: HTMLStzhSearchElement, item: StzhSearchResult): string {\n return `\n <stzh-card-${search.variant === \"teaser\" ? \"superteaser\" : \"searchresult\"}\n href=\"{href}\"\n dateline=\"{dateline}\"\n tag=\"{tag}\"\n topic=\"{topic}\"\n service=\"{service}\"\n event-location=\"{eventLocation}\"\n ${item.eventDateStart && 'event-date-start=\"{eventDateStart}\"'}\n ${item.eventDateEnd && 'event-date-end=\"{eventDateEnd}\"'}\n download-heading=\"{downloadHeading}\"\n meta='{meta}'\n breadcrumb-items='{breadcrumbItems}'\n download-meta='{downloadMeta}'\n datalist-items='{datalistItems}'\n ${item.imagePosition && 'image-position=\"{imagePosition}\"'}\n ${item.download && 'download=\"{download}\"'}\n style=\"\n ${item.serviceBackgroundColor ? \"--service-background-color: {serviceBackgroundColor};\" : \"\"}\n ${item.serviceColor ? \"--service-color: {serviceColor};\" : \"\"}\n \"\n >\n <div slot=\"heading\">{heading}</div>\n <div slot=\"description\">{description}</div>\n ${\n item.image\n ? item.imagePosition === \"right\"\n ? `<img src=\"${item.image}\" slot=\"image\" />`\n : `<stzh-ratio ${\n search.variant === \"teaser\" ? 'ratio=\"2:1\"' : 'ratio=\"21:9\" ratio-small=\"1:1\"'\n } slot=\"image\"><img src=\"${item.image}\" /></stzh-ratio>`\n : \"\"\n }\n </stzh-card-${search.variant === \"teaser\" ? \"superteaser\" : \"searchresult\"}>\n `;\n}\n\nfunction defaultResultWrapperProps(search: HTMLStzhSearchElement) {\n return {\n layout: search.variant === \"teaser\" ? \"teasers\" : \"searchresults\",\n } as HTMLStzhCardlistElement;\n}\n\n/**\n * @slot filters-main - Slot for main filters\n * @slot filters-aside - Slot for aside filters\n */\n@Component({\n tag: \"stzh-search\",\n styleUrl: \"stzh-search.scss\",\n})\nexport class StzhSearch {\n /** Translation strings */\n @Prop() localization: StzhSearchLocalizedText;\n\n /** Variant */\n @Prop() variant: \"default\" | \"teaser\" = \"default\";\n\n /** Whether it should be rendered as overlay or not. */\n @Prop() breakout: boolean = false;\n\n /** Whether search results should be automatically fetched when a main filters has changed. */\n @Prop() autofetchMainFilters: boolean = false;\n\n /** Whether search results should be automatically fetched when a aside filters has changed. */\n @Prop() autofetchAsideFilters: boolean = false;\n\n /** Whether to hide the main filters slot */\n @Prop({ reflect: true }) hideMainFilters: boolean = false;\n\n /** Whether to hide the aside filters slot */\n @Prop({ reflect: true }) hideAsideFilters: boolean = false;\n\n /** API URL */\n @Prop() api: string = \"\";\n\n /** Debounce time in ms */\n @Prop() debounceTime: number = 500;\n\n /** Numbers of results shown with each load more action */\n @Prop() limit: number = 6;\n\n /** Whether search request should be fetched initially with set filters */\n @Prop() initialFetch: boolean = false;\n\n /** Whether url query should be updated when filter has changed */\n @Prop() preventUpdateUrl: boolean = false;\n\n /** Will be overwritten by api result (`templates.result` or `results[x].html`) */\n @Prop() templateResult: string | ((search: HTMLStzhSearchElement, item: StzhSearchResult) => string) =\n defaultTemplateResult;\n\n /** Element used for list wrapper element */\n @Prop() templateResultWrapperElement: string | ((search: HTMLStzhSearchElement) => string) = function () {\n return \"stzh-cardlist\";\n };\n\n /** Properties applied to list wrapper element */\n @Prop() templateResultWrapperProps:\n | { [key: string]: any }\n | ((search: HTMLStzhSearchElement) => { [key: string]: any }) = defaultResultWrapperProps;\n\n /** Heading level of results heading */\n @Prop() resultHeadingLevel: \"1\" | \"2\" | \"3\" | \"4\" = \"3\";\n\n /** Empty text */\n @Prop() emptyText: string;\n\n /** Empty text */\n @Prop() heading: string;\n\n /** Empty link href */\n @Prop() emptyLinkHref: string;\n\n /** Empty link label */\n @Prop() emptyLinkLabel: string;\n\n @Element() element: HTMLStzhSearchElement;\n\n @Watch(\"totalCount\")\n @Watch(\"results\")\n totalCountWatcher() {\n this._showMoreLink = this.totalCount > this.results.length;\n }\n\n @Watch(\"preventUpdateUrl\")\n preventUpdateUrlWatcher() {\n this.updateParams();\n }\n\n @State() totalCount: number = 0;\n private _showMoreLink: boolean = false;\n\n @State() loading: boolean = false;\n @State() error: string = \"\";\n\n @State() results: StzhSearchResult[] = [];\n @State() chipResultsHeading: string;\n @State() chipResults: StzhSearchChipsResult[] = [];\n @State() resultsHeading: string;\n @State() hasRequiredParams: boolean = false;\n @State() firstFetched: boolean = false;\n @State() initiallyFetched: boolean = false;\n @State() isDetailsOpen: boolean = false;\n\n /** Search overlay close click event */\n @Event() stzhOverlayCloseClick: EventEmitter<StzhSearchOverlayCloseClickEvent>;\n\n private currentController: AbortController;\n private params: URLSearchParams;\n private formElement: HTMLFormElement;\n\n private renderResultTemplate(html: string, item: StzhSearchResult) {\n let template =\n html ||\n (typeof this.templateResult === \"function\" ? this.templateResult(this.element, item) : this.templateResult);\n\n [\n \"href\",\n \"heading\",\n \"dateline\",\n \"description\",\n \"image\",\n \"imagePosition\",\n \"tag\",\n \"topic\",\n \"service\",\n \"serviceColor\",\n \"serviceBackgroundColor\",\n \"meta\",\n \"breadcrumbItems\",\n \"eventLocation\",\n \"eventDateStart\",\n \"eventDateEnd\",\n \"download\",\n \"downloadHeading\",\n \"downloadMeta\",\n \"datalistItems\",\n ].forEach(property => {\n const regex = new RegExp(`\\{${property}\\}`, \"gi\");\n let value = item[property] || \"\";\n\n if ([\"meta\", \"breadcrumbItems\", \"downloadMeta\", \"datalistItems\"].includes(property) && value) {\n value = JSON.stringify(value);\n }\n\n template = template.replace(regex, value);\n });\n\n return template;\n }\n\n private async updateParams(initial: boolean = false) {\n const updateByFormElements = () => {\n const formData = new FormData(this.formElement);\n // @ts-ignore\n this.params = new URLSearchParams(formData);\n this.params.set(\"variant\", this.variant);\n };\n\n if (initial) {\n const initialParams = new URLSearchParams(location.search);\n const search = initialParams.get(\"search\");\n\n if (search) {\n this.initialFetch = true;\n const currentSearchParams = new URLSearchParams(search);\n\n [...new Set(currentSearchParams.keys())].forEach(key => {\n const values = currentSearchParams.getAll(key);\n\n // value as string/number: input, ... / pagination\n const valueInputs = Array.from(\n document.querySelectorAll(\n `:where(stzh-input,stzh-radiogroup,stzh-chipselect,stzh-amount,stzh-datepicker,stzh-monthyearpicker,stzh-timepicker,stzh-pagination,stzh-toggle)[name=\"${key}\"]`\n )\n ) as\n | HTMLStzhInputElement[]\n | HTMLStzhRadiogroupElement[]\n | HTMLStzhChipselectElement[]\n | HTMLStzhAmountElement[]\n | HTMLStzhDatepickerElement[]\n | HTMLStzhMonthyearpickerElement[]\n | HTMLStzhTimepickerElement[]\n | HTMLStzhPaginationElement[]\n | HTMLStzhToggleElement[];\n\n // value as array: checkboxgroup\n const valueArrayInputs = Array.from(\n document.querySelectorAll(`:where(stzh-checkboxgroup)[name=\"${key}\"]`)\n ) as HTMLStzhCheckboxgroupElement[];\n\n // items as array: dropdown\n const itemsArrayInputs = Array.from(document.querySelectorAll(`:where(stzh-dropdown)[name=\"${key}\"]`)) as\n | HTMLStzhDropdownElement[];\n\n valueInputs.forEach(\n (\n input:\n | HTMLStzhInputElement\n | HTMLStzhRadiogroupElement\n | HTMLStzhChipselectElement\n | HTMLStzhAmountElement\n | HTMLStzhDatepickerElement\n | HTMLStzhMonthyearpickerElement\n | HTMLStzhTimepickerElement\n | HTMLStzhPaginationElement\n | HTMLStzhToggleElement\n ) => {\n input.value = values[0];\n }\n );\n\n valueArrayInputs.forEach((input: HTMLStzhCheckboxgroupElement) => {\n input.value = values;\n });\n\n itemsArrayInputs.forEach((input: HTMLStzhDropdownElement) => {\n input.items = values;\n });\n });\n }\n }\n\n await raf();\n updateByFormElements();\n\n // console.log(this.params.toString());\n\n let hasRequiredParams = true;\n\n const requiredInputFields = Array.from(this.element.querySelectorAll(\":where(stzh-input)[required]\")) as\n | HTMLStzhInputElement[];\n\n const requiredDropdownFields = Array.from(this.element.querySelectorAll(\":where(stzh-dropdown)[required]\")) as\n | HTMLStzhDropdownElement[];\n\n const requiredMonthyearpickers = Array.from(\n this.element.querySelectorAll(\":where(stzh-monthyearpicker)[required]\")\n ) as HTMLStzhMonthyearpickerElement[];\n\n const requiredFields = Array.from(\n this.element.querySelectorAll(\n \":where(stzh-amount,stzh-radiogroup,stzh-chipselect,stzh-datepicker,stzh-monthyearpicker,stzh-timepicker,stzh-pagination,stzh-toggle)[required]\"\n )\n ) as\n | HTMLStzhAmountElement[]\n | HTMLStzhRadiogroupElement[]\n | HTMLStzhChipselectElement[]\n | HTMLStzhDatepickerElement[]\n | HTMLStzhTimepickerElement[]\n | HTMLStzhPaginationElement[]\n | HTMLStzhToggleElement[];\n\n const requiredCheckboxFields = Array.from(this.element.querySelectorAll(\":where(stzh-checkbox)[required]\")) as\n | HTMLStzhCheckboxElement[];\n\n requiredCheckboxFields.forEach((field: HTMLStzhCheckboxElement) => {\n const invalid = !field.checked;\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n requiredInputFields.forEach((field: HTMLStzhInputElement) => {\n const invalid =\n field.value === \"\" ||\n (field.minlength && field.minlength > field.value.length) ||\n (field.maxlength && field.maxlength < field.value.length);\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n requiredDropdownFields.forEach((field: HTMLStzhDropdownElement) => {\n const invalid = field.items.length === 0;\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n requiredFields.forEach(\n (\n field:\n | HTMLStzhAmountElement\n | HTMLStzhRadiogroupElement\n | HTMLStzhCheckboxElement\n | HTMLStzhChipselectElement\n | HTMLStzhDatepickerElement\n | HTMLStzhTimepickerElement\n | HTMLStzhPaginationElement\n | HTMLStzhToggleElement\n ) => {\n const invalid = field.value.toString().length === 0;\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n }\n );\n\n requiredMonthyearpickers.forEach((field: HTMLStzhMonthyearpickerElement) => {\n const invalid = field.value.toString().length === 0;\n\n if (!initial) {\n field.invalidYear = invalid;\n field.invalidMonth = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n this.hasRequiredParams = hasRequiredParams;\n }\n\n private fetch = async (append: boolean = false, initial: boolean = false) => {\n if (this.currentController) {\n this.currentController.abort();\n }\n\n if (!this.hasRequiredParams && !append) {\n this.loading = false;\n return;\n }\n\n this.loading = true;\n this.error = \"\";\n\n let apiUrl = this.api.replace(/\\{lang\\}/gi, this.localization.$locale);\n let limit = this.limit.toString();\n\n this.params.set(\"offset\", append ? this.results.length.toString() : \"0\");\n\n if (initial) {\n const search = new URLSearchParams(location.search).get(\"search\");\n\n if (search) {\n const urlLimit = new URLSearchParams(search).get(\"limit\");\n\n if (urlLimit) {\n limit = urlLimit;\n }\n }\n }\n\n this.params.set(\"limit\", limit);\n\n this.currentController = new AbortController();\n\n let data: {\n error?: boolean;\n message?: string;\n templates?: {\n result: string;\n };\n meta?: {\n total: number;\n };\n resultsHeading?: string;\n results?: StzhSearchResult[];\n chipResultsHeading?: string;\n chipResults?: StzhSearchChipsResult[];\n } = {};\n\n try {\n // load data from API\n const response = await axios(apiUrl, {\n params: this.params,\n signal: this.currentController.signal,\n });\n\n data = response.data;\n } catch (error) {\n this.error = this.localization.error;\n }\n\n this.resultsHeading = data.resultsHeading || \"\";\n this.totalCount = data.meta?.total || 0;\n\n if (data.error) {\n this.error = data.message || this.localization.error;\n }\n\n if (data.chipResults && data.chipResults.length) {\n this.chipResultsHeading = data.chipResultsHeading ?? \"\";\n this.chipResults = data.chipResults;\n } else {\n this.chipResultsHeading = \"\";\n this.chipResults = [];\n }\n\n if (data.results) {\n if (append) {\n this.results = [\n ...this.results,\n ...data.results.map(item => ({\n ...item,\n html: this.renderResultTemplate(item.html || data.templates?.result, item),\n })),\n ];\n } else {\n this.results = data.results.map(item => ({\n ...item,\n html: this.renderResultTemplate(item.html || data.templates?.result, item),\n }));\n }\n }\n\n if (!initial && !this.preventUpdateUrl) {\n const newUrlParams = new URLSearchParams(location.search);\n const searchParams = new URLSearchParams(this.params);\n\n searchParams.delete(\"offset\");\n searchParams.set(\"limit\", this.results.length.toString());\n newUrlParams.set(\"search\", searchParams.toString());\n\n // console.log(location.search, searchParams.toString(), newUrlParams.toString());\n\n window.history.replaceState(null, \"\", `${location.pathname}?${newUrlParams}`);\n }\n\n if (initial || !this.firstFetched) {\n this.loading = false;\n } else {\n // to be able to see loading effect we delay turning off loading state\n window.setTimeout(() => {\n this.loading = false;\n }, this.debounceTime);\n }\n\n this.firstFetched = true;\n };\n\n private debouncedFetch = debounce(this.fetch, this.debounceTime);\n\n private handleMainFilterChange = async () => {\n if (this.autofetchMainFilters) {\n await this.updateParams();\n this.debouncedFetch();\n }\n };\n\n private handleAsideFilterChange = async () => {\n if (this.autofetchAsideFilters) {\n await this.updateParams();\n this.debouncedFetch();\n }\n };\n\n private handleFormSubmit = async (event: Event) => {\n event.preventDefault();\n\n await this.updateParams();\n this.fetch();\n };\n\n private handleMoreClick = () => {\n this.fetch(true);\n };\n\n private handleMediaChange = () => {\n this.isDetailsOpen = media(\"large\").matches;\n };\n\n private handleFormReset = async () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(async () => {\n await this.updateParams();\n });\n });\n };\n\n private handleOverlayCloseClick = (event: MouseEvent) => {\n this.stzhOverlayCloseClick.emit({\n component: \"stzh-search\",\n originalEvent: event,\n });\n };\n\n async componentDidLoad() {\n // update params initially to get hidden filters\n // and set initialFetch to true if search params exist\n await this.updateParams(true);\n\n if (this.initialFetch) {\n await this.fetch(false, true);\n this.initiallyFetched = true;\n } else {\n this.initiallyFetched = true;\n }\n }\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"search\");\n }\n }\n\n connectedCallback() {\n addMediaChangeListener(this.handleMediaChange);\n this.handleMediaChange();\n }\n\n disconnectedCallback() {\n removeMediaChangeListener(this.handleMediaChange);\n }\n\n render() {\n const filtersMainUsed = hasSlot(this.element, \"filters-main\");\n const filtersAsideUsed = hasSlot(this.element, \"filters-aside\");\n let chipsProvided = true;\n if (filtersMainUsed) {\n const providedChipselect = this.element.querySelector(\"[slot='filters-main'] stzh-chipselect\");\n const providedChipgroup = this.element.querySelector(\"[slot='filters-main'] stzh-chipgroup\");\n if (!providedChipselect && !providedChipgroup) {\n chipsProvided = false;\n }\n } else {\n chipsProvided = false;\n }\n\n const resultsShown = (this.hasRequiredParams || this.firstFetched) && this.firstFetched && this.initiallyFetched;\n\n const classes = {\n \"stzh-search\": true,\n \"stzh-search--has-filters-main\": filtersMainUsed,\n \"stzh-search--has-filters-aside\": filtersAsideUsed,\n \"stzh-search--has-hidden-main-filters\": this.hideMainFilters,\n \"stzh-search--has-hidden-aside-filters\": this.hideAsideFilters,\n \"stzh-search--has-results-shown\": resultsShown,\n \"stzh-search--has-error-shown\": !!this.error,\n \"stzh-search--is-loading\": this.loading,\n [`stzh-search--${this.variant}`]: !!this.variant,\n };\n\n const WrapperElement =\n typeof this.templateResultWrapperElement === \"function\"\n ? this.templateResultWrapperElement(this.element)\n : this.templateResultWrapperElement;\n\n const wrapperProps =\n typeof this.templateResultWrapperProps === \"function\"\n ? this.templateResultWrapperProps(this.element)\n : this.templateResultWrapperProps;\n\n return (\n <Host has-aside-filters={filtersAsideUsed} class={this.breakout ? \"stzh-search--is-breakout\" : \"\"}>\n {this.breakout && (\n <div class=\"stzh-search__header-wrapper\">\n <div class=\"stzh-search__header\">\n <stzh-heading class=\"stzh-search__header-heading\" curve=\"h2\">\n {this.heading}\n </stzh-heading>\n <stzh-button\n class=\"stzh-search__overlay-close\"\n icon=\"close\"\n iconOnly={true}\n size=\"small\"\n variant=\"tertiary\"\n onClick={this.handleOverlayCloseClick}\n ></stzh-button>\n </div>\n </div>\n )}\n <form\n ref={el => (this.formElement = el as HTMLFormElement)}\n novalidate\n class={classes}\n onSubmit={this.handleFormSubmit}\n onReset={this.handleFormReset}\n >\n {/* @ts-ignore */}\n <div class=\"stzh-search__filters-main\" onStzhChange={this.handleMainFilterChange}>\n <slot name=\"filters-main\"></slot>\n {!chipsProvided && this.chipResults.length > 0 && (\n <div class=\"stzh-search__filters-main-chips\">\n {this.chipResultsHeading && (\n <stzh-text font=\"heavy\" size=\"milli\" color=\"primary\">\n {this.chipResultsHeading}\n </stzh-text>\n )}\n {this.chipResults[0].options ? (\n <stzh-chipgroup>\n {this.chipResults.map(chipResult => (\n <stzh-dropdown\n label={chipResult.label}\n name={chipResult.value}\n variant=\"filter\"\n no-search={true}\n hide-optional={true}\n inline={true}\n options={chipResult.options}\n ></stzh-dropdown>\n ))}\n </stzh-chipgroup>\n ) : (\n <stzh-chipselect\n multiple={true}\n name=\"subject\"\n label={this.chipResultsHeading}\n label-hidden={true}\n data={this.chipResults.map(chipResult => ({\n label: chipResult.label,\n value: chipResult.value,\n counter: `${chipResult.amount}`,\n variant: \"filter\",\n size: \"small\",\n }))}\n ></stzh-chipselect>\n )}\n </div>\n )}\n </div>\n\n {filtersAsideUsed && (\n <Fragment>\n {/* @ts-ignore */}\n <div class=\"stzh-search__filters-aside\" onStzhChange={this.handleAsideFilterChange}>\n <div class=\"stzh-search__filters-aside-inner\">\n <div class=\"stzh-search__filters-aside-heading\">{this.localization.moreFilter}</div>\n <stzh-details open={this.isDetailsOpen} class=\"stzh-search__filters-aside-details\">\n <stzh-button\n class=\"stzh-search__filters-aside-details-trigger\"\n variant=\"tertiary-plain\"\n size=\"small\"\n noPaddingLeft={true}\n showToggleIcon={true}\n iconPosition=\"right\"\n label={this.localization.moreFilter}\n ></stzh-button>\n <div slot=\"content\">\n <slot name=\"filters-aside\"></slot>\n </div>\n </stzh-details>\n </div>\n </div>\n </Fragment>\n )}\n\n <div class=\"stzh-search__results-wrapper\">\n {resultsShown && (\n <Fragment>\n {this.results.length === 0 ? (\n <Fragment>\n {this.variant !== \"teaser\" && this.resultsHeading && (\n <stzh-heading\n class=\"stzh-search__results-heading\"\n curve=\"h3\"\n level={this.resultHeadingLevel}\n innerHTML={this.resultsHeading}\n ></stzh-heading>\n )}\n\n {this.emptyText && (\n <stzh-text class=\"stzh-search__empty-text\" innerHTML={this.emptyText}></stzh-text>\n )}\n\n {this.emptyLinkLabel && this.emptyLinkHref && (\n <div class=\"stzh-search__empty-link-wrapper\">\n <stzh-link href={this.emptyLinkHref} label={this.emptyLinkLabel}></stzh-link>\n </div>\n )}\n </Fragment>\n ) : (\n <Fragment>\n {this.variant !== \"teaser\" && this.resultsHeading && (\n <stzh-heading\n class=\"stzh-search__results-heading\"\n curve=\"h3\"\n level={this.resultHeadingLevel}\n innerHTML={this.resultsHeading}\n ></stzh-heading>\n )}\n\n <WrapperElement class=\"stzh-search__results\" {...wrapperProps}>\n {this.results.map(result => (\n <div class=\"stzh-search__results-item\" innerHTML={result.html || \"\"}></div>\n ))}\n </WrapperElement>\n\n <div class=\"stzh-search__actions-wrapper\">\n {this._showMoreLink && (\n <stzh-button\n variant=\"secondary\"\n class=\"stzh-search__action-more\"\n label={this.localization.showMore}\n onClick={this.handleMoreClick}\n a11yDisabled={this.loading}\n ></stzh-button>\n )}\n </div>\n </Fragment>\n )}\n </Fragment>\n )}\n\n {this.error && (\n <div class=\"stzh-search__error\">\n <stzh-message type=\"error\" label={this.error}></stzh-message>\n </div>\n )}\n\n {this.loading && <stzh-loader class=\"stzh-search__loader\"></stzh-loader>}\n </div>\n\n <slot></slot>\n </form>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"stzh-search.js","sourceRoot":"","sources":["../../../../src/components/stzh-search/stzh-search.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Fragment, h, Host, Prop, State, Watch } from \"@stencil/core\";\n\nimport { StzhSearchChipsResult, StzhSearchOverlayCloseClickEvent, StzhSearchResult } from \"../../index\";\n\nimport axios from \"axios\";\nimport { hasSlot, raf } from \"../../utils/utils\";\n\nimport { StzhSearchLocalizedText } from \"./stzh-search.localization\";\n\nimport { addMediaChangeListener, media, removeMediaChangeListener } from \"../../utils/media-utils\";\n\nimport debounce from \"lodash/debounce\";\n\nfunction defaultTemplateResult(search: HTMLStzhSearchElement, item: StzhSearchResult): string {\n return `\n <stzh-card-${search.variant === \"teaser\" ? \"superteaser\" : \"searchresult\"}\n href=\"{href}\"\n dateline=\"{dateline}\"\n tag=\"{tag}\"\n topic=\"{topic}\"\n service=\"{service}\"\n event-location=\"{eventLocation}\"\n ${item.eventDateStart && 'event-date-start=\"{eventDateStart}\"'}\n ${item.eventDateEnd && 'event-date-end=\"{eventDateEnd}\"'}\n download-heading=\"{downloadHeading}\"\n meta='{meta}'\n breadcrumb-items='{breadcrumbItems}'\n download-meta='{downloadMeta}'\n datalist-items='{datalistItems}'\n ${item.imagePosition && 'image-position=\"{imagePosition}\"'}\n ${item.download && 'download=\"{download}\"'}\n style=\"\n ${item.serviceBackgroundColor ? \"--service-background-color: {serviceBackgroundColor};\" : \"\"}\n ${item.serviceColor ? \"--service-color: {serviceColor};\" : \"\"}\n \"\n >\n <div slot=\"heading\">{heading}</div>\n <div slot=\"description\">{description}</div>\n ${\n item.image\n ? item.imagePosition === \"right\"\n ? `<img src=\"${item.image}\" slot=\"image\" />`\n : `<stzh-ratio ${\n search.variant === \"teaser\" ? 'ratio=\"2:1\"' : 'ratio=\"21:9\" ratio-small=\"1:1\"'\n } slot=\"image\"><img src=\"${item.image}\" /></stzh-ratio>`\n : \"\"\n }\n </stzh-card-${search.variant === \"teaser\" ? \"superteaser\" : \"searchresult\"}>\n `;\n}\n\nfunction defaultResultWrapperProps(search: HTMLStzhSearchElement) {\n return {\n layout: search.variant === \"teaser\" ? \"teasers\" : \"searchresults\",\n } as HTMLStzhCardlistElement;\n}\n\n/**\n * @slot - Slot for any content\n * @slot filters-main - Slot for main filters\n * @slot filters-aside - Slot for aside filters\n */\n@Component({\n tag: \"stzh-search\",\n styleUrl: \"stzh-search.scss\",\n})\nexport class StzhSearch {\n /** Translation strings */\n @Prop() localization: StzhSearchLocalizedText;\n\n /** Variant */\n @Prop() variant: \"default\" | \"teaser\" = \"default\";\n\n /** Whether it should be rendered as overlay or not. */\n @Prop() breakout: boolean = false;\n\n /** Whether search results should be automatically fetched when a main filters has changed. */\n @Prop() autofetchMainFilters: boolean = false;\n\n /** Whether search results should be automatically fetched when a aside filters has changed. */\n @Prop() autofetchAsideFilters: boolean = false;\n\n /** Whether to hide the main filters slot */\n @Prop({ reflect: true }) hideMainFilters: boolean = false;\n\n /** Whether to hide the aside filters slot */\n @Prop({ reflect: true }) hideAsideFilters: boolean = false;\n\n /** API URL */\n @Prop() api: string = \"\";\n\n /** Debounce time in ms */\n @Prop() debounceTime: number = 500;\n\n /** Numbers of results shown with each load more action */\n @Prop() limit: number = 6;\n\n /** Whether search request should be fetched initially with set filters */\n @Prop() initialFetch: boolean = false;\n\n /** Whether url query should be updated when filter has changed */\n @Prop() preventUpdateUrl: boolean = false;\n\n /** Will be overwritten by api result (`templates.result` or `results[x].html`) */\n @Prop() templateResult: string | ((search: HTMLStzhSearchElement, item: StzhSearchResult) => string) =\n defaultTemplateResult;\n\n /** Element used for list wrapper element */\n @Prop() templateResultWrapperElement: string | ((search: HTMLStzhSearchElement) => string) = function () {\n return \"stzh-cardlist\";\n };\n\n /** Properties applied to list wrapper element */\n @Prop() templateResultWrapperProps:\n | { [key: string]: any }\n | ((search: HTMLStzhSearchElement) => { [key: string]: any }) = defaultResultWrapperProps;\n\n /** Heading level of results heading */\n @Prop() resultHeadingLevel: \"1\" | \"2\" | \"3\" | \"4\" = \"3\";\n\n /** Empty text */\n @Prop() emptyText: string;\n\n /** Empty text */\n @Prop() heading: string;\n\n /** Empty link href */\n @Prop() emptyLinkHref: string;\n\n /** Empty link label */\n @Prop() emptyLinkLabel: string;\n\n @Element() element: HTMLStzhSearchElement;\n\n @Watch(\"totalCount\")\n @Watch(\"results\")\n totalCountWatcher() {\n this._showMoreLink = this.totalCount > this.results.length;\n }\n\n @Watch(\"preventUpdateUrl\")\n preventUpdateUrlWatcher() {\n this.updateParams();\n }\n\n @State() totalCount: number = 0;\n private _showMoreLink: boolean = false;\n\n @State() loading: boolean = false;\n @State() error: string = \"\";\n\n @State() results: StzhSearchResult[] = [];\n @State() chipResultsHeading: string;\n @State() chipResults: StzhSearchChipsResult[] = [];\n @State() resultsHeading: string;\n @State() hasRequiredParams: boolean = false;\n @State() firstFetched: boolean = false;\n @State() initiallyFetched: boolean = false;\n @State() isDetailsOpen: boolean = false;\n\n /** Search overlay close click event */\n @Event() stzhOverlayCloseClick: EventEmitter<StzhSearchOverlayCloseClickEvent>;\n\n private currentController: AbortController;\n private params: URLSearchParams;\n private formElement: HTMLFormElement;\n\n private renderResultTemplate(html: string, item: StzhSearchResult) {\n let template =\n html ||\n (typeof this.templateResult === \"function\" ? this.templateResult(this.element, item) : this.templateResult);\n\n [\n \"href\",\n \"heading\",\n \"dateline\",\n \"description\",\n \"image\",\n \"imagePosition\",\n \"tag\",\n \"topic\",\n \"service\",\n \"serviceColor\",\n \"serviceBackgroundColor\",\n \"meta\",\n \"breadcrumbItems\",\n \"eventLocation\",\n \"eventDateStart\",\n \"eventDateEnd\",\n \"download\",\n \"downloadHeading\",\n \"downloadMeta\",\n \"datalistItems\",\n ].forEach(property => {\n const regex = new RegExp(`\\{${property}\\}`, \"gi\");\n let value = item[property] || \"\";\n\n if ([\"meta\", \"breadcrumbItems\", \"downloadMeta\", \"datalistItems\"].includes(property) && value) {\n value = JSON.stringify(value);\n }\n\n template = template.replace(regex, value);\n });\n\n return template;\n }\n\n private async updateParams(initial: boolean = false) {\n const updateByFormElements = () => {\n const formData = new FormData(this.formElement);\n // @ts-ignore\n this.params = new URLSearchParams(formData);\n this.params.set(\"variant\", this.variant);\n };\n\n if (initial) {\n const initialParams = new URLSearchParams(location.search);\n const search = initialParams.get(\"search\");\n\n if (search) {\n this.initialFetch = true;\n const currentSearchParams = new URLSearchParams(search);\n\n [...new Set(currentSearchParams.keys())].forEach(key => {\n const values = currentSearchParams.getAll(key);\n\n // value as string/number: input, ... / pagination\n const valueInputs = Array.from(\n document.querySelectorAll(\n `:where(stzh-input,stzh-radiogroup,stzh-chipselect,stzh-amount,stzh-datepicker,stzh-monthyearpicker,stzh-timepicker,stzh-pagination,stzh-toggle)[name=\"${key}\"]`\n )\n ) as\n | HTMLStzhInputElement[]\n | HTMLStzhRadiogroupElement[]\n | HTMLStzhChipselectElement[]\n | HTMLStzhAmountElement[]\n | HTMLStzhDatepickerElement[]\n | HTMLStzhMonthyearpickerElement[]\n | HTMLStzhTimepickerElement[]\n | HTMLStzhPaginationElement[]\n | HTMLStzhToggleElement[];\n\n // value as array: checkboxgroup\n const valueArrayInputs = Array.from(\n document.querySelectorAll(`:where(stzh-checkboxgroup)[name=\"${key}\"]`)\n ) as HTMLStzhCheckboxgroupElement[];\n\n // items as array: dropdown\n const itemsArrayInputs = Array.from(document.querySelectorAll(`:where(stzh-dropdown)[name=\"${key}\"]`)) as\n | HTMLStzhDropdownElement[];\n\n valueInputs.forEach(\n (\n input:\n | HTMLStzhInputElement\n | HTMLStzhRadiogroupElement\n | HTMLStzhChipselectElement\n | HTMLStzhAmountElement\n | HTMLStzhDatepickerElement\n | HTMLStzhMonthyearpickerElement\n | HTMLStzhTimepickerElement\n | HTMLStzhPaginationElement\n | HTMLStzhToggleElement\n ) => {\n input.value = values[0];\n }\n );\n\n valueArrayInputs.forEach((input: HTMLStzhCheckboxgroupElement) => {\n input.value = values;\n });\n\n itemsArrayInputs.forEach((input: HTMLStzhDropdownElement) => {\n input.items = values;\n });\n });\n }\n }\n\n await raf();\n updateByFormElements();\n\n // console.log(this.params.toString());\n\n let hasRequiredParams = true;\n\n const requiredInputFields = Array.from(this.element.querySelectorAll(\":where(stzh-input)[required]\")) as\n | HTMLStzhInputElement[];\n\n const requiredDropdownFields = Array.from(this.element.querySelectorAll(\":where(stzh-dropdown)[required]\")) as\n | HTMLStzhDropdownElement[];\n\n const requiredMonthyearpickers = Array.from(\n this.element.querySelectorAll(\":where(stzh-monthyearpicker)[required]\")\n ) as HTMLStzhMonthyearpickerElement[];\n\n const requiredFields = Array.from(\n this.element.querySelectorAll(\n \":where(stzh-amount,stzh-radiogroup,stzh-chipselect,stzh-datepicker,stzh-monthyearpicker,stzh-timepicker,stzh-pagination,stzh-toggle)[required]\"\n )\n ) as\n | HTMLStzhAmountElement[]\n | HTMLStzhRadiogroupElement[]\n | HTMLStzhChipselectElement[]\n | HTMLStzhDatepickerElement[]\n | HTMLStzhTimepickerElement[]\n | HTMLStzhPaginationElement[]\n | HTMLStzhToggleElement[];\n\n const requiredCheckboxFields = Array.from(this.element.querySelectorAll(\":where(stzh-checkbox)[required]\")) as\n | HTMLStzhCheckboxElement[];\n\n requiredCheckboxFields.forEach((field: HTMLStzhCheckboxElement) => {\n const invalid = !field.checked;\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n requiredInputFields.forEach((field: HTMLStzhInputElement) => {\n const invalid =\n field.value === \"\" ||\n (field.minlength && field.minlength > field.value.length) ||\n (field.maxlength && field.maxlength < field.value.length);\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n requiredDropdownFields.forEach((field: HTMLStzhDropdownElement) => {\n const invalid = field.items.length === 0;\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n requiredFields.forEach(\n (\n field:\n | HTMLStzhAmountElement\n | HTMLStzhRadiogroupElement\n | HTMLStzhCheckboxElement\n | HTMLStzhChipselectElement\n | HTMLStzhDatepickerElement\n | HTMLStzhTimepickerElement\n | HTMLStzhPaginationElement\n | HTMLStzhToggleElement\n ) => {\n const invalid = field.value.toString().length === 0;\n\n if (!initial) {\n field.invalid = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n }\n );\n\n requiredMonthyearpickers.forEach((field: HTMLStzhMonthyearpickerElement) => {\n const invalid = field.value.toString().length === 0;\n\n if (!initial) {\n field.invalidYear = invalid;\n field.invalidMonth = invalid;\n }\n\n if (invalid) {\n hasRequiredParams = false;\n }\n });\n\n this.hasRequiredParams = hasRequiredParams;\n }\n\n private fetch = async (append: boolean = false, initial: boolean = false) => {\n this.loading = true;\n this.error = \"\";\n\n if (this.currentController) {\n this.currentController.abort();\n }\n\n if (!this.hasRequiredParams && !append) {\n this.loading = false;\n return;\n }\n\n let apiUrl = this.api.replace(/\\{lang\\}/gi, this.localization.$locale);\n let limit = this.limit.toString();\n\n this.params.set(\"offset\", append ? this.results.length.toString() : \"0\");\n\n if (initial) {\n const search = new URLSearchParams(location.search).get(\"search\");\n\n if (search) {\n const urlLimit = new URLSearchParams(search).get(\"limit\");\n\n if (urlLimit) {\n limit = urlLimit;\n }\n }\n }\n\n this.params.set(\"limit\", limit);\n\n this.currentController = new AbortController();\n\n let data: {\n error?: boolean;\n message?: string;\n templates?: {\n result: string;\n };\n meta?: {\n total: number;\n };\n resultsHeading?: string;\n results?: StzhSearchResult[];\n chipResultsHeading?: string;\n chipResults?: StzhSearchChipsResult[];\n } = {};\n\n try {\n // load data from API\n const response = await axios(apiUrl, {\n params: this.params,\n signal: this.currentController.signal,\n });\n\n data = response.data;\n } catch (error) {\n this.error = this.localization.error;\n }\n\n this.resultsHeading = data.resultsHeading || \"\";\n this.totalCount = data.meta?.total || 0;\n\n if (data.error) {\n this.error = data.message || this.localization.error;\n }\n\n if (data.chipResults && data.chipResults.length) {\n this.chipResultsHeading = data.chipResultsHeading ?? \"\";\n this.chipResults = data.chipResults;\n } else {\n this.chipResultsHeading = \"\";\n this.chipResults = [];\n }\n\n if (data.results) {\n if (append) {\n this.results = [\n ...this.results,\n ...data.results.map(item => ({\n ...item,\n html: this.renderResultTemplate(item.html || data.templates?.result, item),\n })),\n ];\n } else {\n this.results = data.results.map(item => ({\n ...item,\n html: this.renderResultTemplate(item.html || data.templates?.result, item),\n }));\n }\n }\n\n if (!initial && !this.preventUpdateUrl) {\n const newUrlParams = new URLSearchParams(location.search);\n const searchParams = new URLSearchParams(this.params);\n\n searchParams.delete(\"offset\");\n searchParams.set(\"limit\", this.results.length.toString());\n newUrlParams.set(\"search\", searchParams.toString());\n\n window.history.replaceState(null, \"\", `${location.pathname}?${newUrlParams}`);\n }\n\n if (initial || !this.firstFetched) {\n this.loading = false;\n } else {\n // to be able to see loading effect we delay turning off loading state\n window.setTimeout(() => {\n this.loading = false;\n }, this.debounceTime);\n }\n\n this.firstFetched = true;\n };\n\n private debouncedFetch = debounce(this.fetch, this.debounceTime);\n\n private handleMainFilterChange = async () => {\n if (this.autofetchMainFilters) {\n await this.updateParams();\n this.debouncedFetch();\n }\n };\n\n private handleAsideFilterChange = async () => {\n if (this.autofetchAsideFilters) {\n await this.updateParams();\n this.debouncedFetch();\n }\n };\n\n private handleFormSubmit = async (event: Event) => {\n event.preventDefault();\n\n await this.updateParams();\n this.fetch();\n };\n\n private handleMoreClick = () => {\n this.fetch(true);\n };\n\n private handleMediaChange = () => {\n this.isDetailsOpen = media(\"large\").matches;\n };\n\n private handleFormReset = async () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(async () => {\n await this.updateParams();\n });\n });\n };\n\n private handleOverlayCloseClick = (event: MouseEvent) => {\n this.stzhOverlayCloseClick.emit({\n component: \"stzh-search\",\n originalEvent: event,\n });\n };\n\n async componentDidLoad() {\n // update params initially to get hidden filters\n // and set initialFetch to true if search params exist\n await this.updateParams(true);\n\n if (this.initialFetch) {\n await this.fetch(false, true);\n this.initiallyFetched = true;\n } else {\n this.initiallyFetched = true;\n }\n }\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"search\");\n }\n }\n\n connectedCallback() {\n addMediaChangeListener(this.handleMediaChange);\n this.handleMediaChange();\n }\n\n disconnectedCallback() {\n removeMediaChangeListener(this.handleMediaChange);\n }\n\n render() {\n const filtersMainUsed = hasSlot(this.element, \"filters-main\");\n const filtersAsideUsed = hasSlot(this.element, \"filters-aside\");\n let chipsProvided = true;\n if (filtersMainUsed) {\n const providedChipselect = this.element.querySelector(\"[slot='filters-main'] stzh-chipselect\");\n const providedChipgroup = this.element.querySelector(\"[slot='filters-main'] stzh-chipgroup\");\n if (!providedChipselect && !providedChipgroup) {\n chipsProvided = false;\n }\n } else {\n chipsProvided = false;\n }\n\n const resultsShown = (this.hasRequiredParams || this.firstFetched) && this.firstFetched && this.initiallyFetched;\n\n const classes = {\n \"stzh-search\": true,\n \"stzh-search--has-filters-main\": filtersMainUsed,\n \"stzh-search--has-filters-aside\": filtersAsideUsed,\n \"stzh-search--has-hidden-main-filters\": this.hideMainFilters,\n \"stzh-search--has-hidden-aside-filters\": this.hideAsideFilters,\n \"stzh-search--has-results-shown\": resultsShown,\n \"stzh-search--has-error-shown\": !!this.error,\n \"stzh-search--is-loading\": this.loading,\n [`stzh-search--${this.variant}`]: !!this.variant,\n };\n\n const WrapperElement =\n typeof this.templateResultWrapperElement === \"function\"\n ? this.templateResultWrapperElement(this.element)\n : this.templateResultWrapperElement;\n\n const wrapperProps =\n typeof this.templateResultWrapperProps === \"function\"\n ? this.templateResultWrapperProps(this.element)\n : this.templateResultWrapperProps;\n\n return (\n <Host has-aside-filters={filtersAsideUsed} class={this.breakout ? \"stzh-search--is-breakout\" : \"\"}>\n {this.breakout && (\n <div class=\"stzh-search__header-wrapper\">\n <div class=\"stzh-search__header\">\n <stzh-heading class=\"stzh-search__header-heading\" curve=\"h2\">\n {this.heading}\n </stzh-heading>\n <stzh-button\n class=\"stzh-search__overlay-close\"\n icon=\"close\"\n iconOnly={true}\n size=\"small\"\n variant=\"tertiary\"\n onClick={this.handleOverlayCloseClick}\n ></stzh-button>\n </div>\n </div>\n )}\n <form\n ref={el => (this.formElement = el as HTMLFormElement)}\n novalidate\n class={classes}\n onSubmit={this.handleFormSubmit}\n onReset={this.handleFormReset}\n >\n {/* @ts-ignore */}\n <div class=\"stzh-search__filters-main\" onStzhChange={this.handleMainFilterChange}>\n <slot name=\"filters-main\"></slot>\n {!chipsProvided && this.chipResults.length > 0 && (\n <div class=\"stzh-search__filters-main-chips\">\n {this.chipResultsHeading && (\n <stzh-text font=\"heavy\" size=\"milli\" color=\"primary\">\n {this.chipResultsHeading}\n </stzh-text>\n )}\n {this.chipResults[0].options ? (\n <stzh-chipgroup>\n {this.chipResults.map(chipResult => (\n <stzh-dropdown\n label={chipResult.label}\n name={chipResult.value}\n variant=\"filter\"\n no-search={true}\n hide-optional={true}\n inline={true}\n options={chipResult.options}\n ></stzh-dropdown>\n ))}\n </stzh-chipgroup>\n ) : (\n <stzh-chipselect\n multiple={true}\n name=\"subject\"\n label={this.chipResultsHeading}\n label-hidden={true}\n data={this.chipResults.map(chipResult => ({\n label: chipResult.label,\n value: chipResult.value,\n counter: `${chipResult.amount}`,\n variant: \"filter\",\n size: \"small\",\n }))}\n ></stzh-chipselect>\n )}\n </div>\n )}\n </div>\n\n {filtersAsideUsed && (\n <Fragment>\n {/* @ts-ignore */}\n <div class=\"stzh-search__filters-aside\" onStzhChange={this.handleAsideFilterChange}>\n <div class=\"stzh-search__filters-aside-inner\">\n <div class=\"stzh-search__filters-aside-heading\">{this.localization.moreFilter}</div>\n <stzh-details open={this.isDetailsOpen} class=\"stzh-search__filters-aside-details\">\n <stzh-button\n class=\"stzh-search__filters-aside-details-trigger\"\n variant=\"tertiary-plain\"\n size=\"small\"\n noPaddingLeft={true}\n showToggleIcon={true}\n iconPosition=\"right\"\n label={this.localization.moreFilter}\n ></stzh-button>\n <div slot=\"content\">\n <slot name=\"filters-aside\"></slot>\n </div>\n </stzh-details>\n </div>\n </div>\n </Fragment>\n )}\n\n <div class=\"stzh-search__results-wrapper\">\n {resultsShown && (\n <Fragment>\n {this.results.length === 0 ? (\n <Fragment>\n {this.variant !== \"teaser\" && this.resultsHeading && (\n <stzh-heading\n class=\"stzh-search__results-heading\"\n curve=\"h3\"\n level={this.resultHeadingLevel}\n innerHTML={this.resultsHeading}\n ></stzh-heading>\n )}\n\n {this.emptyText && (\n <stzh-text class=\"stzh-search__empty-text\" innerHTML={this.emptyText}></stzh-text>\n )}\n\n {this.emptyLinkLabel && this.emptyLinkHref && (\n <div class=\"stzh-search__empty-link-wrapper\">\n <stzh-link href={this.emptyLinkHref} label={this.emptyLinkLabel}></stzh-link>\n </div>\n )}\n </Fragment>\n ) : (\n <Fragment>\n {this.variant !== \"teaser\" && this.resultsHeading && (\n <stzh-heading\n class=\"stzh-search__results-heading\"\n curve=\"h3\"\n level={this.resultHeadingLevel}\n innerHTML={this.resultsHeading}\n ></stzh-heading>\n )}\n\n <WrapperElement class=\"stzh-search__results\" {...wrapperProps}>\n {this.results.map(result => (\n <div class=\"stzh-search__results-item\" innerHTML={result.html || \"\"}></div>\n ))}\n </WrapperElement>\n\n <div class=\"stzh-search__actions-wrapper\">\n {this._showMoreLink && (\n <stzh-button\n variant=\"secondary\"\n class=\"stzh-search__action-more\"\n label={this.localization.showMore}\n onClick={this.handleMoreClick}\n disabled={this.loading}\n a11yDisabled={this.loading}\n ></stzh-button>\n )}\n </div>\n </Fragment>\n )}\n </Fragment>\n )}\n\n {this.error && (\n <div class=\"stzh-search__error\">\n <stzh-message type=\"error\" label={this.error}></stzh-message>\n </div>\n )}\n\n {this.loading && <stzh-loader class=\"stzh-search__loader\"></stzh-loader>}\n </div>\n\n <slot></slot>\n </form>\n </Host>\n );\n }\n}\n"]}
@@ -4,7 +4,7 @@ import throttle from "lodash/throttle";
4
4
  const ATTR_STICKY_CONTAINER = "data-stzh-sticky-container";
5
5
  const ATTR_STICKY_WIDTH_CONTAINER = "data-stzh-sticky-width-container";
6
6
  /**
7
- *
7
+ * @slot - Slot for any content
8
8
  */
9
9
  export class StzhSticky {
10
10
  constructor() {