@oiz/stzh-components 2.7.0 → 2.8.0-alpha

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 (716) hide show
  1. package/dist/cjs/{app-globals-c9c5ef57.js → app-globals-7c3a8979.js} +2 -2
  2. package/dist/cjs/{app-globals-c9c5ef57.js.map → app-globals-7c3a8979.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/{string-utils-a867b99d.js → string-utils-2575ea7f.js} +14 -1
  6. package/dist/cjs/string-utils-2575ea7f.js.map +1 -0
  7. package/dist/cjs/stzh-actions.cjs.entry.js +1 -1
  8. package/dist/cjs/{stzh-sortable.cjs.entry.js → stzh-actionset_4.cjs.entry.js} +567 -3
  9. package/dist/cjs/stzh-actionset_4.cjs.entry.js.map +1 -0
  10. package/dist/cjs/stzh-amount.cjs.entry.js +4 -3
  11. package/dist/cjs/stzh-amount.cjs.entry.js.map +1 -1
  12. package/dist/cjs/stzh-appnav.cjs.entry.js +1 -1
  13. package/dist/cjs/stzh-audio.cjs.entry.js +1 -1
  14. package/dist/cjs/stzh-badge_3.cjs.entry.js +1 -1
  15. package/dist/cjs/stzh-buttongroup.cjs.entry.js +1 -1
  16. package/dist/cjs/stzh-buttongroup.cjs.entry.js.map +1 -1
  17. package/dist/cjs/stzh-carousel.cjs.entry.js +1 -1
  18. package/dist/cjs/stzh-cell.cjs.entry.js +1 -1
  19. package/dist/cjs/stzh-cell.cjs.entry.js.map +1 -1
  20. package/dist/cjs/stzh-checkbox.cjs.entry.js +1 -1
  21. package/dist/cjs/stzh-checkboxgroup.cjs.entry.js +2 -2
  22. package/dist/cjs/stzh-chip-select.cjs.entry.js +149 -0
  23. package/dist/cjs/stzh-chip-select.cjs.entry.js.map +1 -0
  24. package/dist/cjs/stzh-components.cjs.js +2 -2
  25. package/dist/cjs/stzh-contact.cjs.entry.js +1 -1
  26. package/dist/cjs/stzh-container.cjs.entry.js +1 -1
  27. package/dist/cjs/stzh-container.cjs.entry.js.map +1 -1
  28. package/dist/cjs/stzh-cspace.cjs.entry.js +3 -1
  29. package/dist/cjs/stzh-cspace.cjs.entry.js.map +1 -1
  30. package/dist/cjs/stzh-datalist_2.cjs.entry.js +11 -8
  31. package/dist/cjs/stzh-datalist_2.cjs.entry.js.map +1 -1
  32. package/dist/cjs/stzh-datatable.cjs.entry.js +32 -8
  33. package/dist/cjs/stzh-datatable.cjs.entry.js.map +1 -1
  34. package/dist/cjs/stzh-datepicker_3.cjs.entry.js +6 -5
  35. package/dist/cjs/stzh-datepicker_3.cjs.entry.js.map +1 -1
  36. package/dist/cjs/stzh-details.cjs.entry.js +1 -1
  37. package/dist/cjs/stzh-dialog.cjs.entry.js +1 -1
  38. package/dist/cjs/stzh-dropdown.cjs.entry.js +4 -2
  39. package/dist/cjs/stzh-dropdown.cjs.entry.js.map +1 -1
  40. package/dist/cjs/stzh-figure.cjs.entry.js +1 -1
  41. package/dist/cjs/stzh-footer.cjs.entry.js +1 -1
  42. package/dist/cjs/stzh-ghettobox.cjs.entry.js +108 -0
  43. package/dist/cjs/stzh-ghettobox.cjs.entry.js.map +1 -0
  44. package/dist/cjs/stzh-header.cjs.entry.js +1 -1
  45. package/dist/cjs/stzh-hspace.cjs.entry.js +1 -1
  46. package/dist/cjs/stzh-hspace.cjs.entry.js.map +1 -1
  47. package/dist/cjs/stzh-input.cjs.entry.js +4 -2
  48. package/dist/cjs/stzh-input.cjs.entry.js.map +1 -1
  49. package/dist/cjs/stzh-link.cjs.entry.js +1 -1
  50. package/dist/cjs/stzh-menu_2.cjs.entry.js +1 -1
  51. package/dist/cjs/stzh-pagebottom.cjs.entry.js +1 -1
  52. package/dist/cjs/stzh-pagetitle-hero.cjs.entry.js +1 -1
  53. package/dist/cjs/stzh-pagetitle.cjs.entry.js +1 -1
  54. package/dist/cjs/stzh-pagination.cjs.entry.js +86 -0
  55. package/dist/cjs/stzh-pagination.cjs.entry.js.map +1 -0
  56. package/dist/cjs/stzh-popover.cjs.entry.js +1 -1
  57. package/dist/cjs/stzh-readspeaker.cjs.entry.js +1 -1
  58. package/dist/cjs/stzh-richtext_2.cjs.entry.js +86 -0
  59. package/dist/cjs/stzh-richtext_2.cjs.entry.js.map +1 -0
  60. package/dist/cjs/stzh-row.cjs.entry.js +1 -1
  61. package/dist/cjs/stzh-row.cjs.entry.js.map +1 -1
  62. package/dist/cjs/stzh-section.cjs.entry.js +1 -1
  63. package/dist/cjs/stzh-section.cjs.entry.js.map +1 -1
  64. package/dist/cjs/stzh-share.cjs.entry.js +7 -21
  65. package/dist/cjs/stzh-share.cjs.entry.js.map +1 -1
  66. package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js +1 -1
  67. package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js.map +1 -1
  68. package/dist/cjs/stzh-space.cjs.entry.js +1 -1
  69. package/dist/cjs/stzh-space.cjs.entry.js.map +1 -1
  70. package/dist/cjs/stzh-table.cjs.entry.js +6 -4
  71. package/dist/cjs/stzh-table.cjs.entry.js.map +1 -1
  72. package/dist/cjs/stzh-textandimage.cjs.entry.js +1 -1
  73. package/dist/cjs/stzh-toggle.cjs.entry.js +1 -1
  74. package/dist/cjs/stzh-tooltip.cjs.entry.js +1 -1
  75. package/dist/cjs/stzh-upload.cjs.entry.js +1 -1
  76. package/dist/cjs/stzh-vbz-majorticker.cjs.entry.js +1 -1
  77. package/dist/cjs/stzh-vspace.cjs.entry.js +1 -1
  78. package/dist/cjs/stzh-vspace.cjs.entry.js.map +1 -1
  79. package/dist/cjs/{utils-a2ff9f84.js → utils-916583be.js} +7 -1
  80. package/dist/cjs/utils-916583be.js.map +1 -0
  81. package/dist/collection/assets/i18n/de.json +7 -0
  82. package/dist/collection/assets/i18n/en.json +7 -0
  83. package/dist/collection/collection-manifest.json +1 -0
  84. package/dist/collection/components/stzh-amount/stzh-amount.css +1 -1
  85. package/dist/collection/components/stzh-amount/stzh-amount.js +21 -2
  86. package/dist/collection/components/stzh-amount/stzh-amount.js.map +1 -1
  87. package/dist/collection/components/stzh-buttongroup/stzh-buttongroup.css +11 -6
  88. package/dist/collection/components/stzh-card/stzh-card.css +30 -28
  89. package/dist/collection/components/stzh-card/stzh-card.js +30 -7
  90. package/dist/collection/components/stzh-card/stzh-card.js.map +1 -1
  91. package/dist/collection/components/stzh-cell/stzh-cell.css +0 -5
  92. package/dist/collection/components/stzh-container/stzh-container.css +0 -8
  93. package/dist/collection/components/stzh-cspace/stzh-cspace.css +103 -133
  94. package/dist/collection/components/stzh-cspace/stzh-cspace.js +46 -2
  95. package/dist/collection/components/stzh-cspace/stzh-cspace.js.map +1 -1
  96. package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.css +5 -0
  97. package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.js +12 -8
  98. package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.js.map +1 -1
  99. package/dist/collection/components/stzh-datatable/stzh-datatable.css +21 -0
  100. package/dist/collection/components/stzh-datatable/stzh-datatable.js +85 -7
  101. package/dist/collection/components/stzh-datatable/stzh-datatable.js.map +1 -1
  102. package/dist/collection/components/stzh-datatable/stzh-datatable.stories.js +41 -14
  103. package/dist/collection/components/stzh-datepicker/stzh-datepicker.js +22 -3
  104. package/dist/collection/components/stzh-datepicker/stzh-datepicker.js.map +1 -1
  105. package/dist/collection/components/stzh-dropdown/stzh-dropdown.css +12 -0
  106. package/dist/collection/components/stzh-dropdown/stzh-dropdown.js +20 -0
  107. package/dist/collection/components/stzh-dropdown/stzh-dropdown.js.map +1 -1
  108. package/dist/collection/components/stzh-hspace/stzh-hspace.css +0 -6
  109. package/dist/collection/components/stzh-input/stzh-input.css +16 -1
  110. package/dist/collection/components/stzh-input/stzh-input.js +20 -0
  111. package/dist/collection/components/stzh-input/stzh-input.js.map +1 -1
  112. package/dist/collection/components/stzh-menu-item/stzh-menu-item.stories.js +2 -2
  113. package/dist/collection/components/stzh-pagination/stzh-pagination.css +127 -0
  114. package/dist/collection/components/stzh-pagination/stzh-pagination.js +437 -0
  115. package/dist/collection/components/stzh-pagination/stzh-pagination.js.map +1 -0
  116. package/dist/collection/components/stzh-pagination/stzh-pagination.localization.js +2 -0
  117. package/dist/collection/components/stzh-pagination/stzh-pagination.localization.js.map +1 -0
  118. package/dist/collection/components/stzh-pagination/stzh-pagination.stories.js +44 -0
  119. package/dist/collection/components/stzh-richtext/stzh-richtext.css +4 -2
  120. package/dist/collection/components/stzh-richtext/stzh-richtext.js +38 -0
  121. package/dist/collection/components/stzh-richtext/stzh-richtext.js.map +1 -1
  122. package/dist/collection/components/stzh-richtext/stzh-richtext.stories.js +2 -2
  123. package/dist/collection/components/stzh-row/stzh-row.css +0 -5
  124. package/dist/collection/components/stzh-section/stzh-section.css +0 -6
  125. package/dist/collection/components/stzh-share/stzh-share.js +6 -20
  126. package/dist/collection/components/stzh-share/stzh-share.js.map +1 -1
  127. package/dist/collection/components/stzh-skin-portal-mitwirken/stzh-skin-portal-mitwirken.css +53 -0
  128. package/dist/collection/components/stzh-sortable/stzh-sortable.js +1 -1
  129. package/dist/collection/components/stzh-sortable/stzh-sortable.js.map +1 -1
  130. package/dist/collection/components/stzh-space/stzh-space.css +0 -6
  131. package/dist/collection/components/stzh-table/stzh-table.css +21 -0
  132. package/dist/collection/components/stzh-table/stzh-table.js +7 -3
  133. package/dist/collection/components/stzh-table/stzh-table.js.map +1 -1
  134. package/dist/collection/components/stzh-table/stzh-table.stories.js +259 -4
  135. package/dist/collection/components/stzh-textandimage/stzh-textandimage.stories.js +1 -1
  136. package/dist/collection/components/stzh-vspace/stzh-vspace.css +0 -6
  137. package/dist/collection/index.js.map +1 -1
  138. package/dist/collection/utils/string-utils.js +12 -0
  139. package/dist/collection/utils/string-utils.js.map +1 -1
  140. package/dist/collection/utils/utils.js +5 -0
  141. package/dist/collection/utils/utils.js.map +1 -1
  142. package/dist/components/index.js +1 -1
  143. package/dist/components/index2.js.map +1 -1
  144. package/dist/components/string-utils.js +13 -1
  145. package/dist/components/string-utils.js.map +1 -1
  146. package/dist/components/stzh-amount.js +5 -3
  147. package/dist/components/stzh-amount.js.map +1 -1
  148. package/dist/components/stzh-buttongroup2.js +1 -1
  149. package/dist/components/stzh-buttongroup2.js.map +1 -1
  150. package/dist/components/stzh-card2.js +31 -8
  151. package/dist/components/stzh-card2.js.map +1 -1
  152. package/dist/components/stzh-cell.js +1 -1
  153. package/dist/components/stzh-cell.js.map +1 -1
  154. package/dist/components/stzh-contact.js +18 -12
  155. package/dist/components/stzh-contact.js.map +1 -1
  156. package/dist/components/stzh-container.js +1 -1
  157. package/dist/components/stzh-container.js.map +1 -1
  158. package/dist/components/stzh-cspace.js +8 -2
  159. package/dist/components/stzh-cspace.js.map +1 -1
  160. package/dist/components/stzh-datalist-item2.js +23 -14
  161. package/dist/components/stzh-datalist-item2.js.map +1 -1
  162. package/dist/components/stzh-datalist2.js +14 -8
  163. package/dist/components/stzh-datalist2.js.map +1 -1
  164. package/dist/components/stzh-datatable.js +129 -18
  165. package/dist/components/stzh-datatable.js.map +1 -1
  166. package/dist/components/stzh-datepicker2.js +5 -3
  167. package/dist/components/stzh-datepicker2.js.map +1 -1
  168. package/dist/components/stzh-dropdown2.js +4 -1
  169. package/dist/components/stzh-dropdown2.js.map +1 -1
  170. package/dist/components/stzh-hspace.js +1 -1
  171. package/dist/components/stzh-hspace.js.map +1 -1
  172. package/dist/components/stzh-input2.js +4 -1
  173. package/dist/components/stzh-input2.js.map +1 -1
  174. package/dist/components/stzh-pagination.d.ts +11 -0
  175. package/dist/components/stzh-pagination.js +8 -0
  176. package/dist/components/stzh-pagination.js.map +1 -0
  177. package/dist/components/stzh-pagination2.js +151 -0
  178. package/dist/components/stzh-pagination2.js.map +1 -0
  179. package/dist/components/stzh-richtext2.js +5 -1
  180. package/dist/components/stzh-richtext2.js.map +1 -1
  181. package/dist/components/stzh-row.js +1 -1
  182. package/dist/components/stzh-row.js.map +1 -1
  183. package/dist/components/stzh-section.js +1 -1
  184. package/dist/components/stzh-section.js.map +1 -1
  185. package/dist/components/stzh-share2.js +6 -20
  186. package/dist/components/stzh-share2.js.map +1 -1
  187. package/dist/components/stzh-sitemap.js +16 -10
  188. package/dist/components/stzh-sitemap.js.map +1 -1
  189. package/dist/components/stzh-skin-portal-mitwirken.js +1 -1
  190. package/dist/components/stzh-skin-portal-mitwirken.js.map +1 -1
  191. package/dist/components/stzh-sortable2.js +1 -1
  192. package/dist/components/stzh-sortable2.js.map +1 -1
  193. package/dist/components/stzh-space.js +1 -1
  194. package/dist/components/stzh-space.js.map +1 -1
  195. package/dist/components/stzh-table.js +6 -4
  196. package/dist/components/stzh-table.js.map +1 -1
  197. package/dist/components/stzh-vbz-majorticker.js +1 -1
  198. package/dist/components/stzh-vspace.js +1 -1
  199. package/dist/components/stzh-vspace.js.map +1 -1
  200. package/dist/components/utils.js +6 -1
  201. package/dist/components/utils.js.map +1 -1
  202. package/dist/esm/{app-globals-5ab947af.js → app-globals-4f0f7957.js} +2 -2
  203. package/dist/esm/{app-globals-5ab947af.js.map → app-globals-4f0f7957.js.map} +1 -1
  204. package/dist/esm/index.js.map +1 -1
  205. package/dist/esm/loader.js +2 -2
  206. package/dist/esm/string-utils-3ffa8d6b.js +29 -0
  207. package/dist/esm/string-utils-3ffa8d6b.js.map +1 -0
  208. package/dist/esm/stzh-actions.entry.js +1 -1
  209. package/dist/esm/{stzh-sortable.entry.js → stzh-actionset_4.entry.js} +566 -5
  210. package/dist/esm/stzh-actionset_4.entry.js.map +1 -0
  211. package/dist/esm/stzh-amount.entry.js +4 -3
  212. package/dist/esm/stzh-amount.entry.js.map +1 -1
  213. package/dist/esm/stzh-appnav.entry.js +1 -1
  214. package/dist/esm/stzh-audio.entry.js +1 -1
  215. package/dist/esm/stzh-badge_3.entry.js +1 -1
  216. package/dist/esm/stzh-buttongroup.entry.js +1 -1
  217. package/dist/esm/stzh-buttongroup.entry.js.map +1 -1
  218. package/dist/esm/stzh-carousel.entry.js +1 -1
  219. package/dist/esm/stzh-cell.entry.js +1 -1
  220. package/dist/esm/stzh-cell.entry.js.map +1 -1
  221. package/dist/esm/stzh-checkbox.entry.js +1 -1
  222. package/dist/esm/stzh-checkboxgroup.entry.js +2 -2
  223. package/dist/esm/stzh-chip-select.entry.js +145 -0
  224. package/dist/esm/stzh-chip-select.entry.js.map +1 -0
  225. package/dist/esm/stzh-components.js +2 -2
  226. package/dist/esm/stzh-contact.entry.js +1 -1
  227. package/dist/esm/stzh-container.entry.js +1 -1
  228. package/dist/esm/stzh-container.entry.js.map +1 -1
  229. package/dist/esm/stzh-cspace.entry.js +3 -1
  230. package/dist/esm/stzh-cspace.entry.js.map +1 -1
  231. package/dist/esm/stzh-datalist_2.entry.js +11 -8
  232. package/dist/esm/stzh-datalist_2.entry.js.map +1 -1
  233. package/dist/esm/stzh-datatable.entry.js +32 -8
  234. package/dist/esm/stzh-datatable.entry.js.map +1 -1
  235. package/dist/esm/stzh-datepicker_3.entry.js +6 -5
  236. package/dist/esm/stzh-datepicker_3.entry.js.map +1 -1
  237. package/dist/esm/stzh-details.entry.js +1 -1
  238. package/dist/esm/stzh-dialog.entry.js +1 -1
  239. package/dist/esm/stzh-dropdown.entry.js +4 -2
  240. package/dist/esm/stzh-dropdown.entry.js.map +1 -1
  241. package/dist/esm/stzh-figure.entry.js +1 -1
  242. package/dist/esm/stzh-footer.entry.js +1 -1
  243. package/dist/esm/stzh-ghettobox.entry.js +104 -0
  244. package/dist/esm/stzh-ghettobox.entry.js.map +1 -0
  245. package/dist/esm/stzh-header.entry.js +1 -1
  246. package/dist/esm/stzh-hspace.entry.js +1 -1
  247. package/dist/esm/stzh-hspace.entry.js.map +1 -1
  248. package/dist/esm/stzh-input.entry.js +4 -2
  249. package/dist/esm/stzh-input.entry.js.map +1 -1
  250. package/dist/esm/stzh-link.entry.js +1 -1
  251. package/dist/esm/stzh-menu_2.entry.js +1 -1
  252. package/dist/esm/stzh-pagebottom.entry.js +1 -1
  253. package/dist/esm/stzh-pagetitle-hero.entry.js +1 -1
  254. package/dist/esm/stzh-pagetitle.entry.js +1 -1
  255. package/dist/esm/stzh-pagination.entry.js +82 -0
  256. package/dist/esm/stzh-pagination.entry.js.map +1 -0
  257. package/dist/esm/stzh-popover.entry.js +1 -1
  258. package/dist/esm/stzh-readspeaker.entry.js +1 -1
  259. package/dist/esm/stzh-richtext_2.entry.js +81 -0
  260. package/dist/esm/stzh-richtext_2.entry.js.map +1 -0
  261. package/dist/esm/stzh-row.entry.js +1 -1
  262. package/dist/esm/stzh-row.entry.js.map +1 -1
  263. package/dist/esm/stzh-section.entry.js +1 -1
  264. package/dist/esm/stzh-section.entry.js.map +1 -1
  265. package/dist/esm/stzh-share.entry.js +6 -20
  266. package/dist/esm/stzh-share.entry.js.map +1 -1
  267. package/dist/esm/stzh-skin-portal-mitwirken.entry.js +1 -1
  268. package/dist/esm/stzh-skin-portal-mitwirken.entry.js.map +1 -1
  269. package/dist/esm/stzh-space.entry.js +1 -1
  270. package/dist/esm/stzh-space.entry.js.map +1 -1
  271. package/dist/esm/stzh-table.entry.js +6 -4
  272. package/dist/esm/stzh-table.entry.js.map +1 -1
  273. package/dist/esm/stzh-textandimage.entry.js +1 -1
  274. package/dist/esm/stzh-toggle.entry.js +1 -1
  275. package/dist/esm/stzh-tooltip.entry.js +1 -1
  276. package/dist/esm/stzh-upload.entry.js +1 -1
  277. package/dist/esm/stzh-vbz-majorticker.entry.js +1 -1
  278. package/dist/esm/stzh-vspace.entry.js +1 -1
  279. package/dist/esm/stzh-vspace.entry.js.map +1 -1
  280. package/dist/esm/{utils-51148d9a.js → utils-8f264f12.js} +7 -2
  281. package/dist/esm/utils-8f264f12.js.map +1 -0
  282. package/dist/esm-es5/{app-globals-5ab947af.js → app-globals-4f0f7957.js} +2 -2
  283. package/dist/esm-es5/{app-globals-5ab947af.js.map → app-globals-4f0f7957.js.map} +1 -1
  284. package/dist/esm-es5/index.js.map +1 -1
  285. package/dist/esm-es5/loader.js +1 -1
  286. package/dist/esm-es5/loader.js.map +1 -1
  287. package/dist/esm-es5/string-utils-3ffa8d6b.js +2 -0
  288. package/dist/esm-es5/string-utils-3ffa8d6b.js.map +1 -0
  289. package/dist/esm-es5/stzh-actions.entry.js +1 -1
  290. package/dist/esm-es5/stzh-actionset_4.entry.js +8 -0
  291. package/dist/esm-es5/stzh-actionset_4.entry.js.map +1 -0
  292. package/dist/esm-es5/stzh-amount.entry.js +1 -1
  293. package/dist/esm-es5/stzh-amount.entry.js.map +1 -1
  294. package/dist/esm-es5/stzh-appnav.entry.js +1 -1
  295. package/dist/esm-es5/stzh-audio.entry.js +1 -1
  296. package/dist/esm-es5/stzh-badge_3.entry.js +1 -1
  297. package/dist/esm-es5/stzh-buttongroup.entry.js +1 -1
  298. package/dist/esm-es5/stzh-buttongroup.entry.js.map +1 -1
  299. package/dist/esm-es5/stzh-carousel.entry.js +1 -1
  300. package/dist/esm-es5/stzh-cell.entry.js +1 -1
  301. package/dist/esm-es5/stzh-cell.entry.js.map +1 -1
  302. package/dist/esm-es5/stzh-checkbox.entry.js +1 -1
  303. package/dist/esm-es5/stzh-checkboxgroup.entry.js +1 -1
  304. package/dist/esm-es5/stzh-chip-select.entry.js +2 -0
  305. package/dist/esm-es5/stzh-chip-select.entry.js.map +1 -0
  306. package/dist/esm-es5/stzh-components.js +1 -1
  307. package/dist/esm-es5/stzh-components.js.map +1 -1
  308. package/dist/esm-es5/stzh-contact.entry.js +1 -1
  309. package/dist/esm-es5/stzh-container.entry.js +1 -1
  310. package/dist/esm-es5/stzh-container.entry.js.map +1 -1
  311. package/dist/esm-es5/stzh-cspace.entry.js +1 -1
  312. package/dist/esm-es5/stzh-cspace.entry.js.map +1 -1
  313. package/dist/esm-es5/stzh-datalist_2.entry.js +1 -1
  314. package/dist/esm-es5/stzh-datalist_2.entry.js.map +1 -1
  315. package/dist/esm-es5/stzh-datatable.entry.js +1 -1
  316. package/dist/esm-es5/stzh-datatable.entry.js.map +1 -1
  317. package/dist/esm-es5/stzh-datepicker_3.entry.js +1 -1
  318. package/dist/esm-es5/stzh-datepicker_3.entry.js.map +1 -1
  319. package/dist/esm-es5/stzh-details.entry.js +1 -1
  320. package/dist/esm-es5/stzh-dialog.entry.js +1 -1
  321. package/dist/esm-es5/stzh-dropdown.entry.js +2 -2
  322. package/dist/esm-es5/stzh-dropdown.entry.js.map +1 -1
  323. package/dist/esm-es5/stzh-figure.entry.js +1 -1
  324. package/dist/esm-es5/stzh-footer.entry.js +1 -1
  325. package/dist/esm-es5/stzh-ghettobox.entry.js +2 -0
  326. package/dist/esm-es5/stzh-ghettobox.entry.js.map +1 -0
  327. package/dist/esm-es5/stzh-header.entry.js +1 -1
  328. package/dist/esm-es5/stzh-hspace.entry.js +1 -1
  329. package/dist/esm-es5/stzh-hspace.entry.js.map +1 -1
  330. package/dist/esm-es5/stzh-input.entry.js +1 -1
  331. package/dist/esm-es5/stzh-input.entry.js.map +1 -1
  332. package/dist/esm-es5/stzh-link.entry.js +1 -1
  333. package/dist/esm-es5/stzh-menu_2.entry.js +1 -1
  334. package/dist/esm-es5/stzh-pagebottom.entry.js +1 -1
  335. package/dist/esm-es5/stzh-pagetitle-hero.entry.js +1 -1
  336. package/dist/esm-es5/stzh-pagetitle.entry.js +1 -1
  337. package/dist/esm-es5/stzh-pagination.entry.js +2 -0
  338. package/dist/esm-es5/stzh-pagination.entry.js.map +1 -0
  339. package/dist/esm-es5/stzh-popover.entry.js +1 -1
  340. package/dist/esm-es5/stzh-readspeaker.entry.js +1 -1
  341. package/dist/esm-es5/stzh-richtext_2.entry.js +2 -0
  342. package/dist/esm-es5/stzh-richtext_2.entry.js.map +1 -0
  343. package/dist/esm-es5/stzh-row.entry.js +1 -1
  344. package/dist/esm-es5/stzh-row.entry.js.map +1 -1
  345. package/dist/esm-es5/stzh-section.entry.js +1 -1
  346. package/dist/esm-es5/stzh-section.entry.js.map +1 -1
  347. package/dist/esm-es5/stzh-share.entry.js +1 -1
  348. package/dist/esm-es5/stzh-share.entry.js.map +1 -1
  349. package/dist/esm-es5/stzh-skin-portal-mitwirken.entry.js +1 -1
  350. package/dist/esm-es5/stzh-skin-portal-mitwirken.entry.js.map +1 -1
  351. package/dist/esm-es5/stzh-space.entry.js +1 -1
  352. package/dist/esm-es5/stzh-space.entry.js.map +1 -1
  353. package/dist/esm-es5/stzh-table.entry.js +1 -1
  354. package/dist/esm-es5/stzh-table.entry.js.map +1 -1
  355. package/dist/esm-es5/stzh-textandimage.entry.js +1 -1
  356. package/dist/esm-es5/stzh-toggle.entry.js +1 -1
  357. package/dist/esm-es5/stzh-tooltip.entry.js +1 -1
  358. package/dist/esm-es5/stzh-upload.entry.js +1 -1
  359. package/dist/esm-es5/stzh-vbz-majorticker.entry.js +1 -1
  360. package/dist/esm-es5/stzh-vspace.entry.js +1 -1
  361. package/dist/esm-es5/stzh-vspace.entry.js.map +1 -1
  362. package/dist/esm-es5/utils-8f264f12.js +2 -0
  363. package/dist/esm-es5/utils-8f264f12.js.map +1 -0
  364. package/dist/stzh-components/assets/i18n/de.json +7 -0
  365. package/dist/stzh-components/assets/i18n/en.json +7 -0
  366. package/dist/stzh-components/index.esm.js.map +1 -1
  367. package/dist/stzh-components/{p-edef74c8.system.entry.js → p-08050ce2.system.entry.js} +2 -2
  368. package/dist/stzh-components/{p-f23f2408.system.entry.js → p-09445156.system.entry.js} +2 -2
  369. package/dist/stzh-components/{p-94a5e295.system.entry.js → p-0d302a14.system.entry.js} +2 -2
  370. package/dist/stzh-components/p-1016d03d.system.entry.js +2 -0
  371. package/dist/stzh-components/p-1016d03d.system.entry.js.map +1 -0
  372. package/dist/stzh-components/p-1760118e.entry.js +2 -0
  373. package/dist/stzh-components/{p-a1c02179.entry.js.map → p-1760118e.entry.js.map} +1 -1
  374. package/dist/stzh-components/p-1ad68cac.system.entry.js +2 -0
  375. package/dist/stzh-components/p-1ad68cac.system.entry.js.map +1 -0
  376. package/dist/stzh-components/{p-c901fe72.system.entry.js → p-1d683f3a.system.entry.js} +3 -3
  377. package/dist/stzh-components/p-1d683f3a.system.entry.js.map +1 -0
  378. package/dist/stzh-components/p-1e5f556b.system.entry.js +2 -0
  379. package/dist/stzh-components/p-1e5f556b.system.entry.js.map +1 -0
  380. package/dist/stzh-components/{p-2615433f.system.entry.js → p-2009a8df.system.entry.js} +2 -2
  381. package/dist/stzh-components/p-22a2f4c1.system.js +2 -0
  382. package/dist/stzh-components/p-22a2f4c1.system.js.map +1 -0
  383. package/dist/stzh-components/{p-39a4904e.system.entry.js → p-2614251e.system.entry.js} +2 -2
  384. package/dist/stzh-components/{p-8b62ec27.js → p-26680e97.js} +2 -2
  385. package/dist/stzh-components/{p-8b62ec27.js.map → p-26680e97.js.map} +1 -1
  386. package/dist/stzh-components/p-2705720b.entry.js +2 -0
  387. package/dist/stzh-components/p-2705720b.entry.js.map +1 -0
  388. package/dist/stzh-components/{p-799548c4.system.entry.js → p-27489e46.system.entry.js} +2 -2
  389. package/dist/stzh-components/{p-29ed53a9.system.entry.js → p-2dd983a9.system.entry.js} +2 -2
  390. package/dist/stzh-components/{p-cc1a6af1.system.entry.js → p-2ec243e8.system.entry.js} +2 -2
  391. package/dist/stzh-components/{p-cd0f7b10.entry.js → p-33da1a1c.entry.js} +2 -2
  392. package/dist/stzh-components/p-35a328cc.system.entry.js +2 -0
  393. package/dist/stzh-components/p-35a328cc.system.entry.js.map +1 -0
  394. package/dist/stzh-components/p-3f72c05a.system.js +2 -0
  395. package/dist/stzh-components/p-3f72c05a.system.js.map +1 -0
  396. package/dist/stzh-components/p-40694e20.system.entry.js +2 -0
  397. package/dist/stzh-components/p-40694e20.system.entry.js.map +1 -0
  398. package/dist/stzh-components/{p-6608126b.entry.js → p-4325de93.entry.js} +2 -2
  399. package/dist/stzh-components/{p-517af258.system.entry.js → p-444f765a.system.entry.js} +2 -2
  400. package/dist/stzh-components/p-4bcc414d.system.entry.js +2 -0
  401. package/dist/stzh-components/p-4bcc414d.system.entry.js.map +1 -0
  402. package/dist/stzh-components/{p-7b297848.system.entry.js → p-50652c05.system.entry.js} +2 -2
  403. package/dist/stzh-components/{p-a8c92707.system.entry.js → p-509b0e4c.system.entry.js} +2 -2
  404. package/dist/stzh-components/p-51ccda11.system.entry.js +2 -0
  405. package/dist/stzh-components/p-51ccda11.system.entry.js.map +1 -0
  406. package/dist/stzh-components/{p-a2b49ad8.entry.js → p-52bcb3ab.entry.js} +2 -2
  407. package/dist/stzh-components/{p-4cd7c872.system.entry.js → p-5af33d37.system.entry.js} +2 -2
  408. package/dist/stzh-components/{p-8cb7e2da.system.entry.js → p-5bceda21.system.entry.js} +2 -2
  409. package/dist/stzh-components/{p-5ee43b56.entry.js → p-5c3d0895.entry.js} +2 -2
  410. package/dist/stzh-components/{p-c0f971f2.entry.js → p-5df47c3a.entry.js} +8 -8
  411. package/dist/stzh-components/p-5df47c3a.entry.js.map +1 -0
  412. package/dist/stzh-components/p-67f50e81.system.entry.js +2 -0
  413. package/dist/stzh-components/p-67f50e81.system.entry.js.map +1 -0
  414. package/dist/stzh-components/p-68b00da7.system.entry.js +2 -0
  415. package/dist/stzh-components/p-68b00da7.system.entry.js.map +1 -0
  416. package/dist/stzh-components/{p-eca073df.system.entry.js → p-6ac4713f.system.entry.js} +2 -2
  417. package/dist/stzh-components/{p-9d46101e.entry.js → p-6c0f3c5e.entry.js} +2 -2
  418. package/dist/stzh-components/{p-c2a06b4d.system.entry.js → p-6cb99167.system.entry.js} +2 -2
  419. package/dist/stzh-components/{p-b8ad5f47.system.entry.js → p-709bb264.system.entry.js} +2 -2
  420. package/dist/stzh-components/{p-3e5da137.entry.js → p-7463c7b5.entry.js} +2 -2
  421. package/dist/stzh-components/p-75fa2483.entry.js +2 -0
  422. package/dist/stzh-components/p-75fa2483.entry.js.map +1 -0
  423. package/dist/stzh-components/{p-bc997ce2.entry.js → p-76c2f21a.entry.js} +2 -2
  424. package/dist/stzh-components/{p-562f4dfa.entry.js → p-78f78684.entry.js} +2 -2
  425. package/dist/stzh-components/p-78f89f65.entry.js +2 -0
  426. package/dist/stzh-components/p-78f89f65.entry.js.map +1 -0
  427. package/dist/stzh-components/p-7992047b.entry.js +2 -0
  428. package/dist/stzh-components/p-7992047b.entry.js.map +1 -0
  429. package/dist/stzh-components/p-7ac51980.system.entry.js +2 -0
  430. package/dist/stzh-components/p-7ac51980.system.entry.js.map +1 -0
  431. package/dist/stzh-components/p-7e5587ee.entry.js +2 -0
  432. package/dist/stzh-components/p-7e5587ee.entry.js.map +1 -0
  433. package/dist/stzh-components/p-8225341e.entry.js +2 -0
  434. package/dist/stzh-components/p-8225341e.entry.js.map +1 -0
  435. package/dist/stzh-components/{p-3dea2f45.entry.js → p-849ec693.entry.js} +2 -2
  436. package/dist/stzh-components/{p-3aa5623c.entry.js → p-89562c7e.entry.js} +2 -2
  437. package/dist/stzh-components/p-8a58fa64.entry.js +2 -0
  438. package/dist/stzh-components/p-8a58fa64.entry.js.map +1 -0
  439. package/dist/stzh-components/{p-45572515.entry.js → p-916f8386.entry.js} +2 -2
  440. package/dist/stzh-components/p-9705d27e.system.entry.js +2 -0
  441. package/dist/stzh-components/{p-9fe69be8.system.entry.js.map → p-9705d27e.system.entry.js.map} +1 -1
  442. package/dist/stzh-components/{p-2d25bcc8.entry.js → p-979390db.entry.js} +2 -2
  443. package/dist/stzh-components/p-9c428351.entry.js +2 -0
  444. package/dist/stzh-components/p-9c428351.entry.js.map +1 -0
  445. package/dist/stzh-components/p-9faae333.entry.js +2 -0
  446. package/dist/stzh-components/p-9faae333.entry.js.map +1 -0
  447. package/dist/stzh-components/{p-e2ff2ef4.entry.js → p-a0008fa2.entry.js} +2 -2
  448. package/dist/stzh-components/p-a16ce152.system.entry.js +2 -0
  449. package/dist/stzh-components/p-a16ce152.system.entry.js.map +1 -0
  450. package/dist/stzh-components/{p-05b9e4c2.system.entry.js → p-a26cd855.system.entry.js} +2 -2
  451. package/dist/stzh-components/{p-b792ea2e.system.entry.js → p-a2d5846c.system.entry.js} +2 -2
  452. package/dist/stzh-components/{p-ffdd9cab.system.js → p-a8c1b679.system.js} +2 -2
  453. package/dist/stzh-components/{p-ffdd9cab.system.js.map → p-a8c1b679.system.js.map} +1 -1
  454. package/dist/stzh-components/{p-6c219530.entry.js → p-a8e1b13c.entry.js} +2 -2
  455. package/dist/stzh-components/{p-4a299f84.entry.js → p-acbe3680.entry.js} +2 -2
  456. package/dist/stzh-components/p-afdf3a08.system.entry.js +2 -0
  457. package/dist/stzh-components/p-afdf3a08.system.entry.js.map +1 -0
  458. package/dist/stzh-components/{p-35cbff3f.entry.js → p-affbfe00.entry.js} +2 -2
  459. package/dist/stzh-components/p-b33a79ba.system.entry.js +2 -0
  460. package/dist/stzh-components/p-b33a79ba.system.entry.js.map +1 -0
  461. package/dist/stzh-components/{p-7772c262.entry.js → p-b5531053.entry.js} +2 -2
  462. package/dist/stzh-components/p-b989646a.entry.js +2 -0
  463. package/dist/stzh-components/p-b989646a.entry.js.map +1 -0
  464. package/dist/stzh-components/{p-bf069354.entry.js → p-bac7cf37.entry.js} +2 -2
  465. package/dist/stzh-components/p-bd7f6761.entry.js +2 -0
  466. package/dist/stzh-components/p-bd7f6761.entry.js.map +1 -0
  467. package/dist/stzh-components/p-bda21265.system.entry.js +8 -0
  468. package/dist/stzh-components/p-bda21265.system.entry.js.map +1 -0
  469. package/dist/stzh-components/{p-f599025e.system.entry.js → p-c0aa52aa.system.entry.js} +2 -2
  470. package/dist/stzh-components/p-c1814eec.system.js +2 -0
  471. package/dist/stzh-components/{p-b7d68fca.system.js.map → p-c1814eec.system.js.map} +1 -1
  472. package/dist/stzh-components/p-c2615e7c.system.entry.js +2 -0
  473. package/dist/{esm-es5/stzh-ghettobox_2.entry.js.map → stzh-components/p-c2615e7c.system.entry.js.map} +1 -1
  474. package/dist/stzh-components/{p-d5b4d345.entry.js → p-c323f19e.entry.js} +2 -2
  475. package/dist/stzh-components/p-c323f19e.entry.js.map +1 -0
  476. package/dist/stzh-components/p-c64a7018.system.entry.js +2 -0
  477. package/dist/stzh-components/p-c64a7018.system.entry.js.map +1 -0
  478. package/dist/stzh-components/p-ca6d7215.entry.js +2 -0
  479. package/dist/stzh-components/p-ca6d7215.entry.js.map +1 -0
  480. package/dist/stzh-components/{p-9f4f3882.system.entry.js → p-d531fbaf.system.entry.js} +2 -2
  481. package/dist/stzh-components/p-d6ffd97e.entry.js +2 -0
  482. package/dist/stzh-components/p-d6ffd97e.entry.js.map +1 -0
  483. package/dist/stzh-components/{p-fefcd0e6.entry.js → p-d7a7560a.entry.js} +2 -2
  484. package/dist/stzh-components/{p-87b4549c.system.entry.js → p-dad99bd2.system.entry.js} +2 -2
  485. package/dist/stzh-components/p-daf17eae.entry.js +2 -0
  486. package/dist/stzh-components/p-daf17eae.entry.js.map +1 -0
  487. package/dist/stzh-components/p-dd137812.entry.js +8 -0
  488. package/dist/stzh-components/p-dd137812.entry.js.map +1 -0
  489. package/dist/stzh-components/{p-b05c240b.system.entry.js → p-e16ee236.system.entry.js} +2 -2
  490. package/dist/stzh-components/p-e5781c90.system.entry.js +2 -0
  491. package/dist/stzh-components/p-e5781c90.system.entry.js.map +1 -0
  492. package/dist/stzh-components/p-e606314e.system.entry.js +2 -0
  493. package/dist/stzh-components/p-e606314e.system.entry.js.map +1 -0
  494. package/dist/stzh-components/{p-bcd5b20e.entry.js → p-e7454abb.entry.js} +2 -2
  495. package/dist/stzh-components/p-e787179c.js +2 -0
  496. package/dist/stzh-components/p-e787179c.js.map +1 -0
  497. package/dist/stzh-components/p-e7d4542e.entry.js +2 -0
  498. package/dist/stzh-components/p-e7d4542e.entry.js.map +1 -0
  499. package/dist/stzh-components/p-eaa65f52.system.js.map +1 -1
  500. package/dist/stzh-components/p-eab77a09.system.entry.js +2 -0
  501. package/dist/stzh-components/p-eab77a09.system.entry.js.map +1 -0
  502. package/dist/stzh-components/{p-6d097e82.system.entry.js → p-ebe979a3.system.entry.js} +2 -2
  503. package/dist/stzh-components/{p-9b7d4e8d.entry.js → p-ef4c12ac.entry.js} +2 -2
  504. package/dist/stzh-components/{p-3cb43903.entry.js → p-f0ac9730.entry.js} +2 -2
  505. package/dist/stzh-components/p-f43f7434.entry.js +2 -0
  506. package/dist/stzh-components/p-f43f7434.entry.js.map +1 -0
  507. package/dist/stzh-components/p-f4ec861e.entry.js +2 -0
  508. package/dist/stzh-components/{p-14e782cb.entry.js.map → p-f4ec861e.entry.js.map} +1 -1
  509. package/dist/stzh-components/{p-8d695d3e.system.entry.js → p-f65b5145.system.entry.js} +2 -2
  510. package/dist/stzh-components/{p-b82351f0.system.entry.js → p-f665752d.system.entry.js} +2 -2
  511. package/dist/stzh-components/p-f879bc5a.system.entry.js +2 -0
  512. package/dist/stzh-components/p-f879bc5a.system.entry.js.map +1 -0
  513. package/dist/stzh-components/{p-c3b260a1.entry.js → p-fb12ec57.entry.js} +2 -2
  514. package/dist/stzh-components/p-fb36e3be.entry.js +2 -0
  515. package/dist/stzh-components/{p-df9460ae.system.entry.js.map → p-fb36e3be.entry.js.map} +1 -1
  516. package/dist/stzh-components/p-fc339100.js +2 -0
  517. package/dist/stzh-components/p-fc339100.js.map +1 -0
  518. package/dist/stzh-components/{p-52e52b49.entry.js → p-fd97e87d.entry.js} +2 -2
  519. package/dist/stzh-components/p-fdabe05c.entry.js +2 -0
  520. package/dist/stzh-components/p-fdabe05c.entry.js.map +1 -0
  521. package/dist/stzh-components/p-fdb1fd0a.entry.js +2 -0
  522. package/dist/stzh-components/p-fdb1fd0a.entry.js.map +1 -0
  523. package/dist/stzh-components/{p-80d581ac.system.entry.js → p-fece12c0.system.entry.js} +2 -2
  524. package/dist/stzh-components/p-fece12c0.system.entry.js.map +1 -0
  525. package/dist/stzh-components/stzh-components.css +740 -1
  526. package/dist/stzh-components/stzh-components.esm.js +1 -1
  527. package/dist/stzh-components/stzh-components.esm.js.map +1 -1
  528. package/dist/stzh-components/stzh-components.js +1 -1
  529. package/dist/types/components/stzh-cspace/stzh-cspace.d.ts +4 -0
  530. package/dist/types/components/stzh-pagination/stzh-pagination.localization.d.ts +8 -0
  531. package/dist/types/components.d.ts +251 -4
  532. package/dist/types/index.d.ts +6 -0
  533. package/dist/types/utils/string-utils.d.ts +1 -0
  534. package/dist/types/utils/utils.d.ts +1 -0
  535. package/dist/vscode-data.json +125 -3
  536. package/package.json +1 -1
  537. package/dist/cjs/string-utils-a867b99d.js.map +0 -1
  538. package/dist/cjs/stzh-actionset.cjs.entry.js +0 -173
  539. package/dist/cjs/stzh-actionset.cjs.entry.js.map +0 -1
  540. package/dist/cjs/stzh-card_3.cjs.entry.js +0 -528
  541. package/dist/cjs/stzh-card_3.cjs.entry.js.map +0 -1
  542. package/dist/cjs/stzh-ghettobox_2.cjs.entry.js +0 -157
  543. package/dist/cjs/stzh-ghettobox_2.cjs.entry.js.map +0 -1
  544. package/dist/cjs/stzh-sortable.cjs.entry.js.map +0 -1
  545. package/dist/cjs/stzh-status.cjs.entry.js +0 -34
  546. package/dist/cjs/stzh-status.cjs.entry.js.map +0 -1
  547. package/dist/cjs/utils-a2ff9f84.js.map +0 -1
  548. package/dist/esm/string-utils-f98ee4e8.js +0 -17
  549. package/dist/esm/string-utils-f98ee4e8.js.map +0 -1
  550. package/dist/esm/stzh-actionset.entry.js +0 -169
  551. package/dist/esm/stzh-actionset.entry.js.map +0 -1
  552. package/dist/esm/stzh-card_3.entry.js +0 -522
  553. package/dist/esm/stzh-card_3.entry.js.map +0 -1
  554. package/dist/esm/stzh-ghettobox_2.entry.js +0 -152
  555. package/dist/esm/stzh-ghettobox_2.entry.js.map +0 -1
  556. package/dist/esm/stzh-sortable.entry.js.map +0 -1
  557. package/dist/esm/stzh-status.entry.js +0 -30
  558. package/dist/esm/stzh-status.entry.js.map +0 -1
  559. package/dist/esm/utils-51148d9a.js.map +0 -1
  560. package/dist/esm-es5/string-utils-f98ee4e8.js +0 -2
  561. package/dist/esm-es5/string-utils-f98ee4e8.js.map +0 -1
  562. package/dist/esm-es5/stzh-actionset.entry.js +0 -2
  563. package/dist/esm-es5/stzh-actionset.entry.js.map +0 -1
  564. package/dist/esm-es5/stzh-card_3.entry.js +0 -2
  565. package/dist/esm-es5/stzh-card_3.entry.js.map +0 -1
  566. package/dist/esm-es5/stzh-ghettobox_2.entry.js +0 -2
  567. package/dist/esm-es5/stzh-sortable.entry.js +0 -8
  568. package/dist/esm-es5/stzh-sortable.entry.js.map +0 -1
  569. package/dist/esm-es5/stzh-status.entry.js +0 -2
  570. package/dist/esm-es5/stzh-status.entry.js.map +0 -1
  571. package/dist/esm-es5/utils-51148d9a.js +0 -2
  572. package/dist/esm-es5/utils-51148d9a.js.map +0 -1
  573. package/dist/stzh-components/p-0515de95.system.entry.js +0 -2
  574. package/dist/stzh-components/p-0515de95.system.entry.js.map +0 -1
  575. package/dist/stzh-components/p-07c0f4ce.entry.js +0 -2
  576. package/dist/stzh-components/p-07c0f4ce.entry.js.map +0 -1
  577. package/dist/stzh-components/p-09191103.system.entry.js +0 -2
  578. package/dist/stzh-components/p-09191103.system.entry.js.map +0 -1
  579. package/dist/stzh-components/p-0e6889d6.system.entry.js +0 -8
  580. package/dist/stzh-components/p-0e6889d6.system.entry.js.map +0 -1
  581. package/dist/stzh-components/p-14e782cb.entry.js +0 -2
  582. package/dist/stzh-components/p-172ba9ba.entry.js +0 -8
  583. package/dist/stzh-components/p-172ba9ba.entry.js.map +0 -1
  584. package/dist/stzh-components/p-2907f1b5.entry.js +0 -2
  585. package/dist/stzh-components/p-2907f1b5.entry.js.map +0 -1
  586. package/dist/stzh-components/p-2f3add2f.system.entry.js +0 -2
  587. package/dist/stzh-components/p-2f3add2f.system.entry.js.map +0 -1
  588. package/dist/stzh-components/p-3290296f.entry.js +0 -2
  589. package/dist/stzh-components/p-3290296f.entry.js.map +0 -1
  590. package/dist/stzh-components/p-343694cb.system.entry.js +0 -2
  591. package/dist/stzh-components/p-343694cb.system.entry.js.map +0 -1
  592. package/dist/stzh-components/p-36b1004d.entry.js +0 -2
  593. package/dist/stzh-components/p-36b1004d.entry.js.map +0 -1
  594. package/dist/stzh-components/p-3d056a49.entry.js +0 -2
  595. package/dist/stzh-components/p-3d056a49.entry.js.map +0 -1
  596. package/dist/stzh-components/p-402ea6f4.entry.js +0 -2
  597. package/dist/stzh-components/p-402ea6f4.entry.js.map +0 -1
  598. package/dist/stzh-components/p-4468e033.system.entry.js +0 -2
  599. package/dist/stzh-components/p-4468e033.system.entry.js.map +0 -1
  600. package/dist/stzh-components/p-53b84310.system.entry.js +0 -2
  601. package/dist/stzh-components/p-53b84310.system.entry.js.map +0 -1
  602. package/dist/stzh-components/p-55061908.entry.js +0 -2
  603. package/dist/stzh-components/p-55061908.entry.js.map +0 -1
  604. package/dist/stzh-components/p-57ba4050.system.entry.js +0 -2
  605. package/dist/stzh-components/p-57ba4050.system.entry.js.map +0 -1
  606. package/dist/stzh-components/p-5aa96b49.system.entry.js +0 -2
  607. package/dist/stzh-components/p-5aa96b49.system.entry.js.map +0 -1
  608. package/dist/stzh-components/p-5c697491.js +0 -2
  609. package/dist/stzh-components/p-5c697491.js.map +0 -1
  610. package/dist/stzh-components/p-5d8ad1f4.system.entry.js +0 -2
  611. package/dist/stzh-components/p-5d8ad1f4.system.entry.js.map +0 -1
  612. package/dist/stzh-components/p-62188444.entry.js +0 -2
  613. package/dist/stzh-components/p-62188444.entry.js.map +0 -1
  614. package/dist/stzh-components/p-693c611c.entry.js +0 -2
  615. package/dist/stzh-components/p-693c611c.entry.js.map +0 -1
  616. package/dist/stzh-components/p-72c69a2e.entry.js +0 -2
  617. package/dist/stzh-components/p-72c69a2e.entry.js.map +0 -1
  618. package/dist/stzh-components/p-78071d97.entry.js +0 -2
  619. package/dist/stzh-components/p-78071d97.entry.js.map +0 -1
  620. package/dist/stzh-components/p-7dc517db.entry.js +0 -2
  621. package/dist/stzh-components/p-7dc517db.entry.js.map +0 -1
  622. package/dist/stzh-components/p-80d581ac.system.entry.js.map +0 -1
  623. package/dist/stzh-components/p-82e886d4.entry.js +0 -2
  624. package/dist/stzh-components/p-82e886d4.entry.js.map +0 -1
  625. package/dist/stzh-components/p-9fe69be8.system.entry.js +0 -2
  626. package/dist/stzh-components/p-a003aa96.system.entry.js +0 -2
  627. package/dist/stzh-components/p-a003aa96.system.entry.js.map +0 -1
  628. package/dist/stzh-components/p-a1c02179.entry.js +0 -2
  629. package/dist/stzh-components/p-a2bdc528.system.entry.js +0 -2
  630. package/dist/stzh-components/p-a2bdc528.system.entry.js.map +0 -1
  631. package/dist/stzh-components/p-a2c076b8.system.entry.js +0 -2
  632. package/dist/stzh-components/p-a2c076b8.system.entry.js.map +0 -1
  633. package/dist/stzh-components/p-a8ccb843.entry.js +0 -2
  634. package/dist/stzh-components/p-a8ccb843.entry.js.map +0 -1
  635. package/dist/stzh-components/p-ab199fd7.system.entry.js +0 -2
  636. package/dist/stzh-components/p-ab199fd7.system.entry.js.map +0 -1
  637. package/dist/stzh-components/p-b295cbcc.system.entry.js +0 -2
  638. package/dist/stzh-components/p-b295cbcc.system.entry.js.map +0 -1
  639. package/dist/stzh-components/p-b5cda655.entry.js +0 -2
  640. package/dist/stzh-components/p-b5cda655.entry.js.map +0 -1
  641. package/dist/stzh-components/p-b7d68fca.system.js +0 -2
  642. package/dist/stzh-components/p-b910e1b7.entry.js +0 -2
  643. package/dist/stzh-components/p-b910e1b7.entry.js.map +0 -1
  644. package/dist/stzh-components/p-c0f971f2.entry.js.map +0 -1
  645. package/dist/stzh-components/p-c901fe72.system.entry.js.map +0 -1
  646. package/dist/stzh-components/p-cb04774b.entry.js +0 -2
  647. package/dist/stzh-components/p-cb04774b.entry.js.map +0 -1
  648. package/dist/stzh-components/p-cc35e963.entry.js +0 -2
  649. package/dist/stzh-components/p-cc35e963.entry.js.map +0 -1
  650. package/dist/stzh-components/p-d3f7e7e2.system.entry.js +0 -2
  651. package/dist/stzh-components/p-d3f7e7e2.system.entry.js.map +0 -1
  652. package/dist/stzh-components/p-d4b7a303.system.js +0 -2
  653. package/dist/stzh-components/p-d4b7a303.system.js.map +0 -1
  654. package/dist/stzh-components/p-d5b4d345.entry.js.map +0 -1
  655. package/dist/stzh-components/p-df9460ae.system.entry.js +0 -2
  656. package/dist/stzh-components/p-e40d6e96.entry.js +0 -2
  657. package/dist/stzh-components/p-e40d6e96.entry.js.map +0 -1
  658. package/dist/stzh-components/p-ebcc510d.system.entry.js +0 -2
  659. package/dist/stzh-components/p-ebcc510d.system.entry.js.map +0 -1
  660. package/dist/stzh-components/p-ee7a68db.js +0 -2
  661. package/dist/stzh-components/p-ee7a68db.js.map +0 -1
  662. package/dist/stzh-components/p-f2d74491.system.entry.js +0 -2
  663. package/dist/stzh-components/p-f2d74491.system.entry.js.map +0 -1
  664. package/dist/stzh-components/p-f58c28ad.system.js +0 -2
  665. package/dist/stzh-components/p-f58c28ad.system.js.map +0 -1
  666. package/dist/stzh-components/p-fda1c56c.system.entry.js +0 -2
  667. package/dist/stzh-components/p-fda1c56c.system.entry.js.map +0 -1
  668. /package/dist/stzh-components/{p-edef74c8.system.entry.js.map → p-08050ce2.system.entry.js.map} +0 -0
  669. /package/dist/stzh-components/{p-f23f2408.system.entry.js.map → p-09445156.system.entry.js.map} +0 -0
  670. /package/dist/stzh-components/{p-94a5e295.system.entry.js.map → p-0d302a14.system.entry.js.map} +0 -0
  671. /package/dist/stzh-components/{p-2615433f.system.entry.js.map → p-2009a8df.system.entry.js.map} +0 -0
  672. /package/dist/stzh-components/{p-39a4904e.system.entry.js.map → p-2614251e.system.entry.js.map} +0 -0
  673. /package/dist/stzh-components/{p-799548c4.system.entry.js.map → p-27489e46.system.entry.js.map} +0 -0
  674. /package/dist/stzh-components/{p-29ed53a9.system.entry.js.map → p-2dd983a9.system.entry.js.map} +0 -0
  675. /package/dist/stzh-components/{p-cc1a6af1.system.entry.js.map → p-2ec243e8.system.entry.js.map} +0 -0
  676. /package/dist/stzh-components/{p-cd0f7b10.entry.js.map → p-33da1a1c.entry.js.map} +0 -0
  677. /package/dist/stzh-components/{p-6608126b.entry.js.map → p-4325de93.entry.js.map} +0 -0
  678. /package/dist/stzh-components/{p-517af258.system.entry.js.map → p-444f765a.system.entry.js.map} +0 -0
  679. /package/dist/stzh-components/{p-7b297848.system.entry.js.map → p-50652c05.system.entry.js.map} +0 -0
  680. /package/dist/stzh-components/{p-a8c92707.system.entry.js.map → p-509b0e4c.system.entry.js.map} +0 -0
  681. /package/dist/stzh-components/{p-a2b49ad8.entry.js.map → p-52bcb3ab.entry.js.map} +0 -0
  682. /package/dist/stzh-components/{p-4cd7c872.system.entry.js.map → p-5af33d37.system.entry.js.map} +0 -0
  683. /package/dist/stzh-components/{p-8cb7e2da.system.entry.js.map → p-5bceda21.system.entry.js.map} +0 -0
  684. /package/dist/stzh-components/{p-5ee43b56.entry.js.map → p-5c3d0895.entry.js.map} +0 -0
  685. /package/dist/stzh-components/{p-eca073df.system.entry.js.map → p-6ac4713f.system.entry.js.map} +0 -0
  686. /package/dist/stzh-components/{p-9d46101e.entry.js.map → p-6c0f3c5e.entry.js.map} +0 -0
  687. /package/dist/stzh-components/{p-c2a06b4d.system.entry.js.map → p-6cb99167.system.entry.js.map} +0 -0
  688. /package/dist/stzh-components/{p-b8ad5f47.system.entry.js.map → p-709bb264.system.entry.js.map} +0 -0
  689. /package/dist/stzh-components/{p-3e5da137.entry.js.map → p-7463c7b5.entry.js.map} +0 -0
  690. /package/dist/stzh-components/{p-bc997ce2.entry.js.map → p-76c2f21a.entry.js.map} +0 -0
  691. /package/dist/stzh-components/{p-562f4dfa.entry.js.map → p-78f78684.entry.js.map} +0 -0
  692. /package/dist/stzh-components/{p-3dea2f45.entry.js.map → p-849ec693.entry.js.map} +0 -0
  693. /package/dist/stzh-components/{p-3aa5623c.entry.js.map → p-89562c7e.entry.js.map} +0 -0
  694. /package/dist/stzh-components/{p-45572515.entry.js.map → p-916f8386.entry.js.map} +0 -0
  695. /package/dist/stzh-components/{p-2d25bcc8.entry.js.map → p-979390db.entry.js.map} +0 -0
  696. /package/dist/stzh-components/{p-e2ff2ef4.entry.js.map → p-a0008fa2.entry.js.map} +0 -0
  697. /package/dist/stzh-components/{p-05b9e4c2.system.entry.js.map → p-a26cd855.system.entry.js.map} +0 -0
  698. /package/dist/stzh-components/{p-b792ea2e.system.entry.js.map → p-a2d5846c.system.entry.js.map} +0 -0
  699. /package/dist/stzh-components/{p-6c219530.entry.js.map → p-a8e1b13c.entry.js.map} +0 -0
  700. /package/dist/stzh-components/{p-4a299f84.entry.js.map → p-acbe3680.entry.js.map} +0 -0
  701. /package/dist/stzh-components/{p-35cbff3f.entry.js.map → p-affbfe00.entry.js.map} +0 -0
  702. /package/dist/stzh-components/{p-7772c262.entry.js.map → p-b5531053.entry.js.map} +0 -0
  703. /package/dist/stzh-components/{p-bf069354.entry.js.map → p-bac7cf37.entry.js.map} +0 -0
  704. /package/dist/stzh-components/{p-f599025e.system.entry.js.map → p-c0aa52aa.system.entry.js.map} +0 -0
  705. /package/dist/stzh-components/{p-9f4f3882.system.entry.js.map → p-d531fbaf.system.entry.js.map} +0 -0
  706. /package/dist/stzh-components/{p-fefcd0e6.entry.js.map → p-d7a7560a.entry.js.map} +0 -0
  707. /package/dist/stzh-components/{p-87b4549c.system.entry.js.map → p-dad99bd2.system.entry.js.map} +0 -0
  708. /package/dist/stzh-components/{p-b05c240b.system.entry.js.map → p-e16ee236.system.entry.js.map} +0 -0
  709. /package/dist/stzh-components/{p-bcd5b20e.entry.js.map → p-e7454abb.entry.js.map} +0 -0
  710. /package/dist/stzh-components/{p-6d097e82.system.entry.js.map → p-ebe979a3.system.entry.js.map} +0 -0
  711. /package/dist/stzh-components/{p-9b7d4e8d.entry.js.map → p-ef4c12ac.entry.js.map} +0 -0
  712. /package/dist/stzh-components/{p-3cb43903.entry.js.map → p-f0ac9730.entry.js.map} +0 -0
  713. /package/dist/stzh-components/{p-8d695d3e.system.entry.js.map → p-f65b5145.system.entry.js.map} +0 -0
  714. /package/dist/stzh-components/{p-b82351f0.system.entry.js.map → p-f665752d.system.entry.js.map} +0 -0
  715. /package/dist/stzh-components/{p-c3b260a1.entry.js.map → p-fb12ec57.entry.js.map} +0 -0
  716. /package/dist/stzh-components/{p-52e52b49.entry.js.map → p-fd97e87d.entry.js.map} +0 -0
@@ -10,6 +10,8 @@ import { fetchTranslations } from "../../utils/translation-utils";
10
10
  export class StzhRichtext {
11
11
  constructor() {
12
12
  this.localization = undefined;
13
+ this.removeFirstMargin = true;
14
+ this.removeLastMargin = true;
13
15
  this.externalLinkSelector = 'a[rel*="external"], a.external, a.extern';
14
16
  this.externalLinkIcon = 'external-link';
15
17
  }
@@ -78,6 +80,42 @@ export class StzhRichtext {
78
80
  "text": "Translation strings"
79
81
  }
80
82
  },
83
+ "removeFirstMargin": {
84
+ "type": "boolean",
85
+ "mutable": false,
86
+ "complexType": {
87
+ "original": "boolean",
88
+ "resolved": "boolean",
89
+ "references": {}
90
+ },
91
+ "required": false,
92
+ "optional": false,
93
+ "docs": {
94
+ "tags": [],
95
+ "text": "Whether first top margin of first child should be set to 0."
96
+ },
97
+ "attribute": "remove-first-margin",
98
+ "reflect": true,
99
+ "defaultValue": "true"
100
+ },
101
+ "removeLastMargin": {
102
+ "type": "boolean",
103
+ "mutable": false,
104
+ "complexType": {
105
+ "original": "boolean",
106
+ "resolved": "boolean",
107
+ "references": {}
108
+ },
109
+ "required": false,
110
+ "optional": false,
111
+ "docs": {
112
+ "tags": [],
113
+ "text": "Whether last bottom margin of last child should be set to 0."
114
+ },
115
+ "attribute": "remove-last-margin",
116
+ "reflect": true,
117
+ "defaultValue": "true"
118
+ },
81
119
  "externalLinkSelector": {
82
120
  "type": "string",
83
121
  "mutable": false,
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-richtext.js","sourceRoot":"","sources":["../../../src/components/stzh-richtext/stzh-richtext.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,OAAO,EACR,MAAM,eAAe,CAAC;AAEvB,MAAM,mBAAmB,GAAG,8BAA8B,CAAC;AAC3D,MAAM,2BAA2B,GAAG,sCAAsC,CAAC;AAC3E,MAAM,mBAAmB,GAAG,8BAA8B,CAAC;AAC3D,MAAM,sBAAsB,GAAG,iCAAiC,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAuB,MAAM,+BAA+B,CAAC;AAEvF;;GAEG;AAMH,MAAM,OAAO,YAAY;;;gCAKgB,0CAA0C;4BAG9C,eAAe;;EAM1C,oBAAoB;IAC1B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;MACxC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;MAEhD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;MACxD,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;MACvD,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC;MAE1E,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;MACnD,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;MAEvD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;MACjD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;MACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC;MAClC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;MAE9B,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;MACvC,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;EACL,CAAC;EAED,KAAK,CAAC,iBAAiB;IACrB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;MACtB,IAAI,CAAC,YAAY,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;KACvE;EACH,CAAC;EAED,kBAAkB;IAChB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC1F,IAAI,CAAC,oBAAoB,EAAE,CAAC;EAC9B,CAAC;EAED,MAAM;IACJ,MAAM,OAAO,GAAG;MACd,eAAe,EAAE,IAAI;KACtB,CAAC;IAEF,OAAO,CACL,EAAC,IAAI;MACH,WAAK,KAAK,EAAE,OAAO;QACjB,eAAa,CACT,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Element\n} from \"@stencil/core\";\n\nconst CLASS_EXTERNAL_LINK = 'stzh-richtext__external-link';\nconst CLASS_EXTERNAL_ICON_WRAPPER = 'stzh-richtext__external-icon-wrapper';\nconst CLASS_EXTERNAL_ICON = 'stzh-richtext__external-icon';\nconst CLASS_EXTERNAL_VHIDDEN = 'stzh-richtext__external-vhidden';\n\nimport { fetchTranslations, StzhLocaleComponent } from \"../../utils/translation-utils\";\n\n/**\n * @slot - Text content that should be styled\n */\n@Component({\n tag: \"stzh-richtext\",\n styleUrl: \"stzh-richtext.scss\",\n scoped: true\n})\nexport class StzhRichtext {\n /** Translation strings */\n @Prop() localization: StzhLocaleComponent;\n\n /** Selector to recognize external link and attach an icon */\n @Prop() externalLinkSelector: string = 'a[rel*=\"external\"], a.external, a.extern';\n\n /** Icon used for marking external links */\n @Prop() externalLinkIcon: string = 'external-link';\n\n @Element() element: HTMLStzhRichtextElement;\n\n private externalLinks: HTMLElement[];\n\n private addExternalLinkIcons() {\n this.externalLinks.forEach(externalLink => {\n externalLink.classList.add(CLASS_EXTERNAL_LINK);\n\n const screenreaderText = document.createElement('span');\n screenreaderText.classList.add(CLASS_EXTERNAL_VHIDDEN);\n screenreaderText.innerText = this.localization.$globals.externalLinkLabel;\n\n const iconWrapper = document.createElement('span');\n iconWrapper.classList.add(CLASS_EXTERNAL_ICON_WRAPPER);\n\n const icon = document.createElement('stzh-icon');\n icon.classList.add(CLASS_EXTERNAL_ICON);\n icon.name = this.externalLinkIcon;\n iconWrapper.appendChild(icon);\n\n externalLink.prepend(screenreaderText);\n externalLink.appendChild(iconWrapper);\n });\n }\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await fetchTranslations(this.element, \"richtext\");\n }\n }\n\n componentDidRender() {\n this.externalLinks = Array.from(this.element.querySelectorAll(this.externalLinkSelector));\n this.addExternalLinkIcons();\n }\n\n render() {\n const classes = {\n \"stzh-richtext\": true\n };\n\n return (\n <Host>\n <div class={classes}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"stzh-richtext.js","sourceRoot":"","sources":["../../../src/components/stzh-richtext/stzh-richtext.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,OAAO,EACR,MAAM,eAAe,CAAC;AAEvB,MAAM,mBAAmB,GAAG,8BAA8B,CAAC;AAC3D,MAAM,2BAA2B,GAAG,sCAAsC,CAAC;AAC3E,MAAM,mBAAmB,GAAG,8BAA8B,CAAC;AAC3D,MAAM,sBAAsB,GAAG,iCAAiC,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAuB,MAAM,+BAA+B,CAAC;AAEvF;;GAEG;AAMH,MAAM,OAAO,YAAY;;;6BAK+B,IAAI;4BAGL,IAAI;gCAGlB,0CAA0C;4BAG9C,eAAe;;EAM1C,oBAAoB;IAC1B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;MACxC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;MAEhD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;MACxD,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;MACvD,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC;MAE1E,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;MACnD,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;MAEvD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;MACjD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;MACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC;MAClC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;MAE9B,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;MACvC,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;EACL,CAAC;EAED,KAAK,CAAC,iBAAiB;IACrB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;MACtB,IAAI,CAAC,YAAY,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;KACvE;EACH,CAAC;EAED,kBAAkB;IAChB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC1F,IAAI,CAAC,oBAAoB,EAAE,CAAC;EAC9B,CAAC;EAED,MAAM;IACJ,MAAM,OAAO,GAAG;MACd,eAAe,EAAE,IAAI;KACtB,CAAC;IAEF,OAAO,CACL,EAAC,IAAI;MACH,WAAK,KAAK,EAAE,OAAO;QACjB,eAAa,CACT,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Element\n} from \"@stencil/core\";\n\nconst CLASS_EXTERNAL_LINK = 'stzh-richtext__external-link';\nconst CLASS_EXTERNAL_ICON_WRAPPER = 'stzh-richtext__external-icon-wrapper';\nconst CLASS_EXTERNAL_ICON = 'stzh-richtext__external-icon';\nconst CLASS_EXTERNAL_VHIDDEN = 'stzh-richtext__external-vhidden';\n\nimport { fetchTranslations, StzhLocaleComponent } from \"../../utils/translation-utils\";\n\n/**\n * @slot - Text content that should be styled\n */\n@Component({\n tag: \"stzh-richtext\",\n styleUrl: \"stzh-richtext.scss\",\n scoped: true\n})\nexport class StzhRichtext {\n /** Translation strings */\n @Prop() localization: StzhLocaleComponent;\n\n /** Whether first top margin of first child should be set to 0. */\n @Prop({ reflect: true }) removeFirstMargin: boolean = true;\n\n /** Whether last bottom margin of last child should be set to 0. */\n @Prop({ reflect: true }) removeLastMargin: boolean = true;\n\n /** Selector to recognize external link and attach an icon */\n @Prop() externalLinkSelector: string = 'a[rel*=\"external\"], a.external, a.extern';\n\n /** Icon used for marking external links */\n @Prop() externalLinkIcon: string = 'external-link';\n\n @Element() element: HTMLStzhRichtextElement;\n\n private externalLinks: HTMLElement[];\n\n private addExternalLinkIcons() {\n this.externalLinks.forEach(externalLink => {\n externalLink.classList.add(CLASS_EXTERNAL_LINK);\n\n const screenreaderText = document.createElement('span');\n screenreaderText.classList.add(CLASS_EXTERNAL_VHIDDEN);\n screenreaderText.innerText = this.localization.$globals.externalLinkLabel;\n\n const iconWrapper = document.createElement('span');\n iconWrapper.classList.add(CLASS_EXTERNAL_ICON_WRAPPER);\n\n const icon = document.createElement('stzh-icon');\n icon.classList.add(CLASS_EXTERNAL_ICON);\n icon.name = this.externalLinkIcon;\n iconWrapper.appendChild(icon);\n\n externalLink.prepend(screenreaderText);\n externalLink.appendChild(iconWrapper);\n });\n }\n\n async componentWillLoad() {\n if (!this.localization) {\n this.localization = await fetchTranslations(this.element, \"richtext\");\n }\n }\n\n componentDidRender() {\n this.externalLinks = Array.from(this.element.querySelectorAll(this.externalLinkSelector));\n this.addExternalLinkIcons();\n }\n\n render() {\n const classes = {\n \"stzh-richtext\": true\n };\n\n return (\n <Host>\n <div class={classes}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -14,7 +14,7 @@ const TEMPLATE = `
14
14
 
15
15
  <h2>H2: Laboris laborum aute id laboris</h2>
16
16
  <p>Laboris laborum aute id laboris culpa esse aliquip nisi anim velit. Minim sunt eiusmod do laborum amet ut magna. Labore dolore id nostrud enim Lorem pariatur ad dolore id eiusmod adipisicing laboris laborum minim.</p>
17
- <p><strong>Laboris laborum aute</strong> id laboris culpa esse <b>aliquip nisi anim</b> velit. Minim sunt eiusmod do laborum amet ut magna. Labore dolore id nostrud enim Lorem pariatur ad dolore id eiusmod adipisicing laboris laborum minim.</p>
17
+ <p><strong>Laboris laborum aute</strong> id laboris culpa esse <strong>aliquip nisi anim</strong> velit. Minim sunt eiusmod do laborum amet ut magna. Labore dolore id nostrud enim Lorem pariatur ad dolore id eiusmod adipisicing laboris laborum minim.</p>
18
18
  <ul>
19
19
  <li>Laboris laborum aute id laboris esse aliquip nisi anim velit</li>
20
20
  <li>
@@ -29,7 +29,7 @@ const TEMPLATE = `
29
29
 
30
30
  <h3>H3: Laboris laborum aute id laboris</h3>
31
31
  <p>Laboris laborum aute id laboris culpa esse aliquip nisi anim velit. Minim sunt eiusmod do laborum amet ut magna. Labore dolore id nostrud enim Lorem pariatur ad dolore id eiusmod adipisicing laboris laborum minim.</p>
32
- <p><i>Laboris laborum aute</i> id laboris culpa esse <em>aliquip nisi anim</em> velit. Minim sunt eiusmod do laborum amet ut magna. Labore dolore id nostrud enim Lorem pariatur ad dolore id eiusmod adipisicing laboris laborum minim.</p>
32
+ <p><em>Laboris laborum aute</em> id laboris culpa esse <em>aliquip nisi anim</em> velit. Minim sunt eiusmod do laborum amet ut magna. Labore dolore id nostrud enim Lorem pariatur ad dolore id eiusmod adipisicing laboris laborum minim.</p>
33
33
  <ol>
34
34
  <li>Laboris laborum aute id laboris esse aliquip nisi anim velit</li>
35
35
  <li>
@@ -102,11 +102,6 @@
102
102
  :host {
103
103
  width: 100%;
104
104
  }
105
- :host::after {
106
- content: "";
107
- display: table;
108
- clear: both;
109
- }
110
105
 
111
106
  :host([span="1"]) ::slotted(stzh-cell:not([span])) {
112
107
  --cell-width: 8.3333333333%;
@@ -100,15 +100,9 @@
100
100
  }
101
101
 
102
102
  :host {
103
- clear: both;
104
103
  --background-color: var(--stzh-section-background-color);
105
104
  /* Highlight variant */
106
105
  }
107
- :host::after {
108
- content: "";
109
- display: table;
110
- clear: both;
111
- }
112
106
  :host[variant=highlight] {
113
107
  --stzh-base-color: var(--stzh-color-grey61);
114
108
  --background-color: var(--stzh-section-highlight-background-color);
@@ -1,22 +1,9 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  import { fetchTranslations } from "../../utils/translation-utils";
3
- const abbreviateText = function (text, length) {
4
- if (text.length <= length) {
5
- return text;
6
- }
7
- var lastWhitespaceIndex = text.substring(0, length - 1).lastIndexOf(' ');
8
- if (lastWhitespaceIndex) {
9
- return text.substring(0, lastWhitespaceIndex) + '\u2026';
10
- }
11
- else {
12
- return text.substring(0, length - 1);
13
- }
14
- };
15
- // returns content of <meta name="" content=""> tags or '' if empty/non existant
16
- const getMeta = function (name) {
17
- const meta = document.querySelector(`meta[name="${name}"],[property="${name}"]`);
18
- return meta ? meta.getAttribute("content") : "";
19
- };
3
+ import { getMeta } from '../../utils/utils';
4
+ import { abbreviateText } from '../../utils/string-utils';
5
+ // 280 - URL (always 24) = 256
6
+ const MAX_TWEET_LENGTH = 256;
20
7
  /**
21
8
  */
22
9
  export class StzhShare {
@@ -55,9 +42,8 @@ export class StzhShare {
55
42
  const mailSubject = encodeURIComponent(this.localization.mailSubject);
56
43
  const mailBody = encodeURIComponent((_a = this.localization.mailBody) === null || _a === void 0 ? void 0 : _a.replace(/\{shareUrl\}/gi, this.url));
57
44
  const title = encodeURIComponent(document.title);
45
+ const twitterTitle = encodeURIComponent(abbreviateText(title, MAX_TWEET_LENGTH));
58
46
  const description = encodeURIComponent(getMeta("description"));
59
- // 280 - URL (always 24) = 256
60
- const maxTweetLength = 256;
61
47
  const serviceData = {
62
48
  "facebook": {
63
49
  popup: true,
@@ -69,7 +55,7 @@ export class StzhShare {
69
55
  "twitter": {
70
56
  popup: true,
71
57
  blank: true,
72
- url: `https://twitter.com/intent/tweet?text=${abbreviateText(title, maxTweetLength)}&url=${shareUrl}`,
58
+ url: `https://twitter.com/intent/tweet?text=${twitterTitle}&url=${shareUrl}`,
73
59
  text: this.localization.shareTwitter,
74
60
  icon: "twitter-filled"
75
61
  },
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-share.js","sourceRoot":"","sources":["../../../src/components/stzh-share/stzh-share.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,OAAO,EACP,IAAI,EACJ,KAAK,EACN,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,MAAM,cAAc,GAAG,UAAS,IAAI,EAAE,MAAM;EAC1C,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE;IACzB,OAAO,IAAI,CAAC;GACb;EAED,IAAI,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;EAEzE,IAAI,mBAAmB,EAAE;IACvB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC;GAC1D;OAAM;IACL,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;GACtC;AACH,CAAC,CAAA;AAED,gFAAgF;AAChF,MAAM,OAAO,GAAG,UAAS,IAAI;EAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,IAAI,iBAAiB,IAAI,IAAI,CAAC,CAAC;EACjF,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,CAAC,CAAA;AAED;GACG;AAMH,MAAM,OAAO,SAAS;;IAeZ,cAAS,GAAmB,EAAE,CAAC;IAa/B,cAAS,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;MACjC,KAAK,CAAC,cAAc,EAAE,CAAC;MACvB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IACrD,CAAC,CAAA;;eA1BqB,MAAM,CAAC,QAAQ,CAAC,IAAI;oBAME;MAC1C,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;KAClD;;EAKD,eAAe,CAAC,QAAiC;IAC/C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;MAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KACvC;SAAM;MACL,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;KAC3B;EACH,CAAC;EASD,KAAK,CAAC,iBAAiB;IACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;MACtB,IAAI,CAAC,YAAY,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KACpE;EACH,CAAC;EAED,MAAM;;IACJ,MAAM,OAAO,GAAG;MACd,YAAY,EAAE,IAAI;KACnB,CAAC;IAEF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,kBAAkB,CACjC,MAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,0CAAE,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAChE,CAAC;IAEF,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IAE/D,8BAA8B;IAC9B,MAAM,cAAc,GAAG,GAAG,CAAC;IAE3B,MAAM,WAAW,GAAG;MAClB,UAAU,EAAE;QACV,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,gDAAgD,QAAQ,EAAE;QAC/D,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa;QACrC,IAAI,EAAE,iBAAiB;OACxB;MACD,SAAS,EAAE;QACT,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,yCAAyC,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,QAAQ,QAAQ,EAAE;QACrG,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY;QACpC,IAAI,EAAE,gBAAgB;OACvB;MACD,UAAU,EAAE;QACV,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,2DAA2D,WAAW,UAAU,KAAK,QAAQ,QAAQ,EAAE;QAC5G,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa;QACrC,IAAI,EAAE,iBAAiB;OACxB;MACD,MAAM,EAAE;QACN,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,2CAA2C,QAAQ,EAAE;QAC1D,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;QACjC,IAAI,EAAE,aAAa;OACpB;MACD,MAAM,EAAE;QACN,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,GAAG,EAAE,mBAAmB,WAAW,SAAS,QAAQ,EAAE;QACtD,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;QACjC,IAAI,EAAE,aAAa;OACpB;KACF,CAAC;IAEF,OAAO,CACL,EAAC,IAAI;MACH,WAAK,KAAK,EAAE,OAAO;QACjB,UAAI,KAAK,EAAC,kBAAkB,IACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC9B,UAAI,KAAK,EAAC,kBAAkB;UAC1B,oBAAc,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI;YAC9C,SACE,KAAK,EAAE,yBAAyB,OAAO,EAAE,EACzC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,gBAClB,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EACrC,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,UAAU,EAC7E,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EACvD,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,iBAClF,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI;cAEtC,iBAAW,KAAK,EAAC,kBAAkB,EAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,GAAc,CAC/E,CACS,CACZ,CACN,CACE,CACD,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Watch\n} from \"@stencil/core\";\n\nimport { ShareService } from \"../../index\";\nimport { fetchTranslations } from \"../../utils/translation-utils\";\nimport { StzhShareLocalizedText } from \"./stzh-share.localization\"\n\nconst abbreviateText = function(text, length) {\n if (text.length <= length) {\n return text;\n }\n\n var lastWhitespaceIndex = text.substring(0, length - 1).lastIndexOf(' ');\n\n if (lastWhitespaceIndex) {\n return text.substring(0, lastWhitespaceIndex) + '\\u2026';\n } else {\n return text.substring(0, length - 1);\n }\n}\n\n// returns content of <meta name=\"\" content=\"\"> tags or '' if empty/non existant\nconst getMeta = function(name) {\n const meta = document.querySelector(`meta[name=\"${name}\"],[property=\"${name}\"]`);\n return meta ? meta.getAttribute(\"content\") : \"\";\n}\n\n/**\n */\n@Component({\n tag: \"stzh-share\",\n styleUrl: \"stzh-share.scss\",\n scoped: true\n})\nexport class StzhShare {\n /** Translation strings */\n @Prop() localization: StzhShareLocalizedText;\n\n /** URL of current site (uses full URL by default) */\n @Prop() url: string = window.location.href;\n\n /**\n * Array of enabled share buttons.\n * Possible services: `facebook` / `twitter` / `linkedin` / `xing` / `mail`\n */\n @Prop() services: ShareService[] | string = [\n \"facebook\", \"twitter\", \"linkedin\", \"xing\", \"mail\"\n ];\n\n private _services: ShareService[] = [];\n\n @Watch(\"services\")\n servicesWatcher(newValue: ShareService[] | string) {\n if (typeof newValue === \"string\") {\n this._services = JSON.parse(newValue);\n } else {\n this._services = newValue;\n }\n }\n\n @Element() element: HTMLStzhShareElement;\n\n private openPopup = (url, event) => {\n event.preventDefault();\n window.open(url, \"_blank\", \"width=600,height=460\");\n }\n\n async componentWillLoad() {\n this.servicesWatcher(this.services);\n\n if (!this.localization) {\n this.localization = await fetchTranslations(this.element, \"share\");\n }\n }\n\n render() {\n const classes = {\n \"stzh-share\": true\n };\n\n const shareUrl = encodeURIComponent(this.url);\n const mailSubject = encodeURIComponent(this.localization.mailSubject);\n const mailBody = encodeURIComponent(\n this.localization.mailBody?.replace(/\\{shareUrl\\}/gi, this.url)\n );\n\n const title = encodeURIComponent(document.title);\n const description = encodeURIComponent(getMeta(\"description\"));\n\n // 280 - URL (always 24) = 256\n const maxTweetLength = 256;\n\n const serviceData = {\n \"facebook\": {\n popup: true,\n blank: true,\n url: `https://www.facebook.com/sharer/sharer.php?u=${shareUrl}`,\n text: this.localization.shareFacebook,\n icon: \"facebook-filled\"\n },\n \"twitter\": {\n popup: true,\n blank: true,\n url: `https://twitter.com/intent/tweet?text=${abbreviateText(title, maxTweetLength)}&url=${shareUrl}`,\n text: this.localization.shareTwitter,\n icon: \"twitter-filled\"\n },\n \"linkedin\": {\n popup: true,\n blank: true,\n url: `https://www.linkedin.com/shareArticle?mini=true&summary=${description}&title=${title}&url=${shareUrl}`,\n text: this.localization.shareLinkedin,\n icon: \"linkedin-filled\"\n },\n \"xing\": {\n popup: true,\n blank: true,\n url: `https://www.xing.com/spi/shares/new?url=${shareUrl}`,\n text: this.localization.shareXing,\n icon: \"xing-filled\"\n },\n \"mail\": {\n popup: false,\n blank: false,\n url: `mailto:?subject=${mailSubject}&body=${mailBody}`,\n text: this.localization.shareMail,\n icon: \"mail-filled\"\n }\n };\n\n return (\n <Host>\n <div class={classes}>\n <ul class=\"stzh-share__list\">\n {this._services.map((service) =>\n <li class=\"stzh-share__item\">\n <stzh-tooltip content={serviceData[service].text}>\n <a\n class={`stzh-share__button is-${service}`}\n href={serviceData[service].url}\n aria-label={serviceData[service].text}\n rel={serviceData[service].blank ? \"nofollow noopener noreferrer\" : \"nofollow\"}\n target={serviceData[service].blank ? \"_blank\" : \"_self\"}\n onClick={serviceData[service].popup ? (e) => this.openPopup(serviceData[service].url, e) : null}\n s-object-id={serviceData[service].text}\n >\n <stzh-icon class=\"stzh-share__icon\" name={serviceData[service].icon}></stzh-icon>\n </a>\n </stzh-tooltip>\n </li>\n )}\n </ul>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"stzh-share.js","sourceRoot":"","sources":["../../../src/components/stzh-share/stzh-share.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Watch\n} from \"@stencil/core\";\n\nimport { ShareService } from \"../../index\";\nimport { fetchTranslations } from \"../../utils/translation-utils\";\nimport { StzhShareLocalizedText } from \"./stzh-share.localization\"\nimport { getMeta } from '../../utils/utils';\nimport { abbreviateText } from '../../utils/string-utils';\n\n// 280 - URL (always 24) = 256\nconst MAX_TWEET_LENGTH = 256;\n\n/**\n */\n@Component({\n tag: \"stzh-share\",\n styleUrl: \"stzh-share.scss\",\n scoped: true\n})\nexport class StzhShare {\n /** Translation strings */\n @Prop() localization: StzhShareLocalizedText;\n\n /** URL of current site (uses full URL by default) */\n @Prop() url: string = window.location.href;\n\n /**\n * Array of enabled share buttons.\n * Possible services: `facebook` / `twitter` / `linkedin` / `xing` / `mail`\n */\n @Prop() services: ShareService[] | string = [\n \"facebook\", \"twitter\", \"linkedin\", \"xing\", \"mail\"\n ];\n\n private _services: ShareService[] = [];\n\n @Watch(\"services\")\n servicesWatcher(newValue: ShareService[] | string) {\n if (typeof newValue === \"string\") {\n this._services = JSON.parse(newValue);\n } else {\n this._services = newValue;\n }\n }\n\n @Element() element: HTMLStzhShareElement;\n\n private openPopup = (url, event) => {\n event.preventDefault();\n window.open(url, \"_blank\", \"width=600,height=460\");\n }\n\n async componentWillLoad() {\n this.servicesWatcher(this.services);\n\n if (!this.localization) {\n this.localization = await fetchTranslations(this.element, \"share\");\n }\n }\n\n render() {\n const classes = {\n \"stzh-share\": true\n };\n\n const shareUrl = encodeURIComponent(this.url);\n const mailSubject = encodeURIComponent(this.localization.mailSubject);\n const mailBody = encodeURIComponent(\n this.localization.mailBody?.replace(/\\{shareUrl\\}/gi, this.url)\n );\n\n const title = encodeURIComponent(document.title);\n const twitterTitle = encodeURIComponent(abbreviateText(title, MAX_TWEET_LENGTH));\n const description = encodeURIComponent(getMeta(\"description\"));\n\n const serviceData = {\n \"facebook\": {\n popup: true,\n blank: true,\n url: `https://www.facebook.com/sharer/sharer.php?u=${shareUrl}`,\n text: this.localization.shareFacebook,\n icon: \"facebook-filled\"\n },\n \"twitter\": {\n popup: true,\n blank: true,\n url: `https://twitter.com/intent/tweet?text=${twitterTitle}&url=${shareUrl}`,\n text: this.localization.shareTwitter,\n icon: \"twitter-filled\"\n },\n \"linkedin\": {\n popup: true,\n blank: true,\n url: `https://www.linkedin.com/shareArticle?mini=true&summary=${description}&title=${title}&url=${shareUrl}`,\n text: this.localization.shareLinkedin,\n icon: \"linkedin-filled\"\n },\n \"xing\": {\n popup: true,\n blank: true,\n url: `https://www.xing.com/spi/shares/new?url=${shareUrl}`,\n text: this.localization.shareXing,\n icon: \"xing-filled\"\n },\n \"mail\": {\n popup: false,\n blank: false,\n url: `mailto:?subject=${mailSubject}&body=${mailBody}`,\n text: this.localization.shareMail,\n icon: \"mail-filled\"\n }\n };\n\n return (\n <Host>\n <div class={classes}>\n <ul class=\"stzh-share__list\">\n {this._services.map((service) =>\n <li class=\"stzh-share__item\">\n <stzh-tooltip content={serviceData[service].text}>\n <a\n class={`stzh-share__button is-${service}`}\n href={serviceData[service].url}\n aria-label={serviceData[service].text}\n rel={serviceData[service].blank ? \"nofollow noopener noreferrer\" : \"nofollow\"}\n target={serviceData[service].blank ? \"_blank\" : \"_self\"}\n onClick={serviceData[service].popup ? (e) => this.openPopup(serviceData[service].url, e) : null}\n s-object-id={serviceData[service].text}\n >\n <stzh-icon class=\"stzh-share__icon\" name={serviceData[service].icon}></stzh-icon>\n </a>\n </stzh-tooltip>\n </li>\n )}\n </ul>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -99,6 +99,8 @@ body {
99
99
  display: none !important;
100
100
  }
101
101
 
102
+ /* Sticky footer layout */
103
+
102
104
  .stzh-layout-sticky-footer {
103
105
  display: grid;
104
106
  grid-template-rows: auto 1fr auto;
@@ -106,6 +108,8 @@ body {
106
108
  min-height: 100vh;
107
109
  }
108
110
 
111
+ /* Helper class when dialog components are opened */
112
+
109
113
  .stzh-dialog-open,
110
114
  .stzh-overlay-open {
111
115
  touch-action: none;
@@ -125,6 +129,8 @@ body {
125
129
  }
126
130
  }
127
131
 
132
+ /* Flying Focus */
133
+
128
134
  /* default outline value, which will be applied to all elements receiving focus
129
135
  the .has-focus class is used by the focus target */
130
136
  .stzh-flyingfocus-enabled :focus,
@@ -152,6 +158,49 @@ the .has-focus class is used by the focus target */
152
158
  border: 0 !important;
153
159
  }
154
160
 
161
+ /* AEM/STZH Website specifix css */
162
+
163
+ .section.has-invert {
164
+ /* Font curve: big */
165
+ margin-top: var(--stzh-space-xxxlarge);
166
+ margin-bottom: var(--stzh-space-xxxlarge);
167
+
168
+ @media screen and (min-width: 600px) {
169
+ margin-top: var(--stzh-space-xxxxlarge);
170
+ margin-bottom: var(--stzh-space-xxxxlarge);
171
+ }
172
+
173
+ @media screen and (min-width: 1024px) {
174
+ margin-top: var(--stzh-space-big);
175
+ margin-bottom: var(--stzh-space-big);
176
+ }
177
+
178
+ @media screen and (min-width: 1260) {
179
+ margin-top: var(--stzh-space-xbig);
180
+ margin-bottom: var(--stzh-space-xbig);
181
+ }
182
+ }
183
+
184
+ .section.has-invert stzh-invert stzh-container {
185
+ /* Font curve: large */
186
+ padding-top: var(--stzh-space-xxlarge);
187
+ padding-bottom: var(--stzh-space-xxlarge);
188
+
189
+ @media screen and (min-width: 1024px) {
190
+ padding-top: var(--stzh-space-xxxlarge);
191
+ padding-bottom: var(--stzh-space-xxxlarge);
192
+ }
193
+
194
+ @media screen and (min-width: 1260) {
195
+ padding-top: var(--stzh-space-xxxxlarge);
196
+ padding-bottom: var(--stzh-space-xxxxlarge);
197
+ }
198
+ }
199
+
200
+ .section.has-sticky {
201
+ display: contents;
202
+ }
203
+
155
204
  /* Global CSS properties */
156
205
 
157
206
  :root {
@@ -855,9 +904,11 @@ main .inline-filters button.muted[data-toggle]:focus,
855
904
  main {
856
905
  accent-color: var(--stzh-color-primary, var(--stzh-color-zueriblue));
857
906
  /* Resets */
907
+ --color: var(--stzh-base-color);
858
908
  --richtext-blockquote-color: var(--stzh-richtext-blockquote-color);
859
909
  --richtext-blockquote-line-color: var(--stzh-richtext-blockquote-line-color);
860
910
  --richtext-blockquote-footer-color: var(--stzh-richtext-blockquote-footer-color);
911
+ color: var(--color);
861
912
  /* Font weights */
862
913
  /* Coloring */
863
914
  /* Fon sizings & Spacings */
@@ -2841,9 +2892,11 @@ main .statistics-cell .statistic__data:after {
2841
2892
  border-left: 0.125rem solid var(--stzh-base-border-color);
2842
2893
  }
2843
2894
  main .ql-editor {
2895
+ --color: var(--stzh-base-color);
2844
2896
  --richtext-blockquote-color: var(--stzh-richtext-blockquote-color);
2845
2897
  --richtext-blockquote-line-color: var(--stzh-richtext-blockquote-line-color);
2846
2898
  --richtext-blockquote-footer-color: var(--stzh-richtext-blockquote-footer-color);
2899
+ color: var(--color);
2847
2900
  /* Font weights */
2848
2901
  /* Coloring */
2849
2902
  /* Fon sizings & Spacings */
@@ -206,7 +206,7 @@ export class StzhSortable {
206
206
  }
207
207
  const total = this.getContainer().children.length;
208
208
  string = string
209
- .replace("{total}", total.toString());
209
+ .replace(/\{total\}/gi, total.toString());
210
210
  this.ariaLiveElement.textContent = string;
211
211
  }
212
212
  getIndexOfSelectedItem(item = this.selectedItem) {
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-sortable.js","sourceRoot":"","sources":["../../../src/components/stzh-sortable/stzh-sortable.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Method,\n Watch,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n\nimport {\n StzhSortableUpdateEvent,\n StzhSortableDisableEvent\n} from \"../../index\";\n\nimport scrollIntoView from \"scroll-into-view-if-needed\";\nimport Sortable from \"../../libraries/sortablejs/sortable.complete.esm.js\";\n\nimport { cloneWrappedStzhElement } from \"../../utils/utils\";\nimport { fetchTranslations } from \"../../utils/translation-utils\";\nimport { StzhSortableLocalizedText } from \"./stzh-sortable.localization\";\n\nconst CLASS_ITEM = 'is-sortable-item';\nconst CLASS_GHOST = \"is-ghost\";\nconst CLASS_SELECTED = \"is-selected\";\nconst CLASS_CHOSEN = \"is-chosen\";\nconst CLASS_DRAG = \"is-drag\";\n\nconst CLASS_PARENT_SELECTED = \"has-item-selected\";\n\nlet sortableCounter = 0;\n\n/**\n * @slot - Slot for any elements\n */\n@Component({\n tag: \"stzh-sortable\",\n styleUrl: \"stzh-sortable.scss\",\n scoped: true\n})\nexport class StzhSortable {\n /** Translation strings. */\n @Prop() localization: StzhSortableLocalizedText;\n\n /** Wether sorting is disabled or not */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** HTML attribute that is used by the `toArray()` method */\n @Prop() dataIdAttribute: string = \"data-id\";\n\n /** Container */\n @Prop() container: HTMLElement | Function = () => {\n return this.containerElement?.firstElementChild;\n }\n\n /** Algorithm how the ghost element will be cloned */\n @Prop() ghostClone: Function = (dragElement: HTMLElement) => {\n const [clonedElement] = cloneWrappedStzhElement(dragElement);\n return clonedElement;\n }\n\n /** Filtered elements that should prevent dragging inside the drag item elements */\n @Prop() filterElements: any[] | string = [\n \"[data-stzh-sortable-filtered]\",\n \"[sortable-disabled]\",\n \"button\",\n \"a[href]\",\n \"input\",\n \"select\",\n \"textarea\",\n \"label\",\n \"iframe\",\n \"details\",\n \"area\",\n \"stzh-sortable\"\n ];\n\n private _filterElements: any[];\n\n @Element() element: HTMLStzhSortableElement;\n\n /** Serializes the sortable's item data-id's (dataIdAttr option) into an array of string */\n @Method()\n async toArray(): Promise<string[]> {\n return this.sortable.toArray();\n }\n\n /** Sorts the elements according to the array */\n @Method()\n async sort(order: String[], useAnimation: boolean = true) {\n return this.sortable.sort(order, useAnimation);\n }\n\n /** Move item */\n @Method()\n\tasync moveItem(item: HTMLElement, direction: \"up\" | \"down\") {\n\t\tif (!item\n || !item.nextElementSibling && direction === \"down\"\n || !item.previousElementSibling && direction === \"up\"\n ) {\n\t\t\treturn;\n\t\t}\n\n this.resetItemOnBlur = false;\n\n if (direction === \"up\") {\n\t\t item.previousElementSibling.before(item);\n } else if (direction === \"down\") {\n\t\t item.nextElementSibling.after(item);\n }\n\n\t\tthis.updateAriaLive(this.localization.moved, item);\n this.focusItem(item);\n\n const currentIndex = Array.from(item.parentElement?.children).indexOf(item)\n\n this.stzhUpdate.emit({\n component: \"stzh-sortable\",\n data: await this.toArray(),\n item,\n newIndex: currentIndex,\n oldIndex: currentIndex + (direction === \"up\" ? 1 : -1)\n });\n\n this.resetItemOnBlur = true;\n\t}\n\n @Watch(\"disabled\")\n disabledWatcher(newValue: boolean) {\n if (newValue) {\n this.setAttributes();\n } else {\n this.unsetAttributes();\n }\n\n this.stzhDisable.emit({\n component: \"stzh-sortable\",\n disabled: newValue\n })\n }\n\n @Watch(\"filterElements\")\n filterElementsWatcher(newValue: any[] | string) {\n if (typeof newValue === \"string\") {\n this._filterElements = JSON.parse(newValue);\n } else {\n this._filterElements = newValue;\n }\n }\n\n /** Update event */\n @Event() stzhUpdate: EventEmitter<StzhSortableUpdateEvent>;\n\n /** Disable event */\n @Event() stzhDisable: EventEmitter<StzhSortableDisableEvent>;\n\n private sortable: Sortable;\n private sortableId: string;\n private containerElement: HTMLElement;\n private ariaLiveElement: HTMLElement;\n private observer: MutationObserver;\n private selectedItem: HTMLElement = null;\n private resetItemOnBlur: boolean = false;\n private lastIndex: number;\n\n private getContainer(): HTMLElement {\n return typeof this.container === \"function\"\n ? this.container()\n : this.container;\n }\n\n\tprivate updateAriaLive(string: string, item: HTMLElement = this.selectedItem) {\n if (!this.getContainer()) {\n return;\n }\n\n\t\tif (item) {\n const title = item.getAttribute(\"aria-label\") || \"\";\n const index = this.getIndexOfSelectedItem(item);\n\n string = string\n .replace(\"{title}\", title)\n .replace(\"{current}\", (index + 1).toString())\n\t\t}\n\n\t\tconst total = this.getContainer().children.length;\n\n\t string = string\n .replace(\"{total}\", total.toString());\n\n this.ariaLiveElement.textContent = string;\n\t}\n\n\tprivate getIndexOfSelectedItem(item: HTMLElement = this.selectedItem) {\n\t\tif (item) {\n return Array.from(item.parentElement.children).indexOf(item);\n\t\t}\n\t}\n\n private resetActiveItem(moveToOriginalPosition: boolean = false) {\n\t\tif (!this.selectedItem) {\n return;\n }\n\n const currentIndex = this.getIndexOfSelectedItem();\n const container = this.selectedItem.parentElement;\n\n if (moveToOriginalPosition && this.lastIndex !== currentIndex) {\n if (this.lastIndex > currentIndex) {\n container.children[this.lastIndex].after(this.selectedItem);\n } else {\n container.children[this.lastIndex].before(this.selectedItem);\n }\n\n this.selectedItem.focus();\n }\n\n container.classList.remove(CLASS_PARENT_SELECTED);\n this.selectedItem.classList.remove(CLASS_SELECTED);\n this.selectedItem = null;\n this.lastIndex = null;\n\t}\n\n private focusItem(item: HTMLElement | null) {\n if (!item) {\n return;\n }\n\n\t\titem.focus();\n\n const flyingfocusElement = document.querySelector('stzh-flyingfocus');\n if (flyingfocusElement) {\n flyingfocusElement.reposition();\n }\n\n scrollIntoView(item, {\n scrollMode: 'if-needed',\n block: 'nearest',\n inline: 'nearest'\n });\n }\n\n private setAttributes() {\n Array.from(this.getContainer().children).forEach((child) => {\n child.classList.add(CLASS_ITEM);\n\n child.addEventListener('blur', this.onBlur);\n child.addEventListener('keydown', this.onKeydown);\n\n child.setAttribute('tabindex', '0');\n child.setAttribute('aria-describedby', `${this.sortableId}-description`);\n });\n }\n\n private unsetAttributes() {\n Array.from(this.getContainer().children).forEach((child) => {\n child.classList.remove(CLASS_ITEM);\n\n child.removeEventListener('blur', this.onBlur);\n child.removeEventListener('keydown', this.onKeydown);\n\n child.removeAttribute('tabindex');\n child.removeAttribute('aria-describedby');\n });\n }\n\n private init = () => {\n if (!this.getContainer() || this.disabled) {\n return;\n }\n\n this.setAttributes()\n }\n\n private updated = async (event?: any) => {\n let newIndex: number;\n let oldIndex: number;\n let item: HTMLElement;\n\n if (event) {\n newIndex = event.newIndex;\n oldIndex = event.oldIndex;\n item = event.item;\n } else {\n newIndex = this.getIndexOfSelectedItem();\n oldIndex = this.lastIndex;\n item = this.selectedItem;\n }\n\n if (newIndex !== oldIndex) {\n this.stzhUpdate.emit({\n component: \"stzh-sortable\",\n data: await this.toArray(),\n item,\n newIndex,\n oldIndex\n });\n }\n }\n\n private onKeydown = (event: KeyboardEvent) => {\n const currentTarget = event.currentTarget as HTMLElement;\n const target = event.target as HTMLElement;\n\n if (!this.getContainer() || this.disabled || currentTarget !== target) {\n return;\n }\n\n // const isFilteredElement = target.matches(this._filterElements.join(', '));\n // if (event.key === \" \" && !isFilteredElement) {\n\n if (event.key === \" \") {\n event.preventDefault();\n\n if (!this.selectedItem) {\n this.selectedItem = currentTarget;\n this.selectedItem.parentElement.classList.add(CLASS_PARENT_SELECTED);\n this.selectedItem.classList.add(CLASS_SELECTED);\n this.lastIndex = this.getIndexOfSelectedItem();\n this.resetItemOnBlur = true;\n this.updateAriaLive(this.localization.started);\n } else {\n this.resetItemOnBlur = false;\n this.updateAriaLive(this.localization.dropped);\n this.updated();\n this.resetActiveItem();\n }\n } else if (event.key === \"Tab\" && this.selectedItem && this.selectedItem === event.currentTarget) {\n event.preventDefault();\n } else if (event.key === \"Escape\" && this.selectedItem) {\n this.resetItemOnBlur = false;\n this.updateAriaLive(this.localization.canceled);\n this.resetActiveItem(true);\n } else if (event.key === \"ArrowUp\") {\n event.preventDefault();\n\n if (this.selectedItem) {\n this.moveItem(this.selectedItem, \"up\");\n } else {\n this.focusItem(currentTarget.previousElementSibling as HTMLElement);\n }\n } else if (event.key === \"ArrowDown\") {\n event.preventDefault();\n\n if (this.selectedItem) {\n this.moveItem(this.selectedItem, \"down\");\n } else {\n this.focusItem(currentTarget.nextElementSibling as HTMLElement);\n }\n }\n }\n\n private onBlur = () => {\n if (this.resetItemOnBlur) {\n this.resetItemOnBlur = false;\n this.updateAriaLive(this.localization.dropped);\n this.updated();\n this.resetActiveItem();\n }\n }\n\n async componentWillLoad() {\n this.sortableId = `stzh-sortable-${sortableCounter++}`;\n this.filterElementsWatcher(this.filterElements);\n\n if (!this.localization) {\n this.localization = await fetchTranslations(this.element, 'sortable');\n }\n }\n\n componentWillUpdate() {\n if (this.sortable) {\n this.sortable.destroy();\n this.sortable = null;\n }\n }\n\n componentDidRender() {\n if (this.sortable) {\n return;\n }\n\n // see available option in https://github.com/SortableJS/Sortable#options\n this.sortable = new Sortable(this.getContainer(), {\n animation: 150,\n filter: this._filterElements.join(', '),\n ghostClass: CLASS_GHOST,\n chosenClass: CLASS_CHOSEN,\n dragClass: CLASS_DRAG,\n dataIdAttr: this.dataIdAttribute,\n preventOnFilter: false,\n forceFallback: true,\n delay: 200,\n delayOnTouchOnly: true,\n disabled: this.disabled,\n ghostClone: this.ghostClone,\n // changed sorting within list\n onUpdate: this.updated\n });\n }\n\n connectedCallback() {\n this.init();\n\n this.observer = new MutationObserver(this.init);\n this.observer.observe(this.element, {\n childList: true,\n subtree: true\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n\n this.unsetAttributes();\n\n if (this.sortable) {\n this.sortable.destroy();\n this.sortable = null;\n }\n }\n\n render() {\n const classes = {\n \"stzh-sortable\": true,\n \"stzh-sortable--disabled\": this.disabled\n };\n\n return (\n <Host>\n <div class={classes}>\n <div\n id={`${this.sortableId}-description`}\n class=\"stzh-sortable__description\"\n >\n {this.localization.description}\n </div>\n\n\t\t <div\n ref={(el) => (this.ariaLiveElement = el as HTMLDivElement)}\n aria-live=\"assertive\"\n class=\"stzh-sortable__aria-live\"\n ></div>\n\n <div\n ref={(el) => (this.containerElement = el as HTMLDivElement)}\n class=\"stzh-sortable__container\"\n >\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"stzh-sortable.js","sourceRoot":"","sources":["../../../src/components/stzh-sortable/stzh-sortable.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Method,\n Watch,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n\nimport {\n StzhSortableUpdateEvent,\n StzhSortableDisableEvent\n} from \"../../index\";\n\nimport scrollIntoView from \"scroll-into-view-if-needed\";\nimport Sortable from \"../../libraries/sortablejs/sortable.complete.esm.js\";\n\nimport { cloneWrappedStzhElement } from \"../../utils/utils\";\nimport { fetchTranslations } from \"../../utils/translation-utils\";\nimport { StzhSortableLocalizedText } from \"./stzh-sortable.localization\";\n\nconst CLASS_ITEM = 'is-sortable-item';\nconst CLASS_GHOST = \"is-ghost\";\nconst CLASS_SELECTED = \"is-selected\";\nconst CLASS_CHOSEN = \"is-chosen\";\nconst CLASS_DRAG = \"is-drag\";\n\nconst CLASS_PARENT_SELECTED = \"has-item-selected\";\n\nlet sortableCounter = 0;\n\n/**\n * @slot - Slot for any elements\n */\n@Component({\n tag: \"stzh-sortable\",\n styleUrl: \"stzh-sortable.scss\",\n scoped: true\n})\nexport class StzhSortable {\n /** Translation strings. */\n @Prop() localization: StzhSortableLocalizedText;\n\n /** Wether sorting is disabled or not */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** HTML attribute that is used by the `toArray()` method */\n @Prop() dataIdAttribute: string = \"data-id\";\n\n /** Container */\n @Prop() container: HTMLElement | Function = () => {\n return this.containerElement?.firstElementChild;\n }\n\n /** Algorithm how the ghost element will be cloned */\n @Prop() ghostClone: Function = (dragElement: HTMLElement) => {\n const [clonedElement] = cloneWrappedStzhElement(dragElement);\n return clonedElement;\n }\n\n /** Filtered elements that should prevent dragging inside the drag item elements */\n @Prop() filterElements: any[] | string = [\n \"[data-stzh-sortable-filtered]\",\n \"[sortable-disabled]\",\n \"button\",\n \"a[href]\",\n \"input\",\n \"select\",\n \"textarea\",\n \"label\",\n \"iframe\",\n \"details\",\n \"area\",\n \"stzh-sortable\"\n ];\n\n private _filterElements: any[];\n\n @Element() element: HTMLStzhSortableElement;\n\n /** Serializes the sortable's item data-id's (dataIdAttr option) into an array of string */\n @Method()\n async toArray(): Promise<string[]> {\n return this.sortable.toArray();\n }\n\n /** Sorts the elements according to the array */\n @Method()\n async sort(order: String[], useAnimation: boolean = true) {\n return this.sortable.sort(order, useAnimation);\n }\n\n /** Move item */\n @Method()\n\tasync moveItem(item: HTMLElement, direction: \"up\" | \"down\") {\n\t\tif (!item\n || !item.nextElementSibling && direction === \"down\"\n || !item.previousElementSibling && direction === \"up\"\n ) {\n\t\t\treturn;\n\t\t}\n\n this.resetItemOnBlur = false;\n\n if (direction === \"up\") {\n item.previousElementSibling.before(item);\n } else if (direction === \"down\") {\n item.nextElementSibling.after(item);\n }\n\n\t\tthis.updateAriaLive(this.localization.moved, item);\n this.focusItem(item);\n\n const currentIndex = Array.from(item.parentElement?.children).indexOf(item)\n\n this.stzhUpdate.emit({\n component: \"stzh-sortable\",\n data: await this.toArray(),\n item,\n newIndex: currentIndex,\n oldIndex: currentIndex + (direction === \"up\" ? 1 : -1)\n });\n\n this.resetItemOnBlur = true;\n\t}\n\n @Watch(\"disabled\")\n disabledWatcher(newValue: boolean) {\n if (newValue) {\n this.setAttributes();\n } else {\n this.unsetAttributes();\n }\n\n this.stzhDisable.emit({\n component: \"stzh-sortable\",\n disabled: newValue\n })\n }\n\n @Watch(\"filterElements\")\n filterElementsWatcher(newValue: any[] | string) {\n if (typeof newValue === \"string\") {\n this._filterElements = JSON.parse(newValue);\n } else {\n this._filterElements = newValue;\n }\n }\n\n /** Update event */\n @Event() stzhUpdate: EventEmitter<StzhSortableUpdateEvent>;\n\n /** Disable event */\n @Event() stzhDisable: EventEmitter<StzhSortableDisableEvent>;\n\n private sortable: Sortable;\n private sortableId: string;\n private containerElement: HTMLElement;\n private ariaLiveElement: HTMLElement;\n private observer: MutationObserver;\n private selectedItem: HTMLElement = null;\n private resetItemOnBlur: boolean = false;\n private lastIndex: number;\n\n private getContainer(): HTMLElement {\n return typeof this.container === \"function\"\n ? this.container()\n : this.container;\n }\n\n\tprivate updateAriaLive(string: string, item: HTMLElement = this.selectedItem) {\n if (!this.getContainer()) {\n return;\n }\n\n\t\tif (item) {\n const title = item.getAttribute(\"aria-label\") || \"\";\n const index = this.getIndexOfSelectedItem(item);\n\n string = string\n .replace(\"{title}\", title)\n .replace(\"{current}\", (index + 1).toString())\n\t\t}\n\n\t\tconst total = this.getContainer().children.length;\n\n string = string\n .replace(/\\{total\\}/gi, total.toString());\n\n this.ariaLiveElement.textContent = string;\n\t}\n\n\tprivate getIndexOfSelectedItem(item: HTMLElement = this.selectedItem) {\n\t\tif (item) {\n return Array.from(item.parentElement.children).indexOf(item);\n\t\t}\n\t}\n\n private resetActiveItem(moveToOriginalPosition: boolean = false) {\n\t\tif (!this.selectedItem) {\n return;\n }\n\n const currentIndex = this.getIndexOfSelectedItem();\n const container = this.selectedItem.parentElement;\n\n if (moveToOriginalPosition && this.lastIndex !== currentIndex) {\n if (this.lastIndex > currentIndex) {\n container.children[this.lastIndex].after(this.selectedItem);\n } else {\n container.children[this.lastIndex].before(this.selectedItem);\n }\n\n this.selectedItem.focus();\n }\n\n container.classList.remove(CLASS_PARENT_SELECTED);\n this.selectedItem.classList.remove(CLASS_SELECTED);\n this.selectedItem = null;\n this.lastIndex = null;\n\t}\n\n private focusItem(item: HTMLElement | null) {\n if (!item) {\n return;\n }\n\n\t\titem.focus();\n\n const flyingfocusElement = document.querySelector('stzh-flyingfocus');\n if (flyingfocusElement) {\n flyingfocusElement.reposition();\n }\n\n scrollIntoView(item, {\n scrollMode: 'if-needed',\n block: 'nearest',\n inline: 'nearest'\n });\n }\n\n private setAttributes() {\n Array.from(this.getContainer().children).forEach((child) => {\n child.classList.add(CLASS_ITEM);\n\n child.addEventListener('blur', this.onBlur);\n child.addEventListener('keydown', this.onKeydown);\n\n child.setAttribute('tabindex', '0');\n child.setAttribute('aria-describedby', `${this.sortableId}-description`);\n });\n }\n\n private unsetAttributes() {\n Array.from(this.getContainer().children).forEach((child) => {\n child.classList.remove(CLASS_ITEM);\n\n child.removeEventListener('blur', this.onBlur);\n child.removeEventListener('keydown', this.onKeydown);\n\n child.removeAttribute('tabindex');\n child.removeAttribute('aria-describedby');\n });\n }\n\n private init = () => {\n if (!this.getContainer() || this.disabled) {\n return;\n }\n\n this.setAttributes()\n }\n\n private updated = async (event?: any) => {\n let newIndex: number;\n let oldIndex: number;\n let item: HTMLElement;\n\n if (event) {\n newIndex = event.newIndex;\n oldIndex = event.oldIndex;\n item = event.item;\n } else {\n newIndex = this.getIndexOfSelectedItem();\n oldIndex = this.lastIndex;\n item = this.selectedItem;\n }\n\n if (newIndex !== oldIndex) {\n this.stzhUpdate.emit({\n component: \"stzh-sortable\",\n data: await this.toArray(),\n item,\n newIndex,\n oldIndex\n });\n }\n }\n\n private onKeydown = (event: KeyboardEvent) => {\n const currentTarget = event.currentTarget as HTMLElement;\n const target = event.target as HTMLElement;\n\n if (!this.getContainer() || this.disabled || currentTarget !== target) {\n return;\n }\n\n // const isFilteredElement = target.matches(this._filterElements.join(', '));\n // if (event.key === \" \" && !isFilteredElement) {\n\n if (event.key === \" \") {\n event.preventDefault();\n\n if (!this.selectedItem) {\n this.selectedItem = currentTarget;\n this.selectedItem.parentElement.classList.add(CLASS_PARENT_SELECTED);\n this.selectedItem.classList.add(CLASS_SELECTED);\n this.lastIndex = this.getIndexOfSelectedItem();\n this.resetItemOnBlur = true;\n this.updateAriaLive(this.localization.started);\n } else {\n this.resetItemOnBlur = false;\n this.updateAriaLive(this.localization.dropped);\n this.updated();\n this.resetActiveItem();\n }\n } else if (event.key === \"Tab\" && this.selectedItem && this.selectedItem === event.currentTarget) {\n event.preventDefault();\n } else if (event.key === \"Escape\" && this.selectedItem) {\n this.resetItemOnBlur = false;\n this.updateAriaLive(this.localization.canceled);\n this.resetActiveItem(true);\n } else if (event.key === \"ArrowUp\") {\n event.preventDefault();\n\n if (this.selectedItem) {\n this.moveItem(this.selectedItem, \"up\");\n } else {\n this.focusItem(currentTarget.previousElementSibling as HTMLElement);\n }\n } else if (event.key === \"ArrowDown\") {\n event.preventDefault();\n\n if (this.selectedItem) {\n this.moveItem(this.selectedItem, \"down\");\n } else {\n this.focusItem(currentTarget.nextElementSibling as HTMLElement);\n }\n }\n }\n\n private onBlur = () => {\n if (this.resetItemOnBlur) {\n this.resetItemOnBlur = false;\n this.updateAriaLive(this.localization.dropped);\n this.updated();\n this.resetActiveItem();\n }\n }\n\n async componentWillLoad() {\n this.sortableId = `stzh-sortable-${sortableCounter++}`;\n this.filterElementsWatcher(this.filterElements);\n\n if (!this.localization) {\n this.localization = await fetchTranslations(this.element, 'sortable');\n }\n }\n\n componentWillUpdate() {\n if (this.sortable) {\n this.sortable.destroy();\n this.sortable = null;\n }\n }\n\n componentDidRender() {\n if (this.sortable) {\n return;\n }\n\n // see available option in https://github.com/SortableJS/Sortable#options\n this.sortable = new Sortable(this.getContainer(), {\n animation: 150,\n filter: this._filterElements.join(', '),\n ghostClass: CLASS_GHOST,\n chosenClass: CLASS_CHOSEN,\n dragClass: CLASS_DRAG,\n dataIdAttr: this.dataIdAttribute,\n preventOnFilter: false,\n forceFallback: true,\n delay: 200,\n delayOnTouchOnly: true,\n disabled: this.disabled,\n ghostClone: this.ghostClone,\n // changed sorting within list\n onUpdate: this.updated\n });\n }\n\n connectedCallback() {\n this.init();\n\n this.observer = new MutationObserver(this.init);\n this.observer.observe(this.element, {\n childList: true,\n subtree: true\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n\n this.unsetAttributes();\n\n if (this.sortable) {\n this.sortable.destroy();\n this.sortable = null;\n }\n }\n\n render() {\n const classes = {\n \"stzh-sortable\": true,\n \"stzh-sortable--disabled\": this.disabled\n };\n\n return (\n <Host>\n <div class={classes}>\n <div\n id={`${this.sortableId}-description`}\n class=\"stzh-sortable__description\"\n >\n {this.localization.description}\n </div>\n\n\t\t <div\n ref={(el) => (this.ariaLiveElement = el as HTMLDivElement)}\n aria-live=\"assertive\"\n class=\"stzh-sortable__aria-live\"\n ></div>\n\n <div\n ref={(el) => (this.containerElement = el as HTMLDivElement)}\n class=\"stzh-sortable__container\"\n >\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -103,12 +103,6 @@
103
103
  --space: var(--stzh-space-default);
104
104
  --around: 0;
105
105
  display: flex;
106
- clear: both;
107
- }
108
- :host::after {
109
- content: "";
110
- display: table;
111
- clear: both;
112
106
  }
113
107
  :host ::slotted(*) {
114
108
  max-width: 100%;
@@ -127,6 +127,7 @@ stzh-table[disable-min-width]:not([disable-min-width=false]) {
127
127
 
128
128
  .stzh-table {
129
129
  /* Has sorted */
130
+ /* Showing list on mikro */
130
131
  /* Scroll left/right shadow variant */
131
132
  }
132
133
  .stzh-table__header {
@@ -203,6 +204,13 @@ stzh-table[disable-min-width]:not([disable-min-width=false]) {
203
204
  overflow-x: auto;
204
205
  max-height: var(--max-height);
205
206
  }
207
+ .stzh-table__pagination-wrapper {
208
+ display: flex;
209
+ justify-content: flex-end;
210
+ }
211
+ .stzh-table__pagination-wrapper:not(:empty) {
212
+ margin-top: var(--stzh-space-medium);
213
+ }
206
214
  .stzh-table__sort-button {
207
215
  font-family: var(--stzh-font-family-heavy);
208
216
  font-weight: var(--stzh-font-weight-heavy);
@@ -374,6 +382,19 @@ td.has-sorted .stzh-table__sort-icon, th.has-sorted .stzh-table__sort-icon {
374
382
  td.has-sorted-desc .stzh-table__sort-icon, th.has-sorted-desc .stzh-table__sort-icon {
375
383
  transform: rotate(180deg);
376
384
  }
385
+ .stzh-table.has-list .stzh-table__outer-wrapper {
386
+ display: none;
387
+ }
388
+ @media screen and (min-width: 600px) {
389
+ .stzh-table.has-list .stzh-table__outer-wrapper {
390
+ display: block;
391
+ }
392
+ }
393
+ @media screen and (min-width: 600px) {
394
+ .stzh-table.has-list .stzh-table__list-wrapper {
395
+ display: none;
396
+ }
397
+ }
377
398
  .stzh-table.has-scroll-left-shadow .stzh-table__outer-wrapper::before, .stzh-table.has-scroll-right-shadow .stzh-table__outer-wrapper::after {
378
399
  opacity: 1;
379
400
  }
@@ -1,5 +1,5 @@
1
1
  import { Host, h } from "@stencil/core";
2
- import { setPropsIfNull } from "../../utils/utils";
2
+ import { setPropsIfNull, hasSlot } from "../../utils/utils";
3
3
  const CLASS_HAS_STICKED = "has-sticked";
4
4
  const CLASS_IS_STICKY_LEFT = "is-sticky-left";
5
5
  const CLASS_IS_STICKY_RIGHT = "is-sticky-right";
@@ -8,6 +8,8 @@ const CLASS_IS_STICKY_RIGHT = "is-sticky-right";
8
8
  * @slot heading - Slot for `stzh-heading`
9
9
  * @slot search - Slot for search `stzh-input` element
10
10
  * @slot action-button - Slot for action `stzh-button` element
11
+ * @slot list - Slot for list element showing on mobile
12
+ * @slot pagination - Slot for action `stzh-pagination` element
11
13
  *
12
14
  * @prop --max-height: Maximum height of table
13
15
  * @prop --min-width: Minium width of table
@@ -133,15 +135,17 @@ export class StzhTable {
133
135
  }
134
136
  }
135
137
  render() {
138
+ const hasList = hasSlot(this.element, "list");
136
139
  const classes = {
137
140
  "stzh-table": true,
138
141
  "is-scrollable": this.isScrollable,
139
142
  "has-scroll-left": this.hasScrollLeft,
140
143
  "has-scroll-right": this.hasScrollRight,
141
144
  "has-scroll-left-shadow": this.hasScrollLeft && this.cellsStickyLeft.length === 0,
142
- "has-scroll-right-shadow": this.hasScrollRight && this.cellsStickyRight.length === 0
145
+ "has-scroll-right-shadow": this.hasScrollRight && this.cellsStickyRight.length === 0,
146
+ "has-list": hasList,
143
147
  };
144
- return (h(Host, null, h("div", { class: classes }, h("div", { class: "stzh-table__header" }, h("div", { class: "stzh-table__heading" }, h("slot", { name: "heading" })), h("div", { class: "stzh-table__sub-header" }, h("div", { class: "stzh-table__search" }, h("slot", { name: "search" })), h("div", { class: "stzh-table__action-button" }, h("slot", { name: "action-button" })))), h("div", { class: "stzh-table__outer-wrapper" }, h("div", { ref: (el) => (this.tableWrapper = el), class: "stzh-table__wrapper", onScroll: this.handleScroll }, h("slot", null))))));
148
+ return (h(Host, null, h("div", { class: classes }, h("div", { class: "stzh-table__header" }, h("div", { class: "stzh-table__heading" }, h("slot", { name: "heading" })), h("div", { class: "stzh-table__sub-header" }, h("div", { class: "stzh-table__search" }, h("slot", { name: "search" })), h("div", { class: "stzh-table__action-button" }, h("slot", { name: "action-button" })))), h("div", { class: "stzh-table__outer-wrapper" }, h("div", { ref: (el) => (this.tableWrapper = el), class: "stzh-table__wrapper", onScroll: this.handleScroll }, h("slot", null))), h("div", { class: "stzh-table__list-wrapper" }, h("slot", { name: "list" })), h("div", { class: "stzh-table__pagination-wrapper" }, h("slot", { name: "pagination" })))));
145
149
  }
146
150
  static get is() { return "stzh-table"; }
147
151
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"stzh-table.js","sourceRoot":"","sources":["../../../src/components/stzh-table/stzh-table.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\n\nimport { setPropsIfNull } from \"../../utils/utils\";\n\nconst CLASS_HAS_STICKED = \"has-sticked\";\nconst CLASS_IS_STICKY_LEFT = \"is-sticky-left\";\nconst CLASS_IS_STICKY_RIGHT = \"is-sticky-right\";\n\n/**\n * @slot - Slot for table element\n * @slot heading - Slot for `stzh-heading`\n * @slot search - Slot for search `stzh-input` element\n * @slot action-button - Slot for action `stzh-button` element\n *\n * @prop --max-height: Maximum height of table\n * @prop --min-width: Minium width of table\n * @prop --cell-padding: Cells padding\n */\n@Component({\n tag: \"stzh-table\",\n styleUrl: \"stzh-table.scss\"\n})\nexport class StzhTable {\n /** Columns that should be sticky on the left side (column indexes separated by comma) */\n @Prop() fixedLeft: number = null;\n\n /** Columns that should be sticky on the right side (column indexes separated by comma) */\n @Prop() fixedRight: number = null;\n\n /**\n * Whether to disable min-width of the table.\n *\n * If `false`, the default `min-width` is `700px`\n * If `true`, the `min-width` is `none`, so the table will try to squeeze down content as much as possible.\n *\n * You can also overwrite the min-width via CSS with the custom property `--min-width`.\n */\n @Prop({ reflect: true }) disableMinWidth: boolean = false;\n\n @State() hasScrollLeft: boolean = false;\n @State() hasScrollRight: boolean = false;\n @State() isScrollable: boolean = false;\n @State() cellsStickyLeft: number[] = [];\n @State() cellsStickyRight: number[] = [];\n\n @Element() element: HTMLStzhTableElement;\n\n @Watch(\"fixedLeft\")\n @Watch(\"fixedRight\")\n fixedCellWatcher() {\n this.updateCellClasses();\n this.updateScrollStates();\n }\n\n private tableWrapper: HTMLDivElement;\n private observer: MutationObserver;\n private debounceScroll: number;\n\n private debounceResize: number;\n private resizeObserver: ResizeObserver;\n\n private updateCellClasses = () => {\n if (!this.tableWrapper) {\n return;\n }\n\n const rows: HTMLTableRowElement[] = Array.from(this.tableWrapper.querySelectorAll(\"tr\"));\n rows.forEach((row: HTMLTableRowElement) => {\n const cells = Array.from(row.children);\n cells.forEach((cell: HTMLTableCellElement, index) => {\n cell.classList.remove(CLASS_IS_STICKY_LEFT);\n cell.classList.remove(CLASS_IS_STICKY_RIGHT);\n\n if (index === this.fixedLeft) {\n cell.classList.add(CLASS_IS_STICKY_LEFT);\n }\n\n if (index === this.fixedRight) {\n cell.classList.add(CLASS_IS_STICKY_RIGHT);\n }\n });\n });\n }\n\n private updateScrollStates = () => {\n if (!this.tableWrapper) {\n return;\n }\n\n const wrapperScrollLeft = this.tableWrapper.scrollLeft;\n const wrapperScrollWidth = this.tableWrapper.scrollWidth;\n const wrapperClientWidth = this.tableWrapper.clientWidth;\n\n this.isScrollable = wrapperScrollWidth > wrapperClientWidth;\n this.hasScrollLeft = wrapperScrollLeft > 0;\n this.hasScrollRight = wrapperScrollLeft < wrapperScrollWidth - wrapperClientWidth;\n\n const rows: HTMLTableRowElement[] = Array.from(this.tableWrapper.querySelectorAll(\"tr\"));\n const firstRow = rows[0];\n\n if (!firstRow) {\n return;\n }\n\n this.cellsStickyLeft = [];\n this.cellsStickyRight = [];\n const cells: Element[] = Array.from(firstRow.children);\n\n cells.forEach((cell: HTMLTableCellElement, index: number) => {\n const offsetLeft = cell.offsetLeft;\n const offsetRight = offsetLeft + cell.offsetWidth;\n\n if (\n this.hasScrollLeft\n && index === this.fixedLeft\n && Math.ceil(wrapperScrollLeft) >= offsetLeft\n ) {\n this.cellsStickyLeft.push(index);\n }\n\n if (\n this.hasScrollRight\n && index === this.fixedRight\n && Math.ceil(wrapperScrollLeft) + wrapperClientWidth <= offsetRight\n ) {\n this.cellsStickyRight.push(index);\n }\n });\n\n rows.forEach((row: HTMLTableRowElement) => {\n const cells = Array.from(row.children);\n cells.forEach((cell: HTMLTableCellElement, index: number) => {\n if (\n this.cellsStickyLeft.indexOf(index) > -1\n || this.cellsStickyRight.indexOf(index) > -1\n ) {\n cell.classList.add(CLASS_HAS_STICKED);\n } else {\n cell.classList.remove(CLASS_HAS_STICKED);\n }\n });\n });\n }\n\n private init = () => {\n const searchInput = this.element.querySelector(\n 'stzh-input[slot=\"search\"], [slot=\"search\"] stzh-input'\n );\n\n if (searchInput) {\n setPropsIfNull(searchInput, {\n size: \"small\"\n } as HTMLStzhInputElement)\n }\n\n this.updateCellClasses();\n this.updateScrollStates();\n }\n\n handleResize = () => {\n if (this.debounceResize) {\n window.cancelAnimationFrame(this.debounceResize);\n }\n\n this.debounceResize = requestAnimationFrame(this.updateScrollStates);\n }\n\n private handleScroll = () => {\n if (this.debounceScroll) {\n window.cancelAnimationFrame(this.debounceScroll);\n }\n\n this.debounceScroll = requestAnimationFrame(this.updateScrollStates);\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 this.resizeObserver = new ResizeObserver(this.handleResize);\n this.resizeObserver.observe(this.element);\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n render() {\n const classes = {\n \"stzh-table\": true,\n \"is-scrollable\": this.isScrollable,\n \"has-scroll-left\": this.hasScrollLeft,\n \"has-scroll-right\": this.hasScrollRight,\n \"has-scroll-left-shadow\": this.hasScrollLeft && this.cellsStickyLeft.length === 0,\n \"has-scroll-right-shadow\": this.hasScrollRight && this.cellsStickyRight.length === 0\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"stzh-table__header\">\n <div class=\"stzh-table__heading\">\n <slot name=\"heading\"></slot>\n </div> \n <div class=\"stzh-table__sub-header\">\n <div class=\"stzh-table__search\">\n <slot name=\"search\"></slot>\n </div>\n <div class=\"stzh-table__action-button\">\n <slot name=\"action-button\"></slot>\n </div>\n </div>\n </div>\n <div class=\"stzh-table__outer-wrapper\">\n <div\n ref={(el) => (this.tableWrapper = el as HTMLDivElement)}\n class=\"stzh-table__wrapper\"\n onScroll={this.handleScroll}\n >\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"stzh-table.js","sourceRoot":"","sources":["../../../src/components/stzh-table/stzh-table.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\n\nimport { setPropsIfNull, hasSlot } from \"../../utils/utils\";\n\nconst CLASS_HAS_STICKED = \"has-sticked\";\nconst CLASS_IS_STICKY_LEFT = \"is-sticky-left\";\nconst CLASS_IS_STICKY_RIGHT = \"is-sticky-right\";\n\n/**\n * @slot - Slot for table element\n * @slot heading - Slot for `stzh-heading`\n * @slot search - Slot for search `stzh-input` element\n * @slot action-button - Slot for action `stzh-button` element\n * @slot list - Slot for list element showing on mobile\n * @slot pagination - Slot for action `stzh-pagination` element\n *\n * @prop --max-height: Maximum height of table\n * @prop --min-width: Minium width of table\n * @prop --cell-padding: Cells padding\n */\n@Component({\n tag: \"stzh-table\",\n styleUrl: \"stzh-table.scss\"\n})\nexport class StzhTable {\n /** Columns that should be sticky on the left side (column indexes separated by comma) */\n @Prop() fixedLeft: number = null;\n\n /** Columns that should be sticky on the right side (column indexes separated by comma) */\n @Prop() fixedRight: number = null;\n\n /**\n * Whether to disable min-width of the table.\n *\n * If `false`, the default `min-width` is `700px`\n * If `true`, the `min-width` is `none`, so the table will try to squeeze down content as much as possible.\n *\n * You can also overwrite the min-width via CSS with the custom property `--min-width`.\n */\n @Prop({ reflect: true }) disableMinWidth: boolean = false;\n\n @State() hasScrollLeft: boolean = false;\n @State() hasScrollRight: boolean = false;\n @State() isScrollable: boolean = false;\n @State() cellsStickyLeft: number[] = [];\n @State() cellsStickyRight: number[] = [];\n\n @Element() element: HTMLStzhTableElement;\n\n @Watch(\"fixedLeft\")\n @Watch(\"fixedRight\")\n fixedCellWatcher() {\n this.updateCellClasses();\n this.updateScrollStates();\n }\n\n private tableWrapper: HTMLDivElement;\n private observer: MutationObserver;\n private debounceScroll: number;\n\n private debounceResize: number;\n private resizeObserver: ResizeObserver;\n\n private updateCellClasses = () => {\n if (!this.tableWrapper) {\n return;\n }\n\n const rows: HTMLTableRowElement[] = Array.from(this.tableWrapper.querySelectorAll(\"tr\"));\n rows.forEach((row: HTMLTableRowElement) => {\n const cells = Array.from(row.children);\n cells.forEach((cell: HTMLTableCellElement, index) => {\n cell.classList.remove(CLASS_IS_STICKY_LEFT);\n cell.classList.remove(CLASS_IS_STICKY_RIGHT);\n\n if (index === this.fixedLeft) {\n cell.classList.add(CLASS_IS_STICKY_LEFT);\n }\n\n if (index === this.fixedRight) {\n cell.classList.add(CLASS_IS_STICKY_RIGHT);\n }\n });\n });\n }\n\n private updateScrollStates = () => {\n if (!this.tableWrapper) {\n return;\n }\n\n const wrapperScrollLeft = this.tableWrapper.scrollLeft;\n const wrapperScrollWidth = this.tableWrapper.scrollWidth;\n const wrapperClientWidth = this.tableWrapper.clientWidth;\n\n this.isScrollable = wrapperScrollWidth > wrapperClientWidth;\n this.hasScrollLeft = wrapperScrollLeft > 0;\n this.hasScrollRight = wrapperScrollLeft < wrapperScrollWidth - wrapperClientWidth;\n\n const rows: HTMLTableRowElement[] = Array.from(this.tableWrapper.querySelectorAll(\"tr\"));\n const firstRow = rows[0];\n\n if (!firstRow) {\n return;\n }\n\n this.cellsStickyLeft = [];\n this.cellsStickyRight = [];\n const cells: Element[] = Array.from(firstRow.children);\n\n cells.forEach((cell: HTMLTableCellElement, index: number) => {\n const offsetLeft = cell.offsetLeft;\n const offsetRight = offsetLeft + cell.offsetWidth;\n\n if (\n this.hasScrollLeft\n && index === this.fixedLeft\n && Math.ceil(wrapperScrollLeft) >= offsetLeft\n ) {\n this.cellsStickyLeft.push(index);\n }\n\n if (\n this.hasScrollRight\n && index === this.fixedRight\n && Math.ceil(wrapperScrollLeft) + wrapperClientWidth <= offsetRight\n ) {\n this.cellsStickyRight.push(index);\n }\n });\n\n rows.forEach((row: HTMLTableRowElement) => {\n const cells = Array.from(row.children);\n cells.forEach((cell: HTMLTableCellElement, index: number) => {\n if (\n this.cellsStickyLeft.indexOf(index) > -1\n || this.cellsStickyRight.indexOf(index) > -1\n ) {\n cell.classList.add(CLASS_HAS_STICKED);\n } else {\n cell.classList.remove(CLASS_HAS_STICKED);\n }\n });\n });\n }\n\n private init = () => {\n const searchInput = this.element.querySelector(\n 'stzh-input[slot=\"search\"], [slot=\"search\"] stzh-input'\n );\n\n if (searchInput) {\n setPropsIfNull(searchInput, {\n size: \"small\"\n } as HTMLStzhInputElement)\n }\n\n this.updateCellClasses();\n this.updateScrollStates();\n }\n\n handleResize = () => {\n if (this.debounceResize) {\n window.cancelAnimationFrame(this.debounceResize);\n }\n\n this.debounceResize = requestAnimationFrame(this.updateScrollStates);\n }\n\n private handleScroll = () => {\n if (this.debounceScroll) {\n window.cancelAnimationFrame(this.debounceScroll);\n }\n\n this.debounceScroll = requestAnimationFrame(this.updateScrollStates);\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 this.resizeObserver = new ResizeObserver(this.handleResize);\n this.resizeObserver.observe(this.element);\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n render() {\n const hasList = hasSlot(this.element, \"list\");\n\n const classes = {\n \"stzh-table\": true,\n \"is-scrollable\": this.isScrollable,\n \"has-scroll-left\": this.hasScrollLeft,\n \"has-scroll-right\": this.hasScrollRight,\n \"has-scroll-left-shadow\": this.hasScrollLeft && this.cellsStickyLeft.length === 0,\n \"has-scroll-right-shadow\": this.hasScrollRight && this.cellsStickyRight.length === 0,\n \"has-list\": hasList,\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"stzh-table__header\">\n <div class=\"stzh-table__heading\">\n <slot name=\"heading\"></slot>\n </div>\n <div class=\"stzh-table__sub-header\">\n <div class=\"stzh-table__search\">\n <slot name=\"search\"></slot>\n </div>\n <div class=\"stzh-table__action-button\">\n <slot name=\"action-button\"></slot>\n </div>\n </div>\n </div>\n <div class=\"stzh-table__outer-wrapper\">\n <div\n ref={(el) => (this.tableWrapper = el as HTMLDivElement)}\n class=\"stzh-table__wrapper\"\n onScroll={this.handleScroll}\n >\n <slot></slot>\n </div>\n </div>\n <div class=\"stzh-table__list-wrapper\">\n <slot name=\"list\"></slot>\n </div>\n <div class=\"stzh-table__pagination-wrapper\">\n <slot name=\"pagination\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}