@public-ui/components 4.3.0-rc.4 → 4.3.0-rc.6

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 (1284) hide show
  1. package/assets/kolicons/kolicons.eot +0 -0
  2. package/assets/kolicons/kolicons.ttf +0 -0
  3. package/assets/kolicons/kolicons.woff +0 -0
  4. package/assets/kolicons/kolicons.woff2 +0 -0
  5. package/assets/kolicons/style.css +6 -6
  6. package/custom-elements.json +41 -35
  7. package/dist/cjs/{Alert-C3sKH6fH.js → Alert-Bv-BrwWN.js} +6 -6
  8. package/dist/cjs/{Alert-C3sKH6fH.js.map → Alert-Bv-BrwWN.js.map} +1 -1
  9. package/dist/cjs/{Collapsible-pITOd-Wu.js → Collapsible-N888YIaY.js} +5 -5
  10. package/dist/cjs/{Collapsible-pITOd-Wu.js.map → Collapsible-N888YIaY.js.map} +1 -1
  11. package/dist/cjs/{CustomSuggestionsOptionsGroup-GrUHZzvD.js → CustomSuggestionsOptionsGroup-Ce_KdNHi.js} +3 -3
  12. package/dist/cjs/{CustomSuggestionsOptionsGroup-GrUHZzvD.js.map → CustomSuggestionsOptionsGroup-Ce_KdNHi.js.map} +1 -1
  13. package/dist/cjs/{FieldControlStateWrapper-Bk7dzX2j.js → FieldControlStateWrapper-Dlk1fdof.js} +9 -9
  14. package/dist/cjs/{FieldControlStateWrapper-Bk7dzX2j.js.map → FieldControlStateWrapper-Dlk1fdof.js.map} +1 -1
  15. package/dist/cjs/{FormFieldStateWrapper-BY2eAAId.js → FormFieldStateWrapper-DG4emSy6.js} +19 -400
  16. package/dist/cjs/FormFieldStateWrapper-DG4emSy6.js.map +1 -0
  17. package/dist/cjs/{Heading-1C9KPhMM.js → Heading-CW1KAWWX.js} +3 -3
  18. package/dist/cjs/{Heading-1C9KPhMM.js.map → Heading-CW1KAWWX.js.map} +1 -1
  19. package/dist/cjs/{Input-zUxsAMDz.js → Input-Cmz65bTo.js} +5 -5
  20. package/dist/cjs/{Input-zUxsAMDz.js.map → Input-Cmz65bTo.js.map} +1 -1
  21. package/dist/cjs/{InputStateWrapper-Dchl4ADe.js → InputStateWrapper-IceSl4Va.js} +6 -6
  22. package/dist/cjs/{InputStateWrapper-Dchl4ADe.js.map → InputStateWrapper-IceSl4Va.js.map} +1 -1
  23. package/dist/cjs/{align-floating-elements-D6-6sVvR.js → align-floating-elements-BJpt40PY.js} +108 -115
  24. package/dist/cjs/align-floating-elements-BJpt40PY.js.map +1 -0
  25. package/dist/cjs/{app-globals-C5g3153O.js → app-globals-Ca-u9rrU.js} +4 -4
  26. package/dist/cjs/{app-globals-C5g3153O.js.map → app-globals-Ca-u9rrU.js.map} +1 -1
  27. package/dist/cjs/{associated.controller-vEJJMkrY.js → associated.controller-BU1y6IQj.js} +3 -3
  28. package/dist/cjs/{associated.controller-vEJJMkrY.js.map → associated.controller-BU1y6IQj.js.map} +1 -1
  29. package/dist/cjs/base-web-component-BPX1rer4.js +29 -0
  30. package/dist/cjs/base-web-component-BPX1rer4.js.map +1 -0
  31. package/dist/cjs/{bootstrap-FrLO4XHb.js → bootstrap-BkSULOGQ.js} +3 -3
  32. package/dist/cjs/{bootstrap-FrLO4XHb.js.map → bootstrap-BkSULOGQ.js.map} +1 -1
  33. package/dist/cjs/common-Bwi0J8Cv.js.map +1 -1
  34. package/dist/cjs/{component-nn9xKYx0.js → component-D2XqZH09.js} +4 -4
  35. package/dist/cjs/{component-nn9xKYx0.js.map → component-D2XqZH09.js.map} +1 -1
  36. package/dist/cjs/{component-DTdxTGTB.js → component-Ds_ZSFId.js} +244 -236
  37. package/dist/cjs/component-Ds_ZSFId.js.map +1 -0
  38. package/dist/cjs/{component-BEMjIhx2.js → component-MHZzZs8b.js} +3 -3
  39. package/dist/cjs/{component-BEMjIhx2.js.map → component-MHZzZs8b.js.map} +1 -1
  40. package/dist/cjs/{component-YafUaiG_.js → component-lcKfLD3W.js} +3 -3
  41. package/dist/cjs/{component-YafUaiG_.js.map → component-lcKfLD3W.js.map} +1 -1
  42. package/dist/cjs/{controller-BXxnJHqT.js → controller-C1na4nXZ.js} +3 -3
  43. package/dist/cjs/{controller-BXxnJHqT.js.map → controller-C1na4nXZ.js.map} +1 -1
  44. package/dist/cjs/{controller-DOOIStgs.js → controller-CU_Kk12B.js} +13 -5
  45. package/dist/cjs/controller-CU_Kk12B.js.map +1 -0
  46. package/dist/cjs/{controller-BM9IR0zx.js → controller-CplkzBYs.js} +9 -21
  47. package/dist/cjs/controller-CplkzBYs.js.map +1 -0
  48. package/dist/cjs/{controller-BCc1b52x.js → controller-_MCMA-7O.js} +3 -3
  49. package/dist/cjs/{controller-BCc1b52x.js.map → controller-_MCMA-7O.js.map} +1 -1
  50. package/dist/cjs/{controller-icon-DRM3vcp_.js → controller-icon-BrREvyH1.js} +6 -6
  51. package/dist/cjs/controller-icon-BrREvyH1.js.map +1 -0
  52. package/dist/cjs/counter-dom-updater-Bm-4DlX7.js +119 -0
  53. package/dist/cjs/counter-dom-updater-Bm-4DlX7.js.map +1 -0
  54. package/dist/cjs/{dev.utils-Dyp3JZWV.js → dev.utils-BqG9VVIl.js} +3 -3
  55. package/dist/cjs/{dev.utils-Dyp3JZWV.js.map → dev.utils-BqG9VVIl.js.map} +1 -1
  56. package/dist/cjs/{devtools-Dcd_hDKV.js → devtools-CRdIaIkv.js} +4 -4
  57. package/dist/cjs/{devtools-Dcd_hDKV.js.map → devtools-CRdIaIkv.js.map} +1 -1
  58. package/dist/cjs/{i18n-tEETJDrM.js → i18n-Cp31h8Qy.js} +3 -3
  59. package/dist/cjs/{i18n-tEETJDrM.js.map → i18n-Cp31h8Qy.js.map} +1 -1
  60. package/dist/cjs/{i18n-D1iTbPTC.js → i18n-c5BjxWQc.js} +18 -12
  61. package/dist/cjs/i18n-c5BjxWQc.js.map +1 -0
  62. package/dist/cjs/{index-BSJggleu.js → index-uy6c1C7T.js} +3 -3
  63. package/dist/cjs/{index-BSJggleu.js.map → index-uy6c1C7T.js.map} +1 -1
  64. package/dist/cjs/index.cjs.js +2 -2
  65. package/dist/cjs/index.cjs.js.map +1 -1
  66. package/dist/cjs/kol-abbr.cjs.entry.js +4 -66
  67. package/dist/cjs/kol-abbr.entry.cjs.js.map +1 -1
  68. package/dist/cjs/kol-accordion.cjs.entry.js +6 -6
  69. package/dist/cjs/kol-alert-wc.cjs.entry.js +7 -7
  70. package/dist/cjs/kol-alert.cjs.entry.js +3 -3
  71. package/dist/cjs/kol-alert.entry.cjs.js.map +1 -1
  72. package/dist/cjs/kol-avatar.cjs.entry.js +18 -17
  73. package/dist/cjs/kol-avatar.entry.cjs.js.map +1 -1
  74. package/dist/cjs/kol-badge.cjs.entry.js +7 -7
  75. package/dist/cjs/kol-breadcrumb.cjs.entry.js +4 -4
  76. package/dist/cjs/kol-button-link.cjs.entry.js +3 -3
  77. package/dist/cjs/kol-button-wc.cjs.entry.js +18 -16
  78. package/dist/cjs/kol-button-wc.entry.cjs.js.map +1 -1
  79. package/dist/cjs/kol-button.cjs.entry.js +3 -4
  80. package/dist/cjs/kol-button.entry.cjs.js.map +1 -1
  81. package/dist/cjs/kol-card-wc.cjs.entry.js +11 -10
  82. package/dist/cjs/kol-card-wc.entry.cjs.js.map +1 -1
  83. package/dist/cjs/kol-card.cjs.entry.js +3 -3
  84. package/dist/cjs/kol-card.entry.cjs.js.map +1 -1
  85. package/dist/cjs/kol-click-button.cjs.entry.js +6 -5
  86. package/dist/cjs/kol-click-button.entry.cjs.js.map +1 -1
  87. package/dist/cjs/kol-combobox.cjs.entry.js +32 -29
  88. package/dist/cjs/kol-combobox.entry.cjs.js.map +1 -1
  89. package/dist/cjs/kol-details.cjs.entry.js +6 -6
  90. package/dist/cjs/kol-details.entry.cjs.js.map +1 -1
  91. package/dist/cjs/kol-dialog-wc.cjs.entry.js +10 -4
  92. package/dist/cjs/kol-dialog-wc.entry.cjs.js.map +1 -1
  93. package/dist/cjs/kol-dialog.cjs.entry.js +3 -3
  94. package/dist/cjs/kol-dialog.entry.cjs.js.map +1 -1
  95. package/dist/cjs/kol-drawer.cjs.entry.js +10 -4
  96. package/dist/cjs/kol-drawer.entry.cjs.js.map +1 -1
  97. package/dist/cjs/kol-form.cjs.entry.js +8 -8
  98. package/dist/cjs/kol-form.entry.cjs.js.map +1 -1
  99. package/dist/cjs/kol-heading.cjs.entry.js +4 -3
  100. package/dist/cjs/kol-heading.entry.cjs.js.map +1 -1
  101. package/dist/cjs/kol-icon.cjs.entry.js +6 -5
  102. package/dist/cjs/kol-icon.entry.cjs.js.map +1 -1
  103. package/dist/cjs/kol-image.cjs.entry.js +6 -5
  104. package/dist/cjs/kol-image.entry.cjs.js.map +1 -1
  105. package/dist/cjs/kol-input-checkbox.cjs.entry.js +24 -23
  106. package/dist/cjs/kol-input-checkbox.entry.cjs.js.map +1 -1
  107. package/dist/cjs/kol-input-color.cjs.entry.js +25 -24
  108. package/dist/cjs/kol-input-color.entry.cjs.js.map +1 -1
  109. package/dist/cjs/kol-input-date.cjs.entry.js +25 -24
  110. package/dist/cjs/kol-input-date.entry.cjs.js.map +1 -1
  111. package/dist/cjs/kol-input-email.cjs.entry.js +52 -31
  112. package/dist/cjs/kol-input-email.entry.cjs.js.map +1 -1
  113. package/dist/cjs/kol-input-file.cjs.entry.js +25 -24
  114. package/dist/cjs/kol-input-file.entry.cjs.js.map +1 -1
  115. package/dist/cjs/kol-input-number.cjs.entry.js +25 -24
  116. package/dist/cjs/kol-input-number.entry.cjs.js.map +1 -1
  117. package/dist/cjs/kol-input-password.cjs.entry.js +50 -29
  118. package/dist/cjs/kol-input-password.entry.cjs.js.map +1 -1
  119. package/dist/cjs/kol-input-radio.cjs.entry.js +25 -24
  120. package/dist/cjs/kol-input-radio.entry.cjs.js.map +1 -1
  121. package/dist/cjs/kol-input-range.cjs.entry.js +25 -24
  122. package/dist/cjs/kol-input-range.entry.cjs.js.map +1 -1
  123. package/dist/cjs/kol-input-text.cjs.entry.js +51 -30
  124. package/dist/cjs/kol-input-text.entry.cjs.js.map +1 -1
  125. package/dist/cjs/kol-kolibri.cjs.entry.js +4 -4
  126. package/dist/cjs/kol-link-button.cjs.entry.js +7 -5
  127. package/dist/cjs/kol-link-button.entry.cjs.js.map +1 -1
  128. package/dist/cjs/kol-link-wc.cjs.entry.js +16 -15
  129. package/dist/cjs/kol-link-wc.entry.cjs.js.map +1 -1
  130. package/dist/cjs/kol-link.cjs.entry.js +3 -3
  131. package/dist/cjs/kol-meter.cjs.entry.js +6 -5
  132. package/dist/cjs/kol-meter.entry.cjs.js.map +1 -1
  133. package/dist/cjs/kol-modal.cjs.entry.js +3 -3
  134. package/dist/cjs/kol-modal.entry.cjs.js.map +1 -1
  135. package/dist/cjs/kol-nav.cjs.entry.js +7 -7
  136. package/dist/cjs/kol-pagination-wc.cjs.entry.js +4 -4
  137. package/dist/cjs/kol-pagination.cjs.entry.js +3 -3
  138. package/dist/cjs/kol-pagination.entry.cjs.js.map +1 -1
  139. package/dist/cjs/kol-popover-button-wc.cjs.entry.js +5 -5
  140. package/dist/cjs/kol-popover-button-wc.entry.cjs.js.map +1 -1
  141. package/dist/cjs/kol-popover-button.cjs.entry.js +3 -3
  142. package/dist/cjs/kol-popover-button.entry.cjs.js.map +1 -1
  143. package/dist/cjs/kol-progress.cjs.entry.js +6 -5
  144. package/dist/cjs/kol-progress.entry.cjs.js.map +1 -1
  145. package/dist/cjs/kol-quote.cjs.entry.js +6 -5
  146. package/dist/cjs/kol-quote.entry.cjs.js.map +1 -1
  147. package/dist/cjs/kol-select-wc.cjs.entry.js +24 -23
  148. package/dist/cjs/kol-select-wc.entry.cjs.js.map +1 -1
  149. package/dist/cjs/kol-select.cjs.entry.js +3 -3
  150. package/dist/cjs/kol-select.entry.cjs.js.map +1 -1
  151. package/dist/cjs/kol-single-select.cjs.entry.js +36 -32
  152. package/dist/cjs/kol-single-select.entry.cjs.js.map +1 -1
  153. package/dist/cjs/kol-skeleton.cjs.entry.js +5 -4
  154. package/dist/cjs/kol-skeleton.entry.cjs.js.map +1 -1
  155. package/dist/cjs/kol-skip-nav.cjs.entry.js +3 -3
  156. package/dist/cjs/kol-spin.cjs.entry.js +6 -5
  157. package/dist/cjs/kol-spin.entry.cjs.js.map +1 -1
  158. package/dist/cjs/kol-split-button.cjs.entry.js +6 -6
  159. package/dist/cjs/kol-split-button.entry.cjs.js.map +1 -1
  160. package/dist/cjs/kol-table-settings-wc.cjs.entry.js +10 -5
  161. package/dist/cjs/kol-table-settings-wc.entry.cjs.js.map +1 -1
  162. package/dist/cjs/kol-table-stateful.cjs.entry.js +5 -5
  163. package/dist/cjs/kol-table-stateful.entry.cjs.js.map +1 -1
  164. package/dist/cjs/kol-table-stateless-wc.cjs.entry.js +13 -13
  165. package/dist/cjs/kol-table-stateless-wc.entry.cjs.js.map +1 -1
  166. package/dist/cjs/kol-table-stateless.cjs.entry.js +3 -3
  167. package/dist/cjs/kol-table-stateless.entry.cjs.js.map +1 -1
  168. package/dist/cjs/kol-tabs.cjs.entry.js +6 -6
  169. package/dist/cjs/kol-textarea.cjs.entry.js +53 -43
  170. package/dist/cjs/kol-textarea.entry.cjs.js.map +1 -1
  171. package/dist/cjs/kol-toast-container.cjs.entry.js +13 -12
  172. package/dist/cjs/kol-toast-container.entry.cjs.js.map +1 -1
  173. package/dist/cjs/kol-toolbar.cjs.entry.js +8 -6
  174. package/dist/cjs/kol-toolbar.entry.cjs.js.map +1 -1
  175. package/dist/cjs/kol-tooltip-wc.cjs.entry.js +12 -11
  176. package/dist/cjs/kol-tooltip-wc.entry.cjs.js.map +1 -1
  177. package/dist/cjs/kol-tree-item-wc.cjs.entry.js +6 -6
  178. package/dist/cjs/kol-tree-item.cjs.entry.js +3 -3
  179. package/dist/cjs/kol-tree-wc.cjs.entry.js +2 -2
  180. package/dist/cjs/kol-tree.cjs.entry.js +2 -2
  181. package/dist/cjs/kol-version.cjs.entry.js +4 -4
  182. package/dist/cjs/kolibri.cjs.js +3 -3
  183. package/dist/cjs/loader.cjs.js +3 -3
  184. package/dist/cjs/scroll-lock-BCh6v3Nm.js +59 -0
  185. package/dist/cjs/scroll-lock-BCh6v3Nm.js.map +1 -0
  186. package/dist/cjs/test-component.cjs.entry.js +1 -1
  187. package/dist/cjs/variant-class-name-CU8UMVYZ.js +53 -0
  188. package/dist/cjs/variant-class-name-CU8UMVYZ.js.map +1 -0
  189. package/dist/cjs/{base-web-component-DP6_UGyy.js → variant-quote-_8qzRt3_.js} +2 -23
  190. package/dist/{esm/base-web-component-BCIMb9gN.js.map → cjs/variant-quote-_8qzRt3_.js.map} +1 -1
  191. package/dist/collection/components/@deprecated/input/controller.js +0 -4
  192. package/dist/collection/components/@deprecated/input/controller.js.map +1 -1
  193. package/dist/collection/components/@else/all/component.js +1 -1
  194. package/dist/collection/components/@else/all/component.js.map +1 -1
  195. package/dist/collection/components/_skeleton/web-components/click-button/component.js +1 -1
  196. package/dist/collection/components/_skeleton/web-components/skeleton/component.js +1 -1
  197. package/dist/collection/components/abbr/component.js +2 -34
  198. package/dist/collection/components/abbr/component.js.map +1 -1
  199. package/dist/collection/components/abbr/style.css +2 -2
  200. package/dist/collection/components/accordion/shadow.js +1 -1
  201. package/dist/collection/components/accordion/style.css +2 -2
  202. package/dist/collection/components/alert/component.js +1 -1
  203. package/dist/collection/components/alert/shadow.js +1 -1
  204. package/dist/collection/components/alert/style.css +3 -2
  205. package/dist/collection/components/avatar/component.js +1 -1
  206. package/dist/collection/components/avatar/style.css +13 -3
  207. package/dist/collection/components/badge/shadow.js +3 -3
  208. package/dist/collection/components/badge/style.css +2 -2
  209. package/dist/collection/components/breadcrumb/shadow.js +1 -1
  210. package/dist/collection/components/breadcrumb/style.css +2 -2
  211. package/dist/collection/components/button/component.js +10 -7
  212. package/dist/collection/components/button/component.js.map +1 -1
  213. package/dist/collection/components/button/shadow.js +6 -8
  214. package/dist/collection/components/button/shadow.js.map +1 -1
  215. package/dist/collection/components/button/style.css +3 -2
  216. package/dist/collection/components/button-link/shadow.js +2 -2
  217. package/dist/collection/components/button-link/style.css +2 -2
  218. package/dist/collection/components/card/component.js +1 -1
  219. package/dist/collection/components/card/shadow.js +1 -1
  220. package/dist/collection/components/card/style.css +3 -2
  221. package/dist/collection/components/combobox/shadow.js +8 -6
  222. package/dist/collection/components/combobox/shadow.js.map +1 -1
  223. package/dist/collection/components/combobox/style.css +4 -3
  224. package/dist/collection/components/details/shadow.js +1 -1
  225. package/dist/collection/components/details/style.css +3 -2
  226. package/dist/collection/components/dialog/component.js +8 -2
  227. package/dist/collection/components/dialog/component.js.map +1 -1
  228. package/dist/collection/components/dialog/shadow.js +1 -1
  229. package/dist/collection/components/dialog/style.css +5 -2
  230. package/dist/collection/components/drawer/shadow.js +7 -1
  231. package/dist/collection/components/drawer/shadow.js.map +1 -1
  232. package/dist/collection/components/drawer/style.css +7 -2
  233. package/dist/collection/components/form/shadow.js +1 -1
  234. package/dist/collection/components/form/style.css +3 -2
  235. package/dist/collection/components/heading/component.js +1 -1
  236. package/dist/collection/components/icon/component.js +1 -1
  237. package/dist/collection/components/icon/style.css +2 -2
  238. package/dist/collection/components/image/component.js +1 -1
  239. package/dist/collection/components/input-checkbox/shadow.js +1 -1
  240. package/dist/collection/components/input-checkbox/style.css +4 -2
  241. package/dist/collection/components/input-color/shadow.js +3 -3
  242. package/dist/collection/components/input-color/style.css +3 -3
  243. package/dist/collection/components/input-date/shadow.js +3 -3
  244. package/dist/collection/components/input-date/style.css +3 -3
  245. package/dist/collection/components/input-email/shadow.js +27 -6
  246. package/dist/collection/components/input-email/shadow.js.map +1 -1
  247. package/dist/collection/components/input-email/style.css +3 -3
  248. package/dist/collection/components/input-file/shadow.js +3 -3
  249. package/dist/collection/components/input-file/style.css +4 -3
  250. package/dist/collection/components/input-number/shadow.js +3 -3
  251. package/dist/collection/components/input-number/style.css +3 -3
  252. package/dist/collection/components/input-password/controller.js +2 -14
  253. package/dist/collection/components/input-password/controller.js.map +1 -1
  254. package/dist/collection/components/input-password/shadow.js +27 -6
  255. package/dist/collection/components/input-password/shadow.js.map +1 -1
  256. package/dist/collection/components/input-password/style.css +3 -3
  257. package/dist/collection/components/input-radio/shadow.js +2 -2
  258. package/dist/collection/components/input-radio/style.css +4 -3
  259. package/dist/collection/components/input-range/shadow.js +2 -2
  260. package/dist/collection/components/input-range/style.css +3 -3
  261. package/dist/collection/components/input-text/shadow.js +28 -7
  262. package/dist/collection/components/input-text/shadow.js.map +1 -1
  263. package/dist/collection/components/input-text/style.css +3 -3
  264. package/dist/collection/components/kolibri/shadow.js +1 -1
  265. package/dist/collection/components/link/component.js +5 -5
  266. package/dist/collection/components/link/component.js.map +1 -1
  267. package/dist/collection/components/link/shadow.js +2 -2
  268. package/dist/collection/components/link/style.css +2 -2
  269. package/dist/collection/components/link-button/shadow.js +36 -7
  270. package/dist/collection/components/link-button/shadow.js.map +1 -1
  271. package/dist/collection/components/link-button/style.css +3 -2
  272. package/dist/collection/components/meter/component.js +1 -1
  273. package/dist/collection/components/modal/shadow.js +1 -1
  274. package/dist/collection/components/modal/style.css +5 -2
  275. package/dist/collection/components/nav/shadow.js +2 -2
  276. package/dist/collection/components/nav/style.css +2 -2
  277. package/dist/collection/components/pagination/shadow.js +1 -1
  278. package/dist/collection/components/pagination/style.css +12 -3
  279. package/dist/collection/components/popover-button/component.js +6 -6
  280. package/dist/collection/components/popover-button/component.js.map +1 -1
  281. package/dist/collection/components/popover-button/shadow.js +5 -5
  282. package/dist/collection/components/popover-button/shadow.js.map +1 -1
  283. package/dist/collection/components/popover-button/style.css +3 -2
  284. package/dist/collection/components/progress/component.js +1 -1
  285. package/dist/collection/components/quote/component.js +1 -1
  286. package/dist/collection/components/select/component.js +3 -3
  287. package/dist/collection/components/select/shadow.js +2 -2
  288. package/dist/collection/components/select/style.css +12 -3
  289. package/dist/collection/components/single-select/shadow.js +11 -8
  290. package/dist/collection/components/single-select/shadow.js.map +1 -1
  291. package/dist/collection/components/single-select/style.css +4 -3
  292. package/dist/collection/components/skip-nav/shadow.js +1 -1
  293. package/dist/collection/components/skip-nav/style.css +2 -2
  294. package/dist/collection/components/spin/component.js +1 -1
  295. package/dist/collection/components/split-button/shadow.js +6 -6
  296. package/dist/collection/components/split-button/shadow.js.map +1 -1
  297. package/dist/collection/components/split-button/style.css +2 -2
  298. package/dist/collection/components/table-stateful/shadow.js +2 -2
  299. package/dist/collection/components/table-stateful/style.css +21 -9
  300. package/dist/collection/components/table-stateless/component.js +7 -7
  301. package/dist/collection/components/table-stateless/component.js.map +1 -1
  302. package/dist/collection/components/table-stateless/shadow.js +2 -2
  303. package/dist/collection/components/table-stateless/style.css +11 -8
  304. package/dist/collection/components/table-stateless/table-settings.js +7 -2
  305. package/dist/collection/components/table-stateless/table-settings.js.map +1 -1
  306. package/dist/collection/components/tabs/shadow.js +2 -2
  307. package/dist/collection/components/tabs/style.css +2 -2
  308. package/dist/collection/components/textarea/controller.js +2 -14
  309. package/dist/collection/components/textarea/controller.js.map +1 -1
  310. package/dist/collection/components/textarea/shadow.js +28 -6
  311. package/dist/collection/components/textarea/shadow.js.map +1 -1
  312. package/dist/collection/components/textarea/style.css +3 -3
  313. package/dist/collection/components/toaster/shadow.js +1 -1
  314. package/dist/collection/components/toaster/style.css +3 -2
  315. package/dist/collection/components/toolbar/shadow.js +6 -3
  316. package/dist/collection/components/toolbar/shadow.js.map +1 -1
  317. package/dist/collection/components/toolbar/style.css +4 -2
  318. package/dist/collection/components/tooltip/component.js +1 -1
  319. package/dist/collection/components/tree/component.js +1 -1
  320. package/dist/collection/components/tree/shadow.js +1 -1
  321. package/dist/collection/components/tree-item/component.js +3 -3
  322. package/dist/collection/components/tree-item/shadow.js +3 -3
  323. package/dist/collection/components/tree-item/style.css +2 -2
  324. package/dist/collection/components/version/shadow.js +1 -1
  325. package/dist/collection/e2e/input-character-limit.js +50 -3
  326. package/dist/collection/e2e/input-character-limit.js.map +1 -1
  327. package/dist/collection/enums/bund.js.map +1 -1
  328. package/dist/collection/functional-component-wrappers/FormFieldStateWrapper/FormFieldStateWrapper.js +5 -15
  329. package/dist/collection/functional-component-wrappers/FormFieldStateWrapper/FormFieldStateWrapper.js.map +1 -1
  330. package/dist/collection/functional-component-wrappers/_helpers/getRenderStates.js +0 -3
  331. package/dist/collection/functional-component-wrappers/_helpers/getRenderStates.js.map +1 -1
  332. package/dist/collection/functional-components/FormField/FormField.js +4 -5
  333. package/dist/collection/functional-components/FormField/FormField.js.map +1 -1
  334. package/dist/collection/functional-components/FormField/counter-utils.js +35 -0
  335. package/dist/collection/functional-components/FormField/counter-utils.js.map +1 -0
  336. package/dist/collection/functional-components/IconButton/IconButton.js.map +1 -1
  337. package/dist/collection/internal/functional-components/abbr/api.js +1 -4
  338. package/dist/collection/internal/functional-components/abbr/api.js.map +1 -1
  339. package/dist/collection/internal/functional-components/tooltip/controller.js +9 -1
  340. package/dist/collection/internal/functional-components/tooltip/controller.js.map +1 -1
  341. package/dist/collection/locales/de.js +8 -5
  342. package/dist/collection/locales/de.js.map +1 -1
  343. package/dist/collection/locales/en.js +8 -5
  344. package/dist/collection/locales/en.js.map +1 -1
  345. package/dist/collection/schema/components/button-link.js.map +1 -1
  346. package/dist/collection/schema/components/button.js.map +1 -1
  347. package/dist/collection/schema/components/input-email.js.map +1 -1
  348. package/dist/collection/schema/components/input-password.js.map +1 -1
  349. package/dist/collection/schema/components/input-text.js.map +1 -1
  350. package/dist/collection/schema/components/link-button.js.map +1 -1
  351. package/dist/collection/schema/components/link.js.map +1 -1
  352. package/dist/collection/schema/components/split-button.js.map +1 -1
  353. package/dist/collection/schema/components/textarea.js.map +1 -1
  354. package/dist/collection/schema/i18n-keys.js.map +1 -1
  355. package/dist/collection/schema/index.js.map +1 -1
  356. package/dist/collection/schema/props/variant-class-name.js +37 -2
  357. package/dist/collection/schema/props/variant-class-name.js.map +1 -1
  358. package/dist/collection/schema/tag-names.js.map +1 -1
  359. package/dist/collection/utils/counter-dom-updater.js +64 -0
  360. package/dist/collection/utils/counter-dom-updater.js.map +1 -0
  361. package/dist/collection/utils/scroll-lock.js +52 -0
  362. package/dist/collection/utils/scroll-lock.js.map +1 -0
  363. package/dist/components/Alert.js +1 -1
  364. package/dist/components/FieldControlStateWrapper.js +2 -2
  365. package/dist/components/access-and-short-key.js +1 -1
  366. package/dist/components/align-floating-elements.js +107 -114
  367. package/dist/components/align-floating-elements.js.map +1 -1
  368. package/dist/components/align.js +2 -2
  369. package/dist/components/aria-details.js +1 -1
  370. package/dist/components/aria-expanded.js +1 -1
  371. package/dist/components/aria-labelledby2.js +1 -1
  372. package/dist/components/associated.controller.js +1 -1
  373. package/dist/components/auto-complete.js +1 -1
  374. package/dist/components/base-web-component.js +1 -10
  375. package/dist/components/base-web-component.js.map +1 -1
  376. package/dist/components/bem-registry.js +1 -1
  377. package/dist/components/bootstrap.js +2 -1
  378. package/dist/components/bootstrap.js.map +1 -1
  379. package/dist/components/color.js +1 -1
  380. package/dist/components/common.js.map +1 -1
  381. package/dist/components/component.js +9149 -5
  382. package/dist/components/component.js.map +1 -1
  383. package/dist/components/component2.js +9 -9137
  384. package/dist/components/component2.js.map +1 -1
  385. package/dist/components/component3.js +4 -11
  386. package/dist/components/component3.js.map +1 -1
  387. package/dist/components/contrast.js +1 -1
  388. package/dist/components/controller-icon.js +3 -3
  389. package/dist/components/controller-icon.js.map +1 -1
  390. package/dist/components/controller.js +13 -5
  391. package/dist/components/controller.js.map +1 -1
  392. package/dist/components/controller2.js +1 -1
  393. package/dist/components/controller3.js +16 -397
  394. package/dist/components/controller3.js.map +1 -1
  395. package/dist/components/controller4.js +2 -2
  396. package/dist/components/controller5.js +1 -1
  397. package/dist/components/controller6.js +4 -16
  398. package/dist/components/controller6.js.map +1 -1
  399. package/dist/components/counter-dom-updater.js +114 -0
  400. package/dist/components/counter-dom-updater.js.map +1 -0
  401. package/dist/components/custom-class.js +1 -1
  402. package/dist/components/dev.utils.js +1 -1
  403. package/dist/components/devtools.js +1 -1
  404. package/dist/components/disabled.js +1 -1
  405. package/dist/components/has-closer.js +1 -1
  406. package/dist/components/hide-label.js +1 -1
  407. package/dist/components/href.js +1 -1
  408. package/dist/components/i18n.js +1 -1
  409. package/dist/components/i18n2.js +16 -10
  410. package/dist/components/i18n2.js.map +1 -1
  411. package/dist/components/icons.js +1 -1
  412. package/dist/components/index.js +4 -2
  413. package/dist/components/index.js.map +1 -1
  414. package/dist/components/index2.js +393 -0
  415. package/dist/components/index2.js.map +1 -0
  416. package/dist/components/inline.js +1 -1
  417. package/dist/components/kol-abbr.js +3 -59
  418. package/dist/components/kol-abbr.js.map +1 -1
  419. package/dist/components/kol-accordion.js +4 -4
  420. package/dist/components/kol-alert-wc.js +3 -3
  421. package/dist/components/kol-alert.js +2 -2
  422. package/dist/components/kol-alert.js.map +1 -1
  423. package/dist/components/kol-avatar.js +16 -15
  424. package/dist/components/kol-avatar.js.map +1 -1
  425. package/dist/components/kol-badge.js +4 -4
  426. package/dist/components/kol-breadcrumb.js +5 -5
  427. package/dist/components/kol-button-link.js +2 -2
  428. package/dist/components/kol-button-wc.js +11 -9
  429. package/dist/components/kol-button-wc.js.map +1 -1
  430. package/dist/components/kol-button.js +2 -3
  431. package/dist/components/kol-button.js.map +1 -1
  432. package/dist/components/kol-card-wc.js +4 -3
  433. package/dist/components/kol-card-wc.js.map +1 -1
  434. package/dist/components/kol-card.js +2 -2
  435. package/dist/components/kol-card.js.map +1 -1
  436. package/dist/components/kol-click-button.js +3 -2
  437. package/dist/components/kol-click-button.js.map +1 -1
  438. package/dist/components/kol-combobox.js +10 -8
  439. package/dist/components/kol-combobox.js.map +1 -1
  440. package/dist/components/kol-details.js +4 -4
  441. package/dist/components/kol-details.js.map +1 -1
  442. package/dist/components/kol-dialog-wc.js +10 -4
  443. package/dist/components/kol-dialog-wc.js.map +1 -1
  444. package/dist/components/kol-dialog.js +2 -2
  445. package/dist/components/kol-dialog.js.map +1 -1
  446. package/dist/components/kol-drawer.js +9 -3
  447. package/dist/components/kol-drawer.js.map +1 -1
  448. package/dist/components/kol-form.js +3 -3
  449. package/dist/components/kol-form.js.map +1 -1
  450. package/dist/components/kol-heading.js +2 -1
  451. package/dist/components/kol-heading.js.map +1 -1
  452. package/dist/components/kol-icon.js +5 -4
  453. package/dist/components/kol-icon.js.map +1 -1
  454. package/dist/components/kol-image.js +3 -2
  455. package/dist/components/kol-image.js.map +1 -1
  456. package/dist/components/kol-input-checkbox.js +4 -4
  457. package/dist/components/kol-input-checkbox.js.map +1 -1
  458. package/dist/components/kol-input-color.js +3 -3
  459. package/dist/components/kol-input-color.js.map +1 -1
  460. package/dist/components/kol-input-date.js +3 -3
  461. package/dist/components/kol-input-date.js.map +1 -1
  462. package/dist/components/kol-input-email.js +26 -6
  463. package/dist/components/kol-input-email.js.map +1 -1
  464. package/dist/components/kol-input-file.js +3 -3
  465. package/dist/components/kol-input-file.js.map +1 -1
  466. package/dist/components/kol-input-number.js +5 -4
  467. package/dist/components/kol-input-number.js.map +1 -1
  468. package/dist/components/kol-input-password.js +27 -6
  469. package/dist/components/kol-input-password.js.map +1 -1
  470. package/dist/components/kol-input-radio.js +2 -2
  471. package/dist/components/kol-input-range.js +2 -2
  472. package/dist/components/kol-input-range.js.map +1 -1
  473. package/dist/components/kol-input-text.js +26 -5
  474. package/dist/components/kol-input-text.js.map +1 -1
  475. package/dist/components/kol-kolibri.js +2 -2
  476. package/dist/components/kol-link-button.js +7 -3
  477. package/dist/components/kol-link-button.js.map +1 -1
  478. package/dist/components/kol-link-wc.js +9 -9
  479. package/dist/components/kol-link-wc.js.map +1 -1
  480. package/dist/components/kol-link.js +2 -2
  481. package/dist/components/kol-meter.js +3 -2
  482. package/dist/components/kol-meter.js.map +1 -1
  483. package/dist/components/kol-modal.js +2 -2
  484. package/dist/components/kol-modal.js.map +1 -1
  485. package/dist/components/kol-nav.js +5 -5
  486. package/dist/components/kol-pagination-wc.js +2 -2
  487. package/dist/components/kol-pagination.js +2 -2
  488. package/dist/components/kol-pagination.js.map +1 -1
  489. package/dist/components/kol-popover-button-wc.js +3 -3
  490. package/dist/components/kol-popover-button-wc.js.map +1 -1
  491. package/dist/components/kol-popover-button.js +2 -2
  492. package/dist/components/kol-popover-button.js.map +1 -1
  493. package/dist/components/kol-progress.js +3 -2
  494. package/dist/components/kol-progress.js.map +1 -1
  495. package/dist/components/kol-quote.js +4 -3
  496. package/dist/components/kol-quote.js.map +1 -1
  497. package/dist/components/kol-select-wc.js +3 -3
  498. package/dist/components/kol-select.js +2 -2
  499. package/dist/components/kol-select.js.map +1 -1
  500. package/dist/components/kol-single-select.js +13 -10
  501. package/dist/components/kol-single-select.js.map +1 -1
  502. package/dist/components/kol-skeleton.js +2 -1
  503. package/dist/components/kol-skeleton.js.map +1 -1
  504. package/dist/components/kol-skip-nav.js +3 -3
  505. package/dist/components/kol-spin.js +3 -2
  506. package/dist/components/kol-spin.js.map +1 -1
  507. package/dist/components/kol-split-button.js +3 -3
  508. package/dist/components/kol-split-button.js.map +1 -1
  509. package/dist/components/kol-table-settings-wc.js +7 -2
  510. package/dist/components/kol-table-settings-wc.js.map +1 -1
  511. package/dist/components/kol-table-stateful.js +4 -4
  512. package/dist/components/kol-table-stateful.js.map +1 -1
  513. package/dist/components/kol-table-stateless-wc.js +10 -10
  514. package/dist/components/kol-table-stateless-wc.js.map +1 -1
  515. package/dist/components/kol-table-stateless.js +2 -2
  516. package/dist/components/kol-table-stateless.js.map +1 -1
  517. package/dist/components/kol-tabs.js +5 -5
  518. package/dist/components/kol-textarea.js +31 -22
  519. package/dist/components/kol-textarea.js.map +1 -1
  520. package/dist/components/kol-toast-container.js +4 -3
  521. package/dist/components/kol-toast-container.js.map +1 -1
  522. package/dist/components/kol-toolbar.js +9 -6
  523. package/dist/components/kol-toolbar.js.map +1 -1
  524. package/dist/components/kol-tooltip-wc.js +2 -2
  525. package/dist/components/kol-tree-item-wc.js +6 -6
  526. package/dist/components/kol-tree-item.js +2 -2
  527. package/dist/components/kol-tree-wc.js +2 -2
  528. package/dist/components/kol-tree.js +1 -1
  529. package/dist/components/kol-version.js +2 -2
  530. package/dist/components/label.js +37 -3
  531. package/dist/components/label.js.map +1 -1
  532. package/dist/components/label2.js +3 -37
  533. package/dist/components/label2.js.map +1 -1
  534. package/dist/components/multiple.js +1 -1
  535. package/dist/components/open.js +1 -1
  536. package/dist/components/orientation.js +1 -1
  537. package/dist/components/placeholder.js +1 -1
  538. package/dist/components/prop.validators.js +2 -386
  539. package/dist/components/prop.validators.js.map +1 -1
  540. package/dist/components/read-only.js +1 -1
  541. package/dist/components/required.js +1 -1
  542. package/dist/components/rows.js +1 -1
  543. package/dist/components/scroll-lock.js +56 -0
  544. package/dist/components/scroll-lock.js.map +1 -0
  545. package/dist/components/spell-check.js +1 -1
  546. package/dist/components/suggestions.js +1 -1
  547. package/dist/components/table-selection.js +1 -1
  548. package/dist/components/tooltip-align.js +1 -1
  549. package/dist/components/validation.js +1 -1
  550. package/dist/components/validation2.js +1 -1
  551. package/dist/components/variant-class-name.js +39 -4
  552. package/dist/components/variant-class-name.js.map +1 -1
  553. package/dist/components/variant-quote.js +17 -0
  554. package/dist/components/variant-quote.js.map +1 -0
  555. package/dist/esm/{Alert-CDMIORKT.js → Alert-CVh_XwxH.js} +7 -7
  556. package/dist/{kolibri/Alert-CDMIORKT.js.map → esm/Alert-CVh_XwxH.js.map} +1 -1
  557. package/dist/esm/{Collapsible-DtuJQvwp.js → Collapsible-Cy_Z7SX6.js} +5 -5
  558. package/dist/{kolibri/Collapsible-DtuJQvwp.js.map → esm/Collapsible-Cy_Z7SX6.js.map} +1 -1
  559. package/dist/esm/{CustomSuggestionsOptionsGroup--mghyiMp.js → CustomSuggestionsOptionsGroup-2QjXZ-dA.js} +3 -3
  560. package/dist/esm/{CustomSuggestionsOptionsGroup--mghyiMp.js.map → CustomSuggestionsOptionsGroup-2QjXZ-dA.js.map} +1 -1
  561. package/dist/esm/{FieldControlStateWrapper-Cy4bcY-0.js → FieldControlStateWrapper-BY46U1nq.js} +10 -10
  562. package/dist/{kolibri/FieldControlStateWrapper-Cy4bcY-0.js.map → esm/FieldControlStateWrapper-BY46U1nq.js.map} +1 -1
  563. package/dist/esm/{FormFieldStateWrapper-CzAJHBpQ.js → FormFieldStateWrapper-DFV1TBk5.js} +26 -407
  564. package/dist/esm/FormFieldStateWrapper-DFV1TBk5.js.map +1 -0
  565. package/dist/esm/{Heading-BMhJ1aE8.js → Heading-BKIw2hie.js} +3 -3
  566. package/dist/esm/{Heading-BMhJ1aE8.js.map → Heading-BKIw2hie.js.map} +1 -1
  567. package/dist/esm/{Input-DriVWOdX.js → Input-B4nV0JRw.js} +6 -6
  568. package/dist/{kolibri/Input-DriVWOdX.js.map → esm/Input-B4nV0JRw.js.map} +1 -1
  569. package/dist/esm/{InputStateWrapper-C3m_HOWP.js → InputStateWrapper-Cjv8q51E.js} +6 -6
  570. package/dist/esm/{InputStateWrapper-C3m_HOWP.js.map → InputStateWrapper-Cjv8q51E.js.map} +1 -1
  571. package/dist/esm/{access-and-short-key-DzjVTrop.js → access-and-short-key-Mj1AS76I.js} +3 -3
  572. package/dist/esm/{access-and-short-key-DzjVTrop.js.map → access-and-short-key-Mj1AS76I.js.map} +1 -1
  573. package/dist/esm/{align-BdqBkiyq.js → align-DpNc6EKs.js} +3 -3
  574. package/dist/esm/{align-BdqBkiyq.js.map → align-DpNc6EKs.js.map} +1 -1
  575. package/dist/esm/{align-floating-elements-Xqbu3THH.js → align-floating-elements-BgsKEL5o.js} +109 -116
  576. package/dist/esm/align-floating-elements-BgsKEL5o.js.map +1 -0
  577. package/dist/esm/{app-globals-BvjPeqd4.js → app-globals-DBooI_-E.js} +5 -5
  578. package/dist/{kolibri/app-globals-BvjPeqd4.js.map → esm/app-globals-DBooI_-E.js.map} +1 -1
  579. package/dist/esm/{aria-details-Ddidnfeo.js → aria-details-8nY2-PPr.js} +3 -3
  580. package/dist/esm/{aria-details-Ddidnfeo.js.map → aria-details-8nY2-PPr.js.map} +1 -1
  581. package/dist/esm/{aria-expanded-uRdi7H40.js → aria-expanded-Dhj90G4z.js} +3 -3
  582. package/dist/{kolibri/aria-expanded-uRdi7H40.js.map → esm/aria-expanded-Dhj90G4z.js.map} +1 -1
  583. package/dist/esm/{aria-labelledby-c6050AJw.js → aria-labelledby-bKQGdIef.js} +3 -3
  584. package/dist/esm/{aria-labelledby-c6050AJw.js.map → aria-labelledby-bKQGdIef.js.map} +1 -1
  585. package/dist/esm/{associated.controller-yo_yku-m.js → associated.controller-CKYHZabJ.js} +5 -5
  586. package/dist/esm/{associated.controller-yo_yku-m.js.map → associated.controller-CKYHZabJ.js.map} +1 -1
  587. package/dist/esm/{auto-complete-CyU7zRoT.js → auto-complete-Bnrpv_sN.js} +3 -3
  588. package/dist/esm/{auto-complete-CyU7zRoT.js.map → auto-complete-Bnrpv_sN.js.map} +1 -1
  589. package/dist/esm/base-web-component-BT6jbe_v.js +27 -0
  590. package/dist/esm/base-web-component-BT6jbe_v.js.map +1 -0
  591. package/dist/esm/{bem-registry-BRfTMZf0.js → bem-registry-Coj2Hlbo.js} +3 -3
  592. package/dist/{kolibri/bem-registry-BRfTMZf0.js.map → esm/bem-registry-Coj2Hlbo.js.map} +1 -1
  593. package/dist/esm/{bootstrap-wNRvSYNh.js → bootstrap-DZ17-oRV.js} +4 -4
  594. package/dist/esm/{bootstrap-wNRvSYNh.js.map → bootstrap-DZ17-oRV.js.map} +1 -1
  595. package/dist/esm/{color-CcMLxnr8.js → color-DD2KwGHA.js} +4 -4
  596. package/dist/{kolibri/color-CcMLxnr8.js.map → esm/color-DD2KwGHA.js.map} +1 -1
  597. package/dist/esm/{common-Cbb6Axov.js → common-D5l8QiaY.js} +3 -3
  598. package/dist/esm/common-D5l8QiaY.js.map +1 -0
  599. package/dist/esm/{component-BRDkSTlQ.js → component-8mzKPFWl.js} +4 -4
  600. package/dist/esm/{component-BRDkSTlQ.js.map → component-8mzKPFWl.js.map} +1 -1
  601. package/dist/esm/{component-zND7vT6D.js → component-BG44r5Mq.js} +246 -238
  602. package/dist/esm/component-BG44r5Mq.js.map +1 -0
  603. package/dist/esm/{component-Cs0XGawJ.js → component-CCQEFb4H.js} +4 -4
  604. package/dist/esm/{component-Cs0XGawJ.js.map → component-CCQEFb4H.js.map} +1 -1
  605. package/dist/esm/{component-Cb4Q3Ugv.js → component-DzpPAOzx.js} +4 -4
  606. package/dist/esm/{component-Cb4Q3Ugv.js.map → component-DzpPAOzx.js.map} +1 -1
  607. package/dist/esm/{contrast-D_ZImOya.js → contrast-CnVYN_kl.js} +3 -3
  608. package/dist/esm/{contrast-D_ZImOya.js.map → contrast-CnVYN_kl.js.map} +1 -1
  609. package/dist/esm/{controller-DxuhZW4e.js → controller-BCZEcGnd.js} +7 -7
  610. package/dist/{kolibri/controller-DxuhZW4e.js.map → esm/controller-BCZEcGnd.js.map} +1 -1
  611. package/dist/esm/{controller-CEfRBHwg.js → controller-CE9LAI82.js} +12 -24
  612. package/dist/esm/controller-CE9LAI82.js.map +1 -0
  613. package/dist/esm/{controller-9xFQ1gbO.js → controller-CY_VvCRp.js} +3 -3
  614. package/dist/{kolibri/controller-9xFQ1gbO.js.map → esm/controller-CY_VvCRp.js.map} +1 -1
  615. package/dist/esm/{controller-BUTW5QfH.js → controller-DV0N3zXZ.js} +17 -9
  616. package/dist/esm/controller-DV0N3zXZ.js.map +1 -0
  617. package/dist/esm/{controller-WW7N9g3J.js → controller-iY_1YW2P.js} +6 -6
  618. package/dist/esm/{controller-WW7N9g3J.js.map → controller-iY_1YW2P.js.map} +1 -1
  619. package/dist/esm/{controller-icon-56ZCmjmo.js → controller-icon-CQmlbwLY.js} +8 -8
  620. package/dist/esm/controller-icon-CQmlbwLY.js.map +1 -0
  621. package/dist/esm/counter-dom-updater-DbyoBkbs.js +114 -0
  622. package/dist/esm/counter-dom-updater-DbyoBkbs.js.map +1 -0
  623. package/dist/esm/{custom-class-BeMzLrHQ.js → custom-class-C1NlV4ea.js} +3 -3
  624. package/dist/esm/{custom-class-BeMzLrHQ.js.map → custom-class-C1NlV4ea.js.map} +1 -1
  625. package/dist/esm/{dev.utils-JsUkUKLF.js → dev.utils-BXf9h7MR.js} +4 -4
  626. package/dist/esm/{dev.utils-JsUkUKLF.js.map → dev.utils-BXf9h7MR.js.map} +1 -1
  627. package/dist/esm/{devtools-B5kpdEO2.js → devtools-DhAP1aCO.js} +5 -5
  628. package/dist/esm/{devtools-B5kpdEO2.js.map → devtools-DhAP1aCO.js.map} +1 -1
  629. package/dist/esm/{disabled-DfW4ft-F.js → disabled-BcXSZaDo.js} +3 -3
  630. package/dist/esm/{disabled-DfW4ft-F.js.map → disabled-BcXSZaDo.js.map} +1 -1
  631. package/dist/esm/{has-closer-BHa3nc5C.js → has-closer-BOCpdSna.js} +3 -3
  632. package/dist/esm/{has-closer-BHa3nc5C.js.map → has-closer-BOCpdSna.js.map} +1 -1
  633. package/dist/esm/{hide-label-BDwvU6I8.js → hide-label-B9ipEhG8.js} +3 -3
  634. package/dist/esm/{hide-label-BDwvU6I8.js.map → hide-label-B9ipEhG8.js.map} +1 -1
  635. package/dist/esm/{href-CepakdI3.js → href-CwoWT6cU.js} +3 -3
  636. package/dist/esm/{href-CepakdI3.js.map → href-CwoWT6cU.js.map} +1 -1
  637. package/dist/esm/{i18n-CcjZRTxD.js → i18n-BsXYYo8j.js} +4 -4
  638. package/dist/esm/{i18n-CcjZRTxD.js.map → i18n-BsXYYo8j.js.map} +1 -1
  639. package/dist/esm/{i18n-CMA39edx.js → i18n-CoO4-0na.js} +18 -12
  640. package/dist/esm/i18n-CoO4-0na.js.map +1 -0
  641. package/dist/esm/{icons-BGkS8g2K.js → icons-BX75HD_Y.js} +3 -3
  642. package/dist/{kolibri/icons-BGkS8g2K.js.map → esm/icons-BX75HD_Y.js.map} +1 -1
  643. package/dist/esm/{index-Dabxza7-.js → index-C5dCp7IP.js} +4 -4
  644. package/dist/esm/{index-Dabxza7-.js.map → index-C5dCp7IP.js.map} +1 -1
  645. package/dist/esm/index.js +6 -6
  646. package/dist/esm/index.js.map +1 -1
  647. package/dist/esm/{inline-CEIVpydv.js → inline-W0JvHnyJ.js} +3 -3
  648. package/dist/esm/{inline-CEIVpydv.js.map → inline-W0JvHnyJ.js.map} +1 -1
  649. package/dist/esm/kol-abbr.entry.js +5 -67
  650. package/dist/esm/kol-abbr.entry.js.map +1 -1
  651. package/dist/esm/kol-accordion.entry.js +13 -13
  652. package/dist/esm/kol-alert-wc.entry.js +14 -14
  653. package/dist/esm/kol-alert.entry.js +4 -4
  654. package/dist/esm/kol-alert.entry.js.map +1 -1
  655. package/dist/esm/kol-avatar.entry.js +24 -23
  656. package/dist/esm/kol-avatar.entry.js.map +1 -1
  657. package/dist/esm/kol-badge.entry.js +12 -12
  658. package/dist/esm/kol-breadcrumb.entry.js +9 -9
  659. package/dist/esm/kol-button-link.entry.js +4 -4
  660. package/dist/esm/kol-button-wc.entry.js +34 -32
  661. package/dist/esm/kol-button-wc.entry.js.map +1 -1
  662. package/dist/esm/kol-button.entry.js +4 -5
  663. package/dist/esm/kol-button.entry.js.map +1 -1
  664. package/dist/esm/kol-card-wc.entry.js +18 -17
  665. package/dist/esm/kol-card-wc.entry.js.map +1 -1
  666. package/dist/esm/kol-card.entry.js +4 -4
  667. package/dist/esm/kol-card.entry.js.map +1 -1
  668. package/dist/esm/kol-click-button.entry.js +9 -8
  669. package/dist/esm/kol-click-button.entry.js.map +1 -1
  670. package/dist/esm/kol-combobox.entry.js +45 -42
  671. package/dist/esm/kol-combobox.entry.js.map +1 -1
  672. package/dist/esm/kol-details.entry.js +13 -13
  673. package/dist/esm/kol-details.entry.js.map +1 -1
  674. package/dist/esm/kol-dialog-wc.entry.js +15 -9
  675. package/dist/esm/kol-dialog-wc.entry.js.map +1 -1
  676. package/dist/esm/kol-dialog.entry.js +4 -4
  677. package/dist/esm/kol-dialog.entry.js.map +1 -1
  678. package/dist/esm/kol-drawer.entry.js +18 -12
  679. package/dist/esm/kol-drawer.entry.js.map +1 -1
  680. package/dist/esm/kol-form.entry.js +10 -10
  681. package/dist/esm/kol-form.entry.js.map +1 -1
  682. package/dist/esm/kol-heading.entry.js +7 -6
  683. package/dist/esm/kol-heading.entry.js.map +1 -1
  684. package/dist/esm/kol-icon.entry.js +10 -9
  685. package/dist/esm/kol-icon.entry.js.map +1 -1
  686. package/dist/esm/kol-image.entry.js +7 -6
  687. package/dist/esm/kol-image.entry.js.map +1 -1
  688. package/dist/esm/kol-input-checkbox.entry.js +37 -36
  689. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  690. package/dist/esm/kol-input-color.entry.js +38 -37
  691. package/dist/esm/kol-input-color.entry.js.map +1 -1
  692. package/dist/esm/kol-input-date.entry.js +40 -39
  693. package/dist/esm/kol-input-date.entry.js.map +1 -1
  694. package/dist/esm/kol-input-email.entry.js +69 -48
  695. package/dist/esm/kol-input-email.entry.js.map +1 -1
  696. package/dist/esm/kol-input-file.entry.js +37 -36
  697. package/dist/esm/kol-input-file.entry.js.map +1 -1
  698. package/dist/esm/kol-input-number.entry.js +41 -40
  699. package/dist/esm/kol-input-number.entry.js.map +1 -1
  700. package/dist/esm/kol-input-password.entry.js +65 -44
  701. package/dist/esm/kol-input-password.entry.js.map +1 -1
  702. package/dist/esm/kol-input-radio.entry.js +37 -36
  703. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  704. package/dist/esm/kol-input-range.entry.js +38 -37
  705. package/dist/esm/kol-input-range.entry.js.map +1 -1
  706. package/dist/esm/kol-input-text.entry.js +68 -47
  707. package/dist/esm/kol-input-text.entry.js.map +1 -1
  708. package/dist/esm/kol-kolibri.entry.js +7 -7
  709. package/dist/esm/kol-link-button.entry.js +7 -5
  710. package/dist/esm/kol-link-button.entry.js.map +1 -1
  711. package/dist/esm/kol-link-wc.entry.js +30 -29
  712. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  713. package/dist/esm/kol-link.entry.js +4 -4
  714. package/dist/esm/kol-meter.entry.js +10 -9
  715. package/dist/esm/kol-meter.entry.js.map +1 -1
  716. package/dist/esm/kol-modal.entry.js +4 -4
  717. package/dist/esm/kol-modal.entry.js.map +1 -1
  718. package/dist/esm/kol-nav.entry.js +12 -12
  719. package/dist/esm/kol-pagination-wc.entry.js +10 -10
  720. package/dist/esm/kol-pagination.entry.js +4 -4
  721. package/dist/esm/kol-pagination.entry.js.map +1 -1
  722. package/dist/esm/kol-popover-button-wc.entry.js +8 -8
  723. package/dist/esm/kol-popover-button-wc.entry.js.map +1 -1
  724. package/dist/esm/kol-popover-button.entry.js +4 -4
  725. package/dist/esm/kol-popover-button.entry.js.map +1 -1
  726. package/dist/esm/kol-progress.entry.js +10 -9
  727. package/dist/esm/kol-progress.entry.js.map +1 -1
  728. package/dist/esm/kol-quote.entry.js +8 -7
  729. package/dist/esm/kol-quote.entry.js.map +1 -1
  730. package/dist/esm/kol-select-wc.entry.js +39 -38
  731. package/dist/esm/kol-select-wc.entry.js.map +1 -1
  732. package/dist/esm/kol-select.entry.js +5 -5
  733. package/dist/esm/kol-select.entry.js.map +1 -1
  734. package/dist/esm/kol-single-select.entry.js +49 -45
  735. package/dist/esm/kol-single-select.entry.js.map +1 -1
  736. package/dist/esm/kol-skeleton.entry.js +8 -7
  737. package/dist/esm/kol-skeleton.entry.js.map +1 -1
  738. package/dist/esm/kol-skip-nav.entry.js +7 -7
  739. package/dist/esm/kol-spin.entry.js +9 -8
  740. package/dist/esm/kol-spin.entry.js.map +1 -1
  741. package/dist/esm/kol-split-button.entry.js +7 -7
  742. package/dist/esm/kol-split-button.entry.js.map +1 -1
  743. package/dist/esm/kol-table-settings-wc.entry.js +11 -6
  744. package/dist/esm/kol-table-settings-wc.entry.js.map +1 -1
  745. package/dist/esm/kol-table-stateful.entry.js +9 -9
  746. package/dist/esm/kol-table-stateful.entry.js.map +1 -1
  747. package/dist/esm/kol-table-stateless-wc.entry.js +17 -17
  748. package/dist/esm/kol-table-stateless-wc.entry.js.map +1 -1
  749. package/dist/esm/kol-table-stateless.entry.js +5 -5
  750. package/dist/esm/kol-table-stateless.entry.js.map +1 -1
  751. package/dist/esm/kol-tabs.entry.js +9 -9
  752. package/dist/esm/kol-textarea.entry.js +66 -56
  753. package/dist/esm/kol-textarea.entry.js.map +1 -1
  754. package/dist/esm/kol-toast-container.entry.js +16 -15
  755. package/dist/esm/kol-toast-container.entry.js.map +1 -1
  756. package/dist/esm/kol-toolbar.entry.js +10 -8
  757. package/dist/esm/kol-toolbar.entry.js.map +1 -1
  758. package/dist/esm/kol-tooltip-wc.entry.js +16 -15
  759. package/dist/esm/kol-tooltip-wc.entry.js.map +1 -1
  760. package/dist/esm/kol-tree-item-wc.entry.js +11 -11
  761. package/dist/esm/kol-tree-item.entry.js +4 -4
  762. package/dist/esm/kol-tree-wc.entry.js +4 -4
  763. package/dist/esm/kol-tree.entry.js +3 -3
  764. package/dist/esm/kol-version.entry.js +6 -6
  765. package/dist/esm/kolibri.js +5 -5
  766. package/dist/esm/{label-We78Dt9U.js → label-Ftw1VCQG.js} +3 -3
  767. package/dist/{kolibri/label-We78Dt9U.js.map → esm/label-Ftw1VCQG.js.map} +1 -1
  768. package/dist/esm/{label-BwPy2Jd4.js → label-RX8TPr4R.js} +3 -3
  769. package/dist/esm/{label-BwPy2Jd4.js.map → label-RX8TPr4R.js.map} +1 -1
  770. package/dist/esm/{level-DRQEJIoR.js → level-At6QFNwQ.js} +3 -3
  771. package/dist/esm/{level-DRQEJIoR.js.map → level-At6QFNwQ.js.map} +1 -1
  772. package/dist/esm/loader.js +5 -5
  773. package/dist/esm/{multiple-wlinUB8P.js → multiple-BZH-f6A7.js} +3 -3
  774. package/dist/esm/{multiple-wlinUB8P.js.map → multiple-BZH-f6A7.js.map} +1 -1
  775. package/dist/esm/{normalizers-iLdS6AQE.js → normalizers-Dmgd1cXp.js} +3 -3
  776. package/dist/{kolibri/normalizers-iLdS6AQE.js.map → esm/normalizers-Dmgd1cXp.js.map} +1 -1
  777. package/dist/esm/{open-DJPD9Hvv.js → open-D-1JI17u.js} +3 -3
  778. package/dist/esm/{open-DJPD9Hvv.js.map → open-D-1JI17u.js.map} +1 -1
  779. package/dist/esm/{orientation-DPjc47G2.js → orientation-BOSiSKDw.js} +3 -3
  780. package/dist/esm/{orientation-DPjc47G2.js.map → orientation-BOSiSKDw.js.map} +1 -1
  781. package/dist/esm/{placeholder-fpeae7fK.js → placeholder-BBA3H0w5.js} +3 -3
  782. package/dist/esm/{placeholder-fpeae7fK.js.map → placeholder-BBA3H0w5.js.map} +1 -1
  783. package/dist/esm/{read-only-CfWFpOKr.js → read-only-CR_961Fh.js} +3 -3
  784. package/dist/esm/{read-only-CfWFpOKr.js.map → read-only-CR_961Fh.js.map} +1 -1
  785. package/dist/esm/{required-BYwM0tPO.js → required-DSzN5_9V.js} +3 -3
  786. package/dist/esm/{required-BYwM0tPO.js.map → required-DSzN5_9V.js.map} +1 -1
  787. package/dist/esm/{rows-W8SFsFj4.js → rows-BJbzOEWy.js} +3 -3
  788. package/dist/esm/{rows-W8SFsFj4.js.map → rows-BJbzOEWy.js.map} +1 -1
  789. package/dist/esm/scroll-lock-BWDLIEQu.js +56 -0
  790. package/dist/esm/scroll-lock-BWDLIEQu.js.map +1 -0
  791. package/dist/esm/{spell-check-xh2ex2eu.js → spell-check-CoGXExpz.js} +3 -3
  792. package/dist/esm/{spell-check-xh2ex2eu.js.map → spell-check-CoGXExpz.js.map} +1 -1
  793. package/dist/esm/{src-C1iVkqtP.js → src-CtCjn8Bb.js} +3 -3
  794. package/dist/esm/{src-C1iVkqtP.js.map → src-CtCjn8Bb.js.map} +1 -1
  795. package/dist/esm/{suggestions-D4UUoZGS.js → suggestions-Bqlc1vUw.js} +3 -3
  796. package/dist/esm/{suggestions-D4UUoZGS.js.map → suggestions-Bqlc1vUw.js.map} +1 -1
  797. package/dist/esm/{table-selection-CL3si3DN.js → table-selection-BNnfuo03.js} +3 -3
  798. package/dist/esm/{table-selection-CL3si3DN.js.map → table-selection-BNnfuo03.js.map} +1 -1
  799. package/dist/esm/test-component.entry.js +2 -2
  800. package/dist/esm/{tooltip-align-LkJ2mgrc.js → tooltip-align-ChjYN8Pt.js} +4 -4
  801. package/dist/esm/{tooltip-align-LkJ2mgrc.js.map → tooltip-align-ChjYN8Pt.js.map} +1 -1
  802. package/dist/esm/{unique-nav-labels-D4Kr0ypx.js → unique-nav-labels-D8t0Lwbk.js} +3 -3
  803. package/dist/esm/{unique-nav-labels-D4Kr0ypx.js.map → unique-nav-labels-D8t0Lwbk.js.map} +1 -1
  804. package/dist/esm/{validation-BVCCGUzN.js → validation-BhdQk1rc.js} +4 -4
  805. package/dist/esm/{validation-BVCCGUzN.js.map → validation-BhdQk1rc.js.map} +1 -1
  806. package/dist/esm/{validation-CzQC9wBA.js → validation-C1wS_Ep2.js} +3 -3
  807. package/dist/esm/{validation-CzQC9wBA.js.map → validation-C1wS_Ep2.js.map} +1 -1
  808. package/dist/esm/{value-number-clamped-CiWMaJPP.js → value-number-clamped-DlQghACX.js} +3 -3
  809. package/dist/{kolibri/value-number-clamped-CiWMaJPP.js.map → esm/value-number-clamped-DlQghACX.js.map} +1 -1
  810. package/dist/esm/variant-class-name-DFWOlDkF.js +50 -0
  811. package/dist/esm/variant-class-name-DFWOlDkF.js.map +1 -0
  812. package/dist/esm/variant-quote-BI3zVSZn.js +17 -0
  813. package/dist/{kolibri/base-web-component-BCIMb9gN.js.map → esm/variant-quote-BI3zVSZn.js.map} +1 -1
  814. package/dist/kolibri/Alert-CVh_XwxH.js +5 -0
  815. package/dist/{esm/Alert-CDMIORKT.js.map → kolibri/Alert-CVh_XwxH.js.map} +1 -1
  816. package/dist/kolibri/{Collapsible-DtuJQvwp.js → Collapsible-Cy_Z7SX6.js} +2 -2
  817. package/dist/{esm/Collapsible-DtuJQvwp.js.map → kolibri/Collapsible-Cy_Z7SX6.js.map} +1 -1
  818. package/dist/kolibri/{CustomSuggestionsOptionsGroup--mghyiMp.js → CustomSuggestionsOptionsGroup-2QjXZ-dA.js} +2 -2
  819. package/dist/kolibri/{CustomSuggestionsOptionsGroup--mghyiMp.js.map → CustomSuggestionsOptionsGroup-2QjXZ-dA.js.map} +1 -1
  820. package/dist/kolibri/FieldControlStateWrapper-BY46U1nq.js +5 -0
  821. package/dist/{esm/FieldControlStateWrapper-Cy4bcY-0.js.map → kolibri/FieldControlStateWrapper-BY46U1nq.js.map} +1 -1
  822. package/dist/kolibri/FormFieldStateWrapper-DFV1TBk5.js +5 -0
  823. package/dist/kolibri/FormFieldStateWrapper-DFV1TBk5.js.map +1 -0
  824. package/dist/kolibri/Heading-BKIw2hie.js +5 -0
  825. package/dist/kolibri/{Heading-BMhJ1aE8.js.map → Heading-BKIw2hie.js.map} +1 -1
  826. package/dist/kolibri/Input-B4nV0JRw.js +5 -0
  827. package/dist/{esm/Input-DriVWOdX.js.map → kolibri/Input-B4nV0JRw.js.map} +1 -1
  828. package/dist/kolibri/{InputStateWrapper-C3m_HOWP.js → InputStateWrapper-Cjv8q51E.js} +2 -2
  829. package/dist/kolibri/{InputStateWrapper-C3m_HOWP.js.map → InputStateWrapper-Cjv8q51E.js.map} +1 -1
  830. package/dist/kolibri/{access-and-short-key-DzjVTrop.js → access-and-short-key-Mj1AS76I.js} +2 -2
  831. package/dist/kolibri/{access-and-short-key-DzjVTrop.js.map → access-and-short-key-Mj1AS76I.js.map} +1 -1
  832. package/dist/kolibri/align-DpNc6EKs.js +5 -0
  833. package/dist/kolibri/{align-BdqBkiyq.js.map → align-DpNc6EKs.js.map} +1 -1
  834. package/dist/kolibri/align-floating-elements-BgsKEL5o.js +5 -0
  835. package/dist/kolibri/align-floating-elements-BgsKEL5o.js.map +1 -0
  836. package/dist/kolibri/app-globals-DBooI_-E.js +5 -0
  837. package/dist/{esm/app-globals-BvjPeqd4.js.map → kolibri/app-globals-DBooI_-E.js.map} +1 -1
  838. package/dist/kolibri/aria-details-8nY2-PPr.js +5 -0
  839. package/dist/kolibri/{aria-details-Ddidnfeo.js.map → aria-details-8nY2-PPr.js.map} +1 -1
  840. package/dist/kolibri/aria-expanded-Dhj90G4z.js +5 -0
  841. package/dist/{esm/aria-expanded-uRdi7H40.js.map → kolibri/aria-expanded-Dhj90G4z.js.map} +1 -1
  842. package/dist/kolibri/aria-labelledby-bKQGdIef.js +5 -0
  843. package/dist/kolibri/{aria-labelledby-c6050AJw.js.map → aria-labelledby-bKQGdIef.js.map} +1 -1
  844. package/dist/kolibri/{associated.controller-yo_yku-m.js → associated.controller-CKYHZabJ.js} +2 -2
  845. package/dist/kolibri/{associated.controller-yo_yku-m.js.map → associated.controller-CKYHZabJ.js.map} +1 -1
  846. package/dist/kolibri/{auto-complete-CyU7zRoT.js → auto-complete-Bnrpv_sN.js} +2 -2
  847. package/dist/kolibri/{auto-complete-CyU7zRoT.js.map → auto-complete-Bnrpv_sN.js.map} +1 -1
  848. package/dist/kolibri/base-web-component-BT6jbe_v.js +5 -0
  849. package/dist/kolibri/base-web-component-BT6jbe_v.js.map +1 -0
  850. package/dist/kolibri/{bem-registry-BRfTMZf0.js → bem-registry-Coj2Hlbo.js} +2 -2
  851. package/dist/{esm/bem-registry-BRfTMZf0.js.map → kolibri/bem-registry-Coj2Hlbo.js.map} +1 -1
  852. package/dist/kolibri/bootstrap-DZ17-oRV.js +5 -0
  853. package/dist/kolibri/{bootstrap-wNRvSYNh.js.map → bootstrap-DZ17-oRV.js.map} +1 -1
  854. package/dist/kolibri/{color-CcMLxnr8.js → color-DD2KwGHA.js} +2 -2
  855. package/dist/{esm/color-CcMLxnr8.js.map → kolibri/color-DD2KwGHA.js.map} +1 -1
  856. package/dist/kolibri/{common-Cbb6Axov.js → common-D5l8QiaY.js} +2 -2
  857. package/dist/kolibri/common-D5l8QiaY.js.map +1 -0
  858. package/dist/kolibri/component-8mzKPFWl.js +5 -0
  859. package/dist/kolibri/{component-BRDkSTlQ.js.map → component-8mzKPFWl.js.map} +1 -1
  860. package/dist/kolibri/{component-zND7vT6D.js → component-BG44r5Mq.js} +2 -2
  861. package/dist/kolibri/component-BG44r5Mq.js.map +1 -0
  862. package/dist/kolibri/component-CCQEFb4H.js +5 -0
  863. package/dist/kolibri/{component-Cs0XGawJ.js.map → component-CCQEFb4H.js.map} +1 -1
  864. package/dist/kolibri/component-DzpPAOzx.js +5 -0
  865. package/dist/kolibri/{component-Cb4Q3Ugv.js.map → component-DzpPAOzx.js.map} +1 -1
  866. package/dist/kolibri/{contrast-D_ZImOya.js → contrast-CnVYN_kl.js} +2 -2
  867. package/dist/kolibri/{contrast-D_ZImOya.js.map → contrast-CnVYN_kl.js.map} +1 -1
  868. package/dist/kolibri/controller-BCZEcGnd.js +5 -0
  869. package/dist/{esm/controller-DxuhZW4e.js.map → kolibri/controller-BCZEcGnd.js.map} +1 -1
  870. package/dist/kolibri/controller-CE9LAI82.js +5 -0
  871. package/dist/kolibri/controller-CE9LAI82.js.map +1 -0
  872. package/dist/kolibri/{controller-9xFQ1gbO.js → controller-CY_VvCRp.js} +2 -2
  873. package/dist/{esm/controller-9xFQ1gbO.js.map → kolibri/controller-CY_VvCRp.js.map} +1 -1
  874. package/dist/kolibri/controller-DV0N3zXZ.js +5 -0
  875. package/dist/kolibri/controller-DV0N3zXZ.js.map +1 -0
  876. package/dist/kolibri/{controller-WW7N9g3J.js → controller-iY_1YW2P.js} +2 -2
  877. package/dist/kolibri/{controller-WW7N9g3J.js.map → controller-iY_1YW2P.js.map} +1 -1
  878. package/dist/kolibri/{controller-icon-56ZCmjmo.js → controller-icon-CQmlbwLY.js} +2 -2
  879. package/dist/kolibri/controller-icon-CQmlbwLY.js.map +1 -0
  880. package/dist/kolibri/counter-dom-updater-DbyoBkbs.js +5 -0
  881. package/dist/kolibri/counter-dom-updater-DbyoBkbs.js.map +1 -0
  882. package/dist/kolibri/custom-class-C1NlV4ea.js +5 -0
  883. package/dist/kolibri/{custom-class-BeMzLrHQ.js.map → custom-class-C1NlV4ea.js.map} +1 -1
  884. package/dist/kolibri/{dev.utils-JsUkUKLF.js → dev.utils-BXf9h7MR.js} +2 -2
  885. package/dist/kolibri/{dev.utils-JsUkUKLF.js.map → dev.utils-BXf9h7MR.js.map} +1 -1
  886. package/dist/kolibri/{devtools-B5kpdEO2.js → devtools-DhAP1aCO.js} +2 -2
  887. package/dist/kolibri/{devtools-B5kpdEO2.js.map → devtools-DhAP1aCO.js.map} +1 -1
  888. package/dist/kolibri/disabled-BcXSZaDo.js +5 -0
  889. package/dist/kolibri/{disabled-DfW4ft-F.js.map → disabled-BcXSZaDo.js.map} +1 -1
  890. package/dist/kolibri/has-closer-BOCpdSna.js +5 -0
  891. package/dist/kolibri/{has-closer-BHa3nc5C.js.map → has-closer-BOCpdSna.js.map} +1 -1
  892. package/dist/kolibri/hide-label-B9ipEhG8.js +5 -0
  893. package/dist/kolibri/{hide-label-BDwvU6I8.js.map → hide-label-B9ipEhG8.js.map} +1 -1
  894. package/dist/kolibri/href-CwoWT6cU.js +5 -0
  895. package/dist/kolibri/{href-CepakdI3.js.map → href-CwoWT6cU.js.map} +1 -1
  896. package/dist/kolibri/i18n-BsXYYo8j.js +5 -0
  897. package/dist/kolibri/{i18n-CcjZRTxD.js.map → i18n-BsXYYo8j.js.map} +1 -1
  898. package/dist/kolibri/i18n-CoO4-0na.js +5 -0
  899. package/dist/kolibri/i18n-CoO4-0na.js.map +1 -0
  900. package/dist/kolibri/{icons-BGkS8g2K.js → icons-BX75HD_Y.js} +2 -2
  901. package/dist/{esm/icons-BGkS8g2K.js.map → kolibri/icons-BX75HD_Y.js.map} +1 -1
  902. package/dist/kolibri/{index-Dabxza7-.js → index-C5dCp7IP.js} +3 -3
  903. package/dist/kolibri/{index-Dabxza7-.js.map → index-C5dCp7IP.js.map} +1 -1
  904. package/dist/kolibri/index.esm.js +1 -1
  905. package/dist/kolibri/index.esm.js.map +1 -1
  906. package/dist/kolibri/inline-W0JvHnyJ.js +5 -0
  907. package/dist/kolibri/{inline-CEIVpydv.js.map → inline-W0JvHnyJ.js.map} +1 -1
  908. package/dist/kolibri/kol-abbr.entry.esm.js.map +1 -1
  909. package/dist/kolibri/kol-abbr.entry.js +1 -1
  910. package/dist/kolibri/kol-abbr.entry.js.map +1 -1
  911. package/dist/kolibri/kol-accordion.entry.js +1 -1
  912. package/dist/kolibri/kol-alert-wc.entry.js +1 -1
  913. package/dist/kolibri/kol-alert.entry.esm.js.map +1 -1
  914. package/dist/kolibri/kol-alert.entry.js +1 -1
  915. package/dist/kolibri/kol-alert.entry.js.map +1 -1
  916. package/dist/kolibri/kol-avatar.entry.esm.js.map +1 -1
  917. package/dist/kolibri/kol-avatar.entry.js +1 -1
  918. package/dist/kolibri/kol-avatar.entry.js.map +1 -1
  919. package/dist/kolibri/kol-badge.entry.js +1 -1
  920. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  921. package/dist/kolibri/kol-button-link.entry.js +1 -1
  922. package/dist/kolibri/kol-button-wc.entry.esm.js.map +1 -1
  923. package/dist/kolibri/kol-button-wc.entry.js +1 -1
  924. package/dist/kolibri/kol-button-wc.entry.js.map +1 -1
  925. package/dist/kolibri/kol-button.entry.esm.js.map +1 -1
  926. package/dist/kolibri/kol-button.entry.js +1 -1
  927. package/dist/kolibri/kol-button.entry.js.map +1 -1
  928. package/dist/kolibri/kol-card-wc.entry.esm.js.map +1 -1
  929. package/dist/kolibri/kol-card-wc.entry.js +1 -1
  930. package/dist/kolibri/kol-card-wc.entry.js.map +1 -1
  931. package/dist/kolibri/kol-card.entry.esm.js.map +1 -1
  932. package/dist/kolibri/kol-card.entry.js +1 -1
  933. package/dist/kolibri/kol-card.entry.js.map +1 -1
  934. package/dist/kolibri/kol-click-button.entry.esm.js.map +1 -1
  935. package/dist/kolibri/kol-click-button.entry.js +1 -1
  936. package/dist/kolibri/kol-click-button.entry.js.map +1 -1
  937. package/dist/kolibri/kol-combobox.entry.esm.js.map +1 -1
  938. package/dist/kolibri/kol-combobox.entry.js +1 -1
  939. package/dist/kolibri/kol-combobox.entry.js.map +1 -1
  940. package/dist/kolibri/kol-details.entry.esm.js.map +1 -1
  941. package/dist/kolibri/kol-details.entry.js +1 -1
  942. package/dist/kolibri/kol-details.entry.js.map +1 -1
  943. package/dist/kolibri/kol-dialog-wc.entry.esm.js.map +1 -1
  944. package/dist/kolibri/kol-dialog-wc.entry.js +1 -1
  945. package/dist/kolibri/kol-dialog-wc.entry.js.map +1 -1
  946. package/dist/kolibri/kol-dialog.entry.esm.js.map +1 -1
  947. package/dist/kolibri/kol-dialog.entry.js +1 -1
  948. package/dist/kolibri/kol-dialog.entry.js.map +1 -1
  949. package/dist/kolibri/kol-drawer.entry.esm.js.map +1 -1
  950. package/dist/kolibri/kol-drawer.entry.js +1 -1
  951. package/dist/kolibri/kol-drawer.entry.js.map +1 -1
  952. package/dist/kolibri/kol-form.entry.esm.js.map +1 -1
  953. package/dist/kolibri/kol-form.entry.js +1 -1
  954. package/dist/kolibri/kol-form.entry.js.map +1 -1
  955. package/dist/kolibri/kol-heading.entry.esm.js.map +1 -1
  956. package/dist/kolibri/kol-heading.entry.js +1 -1
  957. package/dist/kolibri/kol-heading.entry.js.map +1 -1
  958. package/dist/kolibri/kol-icon.entry.esm.js.map +1 -1
  959. package/dist/kolibri/kol-icon.entry.js +1 -1
  960. package/dist/kolibri/kol-icon.entry.js.map +1 -1
  961. package/dist/kolibri/kol-image.entry.esm.js.map +1 -1
  962. package/dist/kolibri/kol-image.entry.js +1 -1
  963. package/dist/kolibri/kol-image.entry.js.map +1 -1
  964. package/dist/kolibri/kol-input-checkbox.entry.esm.js.map +1 -1
  965. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  966. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  967. package/dist/kolibri/kol-input-color.entry.esm.js.map +1 -1
  968. package/dist/kolibri/kol-input-color.entry.js +1 -1
  969. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  970. package/dist/kolibri/kol-input-date.entry.esm.js.map +1 -1
  971. package/dist/kolibri/kol-input-date.entry.js +1 -1
  972. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  973. package/dist/kolibri/kol-input-email.entry.esm.js.map +1 -1
  974. package/dist/kolibri/kol-input-email.entry.js +1 -1
  975. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  976. package/dist/kolibri/kol-input-file.entry.esm.js.map +1 -1
  977. package/dist/kolibri/kol-input-file.entry.js +1 -1
  978. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  979. package/dist/kolibri/kol-input-number.entry.esm.js.map +1 -1
  980. package/dist/kolibri/kol-input-number.entry.js +1 -1
  981. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  982. package/dist/kolibri/kol-input-password.entry.esm.js.map +1 -1
  983. package/dist/kolibri/kol-input-password.entry.js +1 -1
  984. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  985. package/dist/kolibri/kol-input-radio.entry.esm.js.map +1 -1
  986. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  987. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  988. package/dist/kolibri/kol-input-range.entry.esm.js.map +1 -1
  989. package/dist/kolibri/kol-input-range.entry.js +1 -1
  990. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  991. package/dist/kolibri/kol-input-text.entry.esm.js.map +1 -1
  992. package/dist/kolibri/kol-input-text.entry.js +1 -1
  993. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  994. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  995. package/dist/kolibri/kol-link-button.entry.esm.js.map +1 -1
  996. package/dist/kolibri/kol-link-button.entry.js +1 -1
  997. package/dist/kolibri/kol-link-button.entry.js.map +1 -1
  998. package/dist/kolibri/kol-link-wc.entry.esm.js.map +1 -1
  999. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  1000. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  1001. package/dist/kolibri/kol-link.entry.js +1 -1
  1002. package/dist/kolibri/kol-meter.entry.esm.js.map +1 -1
  1003. package/dist/kolibri/kol-meter.entry.js +1 -1
  1004. package/dist/kolibri/kol-meter.entry.js.map +1 -1
  1005. package/dist/kolibri/kol-modal.entry.esm.js.map +1 -1
  1006. package/dist/kolibri/kol-modal.entry.js +1 -1
  1007. package/dist/kolibri/kol-modal.entry.js.map +1 -1
  1008. package/dist/kolibri/kol-nav.entry.js +1 -1
  1009. package/dist/kolibri/kol-pagination-wc.entry.js +1 -1
  1010. package/dist/kolibri/kol-pagination.entry.esm.js.map +1 -1
  1011. package/dist/kolibri/kol-pagination.entry.js +1 -1
  1012. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  1013. package/dist/kolibri/kol-popover-button-wc.entry.esm.js.map +1 -1
  1014. package/dist/kolibri/kol-popover-button-wc.entry.js +1 -1
  1015. package/dist/kolibri/kol-popover-button.entry.esm.js.map +1 -1
  1016. package/dist/kolibri/kol-popover-button.entry.js +1 -1
  1017. package/dist/kolibri/kol-popover-button.entry.js.map +1 -1
  1018. package/dist/kolibri/kol-progress.entry.esm.js.map +1 -1
  1019. package/dist/kolibri/kol-progress.entry.js +1 -1
  1020. package/dist/kolibri/kol-progress.entry.js.map +1 -1
  1021. package/dist/kolibri/kol-quote.entry.esm.js.map +1 -1
  1022. package/dist/kolibri/kol-quote.entry.js +1 -1
  1023. package/dist/kolibri/kol-quote.entry.js.map +1 -1
  1024. package/dist/kolibri/kol-select-wc.entry.esm.js.map +1 -1
  1025. package/dist/kolibri/kol-select-wc.entry.js +1 -1
  1026. package/dist/kolibri/kol-select-wc.entry.js.map +1 -1
  1027. package/dist/kolibri/kol-select.entry.esm.js.map +1 -1
  1028. package/dist/kolibri/kol-select.entry.js +1 -1
  1029. package/dist/kolibri/kol-select.entry.js.map +1 -1
  1030. package/dist/kolibri/kol-single-select.entry.esm.js.map +1 -1
  1031. package/dist/kolibri/kol-single-select.entry.js +1 -1
  1032. package/dist/kolibri/kol-single-select.entry.js.map +1 -1
  1033. package/dist/kolibri/kol-skeleton.entry.esm.js.map +1 -1
  1034. package/dist/kolibri/kol-skeleton.entry.js +1 -1
  1035. package/dist/kolibri/kol-skeleton.entry.js.map +1 -1
  1036. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  1037. package/dist/kolibri/kol-spin.entry.esm.js.map +1 -1
  1038. package/dist/kolibri/kol-spin.entry.js +1 -1
  1039. package/dist/kolibri/kol-spin.entry.js.map +1 -1
  1040. package/dist/kolibri/kol-split-button.entry.esm.js.map +1 -1
  1041. package/dist/kolibri/kol-split-button.entry.js +1 -1
  1042. package/dist/kolibri/kol-table-settings-wc.entry.esm.js.map +1 -1
  1043. package/dist/kolibri/kol-table-settings-wc.entry.js +1 -1
  1044. package/dist/kolibri/kol-table-settings-wc.entry.js.map +1 -1
  1045. package/dist/kolibri/kol-table-stateful.entry.esm.js.map +1 -1
  1046. package/dist/kolibri/kol-table-stateful.entry.js +1 -1
  1047. package/dist/kolibri/kol-table-stateful.entry.js.map +1 -1
  1048. package/dist/kolibri/kol-table-stateless-wc.entry.esm.js.map +1 -1
  1049. package/dist/kolibri/kol-table-stateless-wc.entry.js +1 -1
  1050. package/dist/kolibri/kol-table-stateless-wc.entry.js.map +1 -1
  1051. package/dist/kolibri/kol-table-stateless.entry.esm.js.map +1 -1
  1052. package/dist/kolibri/kol-table-stateless.entry.js +1 -1
  1053. package/dist/kolibri/kol-table-stateless.entry.js.map +1 -1
  1054. package/dist/kolibri/kol-tabs.entry.js +1 -1
  1055. package/dist/kolibri/kol-textarea.entry.esm.js.map +1 -1
  1056. package/dist/kolibri/kol-textarea.entry.js +1 -1
  1057. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  1058. package/dist/kolibri/kol-toast-container.entry.esm.js.map +1 -1
  1059. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  1060. package/dist/kolibri/kol-toast-container.entry.js.map +1 -1
  1061. package/dist/kolibri/kol-toolbar.entry.esm.js.map +1 -1
  1062. package/dist/kolibri/kol-toolbar.entry.js +1 -1
  1063. package/dist/kolibri/kol-toolbar.entry.js.map +1 -1
  1064. package/dist/kolibri/kol-tooltip-wc.entry.esm.js.map +1 -1
  1065. package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
  1066. package/dist/kolibri/kol-tooltip-wc.entry.js.map +1 -1
  1067. package/dist/kolibri/kol-tree-item-wc.entry.js +1 -1
  1068. package/dist/kolibri/kol-tree-item.entry.js +1 -1
  1069. package/dist/kolibri/kol-tree-wc.entry.js +1 -1
  1070. package/dist/kolibri/kol-tree.entry.js +1 -1
  1071. package/dist/kolibri/kol-version.entry.js +1 -1
  1072. package/dist/kolibri/kolibri.esm.js +1 -1
  1073. package/dist/kolibri/label-Ftw1VCQG.js +5 -0
  1074. package/dist/{esm/label-We78Dt9U.js.map → kolibri/label-Ftw1VCQG.js.map} +1 -1
  1075. package/dist/kolibri/{label-BwPy2Jd4.js → label-RX8TPr4R.js} +2 -2
  1076. package/dist/kolibri/{label-BwPy2Jd4.js.map → label-RX8TPr4R.js.map} +1 -1
  1077. package/dist/kolibri/{level-DRQEJIoR.js → level-At6QFNwQ.js} +2 -2
  1078. package/dist/kolibri/{level-DRQEJIoR.js.map → level-At6QFNwQ.js.map} +1 -1
  1079. package/dist/kolibri/multiple-BZH-f6A7.js +5 -0
  1080. package/dist/kolibri/{multiple-wlinUB8P.js.map → multiple-BZH-f6A7.js.map} +1 -1
  1081. package/dist/kolibri/{normalizers-iLdS6AQE.js → normalizers-Dmgd1cXp.js} +2 -2
  1082. package/dist/{esm/normalizers-iLdS6AQE.js.map → kolibri/normalizers-Dmgd1cXp.js.map} +1 -1
  1083. package/dist/kolibri/open-D-1JI17u.js +5 -0
  1084. package/dist/kolibri/{open-DJPD9Hvv.js.map → open-D-1JI17u.js.map} +1 -1
  1085. package/dist/kolibri/orientation-BOSiSKDw.js +5 -0
  1086. package/dist/kolibri/{orientation-DPjc47G2.js.map → orientation-BOSiSKDw.js.map} +1 -1
  1087. package/dist/kolibri/placeholder-BBA3H0w5.js +5 -0
  1088. package/dist/kolibri/{placeholder-fpeae7fK.js.map → placeholder-BBA3H0w5.js.map} +1 -1
  1089. package/dist/kolibri/read-only-CR_961Fh.js +5 -0
  1090. package/dist/kolibri/{read-only-CfWFpOKr.js.map → read-only-CR_961Fh.js.map} +1 -1
  1091. package/dist/kolibri/required-DSzN5_9V.js +5 -0
  1092. package/dist/kolibri/{required-BYwM0tPO.js.map → required-DSzN5_9V.js.map} +1 -1
  1093. package/dist/kolibri/rows-BJbzOEWy.js +5 -0
  1094. package/dist/kolibri/{rows-W8SFsFj4.js.map → rows-BJbzOEWy.js.map} +1 -1
  1095. package/dist/kolibri/scroll-lock-BWDLIEQu.js +5 -0
  1096. package/dist/kolibri/scroll-lock-BWDLIEQu.js.map +1 -0
  1097. package/dist/kolibri/spell-check-CoGXExpz.js +5 -0
  1098. package/dist/kolibri/{spell-check-xh2ex2eu.js.map → spell-check-CoGXExpz.js.map} +1 -1
  1099. package/dist/kolibri/src-CtCjn8Bb.js +5 -0
  1100. package/dist/kolibri/{src-C1iVkqtP.js.map → src-CtCjn8Bb.js.map} +1 -1
  1101. package/dist/kolibri/suggestions-Bqlc1vUw.js +5 -0
  1102. package/dist/kolibri/{suggestions-D4UUoZGS.js.map → suggestions-Bqlc1vUw.js.map} +1 -1
  1103. package/dist/kolibri/table-selection-BNnfuo03.js +5 -0
  1104. package/dist/kolibri/{table-selection-CL3si3DN.js.map → table-selection-BNnfuo03.js.map} +1 -1
  1105. package/dist/kolibri/test-component.entry.js +1 -1
  1106. package/dist/kolibri/tooltip-align-ChjYN8Pt.js +5 -0
  1107. package/dist/kolibri/{tooltip-align-LkJ2mgrc.js.map → tooltip-align-ChjYN8Pt.js.map} +1 -1
  1108. package/dist/kolibri/unique-nav-labels-D8t0Lwbk.js +5 -0
  1109. package/dist/kolibri/{unique-nav-labels-D4Kr0ypx.js.map → unique-nav-labels-D8t0Lwbk.js.map} +1 -1
  1110. package/dist/kolibri/validation-BhdQk1rc.js +5 -0
  1111. package/dist/kolibri/{validation-BVCCGUzN.js.map → validation-BhdQk1rc.js.map} +1 -1
  1112. package/dist/kolibri/validation-C1wS_Ep2.js +5 -0
  1113. package/dist/kolibri/{validation-CzQC9wBA.js.map → validation-C1wS_Ep2.js.map} +1 -1
  1114. package/dist/kolibri/{value-number-clamped-CiWMaJPP.js → value-number-clamped-DlQghACX.js} +2 -2
  1115. package/dist/{esm/value-number-clamped-CiWMaJPP.js.map → kolibri/value-number-clamped-DlQghACX.js.map} +1 -1
  1116. package/dist/kolibri/variant-class-name-DFWOlDkF.js +5 -0
  1117. package/dist/kolibri/variant-class-name-DFWOlDkF.js.map +1 -0
  1118. package/dist/kolibri/variant-quote-BI3zVSZn.js +5 -0
  1119. package/dist/{cjs/base-web-component-DP6_UGyy.js.map → kolibri/variant-quote-BI3zVSZn.js.map} +1 -1
  1120. package/dist/types/components/@deprecated/input/controller.d.ts +0 -1
  1121. package/dist/types/components/abbr/component.d.ts +1 -10
  1122. package/dist/types/components/button/shadow.d.ts +2 -2
  1123. package/dist/types/components/component-list.d.ts +1 -5
  1124. package/dist/types/components/input-email/shadow.d.ts +3 -0
  1125. package/dist/types/components/input-password/controller.d.ts +0 -1
  1126. package/dist/types/components/input-password/shadow.d.ts +3 -0
  1127. package/dist/types/components/input-text/shadow.d.ts +3 -0
  1128. package/dist/types/components/link-button/shadow.d.ts +3 -2
  1129. package/dist/types/components/popover-button/component.d.ts +2 -2
  1130. package/dist/types/components/popover-button/shadow.d.ts +2 -2
  1131. package/dist/types/components/split-button/shadow.d.ts +2 -2
  1132. package/dist/types/components/table-stateless/table-settings.d.ts +0 -1
  1133. package/dist/types/components/textarea/controller.d.ts +0 -1
  1134. package/dist/types/components/textarea/shadow.d.ts +3 -0
  1135. package/dist/types/components/tree-item/shadow.d.ts +1 -1
  1136. package/dist/types/components.d.ts +33 -28
  1137. package/dist/types/enums/bund.d.ts +10 -10
  1138. package/dist/types/functional-component-wrappers/FormFieldStateWrapper/FormFieldStateWrapper.d.ts +4 -0
  1139. package/dist/types/functional-components/FormField/FormField.d.ts +2 -3
  1140. package/dist/types/functional-components/FormField/counter-utils.d.ts +4 -0
  1141. package/dist/types/functional-components/IconButton/IconButton.d.ts +2 -2
  1142. package/dist/types/internal/functional-components/abbr/api.d.ts +2 -8
  1143. package/dist/types/locales/de.d.ts +3 -0
  1144. package/dist/types/locales/en.d.ts +3 -0
  1145. package/dist/types/schema/components/button-link.d.ts +2 -2
  1146. package/dist/types/schema/components/button.d.ts +6 -6
  1147. package/dist/types/schema/components/input-email.d.ts +0 -2
  1148. package/dist/types/schema/components/input-password.d.ts +0 -2
  1149. package/dist/types/schema/components/input-text.d.ts +0 -2
  1150. package/dist/types/schema/components/link-button.d.ts +2 -2
  1151. package/dist/types/schema/components/link.d.ts +2 -2
  1152. package/dist/types/schema/components/split-button.d.ts +2 -2
  1153. package/dist/types/schema/components/textarea.d.ts +0 -2
  1154. package/dist/types/schema/i18n-keys.d.ts +9 -9
  1155. package/dist/types/schema/index.d.ts +2 -0
  1156. package/dist/types/schema/props/variant-class-name.d.ts +4 -2
  1157. package/dist/types/schema/tag-names.d.ts +34 -34
  1158. package/dist/types/utils/counter-dom-updater.d.ts +16 -0
  1159. package/dist/types/utils/scroll-lock.d.ts +2 -0
  1160. package/doc/abbr.md +4 -5
  1161. package/doc/badge.md +6 -6
  1162. package/doc/button-link.md +1 -1
  1163. package/doc/button.md +1 -1
  1164. package/doc/combobox.md +1 -1
  1165. package/doc/input-color.md +21 -21
  1166. package/doc/input-date.md +27 -27
  1167. package/doc/input-email.md +29 -29
  1168. package/doc/input-file.md +21 -21
  1169. package/doc/input-number.md +27 -27
  1170. package/doc/input-password.md +28 -28
  1171. package/doc/input-radio.md +1 -1
  1172. package/doc/input-range.md +1 -1
  1173. package/doc/input-text.md +31 -31
  1174. package/doc/link-button.md +20 -19
  1175. package/doc/link.md +1 -1
  1176. package/doc/popover-button.md +18 -18
  1177. package/doc/select.md +1 -1
  1178. package/doc/single-select.md +1 -1
  1179. package/doc/split-button.md +1 -1
  1180. package/doc/table-stateful.md +1 -1
  1181. package/doc/table-stateless.md +1 -1
  1182. package/doc/textarea.md +1 -1
  1183. package/doc/tree-item.md +2 -2
  1184. package/package.json +11 -11
  1185. package/vscode-custom-data.json +34 -122
  1186. package/dist/cjs/FormFieldStateWrapper-BY2eAAId.js.map +0 -1
  1187. package/dist/cjs/align-floating-elements-D6-6sVvR.js.map +0 -1
  1188. package/dist/cjs/component-DTdxTGTB.js.map +0 -1
  1189. package/dist/cjs/controller-BM9IR0zx.js.map +0 -1
  1190. package/dist/cjs/controller-DOOIStgs.js.map +0 -1
  1191. package/dist/cjs/controller-icon-DRM3vcp_.js.map +0 -1
  1192. package/dist/cjs/i18n-D1iTbPTC.js.map +0 -1
  1193. package/dist/cjs/max-length-behavior-BqsNaz4e.js +0 -26
  1194. package/dist/cjs/max-length-behavior-BqsNaz4e.js.map +0 -1
  1195. package/dist/cjs/variant-class-name-DmO450Cb.js +0 -18
  1196. package/dist/cjs/variant-class-name-DmO450Cb.js.map +0 -1
  1197. package/dist/collection/functional-components/FormFieldCharacterLimitHint/FormFieldCharacterLimitHint.js +0 -11
  1198. package/dist/collection/functional-components/FormFieldCharacterLimitHint/FormFieldCharacterLimitHint.js.map +0 -1
  1199. package/dist/collection/functional-components/FormFieldCounter/FormFieldCounter.js +0 -43
  1200. package/dist/collection/functional-components/FormFieldCounter/FormFieldCounter.js.map +0 -1
  1201. package/dist/collection/functional-components/FormFieldCounter/index.js +0 -5
  1202. package/dist/collection/functional-components/FormFieldCounter/index.js.map +0 -1
  1203. package/dist/collection/functional-components/FormFieldCounter/tests/snapshot.test.js +0 -16
  1204. package/dist/collection/functional-components/FormFieldCounter/tests/snapshot.test.js.map +0 -1
  1205. package/dist/collection/internal/functional-components/abbr/component.js +0 -9
  1206. package/dist/collection/internal/functional-components/abbr/component.js.map +0 -1
  1207. package/dist/collection/internal/functional-components/abbr/controller.js +0 -20
  1208. package/dist/collection/internal/functional-components/abbr/controller.js.map +0 -1
  1209. package/dist/components/max-length-behavior.js +0 -22
  1210. package/dist/components/max-length-behavior.js.map +0 -1
  1211. package/dist/esm/FormFieldStateWrapper-CzAJHBpQ.js.map +0 -1
  1212. package/dist/esm/align-floating-elements-Xqbu3THH.js.map +0 -1
  1213. package/dist/esm/base-web-component-BCIMb9gN.js +0 -37
  1214. package/dist/esm/common-Cbb6Axov.js.map +0 -1
  1215. package/dist/esm/component-zND7vT6D.js.map +0 -1
  1216. package/dist/esm/controller-BUTW5QfH.js.map +0 -1
  1217. package/dist/esm/controller-CEfRBHwg.js.map +0 -1
  1218. package/dist/esm/controller-icon-56ZCmjmo.js.map +0 -1
  1219. package/dist/esm/i18n-CMA39edx.js.map +0 -1
  1220. package/dist/esm/max-length-behavior-DwaNVm5b.js +0 -22
  1221. package/dist/esm/max-length-behavior-DwaNVm5b.js.map +0 -1
  1222. package/dist/esm/variant-class-name-D8tvX7Qv.js +0 -16
  1223. package/dist/esm/variant-class-name-D8tvX7Qv.js.map +0 -1
  1224. package/dist/kolibri/Alert-CDMIORKT.js +0 -5
  1225. package/dist/kolibri/FieldControlStateWrapper-Cy4bcY-0.js +0 -5
  1226. package/dist/kolibri/FormFieldStateWrapper-CzAJHBpQ.js +0 -5
  1227. package/dist/kolibri/FormFieldStateWrapper-CzAJHBpQ.js.map +0 -1
  1228. package/dist/kolibri/Heading-BMhJ1aE8.js +0 -5
  1229. package/dist/kolibri/Input-DriVWOdX.js +0 -5
  1230. package/dist/kolibri/align-BdqBkiyq.js +0 -5
  1231. package/dist/kolibri/align-floating-elements-Xqbu3THH.js +0 -5
  1232. package/dist/kolibri/align-floating-elements-Xqbu3THH.js.map +0 -1
  1233. package/dist/kolibri/app-globals-BvjPeqd4.js +0 -5
  1234. package/dist/kolibri/aria-details-Ddidnfeo.js +0 -5
  1235. package/dist/kolibri/aria-expanded-uRdi7H40.js +0 -5
  1236. package/dist/kolibri/aria-labelledby-c6050AJw.js +0 -5
  1237. package/dist/kolibri/base-web-component-BCIMb9gN.js +0 -5
  1238. package/dist/kolibri/bootstrap-wNRvSYNh.js +0 -5
  1239. package/dist/kolibri/common-Cbb6Axov.js.map +0 -1
  1240. package/dist/kolibri/component-BRDkSTlQ.js +0 -5
  1241. package/dist/kolibri/component-Cb4Q3Ugv.js +0 -5
  1242. package/dist/kolibri/component-Cs0XGawJ.js +0 -5
  1243. package/dist/kolibri/component-zND7vT6D.js.map +0 -1
  1244. package/dist/kolibri/controller-BUTW5QfH.js +0 -5
  1245. package/dist/kolibri/controller-BUTW5QfH.js.map +0 -1
  1246. package/dist/kolibri/controller-CEfRBHwg.js +0 -5
  1247. package/dist/kolibri/controller-CEfRBHwg.js.map +0 -1
  1248. package/dist/kolibri/controller-DxuhZW4e.js +0 -5
  1249. package/dist/kolibri/controller-icon-56ZCmjmo.js.map +0 -1
  1250. package/dist/kolibri/custom-class-BeMzLrHQ.js +0 -5
  1251. package/dist/kolibri/disabled-DfW4ft-F.js +0 -5
  1252. package/dist/kolibri/has-closer-BHa3nc5C.js +0 -5
  1253. package/dist/kolibri/hide-label-BDwvU6I8.js +0 -5
  1254. package/dist/kolibri/href-CepakdI3.js +0 -5
  1255. package/dist/kolibri/i18n-CMA39edx.js +0 -5
  1256. package/dist/kolibri/i18n-CMA39edx.js.map +0 -1
  1257. package/dist/kolibri/i18n-CcjZRTxD.js +0 -5
  1258. package/dist/kolibri/inline-CEIVpydv.js +0 -5
  1259. package/dist/kolibri/label-We78Dt9U.js +0 -5
  1260. package/dist/kolibri/max-length-behavior-DwaNVm5b.js +0 -5
  1261. package/dist/kolibri/max-length-behavior-DwaNVm5b.js.map +0 -1
  1262. package/dist/kolibri/multiple-wlinUB8P.js +0 -5
  1263. package/dist/kolibri/open-DJPD9Hvv.js +0 -5
  1264. package/dist/kolibri/orientation-DPjc47G2.js +0 -5
  1265. package/dist/kolibri/placeholder-fpeae7fK.js +0 -5
  1266. package/dist/kolibri/read-only-CfWFpOKr.js +0 -5
  1267. package/dist/kolibri/required-BYwM0tPO.js +0 -5
  1268. package/dist/kolibri/rows-W8SFsFj4.js +0 -5
  1269. package/dist/kolibri/spell-check-xh2ex2eu.js +0 -5
  1270. package/dist/kolibri/src-C1iVkqtP.js +0 -5
  1271. package/dist/kolibri/suggestions-D4UUoZGS.js +0 -5
  1272. package/dist/kolibri/table-selection-CL3si3DN.js +0 -5
  1273. package/dist/kolibri/tooltip-align-LkJ2mgrc.js +0 -5
  1274. package/dist/kolibri/unique-nav-labels-D4Kr0ypx.js +0 -5
  1275. package/dist/kolibri/validation-BVCCGUzN.js +0 -5
  1276. package/dist/kolibri/validation-CzQC9wBA.js +0 -5
  1277. package/dist/kolibri/variant-class-name-D8tvX7Qv.js +0 -5
  1278. package/dist/kolibri/variant-class-name-D8tvX7Qv.js.map +0 -1
  1279. package/dist/types/functional-components/FormFieldCharacterLimitHint/FormFieldCharacterLimitHint.d.ts +0 -8
  1280. package/dist/types/functional-components/FormFieldCounter/FormFieldCounter.d.ts +0 -12
  1281. package/dist/types/functional-components/FormFieldCounter/index.d.ts +0 -1
  1282. package/dist/types/functional-components/FormFieldCounter/tests/snapshot.test.d.ts +0 -1
  1283. package/dist/types/internal/functional-components/abbr/component.d.ts +0 -4
  1284. package/dist/types/internal/functional-components/abbr/controller.d.ts +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/table-stateless/component.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE5F,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEjG,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qDAAqD,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,wDAAwD,CAAC;AAuBnF,OAAO,EACN,GAAG,EACH,QAAQ,EACR,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEhE,MAAM,qBAAqB,GAAG,GAAG,CAAC;AASlC,MAAM,OAAO,mBAAmB;IAJhC;QASkB,uBAAkB,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAElD,UAAK,GAAyB;YAC7C,KAAK,EAAE,EAAE;YACT,YAAY,EAAE;gBACb,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,EAAE;aACZ;YACD,MAAM,EAAE,EAAE;YACV,gBAAgB,EAAE,KAAK;SACvB,CAAC;QAIM,eAAU,GAAG,IAAI,CAAC;QAClB,0BAAqB,GAAG,IAAI,GAAG,EAA8C,CAAC;QAC9E,iBAAY,GAAG,IAAI,GAAG,EAAgC,CAAC;QAMvD,0BAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,0BAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE1C,iBAAY,GAAuB,EAAE,CAAC;QAEtC,kBAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QACtC,uBAAkB,GAAG,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAEvD,YAAO,GAAW,CAAC,CAAC;QACpB,iBAAY,GAAa,EAAE,CAAC;QAG5B,2BAAsB,GAAG,CAAC,CAAC;QAG3B,gCAA2B,GAAG,KAAK,CAAC;QAGpC,uBAAkB,GAAG,KAAK,CAAC;QA6rBlB,mBAAc,GAAG,CACjC,GAAgD,EAChD,QAAgB,EAChB,UAAmB,EACnB,WAAoB,KAAK,EACX,EAAE;;YAChB,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,UAAU,KAAI,MAAA,GAAG,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAA,EAAE,CAAC;gBACrC,GAAG,GAAG,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mCAAI,GAAG,CAAC;YAC3C,CAAC;YAED,OAAO,CACN,UACC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE;oBAC7B,sBAAsB,EAAE,CAAC,QAAQ;oBACjC,wBAAwB,EAAE,QAAQ;iBAClC,CAAC,EACF,GAAG,EAAE,OAAO,GAAG,EAAE;gBAEhB,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC;gBACvC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CACpF,CACL,CAAC;QACH,CAAC,CAAC;QAWe,oBAAe,GAAG,CAAC,IAAsB,EAAE,QAAgB,EAAE,QAAgB,EAAE,UAAmB,EAAe,EAAE;YAEnI,IAAK,IAA+B,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACxD,OAAO,EAAE,CAAC;YACX,CAAC;YAED,IAAI,GAAG,GAAG,GAAG,QAAQ,IAAI,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAClD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7E,CAAC;YAED,IAAK,IAAwC,CAAC,UAAU,EAAE,CAAC;gBAC1D,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACP,MAAM,mBAAmB,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,kBAAkB,CAAC;gBAGxG,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;gBAC1D,MAAM,cAAc,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACxC,MAAM,UAAU,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC5F,MAAM,WAAW,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxF,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC;gBAE1D,OAAO,CACN,UAEC,GAAG,EAAE,QAAQ,GAAG,IAAI,IAAI,CAAC,sBAAsB,EAAE,EACjD,KAAK,EAAE,IAAI,CACV,uCAAuC,EACvC,IAAI,CAAC,SAAS,IAAI,0BAA0B,IAAI,CAAC,SAAS,EAAE,EAC5D,cAAc,IAAI,0BAA0B,EAC5C,KAAK,IAAI,2BAA2B,KAAK,EAAE,CAC3C,iBACY,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,eAC3C,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,mBACtC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE;wBACN,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,IAAI,EAAE,UAAU;wBAChB,KAAK,EAAE,WAAW;qBAClB,EACD,GAAG,EACF,eAAe;wBACd,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;4BACP,IAAI,CAAC,UAAU,CAAC,IAAwE,EAAE,EAAE,CAAC,CAAC;wBAC/F,CAAC;wBACF,CAAC,CAAC,SAAS,IAGZ,cAAc,IAAI,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CACpI,CACL,CAAC;YACH,CAAC;QACF,CAAC,CAAC;QAWe,sBAAiB,GAAG,CAAC,YAAoC,EAAE,OAA6B,EAAE,GAAW,EAAe,EAAE;YACtI,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAE9C,OAAO,CACN,WAAK,KAAK,EAAC,yBAAyB,IAClC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE;gBACpC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC9B,MAAW,WAAW,UAAK,MAAM,EAA3B,EAAkB,CAAS,CAAC;oBAClC,OAAO,EAAC,cAAc,kBAAC,GAAG,EAAE,UAAU,GAAG,IAAI,WAAW,EAAE,IAAM,WAAW,IAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,CAAC;gBACjH,CAAC;qBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACnC,MAAW,SAAS,UAAK,MAAM,EAAzB,EAAgB,CAAS,CAAC;oBAChC,OAAO,EAAC,YAAY,kBAAC,GAAG,EAAE,UAAU,GAAG,IAAI,WAAW,EAAE,IAAM,SAAS,EAAI,CAAC;gBAC7E,CAAC;gBACD,OAAO,IAAI,CAAC;YACb,CAAC,CAAC,CACG,CACN,CAAC;QACH,CAAC,CAAC;KA6YF;IAlrCU,6BAA6B,CAAC,KAAqB;QAC5D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAUM,sBAAsB;IAE7B,CAAC;IAEO,cAAc,CAAC,QAAwB;QAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAI,wBAAwB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/C,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC;YACjD,CAAC;YACD,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChG,CAAC;IACF,CAAC;IAiDM,uBAAuB,CAAC,KAA+B;QAC7D,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAGM,YAAY,CAAC,KAAyB;QAC5C,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE;YAC9B,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE;gBAC1B,IAAI,CAAC,kBAAkB,CAAC,SAAmC,CAAC,CAAC;YAC9D,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;IAGM,gBAAgB,CAAC,KAA6B;QACpD,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAGM,iBAAiB,CAAC,KAAyB;QACjD,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAClC,CAAC;IAGM,mBAAmB,CAAC,KAAgC;QAC1D,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAGtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;IACpD,CAAC;IAGM,aAAa,CAAC,KAAqB;QACzC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE;YAC1B,QAAQ,EAAE,IAAI;SACd,CAAC,CAAC;IACJ,CAAC;IAGM,UAAU,CAAC,KAA8B;QAC/C,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAGM,iBAAiB,CAAC,KAA8B;QACtD,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAClC,CAAC;IAGM,wBAAwB,CAAC,KAAgC;QAC/D,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAGM,aAAa,CAAC,KAAoB;;QACxC,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YAC1D,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,eAAe,0CAAE,aAAa,CAAC,QAAQ,CAAqB,CAAC;YACzF,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAEtD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;gBAChB,KAAK,CAAC,cAAc,EAAE,CAAC;gBAEvB,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;oBAC/B,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;oBAC/C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;gBAClC,CAAC;qBAAM,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACpC,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,KAAK,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;oBAC1E,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;gBAClC,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAEM,kBAAkB;QACxB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACjC,CAAC;IAEM,gBAAgB;QACtB,IAAI,IAAI,CAAC,eAAe,IAAI,cAAc,EAAE,CAAC;YAC5C,IAAI,CAAC,6BAA6B,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACtF,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAClC,CAAC;IAGM,oBAAoB,CAAC,KAA8C;;QACzE,MAAM,kBAAkB,mCAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,KAAE,UAAU,EAAE,KAAK,CAAC,MAAM,GAAE,CAAC;QACpF,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACnD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAG9B,IAAI,OAAO,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,0CAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAA,KAAK,UAAU,EAAE,CAAC;YAC1E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QACzE,CAAC;IACF,CAAC;IAEM,oBAAoB;;QAC1B,MAAA,IAAI,CAAC,6BAA6B,0CAAE,UAAU,EAAE,CAAC;QACjD,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;IAEO,YAAY;QACnB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACzC,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5C,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAClC,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC3B,CAAC;IAEO,wBAAwB;QAC/B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;QACxG,CAAC;IACF,CAAC;IAEO,uBAAuB;;QAC9B,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACtE,IAAI,UAAU,GAAG,CAAC,CAAC;QAGnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzE,UAAU,IAAI,MAAA,MAAA,aAAa,CAAC,CAAC,CAAC,0CAAE,KAAK,mCAAI,CAAC,CAAC;QAC5C,CAAC;QAGD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5E,UAAU,IAAI,MAAA,MAAA,aAAa,CAAC,CAAC,CAAC,0CAAE,KAAK,mCAAI,CAAC,CAAC;QAC5C,CAAC;QAID,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,eAAe,0CAAE,aAAa,CAAc,6BAA6B,CAAC,CAAC;YACtG,UAAU,IAAI,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,mCAAI,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,UAAU,CAAC;IACnB,CAAC;IAEO,yBAAyB;QAChC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/C,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,OAAO;QACR,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;QACxD,MAAM,cAAc,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACtD,IAAI,CAAC,kBAAkB,GAAG,cAAc,GAAG,CAAC,IAAI,cAAc,IAAI,cAAc,CAAC;IAClF,CAAC;IAEO,kBAAkB,CAAC,IAA4B;QAGtD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACtC,CAAC;QACF,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,IAA0B;QAC5C,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAMO,qBAAqB,CAAC,QAAgB;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC;QACxG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAGvD,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,MAAM,IAAK,MAAiC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpE,OAAO,MAAgC,CAAC;QACzC,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IASO,UAAU,CAAC,IAAsB,EAAE,EAAgB;QAC1D,IAAI,EAAE,EAAE,CAAC;YACR,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAC7B,EAAE,EACF,UAAU,CAAC,GAAG,EAAE;gBACf,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBACvC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACzE,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;wBACvC,EAAE,CAAC,WAAW,GAAG,aAAa,CAAC;oBAChC,CAAC;gBACF,CAAC;YACF,CAAC,CAAC,CACF,CAAC;QACH,CAAC;IACF,CAAC;IAEO,eAAe,CAAC,iBAA6C,EAAE,IAA4B;QAClG,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;;oBACnB,KAAK,IAAI,MAAA,GAAG,CAAC,OAAO,mCAAI,CAAC,CAAC;gBAC3B,CAAC,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;gBACjB,GAAG,GAAG,KAAK,CAAC;YACb,CAAC;QACF,CAAC,CAAC,CAAC;QACH,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACf,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAEO,eAAe,CAAC,eAA2C,EAAE,IAA4B;;QAChG,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;;oBACnB,KAAK,IAAI,MAAA,GAAG,CAAC,OAAO,mCAAI,CAAC,CAAC;gBAC3B,CAAC,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC;gBACjB,GAAG,GAAG,KAAK,CAAC;YACb,CAAC;QACF,CAAC,CAAC,CAAC;QACH,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACf,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACnB,CAAC;aAAM,CAAC;YACP,GAAG,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,MAAM,KAAI,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAEO,2CAA2C,CAAC,OAAmC;QACtF,MAAM,cAAc,GAA6B,EAAE,CAAC;QAEpD,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACzB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACtB,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBACvE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC;IACvB,CAAC;IAEO,iBAAiB,CAAC,OAA4B;;QAOrD,IAAI,CAAA,MAAA,IAAI,CAAC,mBAAmB,0CAAE,OAAO,MAAK,OAAO,EAAE,CAAC;YACnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC;YACtD,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;QACxC,CAAC;QAED,IAAI,cAAc,GAA6B,IAAI,CAAC,2CAA2C,CAAC,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC,CAAC;QAM1H,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,cAAc,GAAG,IAAI,CAAC,2CAA2C,CAAC,MAAA,OAAO,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC;YAC1F,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACzB,CAAC;QACF,CAAC;QAED,IAAI,CAAC,mBAAmB,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5F,OAAO,cAAc,CAAC;IACvB,CAAC;IAEO,eAAe,CAAC,IAA4B,EAAE,OAA4B,EAAE,MAAgB;;QACnG,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,MAAM,EAAE,CAAC;YACZ,QAAQ,GAAG,OAAO,CAAC;YACnB,OAAO,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,0CAAE,MAAM,KAAI,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,SAAS,GAAyB,EAAE,CAAC;QAE3C,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAe,EAAE,CAAC;QAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACxC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpB,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,MAAM,mBAAmB,GAAG,aAAa,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,OAAO,GAAsC,EAAE,CAAC;YACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;gBAC/C,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC;gBACzD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;oBACpB,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC1D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC9B,OAAO,CAAC,IAAI,iCACR,IAAI,KACP,UAAU,EAAE,IAAI,EAChB,IAAI,EAAE,EAAE,IACP,CAAC;wBACH,IAAI,OAAO,GAAG,CAAC,CAAC;wBAChB,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;4BAC1D,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;wBACxB,CAAC;wBACD,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC9B,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;4BAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;gCACvC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BACnC,CAAC;wBACF,CAAC;wBACD,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnB,CAAC;gBACF,CAAC;YACF,CAAC,CAAC,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;oBACtB,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;wBAC1C,IAAI,MAAM,GAAG,MAAA,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,mCAAI,CAAC,CAAC;wBAC3C,MAAM,IAAI,MAAA,MAAA,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,0CAAE,KAAK,mCAAI,CAAC,CAAC;wBACjD,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;oBAC/B,CAAC;gBACF,CAAC;gBACD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;oBACvB,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;wBAC1C,IAAI,MAAM,GAAG,MAAA,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,mCAAI,CAAC,CAAC;wBAC3C,MAAM,IAAI,MAAA,MAAA,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,0CAAE,KAAK,mCAAI,CAAC,CAAC;wBACjD,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;oBAC/B,CAAC;gBACF,CAAC;gBACD,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;oBAC9B,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC1F,IACC,OAAO,mBAAmB,CAAC,CAAC,CAAC,KAAK,QAAQ;wBAC1C,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI;wBAC/B,OAAO,GAAG,KAAK,QAAQ;wBACvB,GAAG,KAAK,IAAI;wBACZ,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,EACtG,CAAC;wBACF,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAwB,CAAC;wBAChE,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;wBAE/B,OAAO,CAAC,IAAI,iCACR,mBAAmB,CAAC,CAAC,CAAC,KACzB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,SAAS,EAClB,IAAI,EAAE,GAAG,EACT,KAAK,EAAE,SAAmB,IACzB,CAAC;oBACJ,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,IACC,OAAO,mBAAmB,CAAC,CAAC,CAAC,KAAK,QAAQ;wBAC1C,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI;wBAC/B,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;wBAC3B,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;wBAChB,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,EACtG,CAAC;wBACF,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAwB,CAAC;wBAChE,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;wBAEnC,OAAO,CAAC,IAAI,iCACR,mBAAmB,CAAC,CAAC,CAAC,KACzB,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,SAAS,EAClB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EACb,KAAK,EAAE,SAAmB,IACzB,CAAC;oBACJ,CAAC;gBACF,CAAC;YACF,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAA,OAAO,CAAC,UAAU,0CAAG,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpE,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACnC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBACnC,OAAO,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;gBAC7B,CAAC,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,GAAG;gBACjB,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE,IAAI,CAAC,kBAAkB;gBAC9B,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;aAC7B,CAAC;YACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACP,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAEO,iBAAiB,CAAC,KAAwD;;QACjF,OAAO,CACN,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC3B,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACjD,OAAO,GAAG,CAAC;YACZ,CAAC;YAED,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QAClC,CAAC,EAAE,CAAC,CAAC,mCAAI,CAAC,CACV,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,KAAyB;QAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxE,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC;QACf,CAAC;QACD,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,OAAO,OAAO,CAAC;QAChB,CAAC;IACF,CAAC;IAEO,cAAc,CAAC,KAAyB;QAC/C,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAClD,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAEO,eAAe,CAAC,KAAyB,EAAE,IAAc;QAChE,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,OAAO,+CAA+C,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAC7F,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC1C,CAAC;IAEO,qCAAqC,CAAC,KAAY,EAAE,OAAoC;;QAC/F,IAAI,OAAO,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,0CAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAA,KAAK,UAAU,EAAE,CAAC;YACxE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;IACF,CAAC;IAEO,4BAA4B;QAEnC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAGpH,MAAM,kBAAkB,mCACpB,IAAI,CAAC,KAAK,CAAC,YAAY,KAC1B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1D,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iCAChB,MAAM,KACT,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EACpE,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IACnE,CAAC,CACH,GACD,CAAC;YACF,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IAEM,iBAAiB;QACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAWO,mBAAmB,CAAC,GAAgD,EAAE,QAAgB;;QAC7F,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAC3D,MAAM,aAAa,GAAG,MAAA,GAAG,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC;QAEnC,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,aAAa,CAAC,eAAe,CAAoB,CAAC;QACtE,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC;QAE1E,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAEnE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,QAAQ;YACjB,QAAQ;YACR,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC;YACvB,CAAC,YAAY,CAAC,EAAE,KAAK;SACrB,CAAC;QACF,OAAO,CACN,UAAI,GAAG,EAAE,SAAS,QAAQ,YAAY,EAAE,KAAK,EAAC,4CAA4C;YACzF,WAAK,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAAE,+BAA+B,EAAE,QAAQ,EAAE,CAAC;gBACrF,UAAU,CAAC,CAAC,CAAC,CACb,aACC,KAAK,EAAE,IAAI,CAAC,4BAA4B,EAAE;wBACzC,sCAAsC,EAAE,QAAQ;qBAChD,CAAC;oBAEF,EAAC,MAAM,IAAC,KAAK,EAAC,2BAA2B,EAAC,KAAK,EAAE,WAAW,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAC,EAAE,GAAG;oBAC1G,2BACC,KAAK,EAAE,IAAI,CAAC,iEAAiE,CAAC,EAC9E,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,IACzC,KAAK,IACT,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;4BACzB,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;gCACrB,MAAM,CAAC,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,YAAY,CAAC;gCAClC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC1D,CAAC,CAAC,EAAE,CAAC;4BACL,MAAM,mBAAmB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;4BAE7H,IAAI,CAAC,qCAAqC,CAAC,KAAK,EAAE,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,EAAE,CAAC,CAAC;wBAC9E,CAAC,IACA,CACK,CACR,CAAC,CAAC,CAAC,CACH,aAAO,KAAK,EAAC,4BAA4B;oBACxC,2BACC,KAAK,EAAE,IAAI,CAAC,8DAA8D,CAAC,IACvE,KAAK,IACT,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;4BACzB,IAAI,CAAC,qCAAqC,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;wBAClE,CAAC,IACA,CACK,CACR;gBACD,WAAK,KAAK,EAAC,oCAAoC;oBAC9C,EAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAC,EAAE,EAAC,EAAE,EAAE,GAAG,WAAW,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,GAAI,CACtF,CACD,CACF,CACL,CAAC;IACH,CAAC;IAqIO,2BAA2B;;QAClC,OAAO,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,eAAe,mCAAI,IAAI,CAAC;IACvD,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,KAA6D;QACzF,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAOO,sBAAsB;;QAC7B,IAAI,CAAC,qBAAqB,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,aAAa,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACzH,IAAI,CAAC,qBAAqB,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,aAAa,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,YAAY,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1H,CAAC;IAEO,2BAA2B;QAClC,MAAM,eAAe,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAA6B,CAAC,CAAC,CAAC,CAAC;IACtI,CAAC;IAEO,kCAAkC;;QACzC,OAAO,mBAAmB,CAAC,aAAa,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzI,CAAC;IAEO,mCAAmC;;QAC1C,OAAO,mBAAmB,CAAC,aAAa,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,0CAAE,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxI,CAAC;IAEO,oBAAoB,CAAC,SAAkB;;QAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,mCAAmC,EAAE,mCAAI,EAAE,CAAC;QAEnE,IAAI,SAAS,EAAE,CAAC;YACf,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAG,eAAe,CAA6B,CAAC,CAAC,CAAC;QACtH,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAeO,gBAAgB;;QAEvB,MAAM,iBAAiB,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,mCAAI,EAAE,CAAC;QACnE,MAAM,sBAAsB,GAAa,EAAE,CAAC;QAC5C,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;oBAC1E,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzC,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAGH,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,mCAAI,EAAE,CAAC;QAC/D,MAAM,oBAAoB,GAAa,EAAE,CAAC;QAC1C,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAClC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACvB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;oBAChD,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvC,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,CAAC,GAAG,oBAAoB,EAAE,GAAG,sBAAsB,CAAC,CAAC;QAEvE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5B,CAAC;QACD,OAAO,QAAQ,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IAC9D,CAAC;IAUO,0BAA0B;;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAExC,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,OAAO,UAAI,KAAK,EAAC,yCAAyC,EAAC,GAAG,EAAE,SAAS,GAAO,CAAC;QAClF,CAAC;QAED,IAAI,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;YAClC,OAAO,CACN,UAAI,KAAK,EAAC,KAAK,EAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAC,oEAAoE;gBACnH,YAAM,KAAK,EAAC,iBAAiB,IAAE,SAAS,CAAC,qBAAqB,CAAC,CAAQ,CACnE,CACL,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAA,MAAA,IAAI,CAAC,kCAAkC,EAAE,0CAAE,MAAM,mCAAI,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC,MAAM,CAAC;QAC7D,MAAM,SAAS,GAAG,iBAAiB,KAAK,UAAU,CAAC;QACnD,MAAM,aAAa,GAAG,iBAAiB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QAC5D,IAAI,cAAc,GAAG,mCAAqD,CAAC;QAC3E,IAAI,SAAS,IAAI,CAAC,aAAa,EAAE,CAAC;YACjC,cAAc,GAAG,0BAA0B,CAAC;QAC7C,CAAC;QACD,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;YAC7B,cAAc,GAAG,yBAAyB,CAAC;QAC5C,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QACxC,OAAO,CACN,UAAI,KAAK,EAAC,KAAK,EAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAC,oEAAoE;YACnH,YAAM,KAAK,EAAC,iBAAiB,IAAE,SAAS,CAAC,qBAAqB,CAAC,CAAQ;YACvE,WACC,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE;oBACnC,qCAAqC,EAAE,aAAa;oBACpD,+BAA+B,EAAE,SAAS;iBAC1C,CAAC;gBAEF,aAAO,KAAK,EAAC,4BAA4B;oBACxC,EAAC,MAAM,IAAC,KAAK,EAAC,2BAA2B,EAAC,KAAK,EAAE,WAAW,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAC,EAAE,GAAG;oBAC7I,aACC,KAAK,EAAE,IAAI,CAAC,iEAAiE,CAAC,iBAClE,wBAAwB,EACpC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAC7C,IAAI,EAAC,WAAW,EAChB,OAAO,EAAE,SAAS,IAAI,CAAC,aAAa,EACpC,aAAa,EAAE,aAAa,gBAChB,KAAK,EACjB,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;4BACzB,IAAI,CAAC,qCAAqC,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;wBAC1F,CAAC,GACA,CACK;gBACR,WAAK,KAAK,EAAC,oCAAoC;oBAC9C,EAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAC,EAAE,EAAC,EAAE,EAAE,GAAG,cAAc,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,GAAI,CACzF,CACD,CACF,CACL,CAAC;IACH,CAAC;IAUO,kBAAkB;QACzB,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC;QAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC;QAEzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5I,OAAO,EAAC,QAAQ,OAAY,CAAC;QAC9B,CAAC;QAGD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;;YACzD,MAAM,SAAS,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,CAAC,CAAC,CAAC;YAC9B,OAAO,GAAG,GAAG,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,mCAAI,CAAC,CAAC,CAAC;QACtC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,OAAO,CACN,yBACa,MAAM,EAClB,OAAO,EAAE,eAAe,CAAC,MAAM,EAC/B,OAAO,EAAE,iBAAiB,CAAC,MAAM,EACjC,KAAK,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,GAC3D,CACN,CAAC;IACH,CAAC;IAWO,0BAA0B,CAAC,KAAa;QAC/C,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IAEO,sBAAsB,CAAC,KAAc;QAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO,GAAG,IAAI,CAAC,aAAa,MAAM,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5E,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAEO,iBAAiB,CAAC,IAA4B,EAAE,QAAgB,EAAE,QAAgB,EAAE,UAAmB;QAE9G,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,eAAe,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,MAAK,KAAK,CAAC;QACjD,MAAM,gBAAgB,GAAG,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC;QAChE,MAAM,OAAO,GAAG,eAAe,IAAI,gBAAgB,CAAC;QAEpD,IAAI,QAAQ,GAAa,MAAM,CAAC;QAChC,IAAI,cAAc,GAAG,sBAAsB,CAAC;QAE5C,IAAI,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACnC,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC5B,KAAK,KAAK;oBACT,cAAc,GAAG,kBAAkB,CAAC;oBACpC,QAAQ,GAAG,WAAW,CAAC;oBACvB,MAAM;gBACP,KAAK,MAAM;oBACV,cAAc,GAAG,mBAAmB,CAAC;oBACrC,QAAQ,GAAG,YAAY,CAAC;oBACxB,MAAM;gBACP;oBACC,QAAQ,GAAG,MAAM,CAAC;YACpB,CAAC;QACF,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;QAE7G,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACxG,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvF,MAAM,WAAW,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnF,OAAO,CACN,UACC,GAAG,EAAE,GAAG,QAAQ,IAAI,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,EAC5C,KAAK,EAAE,IAAI,CACV,yCAAyC,EACzC,oBAAoB,QAAQ,EAAE,EAC9B,IAAI,CAAC,SAAS,IAAI,0BAA0B,IAAI,CAAC,SAAS,EAAE,EAC5D,KAAK,IAAI,2BAA2B,KAAK,EAAE,CAC3C,EACD,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,eAClD,QAAQ,eACR,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,IAElF,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAChC,YAAM,KAAK,EAAC,iBAAiB;YAC5B,EAAC,cAAc,IACd,KAAK,EAAC,wBAAwB,EAC9B,MAAM,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EACjC,MAAM,EAAE,IAAI,CAAC,KAAK,EAClB,gBAAgB,EAAE,eAAe,EACjC,GAAG,EAAE;oBACJ,OAAO,EAAE,CAAC,KAAiB,EAAE,EAAE;;wBAC9B,IAAI,OAAO,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,0CAAE,MAAM,CAAA,KAAK,UAAU,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;4BACpF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE;gCAC5B,GAAG,EAAE,IAAI,CAAC,GAAG;gCACb,oBAAoB,EAAE,IAAI,CAAC,aAAa;6BACxC,CAAC,CAAC;wBACJ,CAAC;wBACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;4BACf,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;gCAC1C,GAAG,EAAE,IAAI,CAAC,GAAG;gCACb,oBAAoB,EAAE,IAAI,CAAC,aAAa;6BACxC,CAAC,CAAC;wBACJ,CAAC;oBACF,CAAC;iBACD,GACgB;YACjB,SAAS,IAAI,CACb,2BAAkB,MAAM,EAAC,KAAK,EAAC,uBAAuB,IACpD,SAAS,CACJ,CACP,CACK,CACP,CAAC,CAAC,CAAC,CACH,IAAI,CAAC,KAAK,CACV,CACG,CACL,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,OAAwB,EAAE,QAA2D;;QACzG,MAAM,oBAAoB,GAAG,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,0CAAE,MAAM,KAAI,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,OAAO,CACN,yBAAgB,MAAM,EAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,sBAAsB,OAAO,EAAE,CAAC;YACvF,UAAI,KAAK,EAAE,IAAI,CAAC,kDAAkD,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,GAAG,aAAa,GAAO,CACxI,CACL,CAAC;IACH,CAAC;IAEO,UAAU;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,IAAI,GAAyB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC7G,OAAO,CACN,aAAO,KAAK,EAAC,mBAAmB,IAC9B;YACA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,CAAC,GAAgD,EAAE,QAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAChI,CACM,CACR,CAAC;IACH,CAAC;IAEM,MAAM;;QACZ,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC;QAE7D,MAAM,mBAAmB,GAAG,CAAC,CAAA,MAAA,IAAI,CAAC,qBAAqB,0CAAE,MAAM,CAAA,CAAC;QAEhE,OAAO,CACN,4DACC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE;gBACxB,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,QAAkB,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;aAClF,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAC,qBAAqB,qDAAC,sBAAsB,EAAE,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,EAAE,GAAI;YAM1G,4DACC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,EAClD,KAAK,EAAC,6BAA6B,EACnC,QAAQ,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;gBAE3F,8DACC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;wBACX,IAAI,CAAC,QAAQ,GAAG,EAAsB,CAAC;wBACvC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;oBACjD,CAAC,qBACgB,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAC5D,KAAK,EAAC,kBAAkB,EACxB,KAAK,EAAE;wBACN,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE;qBACjC;oBAGA,mBAAmB,IAAI,CACvB,gEAAS,KAAK,EAAC,6CAA6C,EAAC,EAAE,EAAC,SAAS,EAAC,QAAQ,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IACpI,IAAI,CAAC,KAAK,CAAC,MAAM,CACT,CACV;oBAGA,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CACpC,8DAAO,KAAK,EAAC,iBAAiB,IAC5B;wBACA,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CACzC,UAAI,KAAK,EAAC,qBAAqB,EAAC,GAAG,EAAE,SAAS,QAAQ,EAAE;4BACtD,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,0BAA0B,EAAE;4BAC1D,QAAQ,KAAK,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE;4BAC3C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CACzG,CACL,CAAC;wBACF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC;qBAC5C,CACM,CACR;oBACD,8DAAO,KAAK,EAAC,iBAAiB,IAC5B,SAAS,CAAC,GAAG,CAAC,CAAC,GAAgD,EAAE,QAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CACzH;oBACP,IAAI,CAAC,UAAU,EAAE,CACX,CACH,CACD,CACN,CAAC;IACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import type { JSX } from '@stencil/core';\nimport { Component, Element, Fragment, h, Listen, Prop, State, Watch } from '@stencil/core';\n\nimport { isEqual } from 'lodash-es';\nimport { KolButtonWcTag, KolLinkWcTag, KolTableSettingsWcTag } from '../../core/component-names';\nimport type { TranslationKey } from '../../i18n';\nimport { translate } from '../../i18n';\nimport { IconFC } from '../../internal/functional-components/icon/component';\nimport { TooltipFC } from '../../internal/functional-components/tooltip/component';\nimport type {\n\tActionColumnHeaderCell,\n\tAriaSort,\n\tFixedColsPropType,\n\tHasSettingsMenuPropType,\n\tKoliBriTableCell,\n\tKoliBriTableDataType,\n\tKoliBriTableHeaderCell,\n\tKoliBriTableHeaderCellWithLogic,\n\tKoliBriTableHeaders,\n\tKoliBriTableRender,\n\tLabelPropType,\n\tSelectionChangeEventPayload,\n\tTableCallbacksPropType,\n\tTableDataFootPropType,\n\tTableDataPropType,\n\tTableHeaderCellsPropType,\n\tTableSelectionPropType,\n\tTableStatelessAPI,\n\tTableStatelessStates,\n\tVariantClassNamePropType,\n} from '../../schema';\nimport {\n\tLog,\n\tsetState,\n\tvalidateFixedCols,\n\tvalidateHasSettingsMenu,\n\tvalidateLabel,\n\tvalidateTableCallbacks,\n\tvalidateTableData,\n\tvalidateTableDataFoot,\n\tvalidateTableHeaderCells,\n\tvalidateTableSelection,\n\tvalidateVariantClassName,\n} from '../../schema';\nimport { Callback } from '../../schema/enums';\nimport type { KoliBriTableSelectionKey } from '../../schema/types';\nimport clsx from '../../utils/clsx';\nimport { nonce } from '../../utils/dev.utils';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\n\nconst RESIZE_DEBOUNCE_DELAY = 150;\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-table-stateless-wc',\n\tshadow: false,\n})\nexport class KolTableStatelessWc implements TableStatelessAPI {\n\t@Element() private readonly host?: HTMLKolTableStatelessWcElement;\n\n\tprivate tableRef?: HTMLTableElement;\n\n\tprivate readonly translateNoEntries = translate('kol-no-entries');\n\n\t@State() public state: TableStatelessStates = {\n\t\t_data: [],\n\t\t_headerCells: {\n\t\t\thorizontal: [],\n\t\t\tvertical: [],\n\t\t},\n\t\t_label: '',\n\t\t_hasSettingsMenu: false,\n\t};\n\n\tprivate tableDivElement?: HTMLDivElement;\n\tprivate tableDivElementResizeObserver?: ResizeObserver;\n\tprivate horizontal = true;\n\tprivate cellsToRenderTimeouts = new Map<HTMLElement, ReturnType<typeof setTimeout>>();\n\tprivate dataToKeyMap = new Map<KoliBriTableDataType, string>();\n\n\t/** Per-render cache for the computed primary headers, keyed by header object reference. */\n\tprivate primaryHeadersCache?: { headers: KoliBriTableHeaders; result: KoliBriTableHeaderCell[]; horizontal: boolean };\n\n\t/** Per-render lookup sets for selection state to avoid O(n²) scans of the key arrays per row. */\n\tprivate selectedKeysStringSet = new Set<string>();\n\tprivate disabledKeysStringSet = new Set<string>();\n\n\tprivate checkboxRefs: HTMLInputElement[] = [];\n\n\tprivate translateSort = translate('kol-sort');\n\tprivate translateSortOrder = translate('kol-table-sort-order');\n\n\tprivate maxCols: number = 0;\n\tprivate fixedOffsets: number[] = [];\n\tprivate resizeDebounceTimeout?: ReturnType<typeof setTimeout>;\n\n\tprivate settingsChangedCounter = 0;\n\n\t@State()\n\tprivate tableDivElementHasScrollbar = false;\n\n\t@State()\n\tprivate stickyColsDisabled = false;\n\n\t/**\n\t * Store previous value to allow change detection by value-comparison\n\t */\n\t@State()\n\tprivate previousHeaderCells?: TableHeaderCellsPropType;\n\n\t/**\n\t * External label elements forwarded from the public wrapper.\n\t * @internal Use `_ariaLabelledby` on the public `kol-table-stateless` component instead.\n\t */\n\t@Prop() public externalLabelElements?: HTMLElement[];\n\n\t@Watch('externalLabelElements')\n\tprotected onExternalLabelElementsChange(value?: HTMLElement[]): void {\n\t\tthis.syncTableLabel(value);\n\t}\n\n\t/**\n\t * @internal Required by TableStatelessAPI. Actual resolution happens in the shadow wrapper\n\t * (kol-table-stateless), which resolves IDs in the correct tree scope and passes the\n\t * resulting HTMLElement[] via externalLabelElements.\n\t */\n\t@Prop() public _ariaLabelledby?: string;\n\n\t@Watch('_ariaLabelledby')\n\tpublic validateAriaLabelledby(): void {\n\t\t// no-op — resolution is handled by the shadow wrapper via externalLabelElements\n\t}\n\n\tprivate syncTableLabel(elements?: HTMLElement[]): void {\n\t\tif (!this.tableRef) return;\n\t\tif ('ariaLabelledByElements' in this.tableRef) {\n\t\t\tif (elements?.length) {\n\t\t\t\tthis.tableRef.ariaLabelledByElements = elements;\n\t\t\t}\n\t\t\tLog.debug([this.tableRef, !!elements?.length, elements, this.tableRef.ariaLabelledByElements]);\n\t\t}\n\t}\n\n\t/**\n\t * Defines the primary table data.\n\t */\n\t@Prop() public _data!: TableDataPropType;\n\n\t/**\n\t * Defines the data for the table footer.\n\t */\n\t@Prop() public _dataFoot?: TableDataFootPropType;\n\n\t/**\n\t * Defines the fixed number of columns from start and end of the table\n\t */\n\t@Prop() public _fixedCols?: FixedColsPropType;\n\n\t/**\n\t * Defines the horizontal and vertical table headers.\n\t */\n\t@Prop() public _headerCells!: TableHeaderCellsPropType;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: string;\n\n\t/**\n\t * Defines the callback functions for table events.\n\t */\n\t@Prop() public _on?: TableCallbacksPropType;\n\n\t/**\n\t * Defines how rows can be selected and the current selection.\n\t */\n\t@Prop() public _selection?: TableSelectionPropType;\n\n\t/**\n\t * Defines which variant should be used for presentation.\n\t * @internal\n\t */\n\t@Prop() public _variant?: VariantClassNamePropType;\n\n\t/**\n\t * Enables the settings menu if true (default: false).\n\t */\n\t@Prop() public _hasSettingsMenu?: HasSettingsMenuPropType;\n\n\t@Watch('_hasSettingsMenu')\n\tpublic validateHasSettingsMenu(value?: HasSettingsMenuPropType): void {\n\t\tvalidateHasSettingsMenu(this, value);\n\t}\n\n\t@Watch('_data')\n\tpublic validateData(value?: TableDataPropType) {\n\t\tvalidateTableData(this, value, {\n\t\t\tbeforePatch: (nextValue) => {\n\t\t\t\tthis.updateDataToKeyMap(nextValue as KoliBriTableDataType[]);\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_dataFoot')\n\tpublic validateDataFoot(value?: TableDataFootPropType) {\n\t\tvalidateTableDataFoot(this, value);\n\t}\n\n\t@Watch('_fixedCols')\n\tpublic validateFixedCols(value?: FixedColsPropType) {\n\t\tvalidateFixedCols(this, value);\n\t\tthis.checkAndUpdateStickyState();\n\t}\n\n\t@Watch('_headerCells')\n\tpublic validateHeaderCells(value?: TableHeaderCellsPropType) {\n\t\tvalidateTableHeaderCells(this, value);\n\n\t\t/* The reference changes on every render. Only reinitialize settings when headers actually changed */\n\t\tif (!isEqual(this.previousHeaderCells, this.state._headerCells)) {\n\t\t\tthis.initializeHeaderCellSettings();\n\t\t}\n\n\t\tthis.previousHeaderCells = this.state._headerCells;\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: TableCallbacksPropType): void {\n\t\tvalidateTableCallbacks(this, value);\n\t}\n\n\t@Watch('_selection')\n\tpublic validateSelection(value?: TableSelectionPropType): void {\n\t\tvalidateTableSelection(this, value);\n\t\tthis.checkAndUpdateStickyState();\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariantClassName(value?: VariantClassNamePropType): void {\n\t\tvalidateVariantClassName(this, value);\n\t}\n\n\t@Listen('keydown')\n\tpublic handleKeyDown(event: KeyboardEvent) {\n\t\tif (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n\t\t\tconst focusedElement = this.tableDivElement?.querySelector(':focus') as HTMLInputElement;\n\t\t\tlet index = this.checkboxRefs.indexOf(focusedElement);\n\n\t\t\tif (index > -1) {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tif (event.key === 'ArrowDown') {\n\t\t\t\t\tindex = (index + 1) % this.checkboxRefs.length;\n\t\t\t\t\tthis.checkboxRefs[index].focus();\n\t\t\t\t} else if (event.key === 'ArrowUp') {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tindex = (index + this.checkboxRefs.length - 1) % this.checkboxRefs.length;\n\t\t\t\t\tthis.checkboxRefs[index].focus();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic componentDidRender(): void {\n\t\tthis.checkDivElementScrollbar();\n\t}\n\n\tpublic componentDidLoad() {\n\t\tif (this.tableDivElement && ResizeObserver) {\n\t\t\tthis.tableDivElementResizeObserver = new ResizeObserver(this.handleResize.bind(this));\n\t\t\tthis.tableDivElementResizeObserver.observe(this.tableDivElement);\n\t\t}\n\t\tthis.checkAndUpdateStickyState();\n\t}\n\n\t@Listen('changeheadercells')\n\tpublic handleSettingsChange(event: CustomEvent<KoliBriTableHeaderCell[][]>) {\n\t\tconst updatedHeaderCells = { ...this.state._headerCells, horizontal: event.detail };\n\t\tsetState(this, '_headerCells', updatedHeaderCells);\n\t\tthis.settingsChangedCounter++;\n\n\t\t// Call the onChangeHeaderCells callback if provided\n\t\tif (typeof this.state._on?.[Callback.onChangeHeaderCells] === 'function') {\n\t\t\tthis.state._on[Callback.onChangeHeaderCells](event, updatedHeaderCells);\n\t\t}\n\t}\n\n\tpublic disconnectedCallback() {\n\t\tthis.tableDivElementResizeObserver?.disconnect();\n\t\tclearTimeout(this.resizeDebounceTimeout);\n\t}\n\n\tprivate handleResize() {\n\t\tthis.checkDivElementScrollbar();\n\t\tclearTimeout(this.resizeDebounceTimeout);\n\t\tthis.resizeDebounceTimeout = setTimeout(() => {\n\t\t\tthis.checkAndUpdateStickyState();\n\t\t}, RESIZE_DEBOUNCE_DELAY);\n\t}\n\n\tprivate checkDivElementScrollbar() {\n\t\tif (this.tableDivElement) {\n\t\t\tthis.tableDivElementHasScrollbar = this.tableDivElement.scrollWidth > this.tableDivElement.clientWidth;\n\t\t}\n\t}\n\n\tprivate calculateFixedColsWidth(): number {\n\t\tif (!this._fixedCols) return 0;\n\t\tconst primaryHeader = this.getPrimaryHeaders(this.state._headerCells);\n\t\tlet totalWidth = 0;\n\n\t\t// Sum widths of left-fixed columns\n\t\tfor (let i = 0; i < this._fixedCols[0] && i < primaryHeader.length; i++) {\n\t\t\ttotalWidth += primaryHeader[i]?.width ?? 0;\n\t\t}\n\n\t\t// Sum widths of right-fixed columns\n\t\tconst startRight = this.maxCols - this._fixedCols[1];\n\t\tfor (let i = startRight; i < this.maxCols && i < primaryHeader.length; i++) {\n\t\t\ttotalWidth += primaryHeader[i]?.width ?? 0;\n\t\t}\n\n\t\t// The selection column is always position: sticky; left: 0 (CSS-hardcoded).\n\t\t// Its width is CSS-computed and must be measured from the DOM.\n\t\tif (this.state._selection) {\n\t\t\tconst selectionCell = this.tableDivElement?.querySelector<HTMLElement>('.kol-table__cell--selection');\n\t\t\ttotalWidth += selectionCell?.offsetWidth ?? 0;\n\t\t}\n\n\t\treturn totalWidth;\n\t}\n\n\tprivate checkAndUpdateStickyState() {\n\t\tif (!this.tableDivElement || !this._fixedCols) {\n\t\t\tthis.stickyColsDisabled = false;\n\t\t\treturn;\n\t\t}\n\t\tconst containerWidth = this.tableDivElement.clientWidth;\n\t\tconst fixedColsWidth = this.calculateFixedColsWidth();\n\t\tthis.stickyColsDisabled = fixedColsWidth > 0 && fixedColsWidth >= containerWidth;\n\t}\n\n\tprivate updateDataToKeyMap(data: KoliBriTableDataType[]) {\n\t\t/* Use a Set for O(1) membership checks. Using data.includes() inside the\n\t\t * cleanup loop below would be O(n²) and dominates rendering for large data sets. */\n\t\tconst dataSet = new Set(data);\n\t\tdata.forEach((data) => {\n\t\t\tif (!this.dataToKeyMap.has(data)) {\n\t\t\t\tthis.dataToKeyMap.set(data, nonce());\n\t\t\t}\n\t\t});\n\n\t\t/* Cleanup old values from map */\n\t\tthis.dataToKeyMap.forEach((_, key) => {\n\t\t\tif (!dataSet.has(key)) {\n\t\t\t\tthis.dataToKeyMap.delete(key);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate getDataKey(data: KoliBriTableDataType) {\n\t\treturn this.dataToKeyMap.get(data);\n\t}\n\n\t/**\n\t * Finds the ActionColumnHeaderCell for a given column index.\n\t * Returns the action column header if found, otherwise undefined.\n\t */\n\tprivate getActionColumnHeader(colIndex: number): ActionColumnHeaderCell | undefined {\n\t\tconst headers = this.horizontal ? this.state._headerCells.horizontal : this.state._headerCells.vertical;\n\t\tif (!headers || headers.length === 0) return undefined;\n\n\t\t// Get the primary headers (those with keys)\n\t\tconst primaryHeader = this.getPrimaryHeaders(this.state._headerCells);\n\t\tconst header = primaryHeader[colIndex];\n\n\t\tif (header && (header as ActionColumnHeaderCell).type === 'action') {\n\t\t\treturn header as ActionColumnHeaderCell;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * Applies a custom render function to a specific table cell if provided.\n\t * Ensures that the content is updated after a delay to avoid excessive re-renders.\n\t *\n\t * @param {KoliBriTableCell} cell The cell to be rendered, with a possible custom `render` function.\n\t * @param {HTMLElement} el The HTML element where the cell is rendered.\n\t */\n\tprivate cellRender(cell: KoliBriTableCell, el?: HTMLElement): void {\n\t\tif (el) {\n\t\t\tclearTimeout(this.cellsToRenderTimeouts.get(el));\n\t\t\tthis.cellsToRenderTimeouts.set(\n\t\t\t\tel,\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (typeof cell.render === 'function') {\n\t\t\t\t\t\tconst renderContent = cell.render(el, cell, cell.data, this.state._data);\n\t\t\t\t\t\tif (typeof renderContent === 'string') {\n\t\t\t\t\t\t\tel.textContent = renderContent;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate getNumberOfCols(horizontalHeaders: KoliBriTableHeaderCell[][], data: KoliBriTableDataType[]): number {\n\t\tlet max = 0;\n\t\thorizontalHeaders.forEach((row) => {\n\t\t\tlet count = 0;\n\t\t\tif (Array.isArray(row)) {\n\t\t\t\trow.forEach((col) => {\n\t\t\t\t\tcount += col.colSpan ?? 1;\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (max < count) {\n\t\t\t\tmax = count;\n\t\t\t}\n\t\t});\n\t\tif (max === 0) {\n\t\t\tmax = data.length;\n\t\t}\n\t\treturn max;\n\t}\n\n\tprivate getNumberOfRows(verticalHeaders: KoliBriTableHeaderCell[][], data: KoliBriTableDataType[]): number {\n\t\tlet max = 0;\n\t\tverticalHeaders.forEach((col) => {\n\t\t\tlet count = 0;\n\t\t\tif (Array.isArray(col)) {\n\t\t\t\tcol.forEach((row) => {\n\t\t\t\t\tcount += row.rowSpan ?? 1;\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (max < count) {\n\t\t\t\tmax = count;\n\t\t\t}\n\t\t});\n\t\tif (max === 0) {\n\t\t\tmax = data.length;\n\t\t} else {\n\t\t\tmax -= this.state._dataFoot?.length || 0;\n\t\t}\n\t\treturn max;\n\t}\n\n\tprivate getThePrimaryHeadersWithKeyOrRenderFunction(headers: KoliBriTableHeaderCell[][]): KoliBriTableHeaderCell[] {\n\t\tconst primaryHeaders: KoliBriTableHeaderCell[] = [];\n\n\t\theaders.forEach((cells) => {\n\t\t\tcells.forEach((cell) => {\n\t\t\t\tif (typeof cell.key === 'string' || typeof cell.render === 'function') {\n\t\t\t\t\tprimaryHeaders.push(cell);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn primaryHeaders;\n\t}\n\n\tprivate getPrimaryHeaders(headers: KoliBriTableHeaders): KoliBriTableHeaderCell[] {\n\t\t/**\n\t\t * Memoize by reference: within a single render the header object is stable, so this\n\t\t * avoids rebuilding the primary-header array for every cell (e.g. via getActionColumnHeader),\n\t\t * which would otherwise be O(rows × cols × headers). The cache invalidates automatically\n\t\t * whenever a new header object is assigned to the state.\n\t\t */\n\t\tif (this.primaryHeadersCache?.headers === headers) {\n\t\t\tthis.horizontal = this.primaryHeadersCache.horizontal;\n\t\t\treturn this.primaryHeadersCache.result;\n\t\t}\n\n\t\tlet primaryHeaders: KoliBriTableHeaderCell[] = this.getThePrimaryHeadersWithKeyOrRenderFunction(headers.horizontal ?? []);\n\n\t\t/**\n\t\t * It is important to note that the rendering direction of the data is implicitly set,\n\t\t * if either the horizontal or vertical header cells have keys.\n\t\t */\n\t\tthis.horizontal = true;\n\t\tif (primaryHeaders.length === 0) {\n\t\t\tprimaryHeaders = this.getThePrimaryHeadersWithKeyOrRenderFunction(headers.vertical ?? []);\n\t\t\tif (primaryHeaders.length > 0) {\n\t\t\t\tthis.horizontal = false;\n\t\t\t}\n\t\t}\n\n\t\tthis.primaryHeadersCache = { headers, result: primaryHeaders, horizontal: this.horizontal };\n\t\treturn primaryHeaders;\n\t}\n\n\tprivate createDataField(data: KoliBriTableDataType[], headers: KoliBriTableHeaders, isFoot?: boolean): (KoliBriTableCell & KoliBriTableDataType)[][] {\n\t\theaders.horizontal = Array.isArray(headers?.horizontal) ? headers.horizontal : [];\n\t\theaders.vertical = Array.isArray(headers?.vertical) ? headers.vertical : [];\n\n\t\tthis.maxCols = this.getNumberOfCols(headers.horizontal, data);\n\t\tconst primaryHeader = this.getPrimaryHeaders(headers);\n\t\tlet maxRows = this.getNumberOfRows(headers.vertical, data);\n\t\tlet startRow = 0;\n\t\tif (isFoot) {\n\t\t\tstartRow = maxRows;\n\t\t\tmaxRows += this.state._dataFoot?.length || 0;\n\t\t}\n\t\tconst dataField: KoliBriTableCell[][] = [];\n\n\t\tconst rowCount: number[] = [];\n\t\tconst rowSpans: number[][] = [];\n\t\theaders.vertical.forEach((_row, index) => {\n\t\t\trowCount[index] = 0;\n\t\t\trowSpans[index] = [];\n\t\t});\n\n\t\tconst sortedPrimaryHeader = primaryHeader;\n\n\t\tfor (let i = startRow; i < maxRows; i++) {\n\t\t\tconst dataRow: KoliBriTableHeaderCellWithLogic[] = [];\n\t\t\theaders.vertical.forEach((headerCells, index) => {\n\t\t\t\tlet rowsTotal = 0;\n\t\t\t\trowSpans[index].forEach((value) => (rowsTotal += value));\n\t\t\t\tif (rowsTotal <= i) {\n\t\t\t\t\tconst rows = headerCells[i - rowsTotal + rowCount[index]];\n\t\t\t\t\tif (typeof rows === 'object') {\n\t\t\t\t\t\tdataRow.push({\n\t\t\t\t\t\t\t...rows,\n\t\t\t\t\t\t\theaderCell: true,\n\t\t\t\t\t\t\tdata: {},\n\t\t\t\t\t\t});\n\t\t\t\t\t\tlet rowSpan = 1;\n\t\t\t\t\t\tif (typeof rows.rowSpan === 'number' && rows.rowSpan > 1) {\n\t\t\t\t\t\t\trowSpan = rows.rowSpan;\n\t\t\t\t\t\t}\n\t\t\t\t\t\trowSpans[index].push(rowSpan);\n\t\t\t\t\t\tif (typeof rows.colSpan === 'number' && rows.colSpan > 1) {\n\t\t\t\t\t\t\tfor (let k = 1; k < rows.colSpan; k++) {\n\t\t\t\t\t\t\t\trowSpans[index + k].push(rowSpan);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\trowCount[index]++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tfor (let j = 0; j < this.maxCols; j++) {\n\t\t\t\tlet fixed = this.isFixedCol(j);\n\t\t\t\tif (fixed === 'left') {\n\t\t\t\t\tif (this.getFixedOffset(j) === undefined) {\n\t\t\t\t\t\tlet offset = this.fixedOffsets[j - 1] ?? 0;\n\t\t\t\t\t\toffset += sortedPrimaryHeader[j - 1]?.width ?? 0;\n\t\t\t\t\t\tthis.fixedOffsets[j] = offset;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (fixed === 'right') {\n\t\t\t\t\tif (this.getFixedOffset(j) === undefined) {\n\t\t\t\t\t\tlet offset = this.fixedOffsets[j + 1] ?? 0;\n\t\t\t\t\t\toffset += sortedPrimaryHeader[j + 1]?.width ?? 0;\n\t\t\t\t\t\tthis.fixedOffsets[j] = offset;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (this.horizontal === true) {\n\t\t\t\t\tconst row = isFoot && this.state._dataFoot ? this.state._dataFoot[i - startRow] : data[i];\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof sortedPrimaryHeader[j] === 'object' &&\n\t\t\t\t\t\tsortedPrimaryHeader[j] !== null &&\n\t\t\t\t\t\ttypeof row === 'object' &&\n\t\t\t\t\t\trow !== null &&\n\t\t\t\t\t\t(typeof sortedPrimaryHeader[j].key === 'string' || typeof sortedPrimaryHeader[j].render === 'function')\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst cellKey = sortedPrimaryHeader[j].key as unknown as string;\n\t\t\t\t\t\tconst cellValue = row[cellKey];\n\n\t\t\t\t\t\tdataRow.push({\n\t\t\t\t\t\t\t...sortedPrimaryHeader[j],\n\t\t\t\t\t\t\tcolIndex: j,\n\t\t\t\t\t\t\tcolSpan: undefined,\n\t\t\t\t\t\t\trowSpan: undefined,\n\t\t\t\t\t\t\tdata: row,\n\t\t\t\t\t\t\tlabel: cellValue as string,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof sortedPrimaryHeader[i] === 'object' &&\n\t\t\t\t\t\tsortedPrimaryHeader[i] !== null &&\n\t\t\t\t\t\ttypeof data[j] === 'object' &&\n\t\t\t\t\t\tdata[j] !== null &&\n\t\t\t\t\t\t(typeof sortedPrimaryHeader[i].key === 'string' || typeof sortedPrimaryHeader[i].render === 'function')\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst cellKey = sortedPrimaryHeader[i].key as unknown as number;\n\t\t\t\t\t\tconst cellValue = data[j][cellKey];\n\n\t\t\t\t\t\tdataRow.push({\n\t\t\t\t\t\t\t...sortedPrimaryHeader[i],\n\t\t\t\t\t\t\tcolIndex: j,\n\t\t\t\t\t\t\tcolSpan: undefined,\n\t\t\t\t\t\t\trowSpan: undefined,\n\t\t\t\t\t\t\tdata: data[j],\n\t\t\t\t\t\t\tlabel: cellValue as string,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tdataField.push(dataRow);\n\t\t}\n\t\tif (data.length === 0) {\n\t\t\tlet colspan = this.getVisibleColSpan(headers.horizontal?.[0]);\n\t\t\tlet rowspan = 0;\n\n\t\t\tif (Array.isArray(headers.vertical) && headers.vertical.length > 0) {\n\t\t\t\tcolspan -= headers.vertical.length;\n\t\t\t\theaders.vertical[0].forEach((row) => {\n\t\t\t\t\trowspan += row.rowSpan || 1;\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst emptyCell = {\n\t\t\t\tcolSpan: colspan,\n\t\t\t\tlabel: this.translateNoEntries,\n\t\t\t\trender: undefined,\n\t\t\t\trowSpan: Math.max(rowspan, 1),\n\t\t\t};\n\t\t\tif (dataField.length === 0) {\n\t\t\t\tdataField.push([emptyCell]);\n\t\t\t} else {\n\t\t\t\tdataField[0].push(emptyCell);\n\t\t\t}\n\t\t}\n\t\treturn dataField;\n\t}\n\n\tprivate getVisibleColSpan(cells?: Array<KoliBriTableCell | KoliBriTableHeaderCell>): number {\n\t\treturn (\n\t\t\tcells?.reduce((acc, cell) => {\n\t\t\t\tif ('visible' in cell && cell.visible === false) {\n\t\t\t\t\treturn acc;\n\t\t\t\t}\n\n\t\t\t\treturn acc + (cell.colSpan || 1);\n\t\t\t}, 0) ?? 0\n\t\t);\n\t}\n\n\tprivate isFixedCol(index: number | undefined): 'left' | 'right' | undefined {\n\t\tif (!this._fixedCols || index === undefined || this.stickyColsDisabled) {\n\t\t\treturn undefined;\n\t\t}\n\t\tif (index < this._fixedCols[0]) {\n\t\t\treturn 'left';\n\t\t}\n\t\tif (index >= this.maxCols - this._fixedCols[1]) {\n\t\t\treturn 'right';\n\t\t}\n\t}\n\n\tprivate getFixedOffset(index: number | undefined): number | undefined {\n\t\tif (!this.tableDivElement || index === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (this.fixedOffsets[index] !== undefined) {\n\t\t\treturn this.fixedOffsets[index];\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tprivate getOffsetString(index: number | undefined, left?: boolean): string | undefined {\n\t\tif (left && this._selection) {\n\t\t\treturn 'calc( var(--kol-table-selection-col-width) + ' + this.getFixedOffset(index) + 'px)';\n\t\t}\n\n\t\treturn this.getFixedOffset(index) + 'px';\n\t}\n\n\tprivate handleSelectionChangeCallbackAndEvent(event: Event, payload: SelectionChangeEventPayload) {\n\t\tif (typeof this.state._on?.[Callback.onSelectionChange] === 'function') {\n\t\t\tthis.state._on[Callback.onSelectionChange](event, payload);\n\t\t}\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.selectionChange, payload);\n\t\t}\n\t}\n\n\tprivate initializeHeaderCellSettings() {\n\t\t// Update header cells using setState to trigger Stencil's change detection\n\t\tif (this.state._headerCells && this.state._headerCells.horizontal && this.state._headerCells.horizontal.length > 0) {\n\t\t\t// Preserve all original header cells (including colSpan, rowSpan, etc.)\n\t\t\t// and only add/update visible and hidable properties\n\t\t\tconst updatedHeaderCells = {\n\t\t\t\t...this.state._headerCells,\n\t\t\t\thorizontal: this.state._headerCells.horizontal.map((row) =>\n\t\t\t\t\trow.map((header) => ({\n\t\t\t\t\t\t...header,\n\t\t\t\t\t\tvisible: typeof header.visible === 'boolean' ? header.visible : true,\n\t\t\t\t\t\thidable: typeof header.hidable === 'boolean' ? header.hidable : true,\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t\t};\n\t\t\tsetState(this, '_headerCells', updatedHeaderCells);\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateData(this._data);\n\t\tthis.validateDataFoot(this._dataFoot);\n\t\tthis.validateHeaderCells(this._headerCells);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateSelection(this._selection);\n\t\tthis.validateHasSettingsMenu(this._hasSettingsMenu);\n\t\tthis.validateVariantClassName(this._variant);\n\t}\n\n\t/**\n\t * Renders the selection cell for a row, either as a checkbox (for multiple selection)\n\t * or as a radio button (for single selection). It handles selection states and dispatches\n\t * events for selection changes.\n\t *\n\t * @param {KoliBriTableCell[]} row The row data containing the cell with selection properties.\n\t * @param {number} rowIndex The index of the row.\n\t * @returns {JSX.Element} The rendered selection cell, either with a checkbox or radio input.\n\t */\n\tprivate renderSelectionCell(row: (KoliBriTableCell & KoliBriTableDataType)[], rowIndex: number): JSX.Element {\n\t\tconst selection = this.state._selection;\n\t\tif (!selection) return '';\n\t\tconst keyPropertyName = this.getSelectionKeyPropertyName();\n\t\tconst firstCellData = row[0]?.data;\n\n\t\tif (!firstCellData) return '';\n\t\tconst keyProperty = firstCellData[keyPropertyName] as string | number;\n\t\tconst isMultiple = selection.multiple || selection.multiple === undefined;\n\n\t\tconst keyPropertyString = String(keyProperty);\n\t\tconst selected = this.selectedKeysStringSet.has(keyPropertyString);\n\t\tconst disabled = this.disabledKeysStringSet.has(keyPropertyString);\n\n\t\tconst label = selection.label(firstCellData);\n\t\tconst props = {\n\t\t\tname: 'selection',\n\t\t\tchecked: selected,\n\t\t\tdisabled,\n\t\t\tid: String(keyProperty),\n\t\t\t['aria-label']: label,\n\t\t};\n\t\treturn (\n\t\t\t<td key={`tbody-${rowIndex}-selection`} class=\"kol-table__cell kol-table__cell--selection\">\n\t\t\t\t<div class={clsx('kol-table__selection', { 'kol-table__selection--checked': selected })}>\n\t\t\t\t\t{isMultiple ? (\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\tclass={clsx('kol-table__selection-label', {\n\t\t\t\t\t\t\t\t'kol-table__selection-label--disabled': disabled,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconFC class=\"kol-table__selection-icon\" icons={`kolicon ${selected ? 'kolicon-check' : ''}`} label=\"\" />\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass={clsx('kol-table__selection-input kol-table__selection-input--checkbox')}\n\t\t\t\t\t\t\t\tref={(el) => el && this.checkboxRefs.push(el)}\n\t\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\tonInput={(event: Event) => {\n\t\t\t\t\t\t\t\t\tconst current = (() => {\n\t\t\t\t\t\t\t\t\t\tconst v = selection?.selectedKeys;\n\t\t\t\t\t\t\t\t\t\treturn v === undefined ? [] : Array.isArray(v) ? v : [v];\n\t\t\t\t\t\t\t\t\t})();\n\t\t\t\t\t\t\t\t\tconst updatedSelectedKeys = !selected ? [...current, keyProperty] : current.filter((k) => String(k) !== String(keyProperty));\n\n\t\t\t\t\t\t\t\t\tthis.handleSelectionChangeCallbackAndEvent(event, updatedSelectedKeys ?? []);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<label class=\"kol-table__selection-label\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass={clsx('kol-table__selection-input kol-table__selection-input--radio')}\n\t\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\tonInput={(event: Event) => {\n\t\t\t\t\t\t\t\t\tthis.handleSelectionChangeCallbackAndEvent(event, [keyProperty]);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t)}\n\t\t\t\t\t<div class=\"kol-table__selection-input-tooltip\">\n\t\t\t\t\t\t<TooltipFC label={label} badgeText=\"\" id={`${keyProperty}-label`} refFloating={() => {}} />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</td>\n\t\t);\n\t}\n\n\t/**\n\t * Renders a full table row by mapping over each cell and calling `renderTableCell`.\n\t * It also handles the row's unique key generation and selection functionality.\n\t *\n\t * @param {KoliBriTableCell[]} row The data for the current row.\n\t * @param {number} rowIndex The index of the current row being rendered.\n\t * @param isVertical\n\t * @param isFooter\n\t * @returns {JSX.Element} The rendered row with its cells.\n\t */\n\tprivate readonly renderTableRow = (\n\t\trow: (KoliBriTableCell & KoliBriTableDataType)[],\n\t\trowIndex: number,\n\t\tisVertical: boolean,\n\t\tisFooter: boolean = false,\n\t): JSX.Element => {\n\t\tlet key = String(rowIndex);\n\t\tif (this.horizontal && row[0]?.data) {\n\t\t\tkey = this.getDataKey(row[0].data) ?? key;\n\t\t}\n\n\t\treturn (\n\t\t\t<tr\n\t\t\t\tclass={clsx('kol-table__row', {\n\t\t\t\t\t'kol-table__row--body': !isFooter,\n\t\t\t\t\t'kol-table__row--footer': isFooter,\n\t\t\t\t})}\n\t\t\t\tkey={`row-${key}`}\n\t\t\t>\n\t\t\t\t{this.renderSelectionCell(row, rowIndex)}\n\t\t\t\t{row.map((cell, colIndex) => this.renderTableCell(cell, rowIndex, colIndex, isVertical))}\n\t\t\t</tr>\n\t\t);\n\t};\n\n\t/**\n\t * Renders a table cell, either as a data cell (`<td>`) or a header cell (`<th>`).\n\t * If a custom `render` function is provided in the cell, it will be used to display content.\n\t *\n\t * @param {KoliBriTableCell} cell The cell data, containing label, colSpan, rowSpan, and potential render function.\n\t * @param {number} rowIndex The current row index.\n\t * @param {number} colIndex The current column index.\n\t * @returns {JSX.Element} The rendered table cell (either `<td>` or `<th>`).\n\t */\n\tprivate readonly renderTableCell = (cell: KoliBriTableCell, rowIndex: number, colIndex: number, isVertical: boolean): JSX.Element => {\n\t\t// Skip rendering if the column is not visible\n\t\tif ((cell as KoliBriTableHeaderCell).visible === false) {\n\t\t\treturn '';\n\t\t}\n\n\t\tlet key = `${rowIndex}-${colIndex}-${cell.label}`;\n\t\tif (cell.data) {\n\t\t\tconst dataKey = this.getDataKey(cell.data);\n\t\t\tkey = dataKey ? `${dataKey}-${this.horizontal ? colIndex : rowIndex}` : key;\n\t\t}\n\n\t\tif ((cell as KoliBriTableHeaderCellWithLogic).headerCell) {\n\t\t\treturn this.renderHeadingCell(cell, rowIndex, colIndex, isVertical);\n\t\t} else {\n\t\t\tconst isNoEntriesHintCell = typeof cell.render !== 'function' && cell.label === this.translateNoEntries;\n\n\t\t\t// Check if this column is an action column\n\t\t\tconst actionColumn = this.getActionColumnHeader(colIndex);\n\t\t\tconst isActionColumn = Boolean(actionColumn && cell.data);\n\t\t\tconst fixed = this.isFixedCol(colIndex);\n\t\t\tconst offsetLeft = fixed === 'left' ? this.getOffsetString(cell.colIndex, true) : undefined;\n\t\t\tconst offsetRight = fixed === 'right' ? this.getOffsetString(cell.colIndex) : undefined;\n\t\t\tconst hasCustomRender = typeof cell.render === 'function';\n\n\t\t\treturn (\n\t\t\t\t<td\n\t\t\t\t\t// settingsChangedCounter is needed so every cell has a unique key after a settings change and gets rerenderd\n\t\t\t\t\tkey={`cell-${key}-${this.settingsChangedCounter}`}\n\t\t\t\t\tclass={clsx(\n\t\t\t\t\t\t'kol-table__cell kol-table__cell--body',\n\t\t\t\t\t\tcell.textAlign && `kol-table__cell--align-${cell.textAlign}`,\n\t\t\t\t\t\tisActionColumn && 'kol-table__cell--actions',\n\t\t\t\t\t\tfixed && `kol-table__cell--sticky-${fixed}`,\n\t\t\t\t\t)}\n\t\t\t\t\taria-atomic={isNoEntriesHintCell ? 'false' : undefined}\n\t\t\t\t\taria-live={isNoEntriesHintCell ? 'polite' : undefined}\n\t\t\t\t\taria-relevant={isNoEntriesHintCell ? 'text' : undefined}\n\t\t\t\t\tcolSpan={cell.colSpan}\n\t\t\t\t\trowSpan={cell.rowSpan}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\ttextAlign: cell.textAlign,\n\t\t\t\t\t\tleft: offsetLeft,\n\t\t\t\t\t\tright: offsetRight,\n\t\t\t\t\t}}\n\t\t\t\t\tref={\n\t\t\t\t\t\thasCustomRender\n\t\t\t\t\t\t\t? (el) => {\n\t\t\t\t\t\t\t\t\tthis.cellRender(cell as KoliBriTableHeaderCellWithLogic & { render: KoliBriTableRender }, el);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{isActionColumn && actionColumn && cell.data ? this.renderActionItems(actionColumn, cell.data, key) : !hasCustomRender ? cell.label : ''}\n\t\t\t\t</td>\n\t\t\t);\n\t\t}\n\t};\n\n\t/**\n\t * Renders action items (buttons or links) for a table cell.\n\t * Uses the ActionColumnHeaderCell factory function to generate actions based on row data.\n\t *\n\t * @param {ActionColumnHeaderCell} actionColumn The action column header definition.\n\t * @param {KoliBriTableDataType} rowData The data for the current row.\n\t * @param {string} key Unique key for the cell.\n\t * @returns {JSX.Element} The rendered action items wrapped in a container.\n\t */\n\tprivate readonly renderActionItems = (actionColumn: ActionColumnHeaderCell, rowData: KoliBriTableDataType, key: string): JSX.Element => {\n\t\tconst actions = actionColumn.actions(rowData);\n\n\t\treturn (\n\t\t\t<div class=\"kol-table__cell-actions\">\n\t\t\t\t{actions.map((action, actionIndex) => {\n\t\t\t\t\tif (action.type === 'button') {\n\t\t\t\t\t\tconst { ...buttonProps } = action;\n\t\t\t\t\t\treturn <KolButtonWcTag key={`action-${key}-${actionIndex}`} {...buttonProps} _variant={buttonProps._variant} />;\n\t\t\t\t\t} else if (action.type === 'link') {\n\t\t\t\t\t\tconst { ...linkProps } = action;\n\t\t\t\t\t\treturn <KolLinkWcTag key={`action-${key}-${actionIndex}`} {...linkProps} />;\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t};\n\n\tprivate getSelectionKeyPropertyName(): string {\n\t\treturn this.state._selection?.keyPropertyName ?? 'id';\n\t}\n\n\tprivate static normalizeKeys(value?: KoliBriTableSelectionKey | KoliBriTableSelectionKey[]): KoliBriTableSelectionKey[] {\n\t\treturn value === undefined ? [] : Array.isArray(value) ? value : [value];\n\t}\n\n\t/**\n\t * Rebuilds the per-render lookup sets for the current selection. Doing this once per render\n\t * allows O(1) membership checks per row instead of scanning the full key arrays for every row,\n\t * which would otherwise be O(rows × keys).\n\t */\n\tprivate updateSelectionKeySets() {\n\t\tthis.selectedKeysStringSet = new Set(KolTableStatelessWc.normalizeKeys(this.state._selection?.selectedKeys).map(String));\n\t\tthis.disabledKeysStringSet = new Set(KolTableStatelessWc.normalizeKeys(this.state._selection?.disabledKeys).map(String));\n\t}\n\n\tprivate getDataWithSelectionEnabled() {\n\t\tconst keyPropertyName = this.getSelectionKeyPropertyName();\n\t\treturn this.state._data.filter((item) => !this.disabledKeysStringSet.has(String(item[keyPropertyName] as KoliBriTableSelectionKey)));\n\t}\n\n\tprivate getSelectedKeysWithoutDisabledKeys() {\n\t\treturn KolTableStatelessWc.normalizeKeys(this.state._selection?.selectedKeys).filter((k) => !this.disabledKeysStringSet.has(String(k)));\n\t}\n\n\tprivate getSelectedKeysWithDisabledKeysOnly() {\n\t\treturn KolTableStatelessWc.normalizeKeys(this.state._selection?.selectedKeys).filter((k) => this.disabledKeysStringSet.has(String(k)));\n\t}\n\n\tprivate getRevertedSelection(selectAll: boolean) {\n\t\tconst keyPropertyName = this.getSelectionKeyPropertyName();\n\t\tconst selection = this.getSelectedKeysWithDisabledKeysOnly() ?? []; // Always include already selected, but disabled, rows.\n\n\t\tif (selectAll) {\n\t\t\tselection.push(...this.getDataWithSelectionEnabled().map((el) => el?.[keyPropertyName] as KoliBriTableSelectionKey)); // add all enabled rows\n\t\t}\n\n\t\treturn selection;\n\t}\n\n\t/**\n\t * Calculates and returns the minimum width for a table based on its settings and columns' visibility and widths.\n\t * Includes the selection column width when selection is enabled.\n\t *\n\t * When multiple header rows exist, widths from ALL rows are summed. This allows developers to either:\n\t * - Specify the width on merged (parent) columns for equal distribution of child columns\n\t * - Specify widths on individual (child) columns for more control\n\t *\n\t * Note: If widths are specified on both parent and child columns, all widths are summed,\n\t * which may result in a wider table than expected.\n\t *\n\t * @return {string} The minimum width of the table as a string based on the sum of all header widths.\n\t */\n\tprivate getTableMinWidth(): string {\n\t\t// Collect widths from ALL horizontal header rows (including parent/merged rows)\n\t\tconst horizontalHeaders = this.state._headerCells.horizontal ?? [];\n\t\tconst horizontalHeaderWidths: number[] = [];\n\t\thorizontalHeaders.forEach((row) => {\n\t\t\trow.forEach((cell) => {\n\t\t\t\tif (cell.visible !== false && cell.width !== undefined && cell.width > 0) {\n\t\t\t\t\thorizontalHeaderWidths.push(cell.width);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\t// Calculate width from ALL vertical headers (all rows, not just first cell)\n\t\tconst verticalHeaders = this.state._headerCells.vertical ?? [];\n\t\tconst verticalHeaderWidths: number[] = [];\n\t\tverticalHeaders.forEach((column) => {\n\t\t\tcolumn.forEach((cell) => {\n\t\t\t\tif (cell.width !== undefined && cell.width > 0) {\n\t\t\t\t\tverticalHeaderWidths.push(cell.width);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tconst allWidths = [...verticalHeaderWidths, ...horizontalHeaderWidths];\n\n\t\tif (allWidths.length === 0) {\n\t\t\treturn '0px';\n\t\t}\n\t\tif (allWidths.length === 1) {\n\t\t\treturn `${allWidths[0]}px`;\n\t\t}\n\t\treturn `calc(${allWidths.map((w) => `${w}px`).join(' + ')})`;\n\t}\n\n\t/**\n\t * Renders the header cell for row selection. This cell contains a checkbox for selecting\n\t * all rows when selection is enabled. If multiple selection is allowed, the checkbox allows\n\t * selecting/deselecting all rows at once. It also supports an indeterminate state\n\t * if only some rows are selected.\n\t *\n\t * @returns {JSX.Element} - The rendered header cell containing the selection checkbox.\n\t */\n\tprivate renderHeadingSelectionCell(): JSX.Element {\n\t\tconst selection = this.state._selection;\n\n\t\tif (!selection) {\n\t\t\treturn <td class=\"kol-table__cell kol-table__cell--header\" key={`thead-0`}></td>;\n\t\t}\n\n\t\tif (selection.multiple === false) {\n\t\t\treturn (\n\t\t\t\t<th scope=\"col\" key={`thead-0-selection`} class=\"kol-table__cell kol-table__cell--header kol-table__cell--selection\">\n\t\t\t\t\t<span class=\"visually-hidden\">{translate('kol-table-selection')}</span>\n\t\t\t\t</th>\n\t\t\t);\n\t\t}\n\n\t\tconst selectedKeyLength = this.getSelectedKeysWithoutDisabledKeys()?.length ?? 0;\n\t\tconst dataLength = this.getDataWithSelectionEnabled().length;\n\t\tconst isChecked = selectedKeyLength === dataLength;\n\t\tconst indeterminate = selectedKeyLength !== 0 && !isChecked;\n\t\tlet translationKey = 'kol-table-selection-indeterminate' as TranslationKey;\n\t\tif (isChecked && !indeterminate) {\n\t\t\ttranslationKey = 'kol-table-selection-none';\n\t\t}\n\t\tif (selectedKeyLength === 0) {\n\t\t\ttranslationKey = 'kol-table-selection-all';\n\t\t}\n\t\tconst label = translate(translationKey);\n\t\treturn (\n\t\t\t<th scope=\"col\" key={`thead-0-selection`} class=\"kol-table__cell kol-table__cell--header kol-table__cell--selection\">\n\t\t\t\t<span class=\"visually-hidden\">{translate('kol-table-selection')}</span>\n\t\t\t\t<div\n\t\t\t\t\tclass={clsx('kol-table__selection', {\n\t\t\t\t\t\t'kol-table__selection--indeterminate': indeterminate,\n\t\t\t\t\t\t'kol-table__selection--checked': isChecked,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t<label class=\"kol-table__selection-label\">\n\t\t\t\t\t\t<IconFC class=\"kol-table__selection-icon\" icons={`kolicon ${indeterminate ? 'kolicon-minus' : isChecked ? 'kolicon-check' : ''}`} label=\"\" />\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclass={clsx('kol-table__selection-input kol-table__selection-input--checkbox')}\n\t\t\t\t\t\t\tdata-testid=\"selection-checkbox-all\"\n\t\t\t\t\t\t\tref={(el) => el && this.checkboxRefs.push(el)}\n\t\t\t\t\t\t\tname=\"selection\"\n\t\t\t\t\t\t\tchecked={isChecked && !indeterminate}\n\t\t\t\t\t\t\tindeterminate={indeterminate}\n\t\t\t\t\t\t\taria-label={label}\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tonInput={(event: Event) => {\n\t\t\t\t\t\t\t\tthis.handleSelectionChangeCallbackAndEvent(event, this.getRevertedSelection(!isChecked));\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</label>\n\t\t\t\t\t<div class=\"kol-table__selection-input-tooltip\">\n\t\t\t\t\t\t<TooltipFC label={label} badgeText=\"\" id={`${translationKey}-label`} refFloating={() => {}} />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</th>\n\t\t);\n\t}\n\n\t/**\n\t * This header cell is rendered as a TD element when in addition to the horizontal header rows\n\t * there are also vertical header columns. In this case, the cell is rendered blank above the\n\t * vertical header columns.\n\t *\n\t * The width is calculated from the first cell of each vertical header column to ensure\n\t * proper column widths with table-layout: fixed.\n\t */\n\tprivate renderHeaderTdCell(): JSX.Element {\n\t\tconst horizontalHeaders = this.state._headerCells.horizontal;\n\t\tconst verticalHeaders = this.state._headerCells.vertical;\n\n\t\tif (!Array.isArray(horizontalHeaders) || horizontalHeaders.length === 0 || !Array.isArray(verticalHeaders) || verticalHeaders.length === 0) {\n\t\t\treturn <Fragment></Fragment>;\n\t\t}\n\n\t\t// Calculate total width from the first cell of each vertical header column\n\t\tconst totalWidth = verticalHeaders.reduce((sum, column) => {\n\t\t\tconst firstCell = column?.[0];\n\t\t\treturn sum + (firstCell?.width ?? 0);\n\t\t}, 0);\n\n\t\treturn (\n\t\t\t<td\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tcolSpan={verticalHeaders.length}\n\t\t\t\trowSpan={horizontalHeaders.length}\n\t\t\t\tstyle={totalWidth > 0 ? { width: `${totalWidth}px` } : undefined}\n\t\t\t></td>\n\t\t);\n\t}\n\n\t/**\n\t * Renders a table header cell (`<th>`), with optional sorting functionality.\n\t * If the cell has a `sortDirection` property, a sort button is rendered within the header.\n\t *\n\t * @param {KoliBriTableHeaderCell} cell The header cell data, containing label, colSpan, rowSpan, and possible sort direction.\n\t * @param {number} rowIndex The index of the current row in the table.\n\t * @param {number} colIndex The index of the current column in the row.\n\t * @returns {JSX.Element} The rendered header cell with possible sorting controls.\n\t */\n\tprivate formatSortOrderDescription(order: number): string {\n\t\treturn this.translateSortOrder.replace('{{order}}', `${order}`);\n\t}\n\n\tprivate getSortAriaDescription(order?: number): string {\n\t\tif (typeof order === 'number' && order > 0) {\n\t\t\treturn `${this.translateSort} – ${this.formatSortOrderDescription(order)}`;\n\t\t}\n\t\treturn this.translateSort;\n\t}\n\n\tprivate renderHeadingCell(cell: KoliBriTableHeaderCell, rowIndex: number, colIndex: number, isVertical: boolean): JSX.Element {\n\t\t// Skip rendering if the column is not visible\n\t\tif (cell.visible === false) {\n\t\t\treturn '';\n\t\t}\n\n\t\tconst sortableSetting = cell?.sortable !== false;\n\t\tconst hasSortDirection = typeof cell.sortDirection === 'string';\n\t\tconst canSort = sortableSetting && hasSortDirection;\n\n\t\tlet ariaSort: AriaSort = 'none';\n\t\tlet sortButtonIcon = 'kolicon-sort-neutral';\n\n\t\tif (canSort && cell.sortDirection) {\n\t\t\tswitch (cell.sortDirection) {\n\t\t\t\tcase 'ASC':\n\t\t\t\t\tsortButtonIcon = 'kolicon-sort-asc';\n\t\t\t\t\tariaSort = 'ascending';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'DESC':\n\t\t\t\t\tsortButtonIcon = 'kolicon-sort-desc';\n\t\t\t\t\tariaSort = 'descending';\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tariaSort = 'none';\n\t\t\t}\n\t\t}\n\n\t\tconst scope = isVertical ? 'row' : typeof cell.colSpan === 'number' && cell.colSpan > 1 ? 'colgroup' : 'col';\n\n\t\tconst sortOrder = typeof cell.sortOrder === 'number' && cell.sortOrder > 0 ? cell.sortOrder : undefined;\n\t\tconst sortDescription = this.getSortAriaDescription(sortOrder);\n\t\tconst width = cell.width !== undefined ? `${cell.width}px` : undefined;\n\t\tconst fixed = this.isFixedCol(colIndex);\n\t\tconst offsetLeft = fixed === 'left' ? this.getOffsetString(colIndex, true) : undefined;\n\t\tconst offsetRight = fixed === 'right' ? this.getOffsetString(colIndex) : undefined;\n\n\t\treturn (\n\t\t\t<th\n\t\t\t\tkey={`${rowIndex}-${colIndex}-${cell.label}`}\n\t\t\t\tclass={clsx(\n\t\t\t\t\t'kol-table__cell kol-table__cell--header',\n\t\t\t\t\t`kol-table__cell--${ariaSort}`,\n\t\t\t\t\tcell.textAlign && `kol-table__cell--align-${cell.textAlign}`,\n\t\t\t\t\tfixed && `kol-table__cell--sticky-${fixed}`,\n\t\t\t\t)}\n\t\t\t\tscope={scope}\n\t\t\t\tcolSpan={cell.colSpan}\n\t\t\t\trowSpan={cell.rowSpan}\n\t\t\t\tstyle={{ width: width, left: offsetLeft, right: offsetRight }}\n\t\t\t\taria-sort={ariaSort}\n\t\t\t\tdata-sort={canSort && cell.sortDirection ? `sort-${cell.sortDirection}` : undefined}\n\t\t\t>\n\t\t\t\t{canSort && cell.sortDirection ? (\n\t\t\t\t\t<span class=\"kol-table__sort\">\n\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\tclass=\"kol-table__sort-button\"\n\t\t\t\t\t\t\t_icons={{ right: sortButtonIcon }}\n\t\t\t\t\t\t\t_label={cell.label}\n\t\t\t\t\t\t\t_ariaDescription={sortDescription}\n\t\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\t\tonClick: (event: MouseEvent) => {\n\t\t\t\t\t\t\t\t\tif (typeof this.state._on?.onSort === 'function' && cell.key && cell.sortDirection) {\n\t\t\t\t\t\t\t\t\t\tthis.state._on.onSort(event, {\n\t\t\t\t\t\t\t\t\t\t\tkey: cell.key,\n\t\t\t\t\t\t\t\t\t\t\tcurrentSortDirection: cell.sortDirection,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (this.host) {\n\t\t\t\t\t\t\t\t\t\tdispatchDomEvent(this.host, KolEvent.sort, {\n\t\t\t\t\t\t\t\t\t\t\tkey: cell.key,\n\t\t\t\t\t\t\t\t\t\t\tcurrentSortDirection: cell.sortDirection,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t{sortOrder && (\n\t\t\t\t\t\t\t<span aria-hidden=\"true\" class=\"kol-table__sort-order\">\n\t\t\t\t\t\t\t\t{sortOrder}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\tcell.label\n\t\t\t\t)}\n\t\t\t</th>\n\t\t);\n\t}\n\n\tprivate renderSpacer(variant: 'foot' | 'head', cellDefs: KoliBriTableHeaderCell[][] | KoliBriTableCell[][]): JSX.Element {\n\t\tconst verticalHeaderColpan = this.state._headerCells.vertical?.length || 0;\n\t\tconst colspan = this.getVisibleColSpan(cellDefs?.[0]);\n\t\tconst selectionCell = this.state._selection ? 1 : 0;\n\n\t\treturn (\n\t\t\t<tr aria-hidden=\"true\" class={clsx('kol-table__spacer', `kol-table__spacer--${variant}`)}>\n\t\t\t\t<td class={clsx(`kol-table__spacer-line kol-table__spacer-line--${variant}`)} colSpan={verticalHeaderColpan + colspan + selectionCell}></td>\n\t\t\t</tr>\n\t\t);\n\t}\n\n\tprivate renderFoot(): JSX.Element[] | null {\n\t\tif (!this.state._dataFoot || this.state._dataFoot.length === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst rows: KoliBriTableCell[][] = this.createDataField(this.state._dataFoot, this.state._headerCells, true);\n\t\treturn (\n\t\t\t<tfoot class=\"kol-table__footer\">\n\t\t\t\t{[\n\t\t\t\t\tthis.renderSpacer('foot', rows),\n\t\t\t\t\trows.map((row: (KoliBriTableCell & KoliBriTableDataType)[], rowIndex: number) => this.renderTableRow(row, rowIndex, true, true)),\n\t\t\t\t]}\n\t\t\t</tfoot>\n\t\t);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tthis.updateSelectionKeySets();\n\t\tconst dataField = this.createDataField(this.state._data, this.state._headerCells);\n\t\tthis.checkboxRefs = [];\n\n\t\tconst horizontalHeaders = this.state._headerCells.horizontal;\n\n\t\tconst showInternalCaption = !this.externalLabelElements?.length;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={clsx('kol-table', {\n\t\t\t\t\t[`kol-table--${this.state._variant as string}`]: this.state._variant !== undefined,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{this.state._hasSettingsMenu && <KolTableSettingsWcTag _horizontalHeaderCells={horizontalHeaders ?? []} />}\n\n\t\t\t\t{/* Firefox automatically makes the following div focusable when it has a scrollbar. We implement a similar behavior cross-browser by allowing the\n\t\t\t\t * <div class=\"focus-element\"> to receive focus. Hence, we disable focus for the div to avoid having two focusable elements by setting `tabindex=\"-1\"`.\n\t\t\t\t * When an external label is active the caption is aria-hidden and must not receive focus — the scroll container div becomes the keyboard stop instead.\n\t\t\t\t */}\n\t\t\t\t<div\n\t\t\t\t\tref={(element) => (this.tableDivElement = element)}\n\t\t\t\t\tclass=\"kol-table__scroll-container\"\n\t\t\t\t\ttabindex={this.tableDivElementHasScrollbar ? (showInternalCaption ? '-1' : '0') : undefined}\n\t\t\t\t>\n\t\t\t\t\t<table\n\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\tthis.tableRef = el as HTMLTableElement;\n\t\t\t\t\t\t\tthis.syncTableLabel(this.externalLabelElements);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\taria-labelledby={showInternalCaption ? 'caption' : undefined}\n\t\t\t\t\t\tclass=\"kol-table__table\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tminWidth: this.getTableMinWidth(),\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{/* eslint-disable jsx-a11y/no-noninteractive-tabindex -- caption tabIndex enables keyboard access to scrollable overflow */}\n\t\t\t\t\t\t{showInternalCaption && (\n\t\t\t\t\t\t\t<caption class=\"kol-table__focus-element kol-table__caption\" id=\"caption\" tabindex={this.tableDivElementHasScrollbar ? '0' : undefined}>\n\t\t\t\t\t\t\t\t{this.state._label}\n\t\t\t\t\t\t\t</caption>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{/* eslint-enable jsx-a11y/no-noninteractive-tabindex */}\n\n\t\t\t\t\t\t{Array.isArray(horizontalHeaders) && (\n\t\t\t\t\t\t\t<thead class=\"kol-table__head\">\n\t\t\t\t\t\t\t\t{[\n\t\t\t\t\t\t\t\t\thorizontalHeaders.map((cols, rowIndex) => (\n\t\t\t\t\t\t\t\t\t\t<tr class=\"kol-table__head-row\" key={`thead-${rowIndex}`}>\n\t\t\t\t\t\t\t\t\t\t\t{this.state._selection && this.renderHeadingSelectionCell()}\n\t\t\t\t\t\t\t\t\t\t\t{rowIndex === 0 && this.renderHeaderTdCell()}\n\t\t\t\t\t\t\t\t\t\t\t{Array.isArray(cols) && cols.map((cell, colIndex) => this.renderHeadingCell(cell, rowIndex, colIndex, false))}\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t)),\n\t\t\t\t\t\t\t\t\tthis.renderSpacer('head', horizontalHeaders),\n\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<tbody class=\"kol-table__body\">\n\t\t\t\t\t\t\t{dataField.map((row: (KoliBriTableCell & KoliBriTableDataType)[], rowIndex: number) => this.renderTableRow(row, rowIndex, true))}\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t{this.renderFoot()}\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n"]}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/table-stateless/component.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { JSX } from '@stencil/core';\nimport { Component, Element, Fragment, h, Listen, Prop, State, Watch } from '@stencil/core';\n\nimport { isEqual } from 'lodash-es';\nimport { KolButtonWcTag, KolLinkWcTag, KolTableSettingsWcTag } from '../../core/component-names';\nimport type { TranslationKey } from '../../i18n';\nimport { translate } from '../../i18n';\nimport { IconFC } from '../../internal/functional-components/icon/component';\nimport { TooltipFC } from '../../internal/functional-components/tooltip/component';\nimport type {\n\tActionColumnHeaderCell,\n\tAriaSort,\n\tFixedColsPropType,\n\tHasSettingsMenuPropType,\n\tKoliBriTableCell,\n\tKoliBriTableDataType,\n\tKoliBriTableHeaderCell,\n\tKoliBriTableHeaderCellWithLogic,\n\tKoliBriTableHeaders,\n\tKoliBriTableRender,\n\tLabelPropType,\n\tSelectionChangeEventPayload,\n\tTableCallbacksPropType,\n\tTableDataFootPropType,\n\tTableDataPropType,\n\tTableHeaderCellsPropType,\n\tTableSelectionPropType,\n\tTableStatelessAPI,\n\tTableStatelessStates,\n\tVariantClassNamePropType,\n} from '../../schema';\nimport {\n\tclassNameFromVariant,\n\tLog,\n\tsetState,\n\tvalidateFixedCols,\n\tvalidateHasSettingsMenu,\n\tvalidateLabel,\n\tvalidateTableCallbacks,\n\tvalidateTableData,\n\tvalidateTableDataFoot,\n\tvalidateTableHeaderCells,\n\tvalidateTableSelection,\n\tvalidateVariantClassName,\n} from '../../schema';\nimport { Callback } from '../../schema/enums';\nimport type { KoliBriTableSelectionKey } from '../../schema/types';\nimport clsx from '../../utils/clsx';\nimport { nonce } from '../../utils/dev.utils';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\n\nconst RESIZE_DEBOUNCE_DELAY = 150;\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-table-stateless-wc',\n\tshadow: false,\n})\nexport class KolTableStatelessWc implements TableStatelessAPI {\n\t@Element() private readonly host?: HTMLKolTableStatelessWcElement;\n\n\tprivate tableRef?: HTMLTableElement;\n\n\tprivate readonly translateNoEntries = translate('kol-no-entries');\n\n\t@State() public state: TableStatelessStates = {\n\t\t_data: [],\n\t\t_headerCells: {\n\t\t\thorizontal: [],\n\t\t\tvertical: [],\n\t\t},\n\t\t_label: '',\n\t\t_hasSettingsMenu: false,\n\t};\n\n\tprivate tableDivElement?: HTMLDivElement;\n\tprivate tableDivElementResizeObserver?: ResizeObserver;\n\tprivate horizontal = true;\n\tprivate cellsToRenderTimeouts = new Map<HTMLElement, ReturnType<typeof setTimeout>>();\n\tprivate dataToKeyMap = new Map<KoliBriTableDataType, string>();\n\n\t/** Per-render cache for the computed primary headers, keyed by header object reference. */\n\tprivate primaryHeadersCache?: { headers: KoliBriTableHeaders; result: KoliBriTableHeaderCell[]; horizontal: boolean };\n\n\t/** Per-render lookup sets for selection state to avoid O(n²) scans of the key arrays per row. */\n\tprivate selectedKeysStringSet = new Set<string>();\n\tprivate disabledKeysStringSet = new Set<string>();\n\n\tprivate checkboxRefs: HTMLInputElement[] = [];\n\n\tprivate translateSort = translate('kol-sort');\n\tprivate translateSortOrder = translate('kol-table-sort-order');\n\n\tprivate maxCols: number = 0;\n\tprivate fixedOffsets: number[] = [];\n\tprivate resizeDebounceTimeout?: ReturnType<typeof setTimeout>;\n\n\tprivate settingsChangedCounter = 0;\n\n\t@State()\n\tprivate tableDivElementHasScrollbar = false;\n\n\t@State()\n\tprivate stickyColsDisabled = false;\n\n\t/**\n\t * Store previous value to allow change detection by value-comparison\n\t */\n\t@State()\n\tprivate previousHeaderCells?: TableHeaderCellsPropType;\n\n\t/**\n\t * External label elements forwarded from the public wrapper.\n\t * @internal Use `_ariaLabelledby` on the public `kol-table-stateless` component instead.\n\t */\n\t@Prop() public externalLabelElements?: HTMLElement[];\n\n\t@Watch('externalLabelElements')\n\tprotected onExternalLabelElementsChange(value?: HTMLElement[]): void {\n\t\tthis.syncTableLabel(value);\n\t}\n\n\t/**\n\t * @internal Required by TableStatelessAPI. Actual resolution happens in the shadow wrapper\n\t * (kol-table-stateless), which resolves IDs in the correct tree scope and passes the\n\t * resulting HTMLElement[] via externalLabelElements.\n\t */\n\t@Prop() public _ariaLabelledby?: string;\n\n\t@Watch('_ariaLabelledby')\n\tpublic validateAriaLabelledby(): void {\n\t\t// no-op — resolution is handled by the shadow wrapper via externalLabelElements\n\t}\n\n\tprivate syncTableLabel(elements?: HTMLElement[]): void {\n\t\tif (!this.tableRef) return;\n\t\tif ('ariaLabelledByElements' in this.tableRef) {\n\t\t\tif (elements?.length) {\n\t\t\t\tthis.tableRef.ariaLabelledByElements = elements;\n\t\t\t}\n\t\t\tLog.debug([this.tableRef, !!elements?.length, elements, this.tableRef.ariaLabelledByElements]);\n\t\t}\n\t}\n\n\t/**\n\t * Defines the primary table data.\n\t */\n\t@Prop() public _data!: TableDataPropType;\n\n\t/**\n\t * Defines the data for the table footer.\n\t */\n\t@Prop() public _dataFoot?: TableDataFootPropType;\n\n\t/**\n\t * Defines the fixed number of columns from start and end of the table\n\t */\n\t@Prop() public _fixedCols?: FixedColsPropType;\n\n\t/**\n\t * Defines the horizontal and vertical table headers.\n\t */\n\t@Prop() public _headerCells!: TableHeaderCellsPropType;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: string;\n\n\t/**\n\t * Defines the callback functions for table events.\n\t */\n\t@Prop() public _on?: TableCallbacksPropType;\n\n\t/**\n\t * Defines how rows can be selected and the current selection.\n\t */\n\t@Prop() public _selection?: TableSelectionPropType;\n\n\t/**\n\t * Defines which variant should be used for presentation.\n\t * @internal\n\t */\n\t@Prop() public _variant?: VariantClassNamePropType;\n\n\t/**\n\t * Enables the settings menu if true (default: false).\n\t */\n\t@Prop() public _hasSettingsMenu?: HasSettingsMenuPropType;\n\n\t@Watch('_hasSettingsMenu')\n\tpublic validateHasSettingsMenu(value?: HasSettingsMenuPropType): void {\n\t\tvalidateHasSettingsMenu(this, value);\n\t}\n\n\t@Watch('_data')\n\tpublic validateData(value?: TableDataPropType) {\n\t\tvalidateTableData(this, value, {\n\t\t\tbeforePatch: (nextValue) => {\n\t\t\t\tthis.updateDataToKeyMap(nextValue as KoliBriTableDataType[]);\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_dataFoot')\n\tpublic validateDataFoot(value?: TableDataFootPropType) {\n\t\tvalidateTableDataFoot(this, value);\n\t}\n\n\t@Watch('_fixedCols')\n\tpublic validateFixedCols(value?: FixedColsPropType) {\n\t\tvalidateFixedCols(this, value);\n\t\tthis.checkAndUpdateStickyState();\n\t}\n\n\t@Watch('_headerCells')\n\tpublic validateHeaderCells(value?: TableHeaderCellsPropType) {\n\t\tvalidateTableHeaderCells(this, value);\n\n\t\t/* The reference changes on every render. Only reinitialize settings when headers actually changed */\n\t\tif (!isEqual(this.previousHeaderCells, this.state._headerCells)) {\n\t\t\tthis.initializeHeaderCellSettings();\n\t\t}\n\n\t\tthis.previousHeaderCells = this.state._headerCells;\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: TableCallbacksPropType): void {\n\t\tvalidateTableCallbacks(this, value);\n\t}\n\n\t@Watch('_selection')\n\tpublic validateSelection(value?: TableSelectionPropType): void {\n\t\tvalidateTableSelection(this, value);\n\t\tthis.checkAndUpdateStickyState();\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariantClassName(value?: VariantClassNamePropType): void {\n\t\tvalidateVariantClassName(this, value);\n\t}\n\n\t@Listen('keydown')\n\tpublic handleKeyDown(event: KeyboardEvent) {\n\t\tif (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n\t\t\tconst focusedElement = this.tableDivElement?.querySelector(':focus') as HTMLInputElement;\n\t\t\tlet index = this.checkboxRefs.indexOf(focusedElement);\n\n\t\t\tif (index > -1) {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tif (event.key === 'ArrowDown') {\n\t\t\t\t\tindex = (index + 1) % this.checkboxRefs.length;\n\t\t\t\t\tthis.checkboxRefs[index].focus();\n\t\t\t\t} else if (event.key === 'ArrowUp') {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tindex = (index + this.checkboxRefs.length - 1) % this.checkboxRefs.length;\n\t\t\t\t\tthis.checkboxRefs[index].focus();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic componentDidRender(): void {\n\t\tthis.checkDivElementScrollbar();\n\t}\n\n\tpublic componentDidLoad() {\n\t\tif (this.tableDivElement && ResizeObserver) {\n\t\t\tthis.tableDivElementResizeObserver = new ResizeObserver(this.handleResize.bind(this));\n\t\t\tthis.tableDivElementResizeObserver.observe(this.tableDivElement);\n\t\t}\n\t\tthis.checkAndUpdateStickyState();\n\t}\n\n\t@Listen('changeheadercells')\n\tpublic handleSettingsChange(event: CustomEvent<KoliBriTableHeaderCell[][]>) {\n\t\tconst updatedHeaderCells = { ...this.state._headerCells, horizontal: event.detail };\n\t\tsetState(this, '_headerCells', updatedHeaderCells);\n\t\tthis.settingsChangedCounter++;\n\n\t\t// Call the onChangeHeaderCells callback if provided\n\t\tif (typeof this.state._on?.[Callback.onChangeHeaderCells] === 'function') {\n\t\t\tthis.state._on[Callback.onChangeHeaderCells](event, updatedHeaderCells);\n\t\t}\n\t}\n\n\tpublic disconnectedCallback() {\n\t\tthis.tableDivElementResizeObserver?.disconnect();\n\t\tclearTimeout(this.resizeDebounceTimeout);\n\t}\n\n\tprivate handleResize() {\n\t\tthis.checkDivElementScrollbar();\n\t\tclearTimeout(this.resizeDebounceTimeout);\n\t\tthis.resizeDebounceTimeout = setTimeout(() => {\n\t\t\tthis.checkAndUpdateStickyState();\n\t\t}, RESIZE_DEBOUNCE_DELAY);\n\t}\n\n\tprivate checkDivElementScrollbar() {\n\t\tif (this.tableDivElement) {\n\t\t\tthis.tableDivElementHasScrollbar = this.tableDivElement.scrollWidth > this.tableDivElement.clientWidth;\n\t\t}\n\t}\n\n\tprivate calculateFixedColsWidth(): number {\n\t\tif (!this._fixedCols) return 0;\n\t\tconst primaryHeader = this.getPrimaryHeaders(this.state._headerCells);\n\t\tlet totalWidth = 0;\n\n\t\t// Sum widths of left-fixed columns\n\t\tfor (let i = 0; i < this._fixedCols[0] && i < primaryHeader.length; i++) {\n\t\t\ttotalWidth += primaryHeader[i]?.width ?? 0;\n\t\t}\n\n\t\t// Sum widths of right-fixed columns\n\t\tconst startRight = this.maxCols - this._fixedCols[1];\n\t\tfor (let i = startRight; i < this.maxCols && i < primaryHeader.length; i++) {\n\t\t\ttotalWidth += primaryHeader[i]?.width ?? 0;\n\t\t}\n\n\t\t// The selection column is always position: sticky; left: 0 (CSS-hardcoded).\n\t\t// Its width is CSS-computed and must be measured from the DOM.\n\t\tif (this.state._selection) {\n\t\t\tconst selectionCell = this.tableDivElement?.querySelector<HTMLElement>('.kol-table__cell--selection');\n\t\t\ttotalWidth += selectionCell?.offsetWidth ?? 0;\n\t\t}\n\n\t\treturn totalWidth;\n\t}\n\n\tprivate checkAndUpdateStickyState() {\n\t\tif (!this.tableDivElement || !this._fixedCols) {\n\t\t\tthis.stickyColsDisabled = false;\n\t\t\treturn;\n\t\t}\n\t\tconst containerWidth = this.tableDivElement.clientWidth;\n\t\tconst fixedColsWidth = this.calculateFixedColsWidth();\n\t\tthis.stickyColsDisabled = fixedColsWidth > 0 && fixedColsWidth >= containerWidth;\n\t}\n\n\tprivate updateDataToKeyMap(data: KoliBriTableDataType[]) {\n\t\t/* Use a Set for O(1) membership checks. Using data.includes() inside the\n\t\t * cleanup loop below would be O(n²) and dominates rendering for large data sets. */\n\t\tconst dataSet = new Set(data);\n\t\tdata.forEach((data) => {\n\t\t\tif (!this.dataToKeyMap.has(data)) {\n\t\t\t\tthis.dataToKeyMap.set(data, nonce());\n\t\t\t}\n\t\t});\n\n\t\t/* Cleanup old values from map */\n\t\tthis.dataToKeyMap.forEach((_, key) => {\n\t\t\tif (!dataSet.has(key)) {\n\t\t\t\tthis.dataToKeyMap.delete(key);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate getDataKey(data: KoliBriTableDataType) {\n\t\treturn this.dataToKeyMap.get(data);\n\t}\n\n\t/**\n\t * Finds the ActionColumnHeaderCell for a given column index.\n\t * Returns the action column header if found, otherwise undefined.\n\t */\n\tprivate getActionColumnHeader(colIndex: number): ActionColumnHeaderCell | undefined {\n\t\tconst headers = this.horizontal ? this.state._headerCells.horizontal : this.state._headerCells.vertical;\n\t\tif (!headers || headers.length === 0) return undefined;\n\n\t\t// Get the primary headers (those with keys)\n\t\tconst primaryHeader = this.getPrimaryHeaders(this.state._headerCells);\n\t\tconst header = primaryHeader[colIndex];\n\n\t\tif (header && (header as ActionColumnHeaderCell).type === 'action') {\n\t\t\treturn header as ActionColumnHeaderCell;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * Applies a custom render function to a specific table cell if provided.\n\t * Ensures that the content is updated after a delay to avoid excessive re-renders.\n\t *\n\t * @param {KoliBriTableCell} cell The cell to be rendered, with a possible custom `render` function.\n\t * @param {HTMLElement} el The HTML element where the cell is rendered.\n\t */\n\tprivate cellRender(cell: KoliBriTableCell, el?: HTMLElement): void {\n\t\tif (el) {\n\t\t\tclearTimeout(this.cellsToRenderTimeouts.get(el));\n\t\t\tthis.cellsToRenderTimeouts.set(\n\t\t\t\tel,\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tif (typeof cell.render === 'function') {\n\t\t\t\t\t\tconst renderContent = cell.render(el, cell, cell.data, this.state._data);\n\t\t\t\t\t\tif (typeof renderContent === 'string') {\n\t\t\t\t\t\t\tel.textContent = renderContent;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate getNumberOfCols(horizontalHeaders: KoliBriTableHeaderCell[][], data: KoliBriTableDataType[]): number {\n\t\tlet max = 0;\n\t\thorizontalHeaders.forEach((row) => {\n\t\t\tlet count = 0;\n\t\t\tif (Array.isArray(row)) {\n\t\t\t\trow.forEach((col) => {\n\t\t\t\t\tcount += col.colSpan ?? 1;\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (max < count) {\n\t\t\t\tmax = count;\n\t\t\t}\n\t\t});\n\t\tif (max === 0) {\n\t\t\tmax = data.length;\n\t\t}\n\t\treturn max;\n\t}\n\n\tprivate getNumberOfRows(verticalHeaders: KoliBriTableHeaderCell[][], data: KoliBriTableDataType[]): number {\n\t\tlet max = 0;\n\t\tverticalHeaders.forEach((col) => {\n\t\t\tlet count = 0;\n\t\t\tif (Array.isArray(col)) {\n\t\t\t\tcol.forEach((row) => {\n\t\t\t\t\tcount += row.rowSpan ?? 1;\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (max < count) {\n\t\t\t\tmax = count;\n\t\t\t}\n\t\t});\n\t\tif (max === 0) {\n\t\t\tmax = data.length;\n\t\t} else {\n\t\t\tmax -= this.state._dataFoot?.length || 0;\n\t\t}\n\t\treturn max;\n\t}\n\n\tprivate getThePrimaryHeadersWithKeyOrRenderFunction(headers: KoliBriTableHeaderCell[][]): KoliBriTableHeaderCell[] {\n\t\tconst primaryHeaders: KoliBriTableHeaderCell[] = [];\n\n\t\theaders.forEach((cells) => {\n\t\t\tcells.forEach((cell) => {\n\t\t\t\tif (typeof cell.key === 'string' || typeof cell.render === 'function') {\n\t\t\t\t\tprimaryHeaders.push(cell);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn primaryHeaders;\n\t}\n\n\tprivate getPrimaryHeaders(headers: KoliBriTableHeaders): KoliBriTableHeaderCell[] {\n\t\t/**\n\t\t * Memoize by reference: within a single render the header object is stable, so this\n\t\t * avoids rebuilding the primary-header array for every cell (e.g. via getActionColumnHeader),\n\t\t * which would otherwise be O(rows × cols × headers). The cache invalidates automatically\n\t\t * whenever a new header object is assigned to the state.\n\t\t */\n\t\tif (this.primaryHeadersCache?.headers === headers) {\n\t\t\tthis.horizontal = this.primaryHeadersCache.horizontal;\n\t\t\treturn this.primaryHeadersCache.result;\n\t\t}\n\n\t\tlet primaryHeaders: KoliBriTableHeaderCell[] = this.getThePrimaryHeadersWithKeyOrRenderFunction(headers.horizontal ?? []);\n\n\t\t/**\n\t\t * It is important to note that the rendering direction of the data is implicitly set,\n\t\t * if either the horizontal or vertical header cells have keys.\n\t\t */\n\t\tthis.horizontal = true;\n\t\tif (primaryHeaders.length === 0) {\n\t\t\tprimaryHeaders = this.getThePrimaryHeadersWithKeyOrRenderFunction(headers.vertical ?? []);\n\t\t\tif (primaryHeaders.length > 0) {\n\t\t\t\tthis.horizontal = false;\n\t\t\t}\n\t\t}\n\n\t\tthis.primaryHeadersCache = { headers, result: primaryHeaders, horizontal: this.horizontal };\n\t\treturn primaryHeaders;\n\t}\n\n\tprivate createDataField(data: KoliBriTableDataType[], headers: KoliBriTableHeaders, isFoot?: boolean): (KoliBriTableCell & KoliBriTableDataType)[][] {\n\t\theaders.horizontal = Array.isArray(headers?.horizontal) ? headers.horizontal : [];\n\t\theaders.vertical = Array.isArray(headers?.vertical) ? headers.vertical : [];\n\n\t\tthis.maxCols = this.getNumberOfCols(headers.horizontal, data);\n\t\tconst primaryHeader = this.getPrimaryHeaders(headers);\n\t\tlet maxRows = this.getNumberOfRows(headers.vertical, data);\n\t\tlet startRow = 0;\n\t\tif (isFoot) {\n\t\t\tstartRow = maxRows;\n\t\t\tmaxRows += this.state._dataFoot?.length || 0;\n\t\t}\n\t\tconst dataField: KoliBriTableCell[][] = [];\n\n\t\tconst rowCount: number[] = [];\n\t\tconst rowSpans: number[][] = [];\n\t\theaders.vertical.forEach((_row, index) => {\n\t\t\trowCount[index] = 0;\n\t\t\trowSpans[index] = [];\n\t\t});\n\n\t\tconst sortedPrimaryHeader = primaryHeader;\n\n\t\tfor (let i = startRow; i < maxRows; i++) {\n\t\t\tconst dataRow: KoliBriTableHeaderCellWithLogic[] = [];\n\t\t\theaders.vertical.forEach((headerCells, index) => {\n\t\t\t\tlet rowsTotal = 0;\n\t\t\t\trowSpans[index].forEach((value) => (rowsTotal += value));\n\t\t\t\tif (rowsTotal <= i) {\n\t\t\t\t\tconst rows = headerCells[i - rowsTotal + rowCount[index]];\n\t\t\t\t\tif (typeof rows === 'object') {\n\t\t\t\t\t\tdataRow.push({\n\t\t\t\t\t\t\t...rows,\n\t\t\t\t\t\t\theaderCell: true,\n\t\t\t\t\t\t\tdata: {},\n\t\t\t\t\t\t});\n\t\t\t\t\t\tlet rowSpan = 1;\n\t\t\t\t\t\tif (typeof rows.rowSpan === 'number' && rows.rowSpan > 1) {\n\t\t\t\t\t\t\trowSpan = rows.rowSpan;\n\t\t\t\t\t\t}\n\t\t\t\t\t\trowSpans[index].push(rowSpan);\n\t\t\t\t\t\tif (typeof rows.colSpan === 'number' && rows.colSpan > 1) {\n\t\t\t\t\t\t\tfor (let k = 1; k < rows.colSpan; k++) {\n\t\t\t\t\t\t\t\trowSpans[index + k].push(rowSpan);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\trowCount[index]++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tfor (let j = 0; j < this.maxCols; j++) {\n\t\t\t\tlet fixed = this.isFixedCol(j);\n\t\t\t\tif (fixed === 'left') {\n\t\t\t\t\tif (this.getFixedOffset(j) === undefined) {\n\t\t\t\t\t\tlet offset = this.fixedOffsets[j - 1] ?? 0;\n\t\t\t\t\t\toffset += sortedPrimaryHeader[j - 1]?.width ?? 0;\n\t\t\t\t\t\tthis.fixedOffsets[j] = offset;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (fixed === 'right') {\n\t\t\t\t\tif (this.getFixedOffset(j) === undefined) {\n\t\t\t\t\t\tlet offset = this.fixedOffsets[j + 1] ?? 0;\n\t\t\t\t\t\toffset += sortedPrimaryHeader[j + 1]?.width ?? 0;\n\t\t\t\t\t\tthis.fixedOffsets[j] = offset;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (this.horizontal === true) {\n\t\t\t\t\tconst row = isFoot && this.state._dataFoot ? this.state._dataFoot[i - startRow] : data[i];\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof sortedPrimaryHeader[j] === 'object' &&\n\t\t\t\t\t\tsortedPrimaryHeader[j] !== null &&\n\t\t\t\t\t\ttypeof row === 'object' &&\n\t\t\t\t\t\trow !== null &&\n\t\t\t\t\t\t(typeof sortedPrimaryHeader[j].key === 'string' || typeof sortedPrimaryHeader[j].render === 'function')\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst cellKey = sortedPrimaryHeader[j].key as unknown as string;\n\t\t\t\t\t\tconst cellValue = row[cellKey];\n\n\t\t\t\t\t\tdataRow.push({\n\t\t\t\t\t\t\t...sortedPrimaryHeader[j],\n\t\t\t\t\t\t\tcolIndex: j,\n\t\t\t\t\t\t\tcolSpan: undefined,\n\t\t\t\t\t\t\trowSpan: undefined,\n\t\t\t\t\t\t\tdata: row,\n\t\t\t\t\t\t\tlabel: cellValue as string,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof sortedPrimaryHeader[i] === 'object' &&\n\t\t\t\t\t\tsortedPrimaryHeader[i] !== null &&\n\t\t\t\t\t\ttypeof data[j] === 'object' &&\n\t\t\t\t\t\tdata[j] !== null &&\n\t\t\t\t\t\t(typeof sortedPrimaryHeader[i].key === 'string' || typeof sortedPrimaryHeader[i].render === 'function')\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst cellKey = sortedPrimaryHeader[i].key as unknown as number;\n\t\t\t\t\t\tconst cellValue = data[j][cellKey];\n\n\t\t\t\t\t\tdataRow.push({\n\t\t\t\t\t\t\t...sortedPrimaryHeader[i],\n\t\t\t\t\t\t\tcolIndex: j,\n\t\t\t\t\t\t\tcolSpan: undefined,\n\t\t\t\t\t\t\trowSpan: undefined,\n\t\t\t\t\t\t\tdata: data[j],\n\t\t\t\t\t\t\tlabel: cellValue as string,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tdataField.push(dataRow);\n\t\t}\n\t\tif (data.length === 0) {\n\t\t\tlet colspan = this.getVisibleColSpan(headers.horizontal?.[0]);\n\t\t\tlet rowspan = 0;\n\n\t\t\tif (Array.isArray(headers.vertical) && headers.vertical.length > 0) {\n\t\t\t\tcolspan -= headers.vertical.length;\n\t\t\t\theaders.vertical[0].forEach((row) => {\n\t\t\t\t\trowspan += row.rowSpan || 1;\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst emptyCell = {\n\t\t\t\tcolSpan: colspan,\n\t\t\t\tlabel: this.translateNoEntries,\n\t\t\t\trender: undefined,\n\t\t\t\trowSpan: Math.max(rowspan, 1),\n\t\t\t};\n\t\t\tif (dataField.length === 0) {\n\t\t\t\tdataField.push([emptyCell]);\n\t\t\t} else {\n\t\t\t\tdataField[0].push(emptyCell);\n\t\t\t}\n\t\t}\n\t\treturn dataField;\n\t}\n\n\tprivate getVisibleColSpan(cells?: Array<KoliBriTableCell | KoliBriTableHeaderCell>): number {\n\t\treturn (\n\t\t\tcells?.reduce((acc, cell) => {\n\t\t\t\tif ('visible' in cell && cell.visible === false) {\n\t\t\t\t\treturn acc;\n\t\t\t\t}\n\n\t\t\t\treturn acc + (cell.colSpan || 1);\n\t\t\t}, 0) ?? 0\n\t\t);\n\t}\n\n\tprivate isFixedCol(index: number | undefined): 'left' | 'right' | undefined {\n\t\tif (!this._fixedCols || index === undefined || this.stickyColsDisabled) {\n\t\t\treturn undefined;\n\t\t}\n\t\tif (index < this._fixedCols[0]) {\n\t\t\treturn 'left';\n\t\t}\n\t\tif (index >= this.maxCols - this._fixedCols[1]) {\n\t\t\treturn 'right';\n\t\t}\n\t}\n\n\tprivate getFixedOffset(index: number | undefined): number | undefined {\n\t\tif (!this.tableDivElement || index === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (this.fixedOffsets[index] !== undefined) {\n\t\t\treturn this.fixedOffsets[index];\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tprivate getOffsetString(index: number | undefined, left?: boolean): string | undefined {\n\t\tif (left && this._selection) {\n\t\t\treturn 'calc( var(--kol-table-selection-col-width) + ' + this.getFixedOffset(index) + 'px)';\n\t\t}\n\n\t\treturn this.getFixedOffset(index) + 'px';\n\t}\n\n\tprivate handleSelectionChangeCallbackAndEvent(event: Event, payload: SelectionChangeEventPayload) {\n\t\tif (typeof this.state._on?.[Callback.onSelectionChange] === 'function') {\n\t\t\tthis.state._on[Callback.onSelectionChange](event, payload);\n\t\t}\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.selectionChange, payload);\n\t\t}\n\t}\n\n\tprivate initializeHeaderCellSettings() {\n\t\t// Update header cells using setState to trigger Stencil's change detection\n\t\tif (this.state._headerCells && this.state._headerCells.horizontal && this.state._headerCells.horizontal.length > 0) {\n\t\t\t// Preserve all original header cells (including colSpan, rowSpan, etc.)\n\t\t\t// and only add/update visible and hidable properties\n\t\t\tconst updatedHeaderCells = {\n\t\t\t\t...this.state._headerCells,\n\t\t\t\thorizontal: this.state._headerCells.horizontal.map((row) =>\n\t\t\t\t\trow.map((header) => ({\n\t\t\t\t\t\t...header,\n\t\t\t\t\t\tvisible: typeof header.visible === 'boolean' ? header.visible : true,\n\t\t\t\t\t\thidable: typeof header.hidable === 'boolean' ? header.hidable : true,\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t\t};\n\t\t\tsetState(this, '_headerCells', updatedHeaderCells);\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateData(this._data);\n\t\tthis.validateDataFoot(this._dataFoot);\n\t\tthis.validateHeaderCells(this._headerCells);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateSelection(this._selection);\n\t\tthis.validateHasSettingsMenu(this._hasSettingsMenu);\n\t\tthis.validateVariantClassName(this._variant);\n\t}\n\n\t/**\n\t * Renders the selection cell for a row, either as a checkbox (for multiple selection)\n\t * or as a radio button (for single selection). It handles selection states and dispatches\n\t * events for selection changes.\n\t *\n\t * @param {KoliBriTableCell[]} row The row data containing the cell with selection properties.\n\t * @param {number} rowIndex The index of the row.\n\t * @returns {JSX.Element} The rendered selection cell, either with a checkbox or radio input.\n\t */\n\tprivate renderSelectionCell(row: (KoliBriTableCell & KoliBriTableDataType)[], rowIndex: number): JSX.Element {\n\t\tconst selection = this.state._selection;\n\t\tif (!selection) return '';\n\t\tconst keyPropertyName = this.getSelectionKeyPropertyName();\n\t\tconst firstCellData = row[0]?.data;\n\n\t\tif (!firstCellData) return '';\n\t\tconst keyProperty = firstCellData[keyPropertyName] as string | number;\n\t\tconst isMultiple = selection.multiple || selection.multiple === undefined;\n\n\t\tconst keyPropertyString = String(keyProperty);\n\t\tconst selected = this.selectedKeysStringSet.has(keyPropertyString);\n\t\tconst disabled = this.disabledKeysStringSet.has(keyPropertyString);\n\n\t\tconst label = selection.label(firstCellData);\n\t\tconst props = {\n\t\t\tname: 'selection',\n\t\t\tchecked: selected,\n\t\t\tdisabled,\n\t\t\tid: String(keyProperty),\n\t\t\t['aria-label']: label,\n\t\t};\n\t\treturn (\n\t\t\t<td key={`tbody-${rowIndex}-selection`} class=\"kol-table__cell kol-table__cell--selection\">\n\t\t\t\t<div class={clsx('kol-table__selection', { 'kol-table__selection--checked': selected })}>\n\t\t\t\t\t{isMultiple ? (\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\tclass={clsx('kol-table__selection-label', {\n\t\t\t\t\t\t\t\t'kol-table__selection-label--disabled': disabled,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<IconFC class=\"kol-table__selection-icon\" icons={`kolicon ${selected ? 'kolicon-check' : ''}`} label=\"\" />\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass={clsx('kol-table__selection-input kol-table__selection-input--checkbox')}\n\t\t\t\t\t\t\t\tref={(el) => el && this.checkboxRefs.push(el)}\n\t\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\tonInput={(event: Event) => {\n\t\t\t\t\t\t\t\t\tconst current = (() => {\n\t\t\t\t\t\t\t\t\t\tconst v = selection?.selectedKeys;\n\t\t\t\t\t\t\t\t\t\treturn v === undefined ? [] : Array.isArray(v) ? v : [v];\n\t\t\t\t\t\t\t\t\t})();\n\t\t\t\t\t\t\t\t\tconst updatedSelectedKeys = !selected ? [...current, keyProperty] : current.filter((k) => String(k) !== String(keyProperty));\n\n\t\t\t\t\t\t\t\t\tthis.handleSelectionChangeCallbackAndEvent(event, updatedSelectedKeys ?? []);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<label class=\"kol-table__selection-label\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tclass={clsx('kol-table__selection-input kol-table__selection-input--radio')}\n\t\t\t\t\t\t\t\t{...props}\n\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\tonInput={(event: Event) => {\n\t\t\t\t\t\t\t\t\tthis.handleSelectionChangeCallbackAndEvent(event, [keyProperty]);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t)}\n\t\t\t\t\t<div class=\"kol-table__selection-input-tooltip\">\n\t\t\t\t\t\t<TooltipFC label={label} badgeText=\"\" id={`${keyProperty}-label`} refFloating={() => {}} />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</td>\n\t\t);\n\t}\n\n\t/**\n\t * Renders a full table row by mapping over each cell and calling `renderTableCell`.\n\t * It also handles the row's unique key generation and selection functionality.\n\t *\n\t * @param {KoliBriTableCell[]} row The data for the current row.\n\t * @param {number} rowIndex The index of the current row being rendered.\n\t * @param isVertical\n\t * @param isFooter\n\t * @returns {JSX.Element} The rendered row with its cells.\n\t */\n\tprivate readonly renderTableRow = (\n\t\trow: (KoliBriTableCell & KoliBriTableDataType)[],\n\t\trowIndex: number,\n\t\tisVertical: boolean,\n\t\tisFooter: boolean = false,\n\t): JSX.Element => {\n\t\tlet key = String(rowIndex);\n\t\tif (this.horizontal && row[0]?.data) {\n\t\t\tkey = this.getDataKey(row[0].data) ?? key;\n\t\t}\n\n\t\treturn (\n\t\t\t<tr\n\t\t\t\tclass={clsx('kol-table__row', {\n\t\t\t\t\t'kol-table__row--body': !isFooter,\n\t\t\t\t\t'kol-table__row--footer': isFooter,\n\t\t\t\t})}\n\t\t\t\tkey={`row-${key}`}\n\t\t\t>\n\t\t\t\t{this.renderSelectionCell(row, rowIndex)}\n\t\t\t\t{row.map((cell, colIndex) => this.renderTableCell(cell, rowIndex, colIndex, isVertical))}\n\t\t\t</tr>\n\t\t);\n\t};\n\n\t/**\n\t * Renders a table cell, either as a data cell (`<td>`) or a header cell (`<th>`).\n\t * If a custom `render` function is provided in the cell, it will be used to display content.\n\t *\n\t * @param {KoliBriTableCell} cell The cell data, containing label, colSpan, rowSpan, and potential render function.\n\t * @param {number} rowIndex The current row index.\n\t * @param {number} colIndex The current column index.\n\t * @returns {JSX.Element} The rendered table cell (either `<td>` or `<th>`).\n\t */\n\tprivate readonly renderTableCell = (cell: KoliBriTableCell, rowIndex: number, colIndex: number, isVertical: boolean): JSX.Element => {\n\t\t// Skip rendering if the column is not visible\n\t\tif ((cell as KoliBriTableHeaderCell).visible === false) {\n\t\t\treturn '';\n\t\t}\n\n\t\tlet key = `${rowIndex}-${colIndex}-${cell.label}`;\n\t\tif (cell.data) {\n\t\t\tconst dataKey = this.getDataKey(cell.data);\n\t\t\tkey = dataKey ? `${dataKey}-${this.horizontal ? colIndex : rowIndex}` : key;\n\t\t}\n\n\t\tif ((cell as KoliBriTableHeaderCellWithLogic).headerCell) {\n\t\t\treturn this.renderHeadingCell(cell, rowIndex, colIndex, isVertical);\n\t\t} else {\n\t\t\tconst isNoEntriesHintCell = typeof cell.render !== 'function' && cell.label === this.translateNoEntries;\n\n\t\t\t// Check if this column is an action column\n\t\t\tconst actionColumn = this.getActionColumnHeader(colIndex);\n\t\t\tconst isActionColumn = Boolean(actionColumn && cell.data);\n\t\t\tconst fixed = this.isFixedCol(colIndex);\n\t\t\tconst offsetLeft = fixed === 'left' ? this.getOffsetString(cell.colIndex, true) : undefined;\n\t\t\tconst offsetRight = fixed === 'right' ? this.getOffsetString(cell.colIndex) : undefined;\n\t\t\tconst hasCustomRender = typeof cell.render === 'function';\n\n\t\t\treturn (\n\t\t\t\t<td\n\t\t\t\t\t// settingsChangedCounter is needed so every cell has a unique key after a settings change and gets rerenderd\n\t\t\t\t\tkey={`cell-${key}-${this.settingsChangedCounter}`}\n\t\t\t\t\tclass={clsx(\n\t\t\t\t\t\t'kol-table__cell kol-table__cell--body',\n\t\t\t\t\t\tcell.textAlign && `kol-table__cell--align-${cell.textAlign}`,\n\t\t\t\t\t\tisActionColumn && 'kol-table__cell--actions',\n\t\t\t\t\t\tfixed && `kol-table__cell--sticky-${fixed}`,\n\t\t\t\t\t)}\n\t\t\t\t\taria-atomic={isNoEntriesHintCell ? 'false' : undefined}\n\t\t\t\t\taria-live={isNoEntriesHintCell ? 'polite' : undefined}\n\t\t\t\t\taria-relevant={isNoEntriesHintCell ? 'text' : undefined}\n\t\t\t\t\tcolSpan={cell.colSpan}\n\t\t\t\t\trowSpan={cell.rowSpan}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\ttextAlign: cell.textAlign,\n\t\t\t\t\t\tleft: offsetLeft,\n\t\t\t\t\t\tright: offsetRight,\n\t\t\t\t\t}}\n\t\t\t\t\tref={\n\t\t\t\t\t\thasCustomRender\n\t\t\t\t\t\t\t? (el) => {\n\t\t\t\t\t\t\t\t\tthis.cellRender(cell as KoliBriTableHeaderCellWithLogic & { render: KoliBriTableRender }, el);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{isActionColumn && actionColumn && cell.data ? this.renderActionItems(actionColumn, cell.data, key) : !hasCustomRender ? cell.label : ''}\n\t\t\t\t</td>\n\t\t\t);\n\t\t}\n\t};\n\n\t/**\n\t * Renders action items (buttons or links) for a table cell.\n\t * Uses the ActionColumnHeaderCell factory function to generate actions based on row data.\n\t *\n\t * @param {ActionColumnHeaderCell} actionColumn The action column header definition.\n\t * @param {KoliBriTableDataType} rowData The data for the current row.\n\t * @param {string} key Unique key for the cell.\n\t * @returns {JSX.Element} The rendered action items wrapped in a container.\n\t */\n\tprivate readonly renderActionItems = (actionColumn: ActionColumnHeaderCell, rowData: KoliBriTableDataType, key: string): JSX.Element => {\n\t\tconst actions = actionColumn.actions(rowData);\n\n\t\treturn (\n\t\t\t<div class=\"kol-table__cell-actions\">\n\t\t\t\t{actions.map((action, actionIndex) => {\n\t\t\t\t\tif (action.type === 'button') {\n\t\t\t\t\t\tconst { ...buttonProps } = action;\n\t\t\t\t\t\treturn <KolButtonWcTag key={`action-${key}-${actionIndex}`} {...buttonProps} _variant={buttonProps._variant} />;\n\t\t\t\t\t} else if (action.type === 'link') {\n\t\t\t\t\t\tconst { ...linkProps } = action;\n\t\t\t\t\t\treturn <KolLinkWcTag key={`action-${key}-${actionIndex}`} {...linkProps} />;\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t})}\n\t\t\t</div>\n\t\t);\n\t};\n\n\tprivate getSelectionKeyPropertyName(): string {\n\t\treturn this.state._selection?.keyPropertyName ?? 'id';\n\t}\n\n\tprivate static normalizeKeys(value?: KoliBriTableSelectionKey | KoliBriTableSelectionKey[]): KoliBriTableSelectionKey[] {\n\t\treturn value === undefined ? [] : Array.isArray(value) ? value : [value];\n\t}\n\n\t/**\n\t * Rebuilds the per-render lookup sets for the current selection. Doing this once per render\n\t * allows O(1) membership checks per row instead of scanning the full key arrays for every row,\n\t * which would otherwise be O(rows × keys).\n\t */\n\tprivate updateSelectionKeySets() {\n\t\tthis.selectedKeysStringSet = new Set(KolTableStatelessWc.normalizeKeys(this.state._selection?.selectedKeys).map(String));\n\t\tthis.disabledKeysStringSet = new Set(KolTableStatelessWc.normalizeKeys(this.state._selection?.disabledKeys).map(String));\n\t}\n\n\tprivate getDataWithSelectionEnabled() {\n\t\tconst keyPropertyName = this.getSelectionKeyPropertyName();\n\t\treturn this.state._data.filter((item) => !this.disabledKeysStringSet.has(String(item[keyPropertyName] as KoliBriTableSelectionKey)));\n\t}\n\n\tprivate getSelectedKeysWithoutDisabledKeys() {\n\t\treturn KolTableStatelessWc.normalizeKeys(this.state._selection?.selectedKeys).filter((k) => !this.disabledKeysStringSet.has(String(k)));\n\t}\n\n\tprivate getSelectedKeysWithDisabledKeysOnly() {\n\t\treturn KolTableStatelessWc.normalizeKeys(this.state._selection?.selectedKeys).filter((k) => this.disabledKeysStringSet.has(String(k)));\n\t}\n\n\tprivate getRevertedSelection(selectAll: boolean) {\n\t\tconst keyPropertyName = this.getSelectionKeyPropertyName();\n\t\tconst selection = this.getSelectedKeysWithDisabledKeysOnly() ?? []; // Always include already selected, but disabled, rows.\n\n\t\tif (selectAll) {\n\t\t\tselection.push(...this.getDataWithSelectionEnabled().map((el) => el?.[keyPropertyName] as KoliBriTableSelectionKey)); // add all enabled rows\n\t\t}\n\n\t\treturn selection;\n\t}\n\n\t/**\n\t * Calculates and returns the minimum width for a table based on its settings and columns' visibility and widths.\n\t * Includes the selection column width when selection is enabled.\n\t *\n\t * When multiple header rows exist, widths from ALL rows are summed. This allows developers to either:\n\t * - Specify the width on merged (parent) columns for equal distribution of child columns\n\t * - Specify widths on individual (child) columns for more control\n\t *\n\t * Note: If widths are specified on both parent and child columns, all widths are summed,\n\t * which may result in a wider table than expected.\n\t *\n\t * @return {string} The minimum width of the table as a string based on the sum of all header widths.\n\t */\n\tprivate getTableMinWidth(): string {\n\t\t// Collect widths from ALL horizontal header rows (including parent/merged rows)\n\t\tconst horizontalHeaders = this.state._headerCells.horizontal ?? [];\n\t\tconst horizontalHeaderWidths: number[] = [];\n\t\thorizontalHeaders.forEach((row) => {\n\t\t\trow.forEach((cell) => {\n\t\t\t\tif (cell.visible !== false && cell.width !== undefined && cell.width > 0) {\n\t\t\t\t\thorizontalHeaderWidths.push(cell.width);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\t// Calculate width from ALL vertical headers (all rows, not just first cell)\n\t\tconst verticalHeaders = this.state._headerCells.vertical ?? [];\n\t\tconst verticalHeaderWidths: number[] = [];\n\t\tverticalHeaders.forEach((column) => {\n\t\t\tcolumn.forEach((cell) => {\n\t\t\t\tif (cell.width !== undefined && cell.width > 0) {\n\t\t\t\t\tverticalHeaderWidths.push(cell.width);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tconst allWidths = [...verticalHeaderWidths, ...horizontalHeaderWidths];\n\n\t\tif (allWidths.length === 0) {\n\t\t\treturn '0px';\n\t\t}\n\t\tif (allWidths.length === 1) {\n\t\t\treturn `${allWidths[0]}px`;\n\t\t}\n\t\treturn `calc(${allWidths.map((w) => `${w}px`).join(' + ')})`;\n\t}\n\n\t/**\n\t * Renders the header cell for row selection. This cell contains a checkbox for selecting\n\t * all rows when selection is enabled. If multiple selection is allowed, the checkbox allows\n\t * selecting/deselecting all rows at once. It also supports an indeterminate state\n\t * if only some rows are selected.\n\t *\n\t * @returns {JSX.Element} - The rendered header cell containing the selection checkbox.\n\t */\n\tprivate renderHeadingSelectionCell(): JSX.Element {\n\t\tconst selection = this.state._selection;\n\n\t\tif (!selection) {\n\t\t\treturn <td class=\"kol-table__cell kol-table__cell--header\" key={`thead-0`}></td>;\n\t\t}\n\n\t\tif (selection.multiple === false) {\n\t\t\treturn (\n\t\t\t\t<th scope=\"col\" key={`thead-0-selection`} class=\"kol-table__cell kol-table__cell--header kol-table__cell--selection\">\n\t\t\t\t\t<span class=\"visually-hidden\">{translate('kol-table-selection')}</span>\n\t\t\t\t</th>\n\t\t\t);\n\t\t}\n\n\t\tconst selectedKeyLength = this.getSelectedKeysWithoutDisabledKeys()?.length ?? 0;\n\t\tconst dataLength = this.getDataWithSelectionEnabled().length;\n\t\tconst isChecked = selectedKeyLength === dataLength;\n\t\tconst indeterminate = selectedKeyLength !== 0 && !isChecked;\n\t\tlet translationKey = 'kol-table-selection-indeterminate' as TranslationKey;\n\t\tif (isChecked && !indeterminate) {\n\t\t\ttranslationKey = 'kol-table-selection-none';\n\t\t}\n\t\tif (selectedKeyLength === 0) {\n\t\t\ttranslationKey = 'kol-table-selection-all';\n\t\t}\n\t\tconst label = translate(translationKey);\n\t\treturn (\n\t\t\t<th scope=\"col\" key={`thead-0-selection`} class=\"kol-table__cell kol-table__cell--header kol-table__cell--selection\">\n\t\t\t\t<span class=\"visually-hidden\">{translate('kol-table-selection')}</span>\n\t\t\t\t<div\n\t\t\t\t\tclass={clsx('kol-table__selection', {\n\t\t\t\t\t\t'kol-table__selection--indeterminate': indeterminate,\n\t\t\t\t\t\t'kol-table__selection--checked': isChecked,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t<label class=\"kol-table__selection-label\">\n\t\t\t\t\t\t<IconFC class=\"kol-table__selection-icon\" icons={`kolicon ${indeterminate ? 'kolicon-minus' : isChecked ? 'kolicon-check' : ''}`} label=\"\" />\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclass={clsx('kol-table__selection-input kol-table__selection-input--checkbox')}\n\t\t\t\t\t\t\tdata-testid=\"selection-checkbox-all\"\n\t\t\t\t\t\t\tref={(el) => el && this.checkboxRefs.push(el)}\n\t\t\t\t\t\t\tname=\"selection\"\n\t\t\t\t\t\t\tchecked={isChecked && !indeterminate}\n\t\t\t\t\t\t\tindeterminate={indeterminate}\n\t\t\t\t\t\t\taria-label={label}\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tonInput={(event: Event) => {\n\t\t\t\t\t\t\t\tthis.handleSelectionChangeCallbackAndEvent(event, this.getRevertedSelection(!isChecked));\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</label>\n\t\t\t\t\t<div class=\"kol-table__selection-input-tooltip\">\n\t\t\t\t\t\t<TooltipFC label={label} badgeText=\"\" id={`${translationKey}-label`} refFloating={() => {}} />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</th>\n\t\t);\n\t}\n\n\t/**\n\t * This header cell is rendered as a TD element when in addition to the horizontal header rows\n\t * there are also vertical header columns. In this case, the cell is rendered blank above the\n\t * vertical header columns.\n\t *\n\t * The width is calculated from the first cell of each vertical header column to ensure\n\t * proper column widths with table-layout: fixed.\n\t */\n\tprivate renderHeaderTdCell(): JSX.Element {\n\t\tconst horizontalHeaders = this.state._headerCells.horizontal;\n\t\tconst verticalHeaders = this.state._headerCells.vertical;\n\n\t\tif (!Array.isArray(horizontalHeaders) || horizontalHeaders.length === 0 || !Array.isArray(verticalHeaders) || verticalHeaders.length === 0) {\n\t\t\treturn <Fragment></Fragment>;\n\t\t}\n\n\t\t// Calculate total width from the first cell of each vertical header column\n\t\tconst totalWidth = verticalHeaders.reduce((sum, column) => {\n\t\t\tconst firstCell = column?.[0];\n\t\t\treturn sum + (firstCell?.width ?? 0);\n\t\t}, 0);\n\n\t\treturn (\n\t\t\t<td\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tcolSpan={verticalHeaders.length}\n\t\t\t\trowSpan={horizontalHeaders.length}\n\t\t\t\tstyle={totalWidth > 0 ? { width: `${totalWidth}px` } : undefined}\n\t\t\t></td>\n\t\t);\n\t}\n\n\t/**\n\t * Renders a table header cell (`<th>`), with optional sorting functionality.\n\t * If the cell has a `sortDirection` property, a sort button is rendered within the header.\n\t *\n\t * @param {KoliBriTableHeaderCell} cell The header cell data, containing label, colSpan, rowSpan, and possible sort direction.\n\t * @param {number} rowIndex The index of the current row in the table.\n\t * @param {number} colIndex The index of the current column in the row.\n\t * @returns {JSX.Element} The rendered header cell with possible sorting controls.\n\t */\n\tprivate formatSortOrderDescription(order: number): string {\n\t\treturn this.translateSortOrder.replace('{{order}}', `${order}`);\n\t}\n\n\tprivate getSortAriaDescription(order?: number): string {\n\t\tif (typeof order === 'number' && order > 0) {\n\t\t\treturn `${this.translateSort} – ${this.formatSortOrderDescription(order)}`;\n\t\t}\n\t\treturn this.translateSort;\n\t}\n\n\tprivate renderHeadingCell(cell: KoliBriTableHeaderCell, rowIndex: number, colIndex: number, isVertical: boolean): JSX.Element {\n\t\t// Skip rendering if the column is not visible\n\t\tif (cell.visible === false) {\n\t\t\treturn '';\n\t\t}\n\n\t\tconst sortableSetting = cell?.sortable !== false;\n\t\tconst hasSortDirection = typeof cell.sortDirection === 'string';\n\t\tconst canSort = sortableSetting && hasSortDirection;\n\n\t\tlet ariaSort: AriaSort = 'none';\n\t\tlet sortButtonIcon = 'kolicon-sort-neutral';\n\n\t\tif (canSort && cell.sortDirection) {\n\t\t\tswitch (cell.sortDirection) {\n\t\t\t\tcase 'ASC':\n\t\t\t\t\tsortButtonIcon = 'kolicon-sort-asc';\n\t\t\t\t\tariaSort = 'ascending';\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'DESC':\n\t\t\t\t\tsortButtonIcon = 'kolicon-sort-desc';\n\t\t\t\t\tariaSort = 'descending';\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tariaSort = 'none';\n\t\t\t}\n\t\t}\n\n\t\tconst scope = isVertical ? 'row' : typeof cell.colSpan === 'number' && cell.colSpan > 1 ? 'colgroup' : 'col';\n\n\t\tconst sortOrder = typeof cell.sortOrder === 'number' && cell.sortOrder > 0 ? cell.sortOrder : undefined;\n\t\tconst sortDescription = this.getSortAriaDescription(sortOrder);\n\t\tconst width = cell.width !== undefined ? `${cell.width}px` : undefined;\n\t\tconst fixed = this.isFixedCol(colIndex);\n\t\tconst offsetLeft = fixed === 'left' ? this.getOffsetString(colIndex, true) : undefined;\n\t\tconst offsetRight = fixed === 'right' ? this.getOffsetString(colIndex) : undefined;\n\n\t\treturn (\n\t\t\t<th\n\t\t\t\tkey={`${rowIndex}-${colIndex}-${cell.label}`}\n\t\t\t\tclass={clsx(\n\t\t\t\t\t'kol-table__cell kol-table__cell--header',\n\t\t\t\t\t`kol-table__cell--${ariaSort}`,\n\t\t\t\t\tcell.textAlign && `kol-table__cell--align-${cell.textAlign}`,\n\t\t\t\t\tfixed && `kol-table__cell--sticky-${fixed}`,\n\t\t\t\t)}\n\t\t\t\tscope={scope}\n\t\t\t\tcolSpan={cell.colSpan}\n\t\t\t\trowSpan={cell.rowSpan}\n\t\t\t\tstyle={{ width: width, left: offsetLeft, right: offsetRight }}\n\t\t\t\taria-sort={ariaSort}\n\t\t\t\tdata-sort={canSort && cell.sortDirection ? `sort-${cell.sortDirection}` : undefined}\n\t\t\t>\n\t\t\t\t{canSort && cell.sortDirection ? (\n\t\t\t\t\t<span class=\"kol-table__sort\">\n\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\tclass=\"kol-table__sort-button\"\n\t\t\t\t\t\t\t_icons={{ right: sortButtonIcon }}\n\t\t\t\t\t\t\t_label={cell.label}\n\t\t\t\t\t\t\t_ariaDescription={sortDescription}\n\t\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\t\tonClick: (event: MouseEvent) => {\n\t\t\t\t\t\t\t\t\tif (typeof this.state._on?.onSort === 'function' && cell.key && cell.sortDirection) {\n\t\t\t\t\t\t\t\t\t\tthis.state._on.onSort(event, {\n\t\t\t\t\t\t\t\t\t\t\tkey: cell.key,\n\t\t\t\t\t\t\t\t\t\t\tcurrentSortDirection: cell.sortDirection,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (this.host) {\n\t\t\t\t\t\t\t\t\t\tdispatchDomEvent(this.host, KolEvent.sort, {\n\t\t\t\t\t\t\t\t\t\t\tkey: cell.key,\n\t\t\t\t\t\t\t\t\t\t\tcurrentSortDirection: cell.sortDirection,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t{sortOrder && (\n\t\t\t\t\t\t\t<span aria-hidden=\"true\" class=\"kol-table__sort-order\">\n\t\t\t\t\t\t\t\t{sortOrder}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\tcell.label\n\t\t\t\t)}\n\t\t\t</th>\n\t\t);\n\t}\n\n\tprivate renderSpacer(variant: 'foot' | 'head', cellDefs: KoliBriTableHeaderCell[][] | KoliBriTableCell[][]): JSX.Element {\n\t\tconst verticalHeaderColpan = this.state._headerCells.vertical?.length || 0;\n\t\tconst colspan = this.getVisibleColSpan(cellDefs?.[0]);\n\t\tconst selectionCell = this.state._selection ? 1 : 0;\n\n\t\treturn (\n\t\t\t<tr aria-hidden=\"true\" class={clsx('kol-table__spacer', `kol-table__spacer--${variant}`)}>\n\t\t\t\t<td class={clsx(`kol-table__spacer-line kol-table__spacer-line--${variant}`)} colSpan={verticalHeaderColpan + colspan + selectionCell}></td>\n\t\t\t</tr>\n\t\t);\n\t}\n\n\tprivate renderFoot(): JSX.Element[] | null {\n\t\tif (!this.state._dataFoot || this.state._dataFoot.length === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst rows: KoliBriTableCell[][] = this.createDataField(this.state._dataFoot, this.state._headerCells, true);\n\t\treturn (\n\t\t\t<tfoot class=\"kol-table__footer\">\n\t\t\t\t{[\n\t\t\t\t\tthis.renderSpacer('foot', rows),\n\t\t\t\t\trows.map((row: (KoliBriTableCell & KoliBriTableDataType)[], rowIndex: number) => this.renderTableRow(row, rowIndex, true, true)),\n\t\t\t\t]}\n\t\t\t</tfoot>\n\t\t);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tthis.updateSelectionKeySets();\n\t\tconst dataField = this.createDataField(this.state._data, this.state._headerCells);\n\t\tthis.checkboxRefs = [];\n\n\t\tconst horizontalHeaders = this.state._headerCells.horizontal;\n\n\t\tconst showInternalCaption = !this.externalLabelElements?.length;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={clsx('kol-table', {\n\t\t\t\t\t[classNameFromVariant(this.state._variant, 'table')]: this.state._variant !== undefined,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{this.state._hasSettingsMenu && <KolTableSettingsWcTag _horizontalHeaderCells={horizontalHeaders ?? []} />}\n\n\t\t\t\t{/* Firefox automatically makes the following div focusable when it has a scrollbar. We implement a similar behavior cross-browser by allowing the\n\t\t\t\t * <div class=\"focus-element\"> to receive focus. Hence, we disable focus for the div to avoid having two focusable elements by setting `tabindex=\"-1\"`.\n\t\t\t\t * When an external label is active the caption is aria-hidden and must not receive focus — the scroll container div becomes the keyboard stop instead.\n\t\t\t\t */}\n\t\t\t\t<div\n\t\t\t\t\tref={(element) => (this.tableDivElement = element)}\n\t\t\t\t\tclass=\"kol-table__scroll-container\"\n\t\t\t\t\ttabindex={this.tableDivElementHasScrollbar ? (showInternalCaption ? '-1' : '0') : undefined}\n\t\t\t\t>\n\t\t\t\t\t<table\n\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\tthis.tableRef = el as HTMLTableElement;\n\t\t\t\t\t\t\tthis.syncTableLabel(this.externalLabelElements);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\taria-labelledby={showInternalCaption ? 'caption' : undefined}\n\t\t\t\t\t\tclass=\"kol-table__table\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tminWidth: this.getTableMinWidth(),\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{/* eslint-disable jsx-a11y/no-noninteractive-tabindex -- caption tabIndex enables keyboard access to scrollable overflow */}\n\t\t\t\t\t\t{showInternalCaption && (\n\t\t\t\t\t\t\t<caption class=\"kol-table__focus-element kol-table__caption\" id=\"caption\" tabindex={this.tableDivElementHasScrollbar ? '0' : undefined}>\n\t\t\t\t\t\t\t\t{this.state._label}\n\t\t\t\t\t\t\t</caption>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{/* eslint-enable jsx-a11y/no-noninteractive-tabindex */}\n\n\t\t\t\t\t\t{Array.isArray(horizontalHeaders) && (\n\t\t\t\t\t\t\t<thead class=\"kol-table__head\">\n\t\t\t\t\t\t\t\t{[\n\t\t\t\t\t\t\t\t\thorizontalHeaders.map((cols, rowIndex) => (\n\t\t\t\t\t\t\t\t\t\t<tr class=\"kol-table__head-row\" key={`thead-${rowIndex}`}>\n\t\t\t\t\t\t\t\t\t\t\t{this.state._selection && this.renderHeadingSelectionCell()}\n\t\t\t\t\t\t\t\t\t\t\t{rowIndex === 0 && this.renderHeaderTdCell()}\n\t\t\t\t\t\t\t\t\t\t\t{Array.isArray(cols) && cols.map((cell, colIndex) => this.renderHeadingCell(cell, rowIndex, colIndex, false))}\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t)),\n\t\t\t\t\t\t\t\t\tthis.renderSpacer('head', horizontalHeaders),\n\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<tbody class=\"kol-table__body\">\n\t\t\t\t\t\t\t{dataField.map((row: (KoliBriTableCell & KoliBriTableDataType)[], rowIndex: number) => this.renderTableRow(row, rowIndex, true))}\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t{this.renderFoot()}\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n"]}
@@ -25,7 +25,7 @@ export class KolTableStateless {
25
25
  }
26
26
  }
27
27
  render() {
28
- return (h(KolTableStatelessWcTag, { key: 'b3ca2e84564e5476e4c5cf92ea269ee1bbd029d2', externalLabelElements: this.resolvedElements, _data: this._data, _dataFoot: this._dataFoot, _fixedCols: this._fixedCols, _headerCells: this._headerCells, _label: this._label, _on: this._on, _selection: this._selection, _hasSettingsMenu: this._hasSettingsMenu, _variant: this._variant }));
28
+ return (h(KolTableStatelessWcTag, { key: '7115f32bb9375fc5d4158bef05eded091fa77091', externalLabelElements: this.resolvedElements, _data: this._data, _dataFoot: this._dataFoot, _fixedCols: this._fixedCols, _headerCells: this._headerCells, _label: this._label, _on: this._on, _selection: this._selection, _hasSettingsMenu: this._hasSettingsMenu, _variant: this._variant }));
29
29
  }
30
30
  static get is() { return "kol-table-stateless"; }
31
31
  static get encapsulation() { return "shadow"; }
@@ -261,7 +261,7 @@ export class KolTableStateless {
261
261
  "mutable": false,
262
262
  "complexType": {
263
263
  "original": "VariantClassNamePropType",
264
- "resolved": "string | undefined",
264
+ "resolved": "string | string[] | undefined",
265
265
  "references": {
266
266
  "VariantClassNamePropType": {
267
267
  "location": "import",
@@ -212,8 +212,8 @@
212
212
  }
213
213
  @font-face {
214
214
  font-family: "kolicons";
215
- src: url("kolicons.eot?t=1783501930981"); /* IE9*/
216
- src: url("kolicons.eot?t=1783501930981#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1783501930981") format("woff2"), url("kolicons.woff?t=1783501930981") format("woff"), url("kolicons.ttf?t=1783501930981") format("truetype"), url("kolicons.svg?t=1783501930981#kolicons") format("svg"); /* iOS 4.1- */
215
+ src: url("kolicons.eot?t=1785404144300"); /* IE9*/
216
+ src: url("kolicons.eot?t=1785404144300#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1785404144300") format("woff2"), url("kolicons.woff?t=1785404144300") format("woff"), url("kolicons.ttf?t=1785404144300") format("truetype"), url("kolicons.svg?t=1785404144300#kolicons") format("svg"); /* iOS 4.1- */
217
217
  }
218
218
  @layer kol-component {
219
219
  [class^=kolicon-], [class*=" kolicon-"] {
@@ -388,6 +388,7 @@
388
388
  }
389
389
  .kol-alert .kol-button {
390
390
  display: flex;
391
+ height: 100%;
391
392
  min-height: var(--a11y-min-size);
392
393
  font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));
393
394
  text-decoration-line: none;
@@ -425,6 +426,7 @@
425
426
  }
426
427
  .kol-button {
427
428
  display: flex;
429
+ height: 100%;
428
430
  min-height: var(--a11y-min-size);
429
431
  font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));
430
432
  text-decoration-line: none;
@@ -463,18 +465,18 @@
463
465
  border-radius: calc(8 * 1rem / var(--kolibri-root-font-size, 16));
464
466
  border: 1px solid black;
465
467
  }
466
- .kol-table-settings__columns-container {
467
- max-height: calc(200 * 1rem / var(--kolibri-root-font-size, 16));
468
- overflow: auto;
469
- }
470
468
  .kol-table-settings__columns {
471
469
  display: grid;
472
- align-items: center;
470
+ max-height: calc(200 * 1rem / var(--kolibri-root-font-size, 16));
471
+ overflow: auto;
473
472
  grid-auto-rows: min-content;
474
473
  grid-template-columns: min-content minmax(max-content, 1fr) calc(140 * 1rem / var(--kolibri-root-font-size, 16)) auto auto;
475
474
  }
476
475
  .kol-table-settings__column {
477
- display: contents;
476
+ display: grid;
477
+ align-items: center;
478
+ grid-template-columns: subgrid;
479
+ grid-column: 1/6;
478
480
  }
479
481
  .kol-icon {
480
482
  color: inherit;
@@ -571,6 +573,7 @@
571
573
  }
572
574
  .kol-table__cell--actions .kol-button {
573
575
  display: flex;
576
+ height: 100%;
574
577
  min-height: var(--a11y-min-size);
575
578
  font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));
576
579
  text-decoration-line: none;
@@ -16,7 +16,6 @@ export class KolTableSettings {
16
16
  this.translateTableSettingsCancel = translate('kol-table-settings-cancel');
17
17
  this.translateTableSettingsApply = translate('kol-table-settings-apply');
18
18
  this.translateErrorAllInvisible = translate('kol-table-settings-error-all-invisible');
19
- this.translateColumnNotHidable = translate('kol-table-settings-column-not-hidable');
20
19
  this._horizontalHeaderCells = [];
21
20
  }
22
21
  handleHeaderCellsChange(newValue) {
@@ -101,7 +100,13 @@ export class KolTableSettings {
101
100
  }
102
101
  render() {
103
102
  const columns = this.getPrimaryRow();
104
- return (h(KolPopoverButtonWcTag, { key: 'b31b61fd00d6f9b7b1cb7229abde5e67772edd4f', ref: (el) => (this.popoverRef = el), class: "kol-table-settings", _icons: "kolicon-settings", _label: this.translateTableSettings, _popoverAlign: "top", _hideLabel: true }, h("div", { key: 'd888ac1b3b7842c5336c12210145890b24916e36', class: "kol-table-settings__content" }, h(KolHeadingTag, { key: 'd79f606ed627a4a5a069415db0c2cedfaaf666d6', _label: this.translateTableSettings, _level: 0 }), this.errorMessage && h(KolAlertWcTag, { key: '310aff9ecbe70b0c9ac4aaf9994b9559bd739b81', _type: "error", _label: this.errorMessage, _variant: "msg", class: "kol-table-settings__error-message" }), h("form", { key: 'b0e84c2f51ab706cc09e4c85ea719b58a3273664', onSubmit: this.handleSubmit.bind(this) }, h("div", { key: 'fbd274e2f77c273d94696698ce8842d9dd51a731', class: "kol-table-settings__columns-container" }, h("div", { key: '696a79971b4c63b8e2dc8341016880d8c8fac347', class: "kol-table-settings__columns" }, columns.map((column, index) => (h("div", { key: column.key, class: "kol-table-settings__column" }, h(KolInputCheckboxTag, { _checked: column.visible !== false, _label: `${column.label}${column.hidable === false ? ` (${this.translateColumnNotHidable})` : ''}`, _value: true, _hideLabel: true, _disabled: column.hidable === false, _on: { onInput: (_, value) => { var _a; return this.handleVisibilityChange((_a = column.key) !== null && _a !== void 0 ? _a : '', value); } } }), h("span", { class: "kol-table-settings__column-label" }, column.label), h(KolInputNumberTag, { _hideLabel: true, _value: parseColumnWidth(column.width), _label: translate('kol-table-settings-column-width', { placeholders: { column: column.label } }), _min: 1, _disabled: column.resizable === false, _on: { onInput: (_, value) => { var _a; return this.handleWidthChange((_a = column.key) !== null && _a !== void 0 ? _a : '', value); } } }), h(KolButtonWcTag, { _icons: "kolicon-chevron-up", _label: translate('kol-table-settings-move-up', { placeholders: { column: column.label } }), _hideLabel: true, _variant: "ghost", _on: { onClick: () => { var _a; return this.moveColumn((_a = column.key) !== null && _a !== void 0 ? _a : '', 'up'); } }, _disabled: column.sortable === false || index === 0, "data-testid": "table-settings-move-up" }), h(KolButtonWcTag, { _icons: "kolicon-chevron-down", _label: translate('kol-table-settings-move-down', { placeholders: { column: column.label } }), _hideLabel: true, _variant: "ghost", _on: { onClick: () => { var _a; return this.moveColumn((_a = column.key) !== null && _a !== void 0 ? _a : '', 'down'); } }, _disabled: column.sortable === false || index === columns.length - 1, "data-testid": "table-settings-move-down" })))))), h("div", { key: 'cc7c01ab830868f213166f868a540ada2cdf1328', class: "kol-table-settings__actions" }, h(KolButtonWcTag, { key: '495664a6a4e779c2faba8c5e57e8baec3818b6fd', _label: this.translateTableSettingsCancel, _variant: "secondary", _on: { onClick: () => this.handleCancel() }, "data-testid": "table-settings-cancel" }), h(KolButtonWcTag, { key: '79d6b02edfc4072529a94f628925fd12f6c851d0', _label: this.translateTableSettingsApply, _variant: "primary", _type: "submit", "data-testid": "table-settings-apply" }))))));
103
+ return (h(KolPopoverButtonWcTag, { key: '2dc78b0438f683df5d48c3701475532f542004c5', ref: (el) => (this.popoverRef = el), class: "kol-table-settings", _icons: "kolicon-settings", _label: this.translateTableSettings, _popoverAlign: "top", _hideLabel: true }, h("div", { key: '0a20509547d95eafdf172f6d166d1ebe4cd1e53b', class: "kol-table-settings__content" }, h(KolHeadingTag, { key: 'fad17919f172d13e8505fea80cf80dfa0c601e07', _label: this.translateTableSettings, _level: 0 }), this.errorMessage && h(KolAlertWcTag, { key: '59976ed2e8f1c98f92ac7b977ba2576d4dbbbe2c', _type: "error", _label: this.errorMessage, _variant: "msg", class: "kol-table-settings__error-message" }), h("form", { key: '75cd70a788598da1e8bef1ff3e6dd5bb92b09480', onSubmit: this.handleSubmit.bind(this) }, h("div", { key: 'aee78d2f68659196041058ce7403df59d04197f3', class: "kol-table-settings__columns" }, columns.map((column, index) => (h("div", { key: column.key, class: "kol-table-settings__column" }, h(KolInputCheckboxTag, { _checked: column.visible !== false, _label: column.hidable
104
+ ? translate('kol-table-settings-column-hidable', { placeholders: { column: column.label } })
105
+ : translate('kol-table-settings-column-not-hidable', { placeholders: { column: column.label } }), _value: true, _hideLabel: true, _disabled: column.hidable === false, _on: { onInput: (_, value) => { var _a; return this.handleVisibilityChange((_a = column.key) !== null && _a !== void 0 ? _a : '', value); } } }), h("span", { class: "kol-table-settings__column-label" }, column.label), h(KolInputNumberTag, { _hideLabel: true, _value: parseColumnWidth(column.width), _label: translate('kol-table-settings-column-width', { placeholders: { column: column.label } }), _min: 1, _disabled: column.resizable === false, _on: { onInput: (_, value) => { var _a; return this.handleWidthChange((_a = column.key) !== null && _a !== void 0 ? _a : '', value); } } }), h(KolButtonWcTag, { _icons: "kolicon-chevron-up", _label: column.sortable === false || index === 0
106
+ ? translate('kol-table-settings-not-move', { placeholders: { column: column.label } })
107
+ : translate('kol-table-settings-move-up', { placeholders: { column: column.label } }), _hideLabel: true, _variant: "ghost", _on: { onClick: () => { var _a; return this.moveColumn((_a = column.key) !== null && _a !== void 0 ? _a : '', 'up'); } }, _disabled: column.sortable === false || index === 0, "data-testid": "table-settings-move-up" }), h(KolButtonWcTag, { _icons: "kolicon-chevron-down", _label: column.sortable === false || index === columns.length - 1
108
+ ? translate('kol-table-settings-not-move', { placeholders: { column: column.label } })
109
+ : translate('kol-table-settings-move-down', { placeholders: { column: column.label } }), _hideLabel: true, _variant: "ghost", _on: { onClick: () => { var _a; return this.moveColumn((_a = column.key) !== null && _a !== void 0 ? _a : '', 'down'); } }, _disabled: column.sortable === false || index === columns.length - 1, "data-testid": "table-settings-move-down" }))))), h("div", { key: '9a9a5dfc6367316dff841159e176570c3220c811', class: "kol-table-settings__actions" }, h(KolButtonWcTag, { key: '67c45436924e20b4cc9ed61ce96a8959055303b4', _label: this.translateTableSettingsCancel, _variant: "secondary", _on: { onClick: () => this.handleCancel() }, "data-testid": "table-settings-cancel" }), h(KolButtonWcTag, { key: '09bcb9b1c06017cc01be5d0eba7fd6babb485beb', _label: this.translateTableSettingsApply, _variant: "primary", _type: "submit", "data-testid": "table-settings-apply" }))))));
105
110
  }
106
111
  static get is() { return "kol-table-settings-wc"; }
107
112
  static get properties() {