@public-ui/components 4.2.1 → 4.3.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1555) 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 +30 -30
  7. package/dist/cjs/Alert-CVPzTxE7.js +93 -0
  8. package/dist/cjs/Alert-CVPzTxE7.js.map +1 -0
  9. package/dist/cjs/Collapsible-DgZrS8sE.js +27 -0
  10. package/dist/cjs/Collapsible-DgZrS8sE.js.map +1 -0
  11. package/dist/cjs/CustomSuggestionsOptionsGroup-Cu-DKRH_.js +31 -0
  12. package/dist/cjs/CustomSuggestionsOptionsGroup-Cu-DKRH_.js.map +1 -0
  13. package/dist/cjs/FieldControlStateWrapper-CElQn7sN.js +123 -0
  14. package/dist/cjs/FieldControlStateWrapper-CElQn7sN.js.map +1 -0
  15. package/dist/cjs/FormFieldStateWrapper-C93KLp60.js +848 -0
  16. package/dist/cjs/FormFieldStateWrapper-C93KLp60.js.map +1 -0
  17. package/dist/cjs/Heading-Cswcjs5-.js +41 -0
  18. package/dist/cjs/Heading-Cswcjs5-.js.map +1 -0
  19. package/dist/cjs/Input-BmS5OT6F.js +29 -0
  20. package/dist/cjs/Input-BmS5OT6F.js.map +1 -0
  21. package/dist/cjs/InputStateWrapper-79jr7rz8.js +86 -0
  22. package/dist/cjs/InputStateWrapper-79jr7rz8.js.map +1 -0
  23. package/dist/cjs/access-and-short-key-B_Jn8UfN.js +41 -0
  24. package/dist/cjs/access-and-short-key-B_Jn8UfN.js.map +1 -0
  25. package/dist/cjs/align-e4FQ7dUp.js +26 -0
  26. package/dist/cjs/align-e4FQ7dUp.js.map +1 -0
  27. package/dist/cjs/align-floating-elements-DfUaAAqe.js +1672 -0
  28. package/dist/cjs/align-floating-elements-DfUaAAqe.js.map +1 -0
  29. package/dist/cjs/app-globals-x09whKfp.js +36 -0
  30. package/dist/cjs/app-globals-x09whKfp.js.map +1 -0
  31. package/dist/cjs/aria-expanded-DVEjetkn.js +31 -0
  32. package/dist/cjs/aria-expanded-DVEjetkn.js.map +1 -0
  33. package/dist/cjs/aria-labelledby-BhnM3OnL.js +60 -0
  34. package/dist/cjs/aria-labelledby-BhnM3OnL.js.map +1 -0
  35. package/dist/cjs/associated.controller-CUvZCmFF.js +190 -0
  36. package/dist/cjs/associated.controller-CUvZCmFF.js.map +1 -0
  37. package/dist/cjs/auto-complete-ByyIPPbm.js +18 -0
  38. package/dist/cjs/auto-complete-ByyIPPbm.js.map +1 -0
  39. package/dist/cjs/bem-registry-D9uDM1GJ.js +163 -0
  40. package/dist/cjs/bem-registry-D9uDM1GJ.js.map +1 -0
  41. package/dist/cjs/bootstrap-De2npoa_.js +36 -0
  42. package/dist/cjs/bootstrap-De2npoa_.js.map +1 -0
  43. package/dist/cjs/color-1N4YnPDO.js +101 -0
  44. package/dist/cjs/color-1N4YnPDO.js.map +1 -0
  45. package/dist/cjs/common-DAAt5YQ7.js +1769 -0
  46. package/dist/cjs/common-DAAt5YQ7.js.map +1 -0
  47. package/dist/cjs/component-4yrnT9ww.js +9153 -0
  48. package/dist/cjs/component-4yrnT9ww.js.map +1 -0
  49. package/dist/cjs/component-C1vBQDN-.js +23 -0
  50. package/dist/cjs/component-C1vBQDN-.js.map +1 -0
  51. package/dist/cjs/component-CYZTV5r0.js +16 -0
  52. package/dist/cjs/component-CYZTV5r0.js.map +1 -0
  53. package/dist/cjs/component-EJOcQRXl.js +17 -0
  54. package/dist/cjs/component-EJOcQRXl.js.map +1 -0
  55. package/dist/cjs/contrast-CWF2pSYV.js +100 -0
  56. package/dist/cjs/contrast-CWF2pSYV.js.map +1 -0
  57. package/dist/cjs/controller-3DispTOw.js +93 -0
  58. package/dist/cjs/controller-3DispTOw.js.map +1 -0
  59. package/dist/cjs/controller-CShnVKSd.js +55 -0
  60. package/dist/cjs/controller-CShnVKSd.js.map +1 -0
  61. package/dist/cjs/controller-DHsc-8t1.js +241 -0
  62. package/dist/cjs/controller-DHsc-8t1.js.map +1 -0
  63. package/dist/cjs/controller-DNlov9_q.js +99 -0
  64. package/dist/cjs/controller-DNlov9_q.js.map +1 -0
  65. package/dist/cjs/controller-P5D-ZKaP.js +126 -0
  66. package/dist/cjs/controller-P5D-ZKaP.js.map +1 -0
  67. package/dist/cjs/controller-icon-BfIYzDZs.js +169 -0
  68. package/dist/cjs/controller-icon-BfIYzDZs.js.map +1 -0
  69. package/dist/cjs/custom-class-C8GDf7By.js +17 -0
  70. package/dist/cjs/custom-class-C8GDf7By.js.map +1 -0
  71. package/dist/cjs/dev.utils-Cdn-EtYb.js +86 -0
  72. package/dist/cjs/dev.utils-Cdn-EtYb.js.map +1 -0
  73. package/dist/cjs/devtools-BQj_-O6G.js +103 -0
  74. package/dist/cjs/devtools-BQj_-O6G.js.map +1 -0
  75. package/dist/cjs/disabled-D8jGjcwY.js +23 -0
  76. package/dist/cjs/disabled-D8jGjcwY.js.map +1 -0
  77. package/dist/cjs/element-focus-B4BhAkh_.js +164 -0
  78. package/dist/cjs/element-focus-B4BhAkh_.js.map +1 -0
  79. package/dist/cjs/element-interaction-CmOQWzhR.js +70 -0
  80. package/dist/cjs/element-interaction-CmOQWzhR.js.map +1 -0
  81. package/dist/cjs/events-DN9qldnr.js +45 -0
  82. package/dist/cjs/events-DN9qldnr.js.map +1 -0
  83. package/dist/cjs/has-closer-CuErOOct.js +15 -0
  84. package/dist/cjs/has-closer-CuErOOct.js.map +1 -0
  85. package/dist/cjs/hide-label-CO4GBDgf.js +15 -0
  86. package/dist/cjs/hide-label-CO4GBDgf.js.map +1 -0
  87. package/dist/cjs/href-DoBpb9Pl.js +15 -0
  88. package/dist/cjs/href-DoBpb9Pl.js.map +1 -0
  89. package/dist/cjs/i18n-DL7vJXNn.js +19 -0
  90. package/dist/cjs/i18n-DL7vJXNn.js.map +1 -0
  91. package/dist/cjs/icons-D80xUBDS.js +86 -0
  92. package/dist/cjs/icons-D80xUBDS.js.map +1 -0
  93. package/dist/cjs/index-DBbl8tEq.js +2908 -0
  94. package/dist/cjs/index-DBbl8tEq.js.map +1 -0
  95. package/dist/cjs/index.cjs.js +4 -4
  96. package/dist/cjs/inline-1X3ssV6v.js +15 -0
  97. package/dist/cjs/inline-1X3ssV6v.js.map +1 -0
  98. package/dist/cjs/kol-abbr.cjs.entry.js +14 -14
  99. package/dist/cjs/kol-accordion.cjs.entry.js +17 -17
  100. package/dist/cjs/kol-accordion.entry.cjs.js.map +1 -1
  101. package/dist/cjs/kol-alert-wc.cjs.entry.js +13 -13
  102. package/dist/cjs/kol-alert.cjs.entry.js +3 -3
  103. package/dist/cjs/kol-avatar.cjs.entry.js +9 -9
  104. package/dist/cjs/kol-badge.cjs.entry.js +15 -15
  105. package/dist/cjs/kol-badge.entry.cjs.js.map +1 -1
  106. package/dist/cjs/kol-breadcrumb.cjs.entry.js +8 -8
  107. package/dist/cjs/kol-button-link.cjs.entry.js +7 -7
  108. package/dist/cjs/kol-button-link.entry.cjs.js.map +1 -1
  109. package/dist/cjs/kol-button-wc.cjs.entry.js +31 -31
  110. package/dist/cjs/kol-button-wc.entry.cjs.js.map +1 -1
  111. package/dist/cjs/kol-button.cjs.entry.js +7 -7
  112. package/dist/cjs/kol-button.entry.cjs.js.map +1 -1
  113. package/dist/cjs/kol-card-wc.cjs.entry.js +16 -16
  114. package/dist/cjs/kol-card.cjs.entry.js +3 -3
  115. package/dist/cjs/kol-click-button.cjs.entry.js +40 -13
  116. package/dist/cjs/kol-click-button.entry.cjs.js.map +1 -1
  117. package/dist/cjs/kol-combobox.cjs.entry.js +48 -42
  118. package/dist/cjs/kol-combobox.entry.cjs.js.map +1 -1
  119. package/dist/cjs/kol-details.cjs.entry.js +17 -17
  120. package/dist/cjs/kol-details.entry.cjs.js.map +1 -1
  121. package/dist/cjs/kol-dialog-wc.cjs.entry.js +8 -8
  122. package/dist/cjs/kol-dialog.cjs.entry.js +3 -3
  123. package/dist/cjs/kol-drawer.cjs.entry.js +12 -12
  124. package/dist/cjs/kol-form.cjs.entry.js +9 -9
  125. package/dist/cjs/kol-heading.cjs.entry.js +5 -5
  126. package/dist/cjs/kol-icon.cjs.entry.js +8 -8
  127. package/dist/cjs/kol-image.cjs.entry.js +24 -8
  128. package/dist/cjs/kol-image.entry.cjs.js.map +1 -1
  129. package/dist/cjs/kol-input-checkbox.cjs.entry.js +37 -37
  130. package/dist/cjs/kol-input-checkbox.entry.cjs.js.map +1 -1
  131. package/dist/cjs/kol-input-color.cjs.entry.js +37 -37
  132. package/dist/cjs/kol-input-color.entry.cjs.js.map +1 -1
  133. package/dist/cjs/kol-input-date.cjs.entry.js +40 -40
  134. package/dist/cjs/kol-input-date.entry.cjs.js.map +1 -1
  135. package/dist/cjs/kol-input-email.cjs.entry.js +46 -46
  136. package/dist/cjs/kol-input-email.entry.cjs.js.map +1 -1
  137. package/dist/cjs/kol-input-file.cjs.entry.js +37 -37
  138. package/dist/cjs/kol-input-file.entry.cjs.js.map +1 -1
  139. package/dist/cjs/kol-input-number.cjs.entry.js +41 -41
  140. package/dist/cjs/kol-input-number.entry.cjs.js.map +1 -1
  141. package/dist/cjs/kol-input-password.cjs.entry.js +42 -42
  142. package/dist/cjs/kol-input-password.entry.cjs.js.map +1 -1
  143. package/dist/cjs/kol-input-radio.cjs.entry.js +38 -37
  144. package/dist/cjs/kol-input-radio.entry.cjs.js.map +1 -1
  145. package/dist/cjs/kol-input-range.cjs.entry.js +38 -38
  146. package/dist/cjs/kol-input-range.entry.cjs.js.map +1 -1
  147. package/dist/cjs/kol-input-text.cjs.entry.js +45 -45
  148. package/dist/cjs/kol-input-text.entry.cjs.js.map +1 -1
  149. package/dist/cjs/kol-kolibri.cjs.entry.js +5 -5
  150. package/dist/cjs/kol-link-button.cjs.entry.js +7 -7
  151. package/dist/cjs/kol-link-button.entry.cjs.js.map +1 -1
  152. package/dist/cjs/kol-link-wc.cjs.entry.js +30 -30
  153. package/dist/cjs/kol-link-wc.entry.cjs.js.map +1 -1
  154. package/dist/cjs/kol-link.cjs.entry.js +7 -7
  155. package/dist/cjs/kol-link.entry.cjs.js.map +1 -1
  156. package/dist/cjs/kol-meter.cjs.entry.js +10 -35
  157. package/dist/cjs/kol-meter.entry.cjs.js.map +1 -1
  158. package/dist/cjs/kol-modal.cjs.entry.js +3 -3
  159. package/dist/cjs/kol-nav.cjs.entry.js +9 -9
  160. package/dist/cjs/kol-pagination-wc.cjs.entry.js +10 -10
  161. package/dist/cjs/kol-pagination.cjs.entry.js +3 -3
  162. package/dist/cjs/kol-popover-button-wc.cjs.entry.js +11 -11
  163. package/dist/cjs/kol-popover-button-wc.entry.cjs.js.map +1 -1
  164. package/dist/cjs/kol-popover-button.cjs.entry.js +7 -7
  165. package/dist/cjs/kol-popover-button.entry.cjs.js.map +1 -1
  166. package/dist/cjs/kol-progress.cjs.entry.js +7 -7
  167. package/dist/cjs/kol-quote.cjs.entry.js +6 -6
  168. package/dist/cjs/kol-select-wc.cjs.entry.js +39 -39
  169. package/dist/cjs/kol-select-wc.entry.cjs.js.map +1 -1
  170. package/dist/cjs/kol-select.cjs.entry.js +7 -7
  171. package/dist/cjs/kol-select.entry.cjs.js.map +1 -1
  172. package/dist/cjs/kol-single-select.cjs.entry.js +42 -42
  173. package/dist/cjs/kol-single-select.entry.cjs.js.map +1 -1
  174. package/dist/cjs/kol-skeleton.cjs.entry.js +23 -19
  175. package/dist/cjs/kol-skeleton.entry.cjs.js.map +1 -1
  176. package/dist/cjs/kol-skip-nav.cjs.entry.js +10 -10
  177. package/dist/cjs/kol-skip-nav.entry.cjs.js.map +1 -1
  178. package/dist/cjs/kol-spin.cjs.entry.js +6 -6
  179. package/dist/cjs/kol-split-button.cjs.entry.js +9 -9
  180. package/dist/cjs/kol-split-button.entry.cjs.js.map +1 -1
  181. package/dist/cjs/kol-table-settings-wc.cjs.entry.js +4 -4
  182. package/dist/cjs/kol-table-stateful.cjs.entry.js +71 -14
  183. package/dist/cjs/kol-table-stateful.entry.cjs.js.map +1 -1
  184. package/dist/cjs/kol-table-stateless-wc.cjs.entry.js +45 -58
  185. package/dist/cjs/kol-table-stateless-wc.entry.cjs.js.map +1 -1
  186. package/dist/cjs/kol-table-stateless.cjs.entry.js +4 -4
  187. package/dist/cjs/kol-table-stateless.entry.cjs.js.map +1 -1
  188. package/dist/cjs/kol-tabs.cjs.entry.js +12 -12
  189. package/dist/cjs/kol-tabs.entry.cjs.js.map +1 -1
  190. package/dist/cjs/kol-textarea.cjs.entry.js +39 -39
  191. package/dist/cjs/kol-textarea.entry.cjs.js.map +1 -1
  192. package/dist/cjs/kol-toast-container.cjs.entry.js +25 -19
  193. package/dist/cjs/kol-toast-container.entry.cjs.js.map +1 -1
  194. package/dist/cjs/kol-toolbar.cjs.entry.js +9 -9
  195. package/dist/cjs/kol-toolbar.entry.cjs.js.map +1 -1
  196. package/dist/cjs/kol-tooltip-wc.cjs.entry.js +12 -12
  197. package/dist/cjs/kol-tree-item-wc.cjs.entry.js +13 -13
  198. package/dist/cjs/kol-tree-item-wc.entry.cjs.js.map +1 -1
  199. package/dist/cjs/kol-tree-item.cjs.entry.js +6 -6
  200. package/dist/cjs/kol-tree-item.entry.cjs.js.map +1 -1
  201. package/dist/cjs/kol-tree-wc.cjs.entry.js +6 -6
  202. package/dist/cjs/kol-tree-wc.entry.cjs.js.map +1 -1
  203. package/dist/cjs/kol-tree.cjs.entry.js +6 -6
  204. package/dist/cjs/kol-tree.entry.cjs.js.map +1 -1
  205. package/dist/cjs/kol-version.cjs.entry.js +4 -4
  206. package/dist/cjs/kolibri.cjs.js +4 -4
  207. package/dist/cjs/label-CrUhy8f0.js +13 -0
  208. package/dist/cjs/label-CrUhy8f0.js.map +1 -0
  209. package/dist/cjs/label-VzToxIES.js +50 -0
  210. package/dist/cjs/label-VzToxIES.js.map +1 -0
  211. package/dist/cjs/level-VjfppjxT.js +15 -0
  212. package/dist/cjs/level-VjfppjxT.js.map +1 -0
  213. package/dist/cjs/loader.cjs.js +4 -4
  214. package/dist/cjs/max-length-behavior-BjqOHcK6.js +26 -0
  215. package/dist/cjs/max-length-behavior-BjqOHcK6.js.map +1 -0
  216. package/dist/cjs/multiple-_6n58n0B.js +15 -0
  217. package/dist/cjs/multiple-_6n58n0B.js.map +1 -0
  218. package/dist/cjs/normalizers-R90MJyQR.js +648 -0
  219. package/dist/cjs/normalizers-R90MJyQR.js.map +1 -0
  220. package/dist/cjs/open-CLOzqgir.js +15 -0
  221. package/dist/cjs/open-CLOzqgir.js.map +1 -0
  222. package/dist/cjs/orientation-BUQ3VvMw.js +18 -0
  223. package/dist/cjs/orientation-BUQ3VvMw.js.map +1 -0
  224. package/dist/cjs/placeholder-B7I3KNtq.js +15 -0
  225. package/dist/cjs/placeholder-B7I3KNtq.js.map +1 -0
  226. package/dist/cjs/read-only-BFoDOTZu.js +15 -0
  227. package/dist/cjs/read-only-BFoDOTZu.js.map +1 -0
  228. package/dist/cjs/required-QyEHP_gi.js +15 -0
  229. package/dist/cjs/required-QyEHP_gi.js.map +1 -0
  230. package/dist/cjs/rows-BT28uo_I.js +15 -0
  231. package/dist/cjs/rows-BT28uo_I.js.map +1 -0
  232. package/dist/cjs/spell-check-CnmPp0It.js +17 -0
  233. package/dist/cjs/spell-check-CnmPp0It.js.map +1 -0
  234. package/dist/cjs/src-oMcBX9Z5.js +13 -0
  235. package/dist/cjs/src-oMcBX9Z5.js.map +1 -0
  236. package/dist/cjs/suggestions-hTUeCecL.js +23 -0
  237. package/dist/cjs/suggestions-hTUeCecL.js.map +1 -0
  238. package/dist/cjs/table-selection-BzjiHUz6.js +93 -0
  239. package/dist/cjs/table-selection-BzjiHUz6.js.map +1 -0
  240. package/dist/cjs/test-component.cjs.entry.js +2 -2
  241. package/dist/cjs/tooltip-align-C2v_joNk.js +16 -0
  242. package/dist/cjs/tooltip-align-C2v_joNk.js.map +1 -0
  243. package/dist/cjs/unique-nav-labels-ZxWa1D5d.js +25 -0
  244. package/dist/cjs/unique-nav-labels-ZxWa1D5d.js.map +1 -0
  245. package/dist/cjs/validation-D2EuAues.js +16 -0
  246. package/dist/cjs/validation-D2EuAues.js.map +1 -0
  247. package/dist/cjs/validation-DwarFcC9.js +19 -0
  248. package/dist/cjs/validation-DwarFcC9.js.map +1 -0
  249. package/dist/cjs/value-number-clamped-B6AfADe2.js +28 -0
  250. package/dist/cjs/value-number-clamped-B6AfADe2.js.map +1 -0
  251. package/dist/cjs/variant-class-name-DsZdGPeK.js +18 -0
  252. package/dist/cjs/variant-class-name-DsZdGPeK.js.map +1 -0
  253. package/dist/cjs/variant-quote-DUWZtljE.js +41 -0
  254. package/dist/cjs/variant-quote-DUWZtljE.js.map +1 -0
  255. package/dist/collection/components/_skeleton/web-components/click-button/component.js +19 -6
  256. package/dist/collection/components/_skeleton/web-components/click-button/component.js.map +1 -1
  257. package/dist/collection/components/_skeleton/web-components/skeleton/component.js +22 -6
  258. package/dist/collection/components/_skeleton/web-components/skeleton/component.js.map +1 -1
  259. package/dist/collection/components/abbr/style.css +2 -2
  260. package/dist/collection/components/accordion/shadow.js +13 -4
  261. package/dist/collection/components/accordion/shadow.js.map +1 -1
  262. package/dist/collection/components/accordion/style.css +2 -2
  263. package/dist/collection/components/alert/style.css +2 -2
  264. package/dist/collection/components/badge/shadow.js +14 -5
  265. package/dist/collection/components/badge/shadow.js.map +1 -1
  266. package/dist/collection/components/badge/style.css +2 -2
  267. package/dist/collection/components/breadcrumb/style.css +2 -2
  268. package/dist/collection/components/button/component.js +14 -5
  269. package/dist/collection/components/button/component.js.map +1 -1
  270. package/dist/collection/components/button/shadow.js +13 -4
  271. package/dist/collection/components/button/shadow.js.map +1 -1
  272. package/dist/collection/components/button/style.css +2 -2
  273. package/dist/collection/components/button-link/shadow.js +13 -4
  274. package/dist/collection/components/button-link/shadow.js.map +1 -1
  275. package/dist/collection/components/button-link/style.css +2 -2
  276. package/dist/collection/components/card/style.css +2 -2
  277. package/dist/collection/components/combobox/shadow.js +22 -7
  278. package/dist/collection/components/combobox/shadow.js.map +1 -1
  279. package/dist/collection/components/combobox/style.css +2 -2
  280. package/dist/collection/components/details/shadow.js +13 -4
  281. package/dist/collection/components/details/shadow.js.map +1 -1
  282. package/dist/collection/components/details/style.css +2 -2
  283. package/dist/collection/components/dialog/style.css +2 -2
  284. package/dist/collection/components/drawer/style.css +2 -2
  285. package/dist/collection/components/form/style.css +2 -2
  286. package/dist/collection/components/icon/style.css +2 -2
  287. package/dist/collection/components/image/component.js +40 -1
  288. package/dist/collection/components/image/component.js.map +1 -1
  289. package/dist/collection/components/input-adapter-leanup/associated.controller.js +6 -3
  290. package/dist/collection/components/input-adapter-leanup/associated.controller.js.map +1 -1
  291. package/dist/collection/components/input-checkbox/shadow.js +13 -4
  292. package/dist/collection/components/input-checkbox/shadow.js.map +1 -1
  293. package/dist/collection/components/input-checkbox/style.css +2 -2
  294. package/dist/collection/components/input-color/shadow.js +13 -4
  295. package/dist/collection/components/input-color/shadow.js.map +1 -1
  296. package/dist/collection/components/input-color/style.css +2 -2
  297. package/dist/collection/components/input-date/shadow.js +13 -4
  298. package/dist/collection/components/input-date/shadow.js.map +1 -1
  299. package/dist/collection/components/input-date/style.css +2 -2
  300. package/dist/collection/components/input-email/shadow.js +13 -4
  301. package/dist/collection/components/input-email/shadow.js.map +1 -1
  302. package/dist/collection/components/input-email/style.css +2 -2
  303. package/dist/collection/components/input-file/shadow.js +13 -4
  304. package/dist/collection/components/input-file/shadow.js.map +1 -1
  305. package/dist/collection/components/input-file/style.css +2 -2
  306. package/dist/collection/components/input-number/shadow.js +13 -4
  307. package/dist/collection/components/input-number/shadow.js.map +1 -1
  308. package/dist/collection/components/input-number/style.css +2 -2
  309. package/dist/collection/components/input-password/shadow.js +13 -4
  310. package/dist/collection/components/input-password/shadow.js.map +1 -1
  311. package/dist/collection/components/input-password/style.css +2 -2
  312. package/dist/collection/components/input-radio/shadow.js +15 -5
  313. package/dist/collection/components/input-radio/shadow.js.map +1 -1
  314. package/dist/collection/components/input-radio/style.css +2 -2
  315. package/dist/collection/components/input-range/shadow.js +13 -4
  316. package/dist/collection/components/input-range/shadow.js.map +1 -1
  317. package/dist/collection/components/input-range/style.css +2 -2
  318. package/dist/collection/components/input-text/shadow.js +13 -4
  319. package/dist/collection/components/input-text/shadow.js.map +1 -1
  320. package/dist/collection/components/input-text/style.css +2 -2
  321. package/dist/collection/components/link/component.js +14 -5
  322. package/dist/collection/components/link/component.js.map +1 -1
  323. package/dist/collection/components/link/shadow.js +13 -4
  324. package/dist/collection/components/link/shadow.js.map +1 -1
  325. package/dist/collection/components/link/style.css +2 -2
  326. package/dist/collection/components/link-button/shadow.js +13 -4
  327. package/dist/collection/components/link-button/shadow.js.map +1 -1
  328. package/dist/collection/components/link-button/style.css +2 -2
  329. package/dist/collection/components/meter/component.js +1 -10
  330. package/dist/collection/components/meter/component.js.map +1 -1
  331. package/dist/collection/components/modal/style.css +2 -2
  332. package/dist/collection/components/nav/style.css +2 -2
  333. package/dist/collection/components/pagination/style.css +2 -2
  334. package/dist/collection/components/popover-button/component.js +14 -5
  335. package/dist/collection/components/popover-button/component.js.map +1 -1
  336. package/dist/collection/components/popover-button/shadow.js +13 -4
  337. package/dist/collection/components/popover-button/shadow.js.map +1 -1
  338. package/dist/collection/components/popover-button/style.css +2 -2
  339. package/dist/collection/components/select/component.js +14 -5
  340. package/dist/collection/components/select/component.js.map +1 -1
  341. package/dist/collection/components/select/shadow.js +13 -4
  342. package/dist/collection/components/select/shadow.js.map +1 -1
  343. package/dist/collection/components/select/style.css +2 -2
  344. package/dist/collection/components/single-select/shadow.js +15 -6
  345. package/dist/collection/components/single-select/shadow.js.map +1 -1
  346. package/dist/collection/components/single-select/style.css +2 -2
  347. package/dist/collection/components/skip-nav/shadow.js +13 -4
  348. package/dist/collection/components/skip-nav/shadow.js.map +1 -1
  349. package/dist/collection/components/skip-nav/style.css +2 -2
  350. package/dist/collection/components/split-button/shadow.js +14 -5
  351. package/dist/collection/components/split-button/shadow.js.map +1 -1
  352. package/dist/collection/components/split-button/style.css +2 -2
  353. package/dist/collection/components/table-stateful/shadow.js +64 -6
  354. package/dist/collection/components/table-stateful/shadow.js.map +1 -1
  355. package/dist/collection/components/table-stateful/style.css +6 -2
  356. package/dist/collection/components/table-stateless/component.js +33 -46
  357. package/dist/collection/components/table-stateless/component.js.map +1 -1
  358. package/dist/collection/components/table-stateless/style.css +6 -2
  359. package/dist/collection/components/tabs/shadow.js +14 -5
  360. package/dist/collection/components/tabs/shadow.js.map +1 -1
  361. package/dist/collection/components/tabs/style.css +11 -2
  362. package/dist/collection/components/textarea/shadow.js +13 -4
  363. package/dist/collection/components/textarea/shadow.js.map +1 -1
  364. package/dist/collection/components/textarea/style.css +2 -2
  365. package/dist/collection/components/toaster/shadow.js +13 -7
  366. package/dist/collection/components/toaster/shadow.js.map +1 -1
  367. package/dist/collection/components/toaster/style.css +2 -2
  368. package/dist/collection/components/toolbar/shadow.js +14 -5
  369. package/dist/collection/components/toolbar/shadow.js.map +1 -1
  370. package/dist/collection/components/toolbar/style.css +2 -2
  371. package/dist/collection/components/tree/component.js +14 -5
  372. package/dist/collection/components/tree/component.js.map +1 -1
  373. package/dist/collection/components/tree/shadow.js +13 -4
  374. package/dist/collection/components/tree/shadow.js.map +1 -1
  375. package/dist/collection/components/tree-item/component.js +16 -7
  376. package/dist/collection/components/tree-item/component.js.map +1 -1
  377. package/dist/collection/components/tree-item/shadow.js +14 -5
  378. package/dist/collection/components/tree-item/shadow.js.map +1 -1
  379. package/dist/collection/components/tree-item/style.css +2 -2
  380. package/dist/collection/internal/functional-components/click-button/controller.js +1 -8
  381. package/dist/collection/internal/functional-components/click-button/controller.js.map +1 -1
  382. package/dist/collection/internal/functional-components/generic-types.js.map +1 -1
  383. package/dist/collection/internal/functional-components/image/component.js +2 -2
  384. package/dist/collection/internal/functional-components/image/component.js.map +1 -1
  385. package/dist/collection/internal/functional-components/meter/api.js.map +1 -1
  386. package/dist/collection/internal/functional-components/meter/component.js +2 -7
  387. package/dist/collection/internal/functional-components/meter/component.js.map +1 -1
  388. package/dist/collection/internal/functional-components/meter/controller.js +0 -16
  389. package/dist/collection/internal/functional-components/meter/controller.js.map +1 -1
  390. package/dist/collection/internal/functional-components/skeleton/api.js.map +1 -1
  391. package/dist/collection/internal/functional-components/skeleton/controller.js +6 -9
  392. package/dist/collection/internal/functional-components/skeleton/controller.js.map +1 -1
  393. package/dist/collection/schema/components/image.js.map +1 -1
  394. package/dist/collection/schema/components/input-password.js.map +1 -1
  395. package/dist/collection/schema/interfaces/FocusableElement.js.map +1 -1
  396. package/dist/collection/schema/utils/prop.validators.js +21 -32
  397. package/dist/collection/schema/utils/prop.validators.js.map +1 -1
  398. package/dist/collection/utils/element-focus.js +65 -2
  399. package/dist/collection/utils/element-focus.js.map +1 -1
  400. package/dist/collection/utils/element-interaction.js +29 -7
  401. package/dist/collection/utils/element-interaction.js.map +1 -1
  402. package/dist/collection/utils/events.js +2 -0
  403. package/dist/collection/utils/events.js.map +1 -1
  404. package/dist/components/FieldControlStateWrapper.js +1 -1
  405. package/dist/components/Input.js +1 -1
  406. package/dist/components/InputStateWrapper.js +1 -1
  407. package/dist/components/associated.controller.js +6 -3
  408. package/dist/components/associated.controller.js.map +1 -1
  409. package/dist/components/component4.js +15 -0
  410. package/dist/components/component4.js.map +1 -0
  411. package/dist/components/controller-icon.js +1 -1
  412. package/dist/components/controller3.js +825 -34
  413. package/dist/components/controller3.js.map +1 -1
  414. package/dist/components/controller4.js +77 -796
  415. package/dist/components/controller4.js.map +1 -1
  416. package/dist/components/controller5.js +22 -90
  417. package/dist/components/controller5.js.map +1 -1
  418. package/dist/components/controller6.js +67 -28
  419. package/dist/components/controller6.js.map +1 -1
  420. package/dist/components/element-focus.js +67 -3
  421. package/dist/components/element-focus.js.map +1 -1
  422. package/dist/components/element-interaction.js +23 -8
  423. package/dist/components/element-interaction.js.map +1 -1
  424. package/dist/components/events.js +2 -0
  425. package/dist/components/events.js.map +1 -1
  426. package/dist/components/kol-abbr.js +1 -1
  427. package/dist/components/kol-accordion.js +3 -3
  428. package/dist/components/kol-accordion.js.map +1 -1
  429. package/dist/components/kol-alert.js +1 -1
  430. package/dist/components/kol-badge.js +4 -4
  431. package/dist/components/kol-badge.js.map +1 -1
  432. package/dist/components/kol-breadcrumb.js +1 -1
  433. package/dist/components/kol-button-link.js +3 -3
  434. package/dist/components/kol-button-link.js.map +1 -1
  435. package/dist/components/kol-button-wc.js +3 -3
  436. package/dist/components/kol-button-wc.js.map +1 -1
  437. package/dist/components/kol-button.js +3 -3
  438. package/dist/components/kol-button.js.map +1 -1
  439. package/dist/components/kol-card.js +1 -1
  440. package/dist/components/kol-click-button.js +35 -5
  441. package/dist/components/kol-click-button.js.map +1 -1
  442. package/dist/components/kol-combobox.js +13 -7
  443. package/dist/components/kol-combobox.js.map +1 -1
  444. package/dist/components/kol-details.js +3 -3
  445. package/dist/components/kol-details.js.map +1 -1
  446. package/dist/components/kol-dialog.js +1 -1
  447. package/dist/components/kol-drawer.js +1 -1
  448. package/dist/components/kol-form.js +1 -1
  449. package/dist/components/kol-icon.js +1 -1
  450. package/dist/components/kol-image.js +21 -4
  451. package/dist/components/kol-image.js.map +1 -1
  452. package/dist/components/kol-input-checkbox.js +5 -5
  453. package/dist/components/kol-input-checkbox.js.map +1 -1
  454. package/dist/components/kol-input-color.js +4 -4
  455. package/dist/components/kol-input-color.js.map +1 -1
  456. package/dist/components/kol-input-date.js +4 -4
  457. package/dist/components/kol-input-date.js.map +1 -1
  458. package/dist/components/kol-input-email.js +5 -5
  459. package/dist/components/kol-input-email.js.map +1 -1
  460. package/dist/components/kol-input-file.js +4 -4
  461. package/dist/components/kol-input-file.js.map +1 -1
  462. package/dist/components/kol-input-number.js +4 -4
  463. package/dist/components/kol-input-number.js.map +1 -1
  464. package/dist/components/kol-input-password.js +5 -5
  465. package/dist/components/kol-input-password.js.map +1 -1
  466. package/dist/components/kol-input-radio.js +8 -7
  467. package/dist/components/kol-input-radio.js.map +1 -1
  468. package/dist/components/kol-input-range.js +4 -4
  469. package/dist/components/kol-input-range.js.map +1 -1
  470. package/dist/components/kol-input-text.js +5 -5
  471. package/dist/components/kol-input-text.js.map +1 -1
  472. package/dist/components/kol-link-button.js +3 -3
  473. package/dist/components/kol-link-button.js.map +1 -1
  474. package/dist/components/kol-link-wc.js +3 -3
  475. package/dist/components/kol-link-wc.js.map +1 -1
  476. package/dist/components/kol-link.js +3 -3
  477. package/dist/components/kol-link.js.map +1 -1
  478. package/dist/components/kol-meter.js +4 -30
  479. package/dist/components/kol-meter.js.map +1 -1
  480. package/dist/components/kol-modal.js +1 -1
  481. package/dist/components/kol-nav.js +1 -1
  482. package/dist/components/kol-pagination.js +1 -1
  483. package/dist/components/kol-popover-button-wc.js +3 -3
  484. package/dist/components/kol-popover-button-wc.js.map +1 -1
  485. package/dist/components/kol-popover-button.js +3 -3
  486. package/dist/components/kol-popover-button.js.map +1 -1
  487. package/dist/components/kol-select-wc.js +5 -5
  488. package/dist/components/kol-select-wc.js.map +1 -1
  489. package/dist/components/kol-select.js +3 -3
  490. package/dist/components/kol-select.js.map +1 -1
  491. package/dist/components/kol-single-select.js +7 -7
  492. package/dist/components/kol-single-select.js.map +1 -1
  493. package/dist/components/kol-skeleton.js +17 -12
  494. package/dist/components/kol-skeleton.js.map +1 -1
  495. package/dist/components/kol-skip-nav.js +3 -3
  496. package/dist/components/kol-skip-nav.js.map +1 -1
  497. package/dist/components/kol-split-button.js +4 -4
  498. package/dist/components/kol-split-button.js.map +1 -1
  499. package/dist/components/kol-table-stateful.js +65 -7
  500. package/dist/components/kol-table-stateful.js.map +1 -1
  501. package/dist/components/kol-table-stateless-wc.js +33 -46
  502. package/dist/components/kol-table-stateless-wc.js.map +1 -1
  503. package/dist/components/kol-table-stateless.js +1 -1
  504. package/dist/components/kol-table-stateless.js.map +1 -1
  505. package/dist/components/kol-tabs.js +4 -4
  506. package/dist/components/kol-tabs.js.map +1 -1
  507. package/dist/components/kol-textarea.js +4 -4
  508. package/dist/components/kol-textarea.js.map +1 -1
  509. package/dist/components/kol-toast-container.js +14 -8
  510. package/dist/components/kol-toast-container.js.map +1 -1
  511. package/dist/components/kol-toolbar.js +5 -5
  512. package/dist/components/kol-toolbar.js.map +1 -1
  513. package/dist/components/kol-tree-item-wc.js +5 -5
  514. package/dist/components/kol-tree-item-wc.js.map +1 -1
  515. package/dist/components/kol-tree-item.js +4 -4
  516. package/dist/components/kol-tree-item.js.map +1 -1
  517. package/dist/components/kol-tree-wc.js +3 -3
  518. package/dist/components/kol-tree-wc.js.map +1 -1
  519. package/dist/components/kol-tree.js +2 -2
  520. package/dist/components/kol-tree.js.map +1 -1
  521. package/dist/components/prop.validators.js +21 -32
  522. package/dist/components/prop.validators.js.map +1 -1
  523. package/dist/esm/Alert-COvq80W3.js +91 -0
  524. package/dist/esm/Alert-COvq80W3.js.map +1 -0
  525. package/dist/esm/Collapsible-7IQAII4d.js +25 -0
  526. package/dist/esm/Collapsible-7IQAII4d.js.map +1 -0
  527. package/dist/esm/CustomSuggestionsOptionsGroup-CUxWnoxh.js +28 -0
  528. package/dist/esm/CustomSuggestionsOptionsGroup-CUxWnoxh.js.map +1 -0
  529. package/dist/esm/FieldControlStateWrapper-CCrS0kX3.js +121 -0
  530. package/dist/esm/FieldControlStateWrapper-CCrS0kX3.js.map +1 -0
  531. package/dist/esm/FormFieldStateWrapper-DCXQnRBu.js +839 -0
  532. package/dist/esm/FormFieldStateWrapper-DCXQnRBu.js.map +1 -0
  533. package/dist/esm/Heading-Hh3eykel.js +39 -0
  534. package/dist/esm/Heading-Hh3eykel.js.map +1 -0
  535. package/dist/esm/Input-Chj5JCQv.js +27 -0
  536. package/dist/esm/Input-Chj5JCQv.js.map +1 -0
  537. package/dist/esm/InputStateWrapper-DA1rfFPc.js +83 -0
  538. package/dist/esm/InputStateWrapper-DA1rfFPc.js.map +1 -0
  539. package/dist/esm/access-and-short-key-CnWGdP5U.js +36 -0
  540. package/dist/esm/access-and-short-key-CnWGdP5U.js.map +1 -0
  541. package/dist/esm/align-ChLoh-Dq.js +22 -0
  542. package/dist/esm/align-ChLoh-Dq.js.map +1 -0
  543. package/dist/esm/align-floating-elements-DTTpkCAK.js +1669 -0
  544. package/dist/esm/align-floating-elements-DTTpkCAK.js.map +1 -0
  545. package/dist/esm/app-globals-CpkHeTen.js +34 -0
  546. package/dist/esm/app-globals-CpkHeTen.js.map +1 -0
  547. package/dist/esm/aria-expanded--y6Ce39-.js +26 -0
  548. package/dist/esm/aria-expanded--y6Ce39-.js.map +1 -0
  549. package/dist/esm/aria-labelledby-BUOJRaGL.js +57 -0
  550. package/dist/esm/aria-labelledby-BUOJRaGL.js.map +1 -0
  551. package/dist/esm/associated.controller-D55JWKjs.js +188 -0
  552. package/dist/esm/associated.controller-D55JWKjs.js.map +1 -0
  553. package/dist/esm/auto-complete-CrQJr3SH.js +16 -0
  554. package/dist/esm/auto-complete-CrQJr3SH.js.map +1 -0
  555. package/dist/esm/bem-registry-B9CzNnO1.js +160 -0
  556. package/dist/esm/bem-registry-B9CzNnO1.js.map +1 -0
  557. package/dist/esm/bootstrap-UOb6OarC.js +31 -0
  558. package/dist/esm/bootstrap-UOb6OarC.js.map +1 -0
  559. package/dist/esm/color-Df2awjVY.js +98 -0
  560. package/dist/esm/color-Df2awjVY.js.map +1 -0
  561. package/dist/esm/common-DEEjER7G.js +1715 -0
  562. package/dist/esm/common-DEEjER7G.js.map +1 -0
  563. package/dist/esm/component-CQaxTS4u.js +9148 -0
  564. package/dist/esm/component-CQaxTS4u.js.map +1 -0
  565. package/dist/esm/component-DHo2YdSx.js +21 -0
  566. package/dist/esm/component-DHo2YdSx.js.map +1 -0
  567. package/dist/esm/component-DTx6ZVqq.js +14 -0
  568. package/dist/esm/component-DTx6ZVqq.js.map +1 -0
  569. package/dist/esm/component-DohIJBPw.js +15 -0
  570. package/dist/esm/component-DohIJBPw.js.map +1 -0
  571. package/dist/esm/contrast-C0oqtcfU.js +97 -0
  572. package/dist/esm/contrast-C0oqtcfU.js.map +1 -0
  573. package/dist/esm/controller-D0y9uwX0.js +96 -0
  574. package/dist/esm/controller-D0y9uwX0.js.map +1 -0
  575. package/dist/esm/controller-DNx_ULdZ.js +120 -0
  576. package/dist/esm/controller-DNx_ULdZ.js.map +1 -0
  577. package/dist/esm/controller-DR9zGh9W.js +52 -0
  578. package/dist/esm/controller-DR9zGh9W.js.map +1 -0
  579. package/dist/esm/controller-eoW_d0fK.js +91 -0
  580. package/dist/esm/controller-eoW_d0fK.js.map +1 -0
  581. package/dist/esm/controller-icon-ClFIXmW5.js +165 -0
  582. package/dist/esm/controller-icon-ClFIXmW5.js.map +1 -0
  583. package/dist/esm/controller-oT8Y98Yc.js +239 -0
  584. package/dist/esm/controller-oT8Y98Yc.js.map +1 -0
  585. package/dist/esm/custom-class-RTVG26D_.js +15 -0
  586. package/dist/esm/custom-class-RTVG26D_.js.map +1 -0
  587. package/dist/esm/dev.utils-HhhlYW_9.js +81 -0
  588. package/dist/esm/dev.utils-HhhlYW_9.js.map +1 -0
  589. package/dist/esm/devtools-CnPiO1UI.js +101 -0
  590. package/dist/esm/devtools-CnPiO1UI.js.map +1 -0
  591. package/dist/esm/disabled-CtaJsBT2.js +21 -0
  592. package/dist/esm/disabled-CtaJsBT2.js.map +1 -0
  593. package/dist/esm/element-focus-BQXzaLL9.js +159 -0
  594. package/dist/esm/element-focus-BQXzaLL9.js.map +1 -0
  595. package/dist/esm/element-interaction-C5-6aPzz.js +64 -0
  596. package/dist/esm/element-interaction-C5-6aPzz.js.map +1 -0
  597. package/dist/esm/events-BhfZTW2e.js +43 -0
  598. package/dist/esm/events-BhfZTW2e.js.map +1 -0
  599. package/dist/esm/has-closer-GBI76y-L.js +13 -0
  600. package/dist/esm/has-closer-GBI76y-L.js.map +1 -0
  601. package/dist/esm/hide-label-CWFMK5Iz.js +13 -0
  602. package/dist/esm/hide-label-CWFMK5Iz.js.map +1 -0
  603. package/dist/esm/href-yQN98Z4F.js +13 -0
  604. package/dist/esm/href-yQN98Z4F.js.map +1 -0
  605. package/dist/esm/i18n-CaL2ODdQ.js +19 -0
  606. package/dist/esm/i18n-CaL2ODdQ.js.map +1 -0
  607. package/dist/esm/icons-DOGnS2Iv.js +84 -0
  608. package/dist/esm/icons-DOGnS2Iv.js.map +1 -0
  609. package/dist/esm/index-Brmny3Vg.js +2878 -0
  610. package/dist/esm/index-Brmny3Vg.js.map +1 -0
  611. package/dist/esm/index.js +6 -6
  612. package/dist/esm/inline-D3v7pifU.js +13 -0
  613. package/dist/esm/inline-D3v7pifU.js.map +1 -0
  614. package/dist/esm/kol-abbr.entry.js +14 -14
  615. package/dist/esm/kol-accordion.entry.js +17 -17
  616. package/dist/esm/kol-accordion.entry.js.map +1 -1
  617. package/dist/esm/kol-alert-wc.entry.js +13 -13
  618. package/dist/esm/kol-alert.entry.js +3 -3
  619. package/dist/esm/kol-avatar.entry.js +9 -9
  620. package/dist/esm/kol-badge.entry.js +15 -15
  621. package/dist/esm/kol-badge.entry.js.map +1 -1
  622. package/dist/esm/kol-breadcrumb.entry.js +8 -8
  623. package/dist/esm/kol-button-link.entry.js +7 -7
  624. package/dist/esm/kol-button-link.entry.js.map +1 -1
  625. package/dist/esm/kol-button-wc.entry.js +31 -31
  626. package/dist/esm/kol-button-wc.entry.js.map +1 -1
  627. package/dist/esm/kol-button.entry.js +7 -7
  628. package/dist/esm/kol-button.entry.js.map +1 -1
  629. package/dist/esm/kol-card-wc.entry.js +16 -16
  630. package/dist/esm/kol-card.entry.js +3 -3
  631. package/dist/esm/kol-click-button.entry.js +39 -12
  632. package/dist/esm/kol-click-button.entry.js.map +1 -1
  633. package/dist/esm/kol-combobox.entry.js +48 -42
  634. package/dist/esm/kol-combobox.entry.js.map +1 -1
  635. package/dist/esm/kol-details.entry.js +17 -17
  636. package/dist/esm/kol-details.entry.js.map +1 -1
  637. package/dist/esm/kol-dialog-wc.entry.js +8 -8
  638. package/dist/esm/kol-dialog.entry.js +3 -3
  639. package/dist/esm/kol-drawer.entry.js +12 -12
  640. package/dist/esm/kol-form.entry.js +9 -9
  641. package/dist/esm/kol-heading.entry.js +5 -5
  642. package/dist/esm/kol-icon.entry.js +8 -8
  643. package/dist/esm/kol-image.entry.js +24 -8
  644. package/dist/esm/kol-image.entry.js.map +1 -1
  645. package/dist/esm/kol-input-checkbox.entry.js +37 -37
  646. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  647. package/dist/esm/kol-input-color.entry.js +37 -37
  648. package/dist/esm/kol-input-color.entry.js.map +1 -1
  649. package/dist/esm/kol-input-date.entry.js +40 -40
  650. package/dist/esm/kol-input-date.entry.js.map +1 -1
  651. package/dist/esm/kol-input-email.entry.js +46 -46
  652. package/dist/esm/kol-input-email.entry.js.map +1 -1
  653. package/dist/esm/kol-input-file.entry.js +37 -37
  654. package/dist/esm/kol-input-file.entry.js.map +1 -1
  655. package/dist/esm/kol-input-number.entry.js +41 -41
  656. package/dist/esm/kol-input-number.entry.js.map +1 -1
  657. package/dist/esm/kol-input-password.entry.js +42 -42
  658. package/dist/esm/kol-input-password.entry.js.map +1 -1
  659. package/dist/esm/kol-input-radio.entry.js +38 -37
  660. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  661. package/dist/esm/kol-input-range.entry.js +38 -38
  662. package/dist/esm/kol-input-range.entry.js.map +1 -1
  663. package/dist/esm/kol-input-text.entry.js +45 -45
  664. package/dist/esm/kol-input-text.entry.js.map +1 -1
  665. package/dist/esm/kol-kolibri.entry.js +5 -5
  666. package/dist/esm/kol-link-button.entry.js +7 -7
  667. package/dist/esm/kol-link-button.entry.js.map +1 -1
  668. package/dist/esm/kol-link-wc.entry.js +30 -30
  669. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  670. package/dist/esm/kol-link.entry.js +7 -7
  671. package/dist/esm/kol-link.entry.js.map +1 -1
  672. package/dist/esm/kol-meter.entry.js +10 -35
  673. package/dist/esm/kol-meter.entry.js.map +1 -1
  674. package/dist/esm/kol-modal.entry.js +3 -3
  675. package/dist/esm/kol-nav.entry.js +9 -9
  676. package/dist/esm/kol-pagination-wc.entry.js +10 -10
  677. package/dist/esm/kol-pagination.entry.js +3 -3
  678. package/dist/esm/kol-popover-button-wc.entry.js +11 -11
  679. package/dist/esm/kol-popover-button-wc.entry.js.map +1 -1
  680. package/dist/esm/kol-popover-button.entry.js +7 -7
  681. package/dist/esm/kol-popover-button.entry.js.map +1 -1
  682. package/dist/esm/kol-progress.entry.js +7 -7
  683. package/dist/esm/kol-quote.entry.js +6 -6
  684. package/dist/esm/kol-select-wc.entry.js +39 -39
  685. package/dist/esm/kol-select-wc.entry.js.map +1 -1
  686. package/dist/esm/kol-select.entry.js +7 -7
  687. package/dist/esm/kol-select.entry.js.map +1 -1
  688. package/dist/esm/kol-single-select.entry.js +42 -42
  689. package/dist/esm/kol-single-select.entry.js.map +1 -1
  690. package/dist/esm/kol-skeleton.entry.js +22 -18
  691. package/dist/esm/kol-skeleton.entry.js.map +1 -1
  692. package/dist/esm/kol-skip-nav.entry.js +10 -10
  693. package/dist/esm/kol-skip-nav.entry.js.map +1 -1
  694. package/dist/esm/kol-spin.entry.js +6 -6
  695. package/dist/esm/kol-split-button.entry.js +9 -9
  696. package/dist/esm/kol-split-button.entry.js.map +1 -1
  697. package/dist/esm/kol-table-settings-wc.entry.js +4 -4
  698. package/dist/esm/kol-table-stateful.entry.js +71 -14
  699. package/dist/esm/kol-table-stateful.entry.js.map +1 -1
  700. package/dist/esm/kol-table-stateless-wc.entry.js +45 -58
  701. package/dist/esm/kol-table-stateless-wc.entry.js.map +1 -1
  702. package/dist/esm/kol-table-stateless.entry.js +4 -4
  703. package/dist/esm/kol-table-stateless.entry.js.map +1 -1
  704. package/dist/esm/kol-tabs.entry.js +12 -12
  705. package/dist/esm/kol-tabs.entry.js.map +1 -1
  706. package/dist/esm/kol-textarea.entry.js +39 -39
  707. package/dist/esm/kol-textarea.entry.js.map +1 -1
  708. package/dist/esm/kol-toast-container.entry.js +25 -19
  709. package/dist/esm/kol-toast-container.entry.js.map +1 -1
  710. package/dist/esm/kol-toolbar.entry.js +9 -9
  711. package/dist/esm/kol-toolbar.entry.js.map +1 -1
  712. package/dist/esm/kol-tooltip-wc.entry.js +12 -12
  713. package/dist/esm/kol-tree-item-wc.entry.js +13 -13
  714. package/dist/esm/kol-tree-item-wc.entry.js.map +1 -1
  715. package/dist/esm/kol-tree-item.entry.js +6 -6
  716. package/dist/esm/kol-tree-item.entry.js.map +1 -1
  717. package/dist/esm/kol-tree-wc.entry.js +6 -6
  718. package/dist/esm/kol-tree-wc.entry.js.map +1 -1
  719. package/dist/esm/kol-tree.entry.js +6 -6
  720. package/dist/esm/kol-tree.entry.js.map +1 -1
  721. package/dist/esm/kol-version.entry.js +4 -4
  722. package/dist/esm/kolibri.js +5 -5
  723. package/dist/esm/label-Cg7TG_7b.js +45 -0
  724. package/dist/esm/label-Cg7TG_7b.js.map +1 -0
  725. package/dist/esm/label-DPd4-fag.js +11 -0
  726. package/dist/esm/label-DPd4-fag.js.map +1 -0
  727. package/dist/esm/level-CfQolHx4.js +12 -0
  728. package/dist/esm/level-CfQolHx4.js.map +1 -0
  729. package/dist/esm/loader.js +5 -5
  730. package/dist/esm/max-length-behavior-426q5CU6.js +22 -0
  731. package/dist/esm/max-length-behavior-426q5CU6.js.map +1 -0
  732. package/dist/esm/multiple-LEiooHN4.js +13 -0
  733. package/dist/esm/multiple-LEiooHN4.js.map +1 -0
  734. package/dist/esm/normalizers-pgU77mXp.js +641 -0
  735. package/dist/esm/normalizers-pgU77mXp.js.map +1 -0
  736. package/dist/esm/open-Djbpz6kg.js +13 -0
  737. package/dist/esm/open-Djbpz6kg.js.map +1 -0
  738. package/dist/esm/orientation-BzQXB0-V.js +16 -0
  739. package/dist/esm/orientation-BzQXB0-V.js.map +1 -0
  740. package/dist/esm/placeholder-CSgrK1Zh.js +13 -0
  741. package/dist/esm/placeholder-CSgrK1Zh.js.map +1 -0
  742. package/dist/esm/read-only-DyuIPHMt.js +13 -0
  743. package/dist/esm/read-only-DyuIPHMt.js.map +1 -0
  744. package/dist/esm/required-DAsW5lI1.js +13 -0
  745. package/dist/esm/required-DAsW5lI1.js.map +1 -0
  746. package/dist/esm/rows-Bdp885AQ.js +13 -0
  747. package/dist/esm/rows-Bdp885AQ.js.map +1 -0
  748. package/dist/esm/spell-check-CSnDB95u.js +15 -0
  749. package/dist/esm/spell-check-CSnDB95u.js.map +1 -0
  750. package/dist/esm/src-C8dP-FLK.js +11 -0
  751. package/dist/esm/src-C8dP-FLK.js.map +1 -0
  752. package/dist/esm/suggestions-Cnn1r8zc.js +21 -0
  753. package/dist/esm/suggestions-Cnn1r8zc.js.map +1 -0
  754. package/dist/esm/table-selection-DlaNrAWM.js +85 -0
  755. package/dist/esm/table-selection-DlaNrAWM.js.map +1 -0
  756. package/dist/esm/test-component.entry.js +2 -2
  757. package/dist/esm/tooltip-align-DzHPWEpv.js +14 -0
  758. package/dist/esm/tooltip-align-DzHPWEpv.js.map +1 -0
  759. package/dist/esm/unique-nav-labels-7ifGcuBZ.js +22 -0
  760. package/dist/esm/unique-nav-labels-7ifGcuBZ.js.map +1 -0
  761. package/dist/esm/validation-B8MhupBp.js +14 -0
  762. package/dist/esm/validation-B8MhupBp.js.map +1 -0
  763. package/dist/esm/validation-VhuthteS.js +17 -0
  764. package/dist/esm/validation-VhuthteS.js.map +1 -0
  765. package/dist/esm/value-number-clamped-BQ9jw4HR.js +24 -0
  766. package/dist/esm/value-number-clamped-BQ9jw4HR.js.map +1 -0
  767. package/dist/esm/variant-class-name-CkfE8oGZ.js +16 -0
  768. package/dist/esm/variant-class-name-CkfE8oGZ.js.map +1 -0
  769. package/dist/esm/variant-quote-BMV8GZX8.js +37 -0
  770. package/dist/esm/variant-quote-BMV8GZX8.js.map +1 -0
  771. package/dist/kolibri/Alert-COvq80W3.js +5 -0
  772. package/dist/kolibri/Alert-COvq80W3.js.map +1 -0
  773. package/dist/kolibri/Collapsible-7IQAII4d.js +5 -0
  774. package/dist/kolibri/Collapsible-7IQAII4d.js.map +1 -0
  775. package/dist/kolibri/CustomSuggestionsOptionsGroup-CUxWnoxh.js +5 -0
  776. package/dist/kolibri/CustomSuggestionsOptionsGroup-CUxWnoxh.js.map +1 -0
  777. package/dist/kolibri/FieldControlStateWrapper-CCrS0kX3.js +5 -0
  778. package/dist/kolibri/FieldControlStateWrapper-CCrS0kX3.js.map +1 -0
  779. package/dist/kolibri/FormFieldStateWrapper-DCXQnRBu.js +5 -0
  780. package/dist/kolibri/FormFieldStateWrapper-DCXQnRBu.js.map +1 -0
  781. package/dist/kolibri/Heading-Hh3eykel.js +5 -0
  782. package/dist/kolibri/Heading-Hh3eykel.js.map +1 -0
  783. package/dist/kolibri/Input-Chj5JCQv.js +5 -0
  784. package/dist/kolibri/Input-Chj5JCQv.js.map +1 -0
  785. package/dist/kolibri/InputStateWrapper-DA1rfFPc.js +5 -0
  786. package/dist/kolibri/InputStateWrapper-DA1rfFPc.js.map +1 -0
  787. package/dist/kolibri/access-and-short-key-CnWGdP5U.js +5 -0
  788. package/dist/kolibri/access-and-short-key-CnWGdP5U.js.map +1 -0
  789. package/dist/kolibri/align-ChLoh-Dq.js +5 -0
  790. package/dist/kolibri/align-ChLoh-Dq.js.map +1 -0
  791. package/dist/kolibri/align-floating-elements-DTTpkCAK.js +5 -0
  792. package/dist/kolibri/align-floating-elements-DTTpkCAK.js.map +1 -0
  793. package/dist/kolibri/app-globals-CpkHeTen.js +5 -0
  794. package/dist/kolibri/app-globals-CpkHeTen.js.map +1 -0
  795. package/dist/kolibri/aria-expanded--y6Ce39-.js +5 -0
  796. package/dist/kolibri/aria-expanded--y6Ce39-.js.map +1 -0
  797. package/dist/kolibri/aria-labelledby-BUOJRaGL.js +5 -0
  798. package/dist/kolibri/aria-labelledby-BUOJRaGL.js.map +1 -0
  799. package/dist/kolibri/associated.controller-D55JWKjs.js +5 -0
  800. package/dist/kolibri/associated.controller-D55JWKjs.js.map +1 -0
  801. package/dist/kolibri/auto-complete-CrQJr3SH.js +5 -0
  802. package/dist/kolibri/auto-complete-CrQJr3SH.js.map +1 -0
  803. package/dist/kolibri/bem-registry-B9CzNnO1.js +5 -0
  804. package/dist/kolibri/bem-registry-B9CzNnO1.js.map +1 -0
  805. package/dist/kolibri/bootstrap-UOb6OarC.js +5 -0
  806. package/dist/kolibri/bootstrap-UOb6OarC.js.map +1 -0
  807. package/dist/kolibri/color-Df2awjVY.js +5 -0
  808. package/dist/kolibri/color-Df2awjVY.js.map +1 -0
  809. package/dist/kolibri/common-DEEjER7G.js +5 -0
  810. package/dist/kolibri/common-DEEjER7G.js.map +1 -0
  811. package/dist/kolibri/component-CQaxTS4u.js +5 -0
  812. package/dist/kolibri/component-CQaxTS4u.js.map +1 -0
  813. package/dist/kolibri/component-DHo2YdSx.js +5 -0
  814. package/dist/kolibri/component-DHo2YdSx.js.map +1 -0
  815. package/dist/kolibri/component-DTx6ZVqq.js +5 -0
  816. package/dist/kolibri/component-DTx6ZVqq.js.map +1 -0
  817. package/dist/kolibri/component-DohIJBPw.js +5 -0
  818. package/dist/kolibri/component-DohIJBPw.js.map +1 -0
  819. package/dist/kolibri/contrast-C0oqtcfU.js +5 -0
  820. package/dist/kolibri/contrast-C0oqtcfU.js.map +1 -0
  821. package/dist/kolibri/controller-D0y9uwX0.js +5 -0
  822. package/dist/kolibri/controller-D0y9uwX0.js.map +1 -0
  823. package/dist/kolibri/controller-DNx_ULdZ.js +5 -0
  824. package/dist/kolibri/controller-DNx_ULdZ.js.map +1 -0
  825. package/dist/kolibri/controller-DR9zGh9W.js +5 -0
  826. package/dist/kolibri/controller-DR9zGh9W.js.map +1 -0
  827. package/dist/kolibri/controller-eoW_d0fK.js +5 -0
  828. package/dist/kolibri/controller-eoW_d0fK.js.map +1 -0
  829. package/dist/kolibri/controller-icon-ClFIXmW5.js +5 -0
  830. package/dist/kolibri/controller-icon-ClFIXmW5.js.map +1 -0
  831. package/dist/kolibri/controller-oT8Y98Yc.js +5 -0
  832. package/dist/kolibri/controller-oT8Y98Yc.js.map +1 -0
  833. package/dist/kolibri/custom-class-RTVG26D_.js +5 -0
  834. package/dist/kolibri/custom-class-RTVG26D_.js.map +1 -0
  835. package/dist/kolibri/dev.utils-HhhlYW_9.js +5 -0
  836. package/dist/kolibri/dev.utils-HhhlYW_9.js.map +1 -0
  837. package/dist/kolibri/devtools-CnPiO1UI.js +5 -0
  838. package/dist/kolibri/devtools-CnPiO1UI.js.map +1 -0
  839. package/dist/kolibri/disabled-CtaJsBT2.js +5 -0
  840. package/dist/kolibri/disabled-CtaJsBT2.js.map +1 -0
  841. package/dist/kolibri/element-focus-BQXzaLL9.js +5 -0
  842. package/dist/kolibri/element-focus-BQXzaLL9.js.map +1 -0
  843. package/dist/kolibri/element-interaction-C5-6aPzz.js +5 -0
  844. package/dist/kolibri/element-interaction-C5-6aPzz.js.map +1 -0
  845. package/dist/kolibri/events-BhfZTW2e.js +5 -0
  846. package/dist/kolibri/events-BhfZTW2e.js.map +1 -0
  847. package/dist/kolibri/has-closer-GBI76y-L.js +5 -0
  848. package/dist/kolibri/has-closer-GBI76y-L.js.map +1 -0
  849. package/dist/kolibri/hide-label-CWFMK5Iz.js +5 -0
  850. package/dist/kolibri/hide-label-CWFMK5Iz.js.map +1 -0
  851. package/dist/kolibri/href-yQN98Z4F.js +5 -0
  852. package/dist/kolibri/href-yQN98Z4F.js.map +1 -0
  853. package/dist/kolibri/i18n-CaL2ODdQ.js +5 -0
  854. package/dist/kolibri/i18n-CaL2ODdQ.js.map +1 -0
  855. package/dist/kolibri/icons-DOGnS2Iv.js +5 -0
  856. package/dist/kolibri/icons-DOGnS2Iv.js.map +1 -0
  857. package/dist/kolibri/index-Brmny3Vg.js +6 -0
  858. package/dist/kolibri/index-Brmny3Vg.js.map +1 -0
  859. package/dist/kolibri/index.esm.js +1 -1
  860. package/dist/kolibri/inline-D3v7pifU.js +5 -0
  861. package/dist/kolibri/inline-D3v7pifU.js.map +1 -0
  862. package/dist/kolibri/kol-abbr.entry.js +1 -1
  863. package/dist/kolibri/kol-accordion.entry.esm.js.map +1 -1
  864. package/dist/kolibri/kol-accordion.entry.js +1 -1
  865. package/dist/kolibri/kol-accordion.entry.js.map +1 -1
  866. package/dist/kolibri/kol-alert-wc.entry.js +1 -1
  867. package/dist/kolibri/kol-alert.entry.js +1 -1
  868. package/dist/kolibri/kol-avatar.entry.js +1 -1
  869. package/dist/kolibri/kol-badge.entry.esm.js.map +1 -1
  870. package/dist/kolibri/kol-badge.entry.js +1 -1
  871. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  872. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  873. package/dist/kolibri/kol-button-link.entry.esm.js.map +1 -1
  874. package/dist/kolibri/kol-button-link.entry.js +1 -1
  875. package/dist/kolibri/kol-button-link.entry.js.map +1 -1
  876. package/dist/kolibri/kol-button-wc.entry.esm.js.map +1 -1
  877. package/dist/kolibri/kol-button-wc.entry.js +1 -1
  878. package/dist/kolibri/kol-button-wc.entry.js.map +1 -1
  879. package/dist/kolibri/kol-button.entry.esm.js.map +1 -1
  880. package/dist/kolibri/kol-button.entry.js +1 -1
  881. package/dist/kolibri/kol-button.entry.js.map +1 -1
  882. package/dist/kolibri/kol-card-wc.entry.js +1 -1
  883. package/dist/kolibri/kol-card.entry.js +1 -1
  884. package/dist/kolibri/kol-click-button.entry.esm.js.map +1 -1
  885. package/dist/kolibri/kol-click-button.entry.js +1 -1
  886. package/dist/kolibri/kol-click-button.entry.js.map +1 -1
  887. package/dist/kolibri/kol-combobox.entry.esm.js.map +1 -1
  888. package/dist/kolibri/kol-combobox.entry.js +1 -1
  889. package/dist/kolibri/kol-combobox.entry.js.map +1 -1
  890. package/dist/kolibri/kol-details.entry.esm.js.map +1 -1
  891. package/dist/kolibri/kol-details.entry.js +1 -1
  892. package/dist/kolibri/kol-details.entry.js.map +1 -1
  893. package/dist/kolibri/kol-dialog-wc.entry.js +1 -1
  894. package/dist/kolibri/kol-dialog.entry.js +1 -1
  895. package/dist/kolibri/kol-drawer.entry.js +1 -1
  896. package/dist/kolibri/kol-form.entry.js +1 -1
  897. package/dist/kolibri/kol-heading.entry.js +1 -1
  898. package/dist/kolibri/kol-icon.entry.js +1 -1
  899. package/dist/kolibri/kol-image.entry.esm.js.map +1 -1
  900. package/dist/kolibri/kol-image.entry.js +1 -1
  901. package/dist/kolibri/kol-image.entry.js.map +1 -1
  902. package/dist/kolibri/kol-input-checkbox.entry.esm.js.map +1 -1
  903. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  904. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  905. package/dist/kolibri/kol-input-color.entry.esm.js.map +1 -1
  906. package/dist/kolibri/kol-input-color.entry.js +1 -1
  907. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  908. package/dist/kolibri/kol-input-date.entry.esm.js.map +1 -1
  909. package/dist/kolibri/kol-input-date.entry.js +1 -1
  910. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  911. package/dist/kolibri/kol-input-email.entry.esm.js.map +1 -1
  912. package/dist/kolibri/kol-input-email.entry.js +1 -1
  913. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  914. package/dist/kolibri/kol-input-file.entry.esm.js.map +1 -1
  915. package/dist/kolibri/kol-input-file.entry.js +1 -1
  916. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  917. package/dist/kolibri/kol-input-number.entry.esm.js.map +1 -1
  918. package/dist/kolibri/kol-input-number.entry.js +1 -1
  919. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  920. package/dist/kolibri/kol-input-password.entry.esm.js.map +1 -1
  921. package/dist/kolibri/kol-input-password.entry.js +1 -1
  922. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  923. package/dist/kolibri/kol-input-radio.entry.esm.js.map +1 -1
  924. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  925. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  926. package/dist/kolibri/kol-input-range.entry.esm.js.map +1 -1
  927. package/dist/kolibri/kol-input-range.entry.js +1 -1
  928. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  929. package/dist/kolibri/kol-input-text.entry.esm.js.map +1 -1
  930. package/dist/kolibri/kol-input-text.entry.js +1 -1
  931. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  932. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  933. package/dist/kolibri/kol-link-button.entry.esm.js.map +1 -1
  934. package/dist/kolibri/kol-link-button.entry.js +1 -1
  935. package/dist/kolibri/kol-link-button.entry.js.map +1 -1
  936. package/dist/kolibri/kol-link-wc.entry.esm.js.map +1 -1
  937. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  938. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  939. package/dist/kolibri/kol-link.entry.esm.js.map +1 -1
  940. package/dist/kolibri/kol-link.entry.js +1 -1
  941. package/dist/kolibri/kol-link.entry.js.map +1 -1
  942. package/dist/kolibri/kol-meter.entry.esm.js.map +1 -1
  943. package/dist/kolibri/kol-meter.entry.js +1 -1
  944. package/dist/kolibri/kol-meter.entry.js.map +1 -1
  945. package/dist/kolibri/kol-modal.entry.js +1 -1
  946. package/dist/kolibri/kol-nav.entry.js +1 -1
  947. package/dist/kolibri/kol-pagination-wc.entry.js +1 -1
  948. package/dist/kolibri/kol-pagination.entry.js +1 -1
  949. package/dist/kolibri/kol-popover-button-wc.entry.esm.js.map +1 -1
  950. package/dist/kolibri/kol-popover-button-wc.entry.js +1 -1
  951. package/dist/kolibri/kol-popover-button-wc.entry.js.map +1 -1
  952. package/dist/kolibri/kol-popover-button.entry.esm.js.map +1 -1
  953. package/dist/kolibri/kol-popover-button.entry.js +1 -1
  954. package/dist/kolibri/kol-popover-button.entry.js.map +1 -1
  955. package/dist/kolibri/kol-progress.entry.js +1 -1
  956. package/dist/kolibri/kol-quote.entry.js +1 -1
  957. package/dist/kolibri/kol-select-wc.entry.esm.js.map +1 -1
  958. package/dist/kolibri/kol-select-wc.entry.js +1 -1
  959. package/dist/kolibri/kol-select-wc.entry.js.map +1 -1
  960. package/dist/kolibri/kol-select.entry.esm.js.map +1 -1
  961. package/dist/kolibri/kol-select.entry.js +1 -1
  962. package/dist/kolibri/kol-select.entry.js.map +1 -1
  963. package/dist/kolibri/kol-single-select.entry.esm.js.map +1 -1
  964. package/dist/kolibri/kol-single-select.entry.js +1 -1
  965. package/dist/kolibri/kol-single-select.entry.js.map +1 -1
  966. package/dist/kolibri/kol-skeleton.entry.esm.js.map +1 -1
  967. package/dist/kolibri/kol-skeleton.entry.js +1 -1
  968. package/dist/kolibri/kol-skeleton.entry.js.map +1 -1
  969. package/dist/kolibri/kol-skip-nav.entry.esm.js.map +1 -1
  970. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  971. package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
  972. package/dist/kolibri/kol-spin.entry.js +1 -1
  973. package/dist/kolibri/kol-split-button.entry.esm.js.map +1 -1
  974. package/dist/kolibri/kol-split-button.entry.js +1 -1
  975. package/dist/kolibri/kol-split-button.entry.js.map +1 -1
  976. package/dist/kolibri/kol-table-settings-wc.entry.js +1 -1
  977. package/dist/kolibri/kol-table-stateful.entry.esm.js.map +1 -1
  978. package/dist/kolibri/kol-table-stateful.entry.js +1 -1
  979. package/dist/kolibri/kol-table-stateful.entry.js.map +1 -1
  980. package/dist/kolibri/kol-table-stateless-wc.entry.esm.js.map +1 -1
  981. package/dist/kolibri/kol-table-stateless-wc.entry.js +1 -1
  982. package/dist/kolibri/kol-table-stateless-wc.entry.js.map +1 -1
  983. package/dist/kolibri/kol-table-stateless.entry.esm.js.map +1 -1
  984. package/dist/kolibri/kol-table-stateless.entry.js +1 -1
  985. package/dist/kolibri/kol-table-stateless.entry.js.map +1 -1
  986. package/dist/kolibri/kol-tabs.entry.esm.js.map +1 -1
  987. package/dist/kolibri/kol-tabs.entry.js +1 -1
  988. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  989. package/dist/kolibri/kol-textarea.entry.esm.js.map +1 -1
  990. package/dist/kolibri/kol-textarea.entry.js +1 -1
  991. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  992. package/dist/kolibri/kol-toast-container.entry.esm.js.map +1 -1
  993. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  994. package/dist/kolibri/kol-toast-container.entry.js.map +1 -1
  995. package/dist/kolibri/kol-toolbar.entry.esm.js.map +1 -1
  996. package/dist/kolibri/kol-toolbar.entry.js +1 -1
  997. package/dist/kolibri/kol-toolbar.entry.js.map +1 -1
  998. package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
  999. package/dist/kolibri/kol-tree-item-wc.entry.esm.js.map +1 -1
  1000. package/dist/kolibri/kol-tree-item-wc.entry.js +1 -1
  1001. package/dist/kolibri/kol-tree-item-wc.entry.js.map +1 -1
  1002. package/dist/kolibri/kol-tree-item.entry.esm.js.map +1 -1
  1003. package/dist/kolibri/kol-tree-item.entry.js +1 -1
  1004. package/dist/kolibri/kol-tree-item.entry.js.map +1 -1
  1005. package/dist/kolibri/kol-tree-wc.entry.esm.js.map +1 -1
  1006. package/dist/kolibri/kol-tree-wc.entry.js +1 -1
  1007. package/dist/kolibri/kol-tree-wc.entry.js.map +1 -1
  1008. package/dist/kolibri/kol-tree.entry.esm.js.map +1 -1
  1009. package/dist/kolibri/kol-tree.entry.js +1 -1
  1010. package/dist/kolibri/kol-tree.entry.js.map +1 -1
  1011. package/dist/kolibri/kol-version.entry.js +1 -1
  1012. package/dist/kolibri/kolibri.esm.js +1 -1
  1013. package/dist/kolibri/label-Cg7TG_7b.js +5 -0
  1014. package/dist/kolibri/label-Cg7TG_7b.js.map +1 -0
  1015. package/dist/kolibri/label-DPd4-fag.js +5 -0
  1016. package/dist/kolibri/label-DPd4-fag.js.map +1 -0
  1017. package/dist/kolibri/level-CfQolHx4.js +5 -0
  1018. package/dist/kolibri/level-CfQolHx4.js.map +1 -0
  1019. package/dist/kolibri/max-length-behavior-426q5CU6.js +5 -0
  1020. package/dist/kolibri/max-length-behavior-426q5CU6.js.map +1 -0
  1021. package/dist/kolibri/multiple-LEiooHN4.js +5 -0
  1022. package/dist/kolibri/multiple-LEiooHN4.js.map +1 -0
  1023. package/dist/kolibri/normalizers-pgU77mXp.js +5 -0
  1024. package/dist/kolibri/normalizers-pgU77mXp.js.map +1 -0
  1025. package/dist/kolibri/open-Djbpz6kg.js +5 -0
  1026. package/dist/kolibri/open-Djbpz6kg.js.map +1 -0
  1027. package/dist/kolibri/orientation-BzQXB0-V.js +5 -0
  1028. package/dist/kolibri/orientation-BzQXB0-V.js.map +1 -0
  1029. package/dist/kolibri/placeholder-CSgrK1Zh.js +5 -0
  1030. package/dist/kolibri/placeholder-CSgrK1Zh.js.map +1 -0
  1031. package/dist/kolibri/read-only-DyuIPHMt.js +5 -0
  1032. package/dist/kolibri/read-only-DyuIPHMt.js.map +1 -0
  1033. package/dist/kolibri/required-DAsW5lI1.js +5 -0
  1034. package/dist/kolibri/required-DAsW5lI1.js.map +1 -0
  1035. package/dist/kolibri/rows-Bdp885AQ.js +5 -0
  1036. package/dist/kolibri/rows-Bdp885AQ.js.map +1 -0
  1037. package/dist/kolibri/spell-check-CSnDB95u.js +5 -0
  1038. package/dist/kolibri/spell-check-CSnDB95u.js.map +1 -0
  1039. package/dist/kolibri/src-C8dP-FLK.js +5 -0
  1040. package/dist/kolibri/src-C8dP-FLK.js.map +1 -0
  1041. package/dist/kolibri/suggestions-Cnn1r8zc.js +5 -0
  1042. package/dist/kolibri/suggestions-Cnn1r8zc.js.map +1 -0
  1043. package/dist/kolibri/table-selection-DlaNrAWM.js +5 -0
  1044. package/dist/kolibri/table-selection-DlaNrAWM.js.map +1 -0
  1045. package/dist/kolibri/test-component.entry.js +1 -1
  1046. package/dist/kolibri/tooltip-align-DzHPWEpv.js +5 -0
  1047. package/dist/kolibri/tooltip-align-DzHPWEpv.js.map +1 -0
  1048. package/dist/kolibri/unique-nav-labels-7ifGcuBZ.js +5 -0
  1049. package/dist/kolibri/unique-nav-labels-7ifGcuBZ.js.map +1 -0
  1050. package/dist/kolibri/validation-B8MhupBp.js +5 -0
  1051. package/dist/kolibri/validation-B8MhupBp.js.map +1 -0
  1052. package/dist/kolibri/validation-VhuthteS.js +5 -0
  1053. package/dist/kolibri/validation-VhuthteS.js.map +1 -0
  1054. package/dist/kolibri/value-number-clamped-BQ9jw4HR.js +5 -0
  1055. package/dist/kolibri/value-number-clamped-BQ9jw4HR.js.map +1 -0
  1056. package/dist/kolibri/variant-class-name-CkfE8oGZ.js +5 -0
  1057. package/dist/kolibri/variant-class-name-CkfE8oGZ.js.map +1 -0
  1058. package/dist/kolibri/variant-quote-BMV8GZX8.js +5 -0
  1059. package/dist/kolibri/variant-quote-BMV8GZX8.js.map +1 -0
  1060. package/dist/types/components/_skeleton/web-components/click-button/component.d.ts +3 -1
  1061. package/dist/types/components/_skeleton/web-components/skeleton/component.d.ts +3 -1
  1062. package/dist/types/components/accordion/shadow.d.ts +2 -2
  1063. package/dist/types/components/badge/shadow.d.ts +2 -2
  1064. package/dist/types/components/button/component.d.ts +2 -2
  1065. package/dist/types/components/button/shadow.d.ts +2 -2
  1066. package/dist/types/components/button-link/shadow.d.ts +2 -2
  1067. package/dist/types/components/combobox/shadow.d.ts +2 -2
  1068. package/dist/types/components/details/shadow.d.ts +2 -2
  1069. package/dist/types/components/image/component.d.ts +5 -0
  1070. package/dist/types/components/input-adapter-leanup/associated.controller.d.ts +2 -2
  1071. package/dist/types/components/input-checkbox/shadow.d.ts +2 -2
  1072. package/dist/types/components/input-color/shadow.d.ts +2 -2
  1073. package/dist/types/components/input-date/shadow.d.ts +2 -2
  1074. package/dist/types/components/input-email/shadow.d.ts +2 -2
  1075. package/dist/types/components/input-file/shadow.d.ts +2 -2
  1076. package/dist/types/components/input-number/shadow.d.ts +2 -2
  1077. package/dist/types/components/input-password/shadow.d.ts +2 -2
  1078. package/dist/types/components/input-radio/shadow.d.ts +2 -2
  1079. package/dist/types/components/input-range/shadow.d.ts +2 -2
  1080. package/dist/types/components/input-text/shadow.d.ts +2 -2
  1081. package/dist/types/components/link/component.d.ts +2 -2
  1082. package/dist/types/components/link/shadow.d.ts +2 -2
  1083. package/dist/types/components/link-button/shadow.d.ts +2 -2
  1084. package/dist/types/components/meter/component.d.ts +0 -2
  1085. package/dist/types/components/popover-button/component.d.ts +2 -2
  1086. package/dist/types/components/popover-button/shadow.d.ts +2 -2
  1087. package/dist/types/components/select/component.d.ts +2 -2
  1088. package/dist/types/components/select/shadow.d.ts +2 -2
  1089. package/dist/types/components/single-select/shadow.d.ts +2 -2
  1090. package/dist/types/components/skip-nav/shadow.d.ts +2 -2
  1091. package/dist/types/components/split-button/shadow.d.ts +2 -2
  1092. package/dist/types/components/table-stateful/shadow.d.ts +5 -0
  1093. package/dist/types/components/table-stateless/component.d.ts +5 -0
  1094. package/dist/types/components/tabs/shadow.d.ts +2 -2
  1095. package/dist/types/components/textarea/shadow.d.ts +2 -2
  1096. package/dist/types/components/toolbar/shadow.d.ts +2 -2
  1097. package/dist/types/components/tree/component.d.ts +2 -2
  1098. package/dist/types/components/tree/shadow.d.ts +2 -2
  1099. package/dist/types/components/tree-item/component.d.ts +2 -2
  1100. package/dist/types/components/tree-item/shadow.d.ts +2 -2
  1101. package/dist/types/components.d.ts +84 -74
  1102. package/dist/types/internal/functional-components/click-button/controller.d.ts +0 -3
  1103. package/dist/types/internal/functional-components/generic-types.d.ts +1 -4
  1104. package/dist/types/internal/functional-components/image/component.d.ts +12 -3
  1105. package/dist/types/internal/functional-components/meter/api.d.ts +0 -3
  1106. package/dist/types/internal/functional-components/meter/controller.d.ts +0 -3
  1107. package/dist/types/internal/functional-components/skeleton/api.d.ts +2 -1
  1108. package/dist/types/internal/functional-components/skeleton/controller.d.ts +3 -2
  1109. package/dist/types/schema/components/image.d.ts +5 -10
  1110. package/dist/types/schema/components/input-password.d.ts +1 -1
  1111. package/dist/types/schema/interfaces/FocusableElement.d.ts +7 -1
  1112. package/dist/types/utils/element-focus.d.ts +2 -1
  1113. package/dist/types/utils/element-interaction.d.ts +1 -0
  1114. package/dist/types/utils/events.d.ts +3 -1
  1115. package/doc/accordion.md +7 -1
  1116. package/doc/badge.md +7 -1
  1117. package/doc/button-link.md +7 -1
  1118. package/doc/button.md +7 -1
  1119. package/doc/combobox.md +7 -1
  1120. package/doc/details.md +7 -1
  1121. package/doc/image.md +8 -7
  1122. package/doc/input-checkbox.md +7 -1
  1123. package/doc/input-color.md +7 -1
  1124. package/doc/input-date.md +7 -1
  1125. package/doc/input-email.md +7 -1
  1126. package/doc/input-file.md +7 -1
  1127. package/doc/input-number.md +7 -1
  1128. package/doc/input-password.md +7 -1
  1129. package/doc/input-radio.md +7 -1
  1130. package/doc/input-range.md +7 -1
  1131. package/doc/input-text.md +7 -1
  1132. package/doc/link-button.md +7 -1
  1133. package/doc/link.md +7 -1
  1134. package/doc/popover-button.md +7 -1
  1135. package/doc/select.md +7 -1
  1136. package/doc/single-select.md +7 -1
  1137. package/doc/skeleton.md +7 -1
  1138. package/doc/skip-nav.md +7 -1
  1139. package/doc/split-button.md +7 -1
  1140. package/doc/tabs.md +7 -1
  1141. package/doc/textarea.md +7 -1
  1142. package/doc/toolbar.md +7 -1
  1143. package/doc/tree-item.md +7 -1
  1144. package/doc/tree.md +7 -1
  1145. package/package.json +2 -2
  1146. package/dist/cjs/Alert-C5eDyNdi.js +0 -93
  1147. package/dist/cjs/Alert-C5eDyNdi.js.map +0 -1
  1148. package/dist/cjs/Collapsible-CdgPKZnW.js +0 -27
  1149. package/dist/cjs/Collapsible-CdgPKZnW.js.map +0 -1
  1150. package/dist/cjs/CustomSuggestionsOptionsGroup-CStgu1WD.js +0 -31
  1151. package/dist/cjs/CustomSuggestionsOptionsGroup-CStgu1WD.js.map +0 -1
  1152. package/dist/cjs/FieldControlStateWrapper-C3gnJYdM.js +0 -123
  1153. package/dist/cjs/FieldControlStateWrapper-C3gnJYdM.js.map +0 -1
  1154. package/dist/cjs/FormFieldStateWrapper-BZsSDU0S.js +0 -848
  1155. package/dist/cjs/FormFieldStateWrapper-BZsSDU0S.js.map +0 -1
  1156. package/dist/cjs/Heading-Zb8_ekSw.js +0 -41
  1157. package/dist/cjs/Heading-Zb8_ekSw.js.map +0 -1
  1158. package/dist/cjs/Input-CJWa5Pws.js +0 -29
  1159. package/dist/cjs/Input-CJWa5Pws.js.map +0 -1
  1160. package/dist/cjs/InputStateWrapper-DsAJ4d2N.js +0 -86
  1161. package/dist/cjs/InputStateWrapper-DsAJ4d2N.js.map +0 -1
  1162. package/dist/cjs/access-and-short-key-CspEpGOV.js +0 -41
  1163. package/dist/cjs/access-and-short-key-CspEpGOV.js.map +0 -1
  1164. package/dist/cjs/align-B8NMKvjk.js +0 -26
  1165. package/dist/cjs/align-B8NMKvjk.js.map +0 -1
  1166. package/dist/cjs/align-floating-elements-BkrTeMF3.js +0 -1672
  1167. package/dist/cjs/align-floating-elements-BkrTeMF3.js.map +0 -1
  1168. package/dist/cjs/app-globals-CZOtDmo2.js +0 -36
  1169. package/dist/cjs/app-globals-CZOtDmo2.js.map +0 -1
  1170. package/dist/cjs/aria-expanded-CVaHNiQi.js +0 -31
  1171. package/dist/cjs/aria-expanded-CVaHNiQi.js.map +0 -1
  1172. package/dist/cjs/aria-labelledby-DdlFZwyS.js +0 -60
  1173. package/dist/cjs/aria-labelledby-DdlFZwyS.js.map +0 -1
  1174. package/dist/cjs/associated.controller-DLy6rpeW.js +0 -187
  1175. package/dist/cjs/associated.controller-DLy6rpeW.js.map +0 -1
  1176. package/dist/cjs/auto-complete-DkzHjXc-.js +0 -18
  1177. package/dist/cjs/auto-complete-DkzHjXc-.js.map +0 -1
  1178. package/dist/cjs/bem-registry-DevvgGUu.js +0 -163
  1179. package/dist/cjs/bem-registry-DevvgGUu.js.map +0 -1
  1180. package/dist/cjs/bootstrap-ByVQ9oF5.js +0 -36
  1181. package/dist/cjs/bootstrap-ByVQ9oF5.js.map +0 -1
  1182. package/dist/cjs/color-BVcCYLDJ.js +0 -101
  1183. package/dist/cjs/color-BVcCYLDJ.js.map +0 -1
  1184. package/dist/cjs/common-DPb6NWR4.js +0 -1780
  1185. package/dist/cjs/common-DPb6NWR4.js.map +0 -1
  1186. package/dist/cjs/component-BUJSMbIY.js +0 -9153
  1187. package/dist/cjs/component-BUJSMbIY.js.map +0 -1
  1188. package/dist/cjs/component-CuHGwo27.js +0 -23
  1189. package/dist/cjs/component-CuHGwo27.js.map +0 -1
  1190. package/dist/cjs/component-kXVnT0Wy.js +0 -16
  1191. package/dist/cjs/component-kXVnT0Wy.js.map +0 -1
  1192. package/dist/cjs/contrast-BdZHneMx.js +0 -100
  1193. package/dist/cjs/contrast-BdZHneMx.js.map +0 -1
  1194. package/dist/cjs/controller-B6zjPE-P.js +0 -93
  1195. package/dist/cjs/controller-B6zjPE-P.js.map +0 -1
  1196. package/dist/cjs/controller-BMDxsRHs.js +0 -99
  1197. package/dist/cjs/controller-BMDxsRHs.js.map +0 -1
  1198. package/dist/cjs/controller-CHDjVlC1.js +0 -51
  1199. package/dist/cjs/controller-CHDjVlC1.js.map +0 -1
  1200. package/dist/cjs/controller-DLDmoPss.js +0 -55
  1201. package/dist/cjs/controller-DLDmoPss.js.map +0 -1
  1202. package/dist/cjs/controller-DiB9pVnb.js +0 -241
  1203. package/dist/cjs/controller-DiB9pVnb.js.map +0 -1
  1204. package/dist/cjs/controller-TgxV2kV0.js +0 -126
  1205. package/dist/cjs/controller-TgxV2kV0.js.map +0 -1
  1206. package/dist/cjs/controller-icon-j62graYQ.js +0 -169
  1207. package/dist/cjs/controller-icon-j62graYQ.js.map +0 -1
  1208. package/dist/cjs/custom-class-6BetCmYR.js +0 -17
  1209. package/dist/cjs/custom-class-6BetCmYR.js.map +0 -1
  1210. package/dist/cjs/dev.utils-BeTuwcHU.js +0 -86
  1211. package/dist/cjs/dev.utils-BeTuwcHU.js.map +0 -1
  1212. package/dist/cjs/devtools-ZghKOdoO.js +0 -103
  1213. package/dist/cjs/devtools-ZghKOdoO.js.map +0 -1
  1214. package/dist/cjs/disabled-GY6LfYNH.js +0 -23
  1215. package/dist/cjs/disabled-GY6LfYNH.js.map +0 -1
  1216. package/dist/cjs/element-focus-DeVevBcF.js +0 -100
  1217. package/dist/cjs/element-focus-DeVevBcF.js.map +0 -1
  1218. package/dist/cjs/element-interaction-CXkAVgKs.js +0 -55
  1219. package/dist/cjs/element-interaction-CXkAVgKs.js.map +0 -1
  1220. package/dist/cjs/events-Jc2wxPjR.js +0 -43
  1221. package/dist/cjs/events-Jc2wxPjR.js.map +0 -1
  1222. package/dist/cjs/has-closer-DdfOvOk6.js +0 -15
  1223. package/dist/cjs/has-closer-DdfOvOk6.js.map +0 -1
  1224. package/dist/cjs/hide-label-BnMTmbm4.js +0 -15
  1225. package/dist/cjs/hide-label-BnMTmbm4.js.map +0 -1
  1226. package/dist/cjs/href-D8FMmJ7i.js +0 -15
  1227. package/dist/cjs/href-D8FMmJ7i.js.map +0 -1
  1228. package/dist/cjs/i18n-Cjy0vgJA.js +0 -19
  1229. package/dist/cjs/i18n-Cjy0vgJA.js.map +0 -1
  1230. package/dist/cjs/icons-C4O3H4TU.js +0 -86
  1231. package/dist/cjs/icons-C4O3H4TU.js.map +0 -1
  1232. package/dist/cjs/index-BrhW8s5h.js +0 -2908
  1233. package/dist/cjs/index-BrhW8s5h.js.map +0 -1
  1234. package/dist/cjs/inline-D-XZg3UD.js +0 -15
  1235. package/dist/cjs/inline-D-XZg3UD.js.map +0 -1
  1236. package/dist/cjs/label-8vcJJEVI.js +0 -50
  1237. package/dist/cjs/label-8vcJJEVI.js.map +0 -1
  1238. package/dist/cjs/label-DRrPbj-j.js +0 -13
  1239. package/dist/cjs/label-DRrPbj-j.js.map +0 -1
  1240. package/dist/cjs/level-DmIt1w-r.js +0 -15
  1241. package/dist/cjs/level-DmIt1w-r.js.map +0 -1
  1242. package/dist/cjs/max-length-behavior-CqAwfrV8.js +0 -26
  1243. package/dist/cjs/max-length-behavior-CqAwfrV8.js.map +0 -1
  1244. package/dist/cjs/multiple-BEGQDyov.js +0 -15
  1245. package/dist/cjs/multiple-BEGQDyov.js.map +0 -1
  1246. package/dist/cjs/normalizers-BCLslVaT.js +0 -648
  1247. package/dist/cjs/normalizers-BCLslVaT.js.map +0 -1
  1248. package/dist/cjs/open-D-HUKrqZ.js +0 -15
  1249. package/dist/cjs/open-D-HUKrqZ.js.map +0 -1
  1250. package/dist/cjs/orientation-CZeybVrr.js +0 -18
  1251. package/dist/cjs/orientation-CZeybVrr.js.map +0 -1
  1252. package/dist/cjs/placeholder-DrjxGUF5.js +0 -15
  1253. package/dist/cjs/placeholder-DrjxGUF5.js.map +0 -1
  1254. package/dist/cjs/read-only-Dwp456Yc.js +0 -15
  1255. package/dist/cjs/read-only-Dwp456Yc.js.map +0 -1
  1256. package/dist/cjs/required-DriHzqmx.js +0 -15
  1257. package/dist/cjs/required-DriHzqmx.js.map +0 -1
  1258. package/dist/cjs/rows-DS0wBUTI.js +0 -15
  1259. package/dist/cjs/rows-DS0wBUTI.js.map +0 -1
  1260. package/dist/cjs/spell-check-DIEJiRbq.js +0 -17
  1261. package/dist/cjs/spell-check-DIEJiRbq.js.map +0 -1
  1262. package/dist/cjs/src-q91473CI.js +0 -13
  1263. package/dist/cjs/src-q91473CI.js.map +0 -1
  1264. package/dist/cjs/suggestions-CjIs1OMC.js +0 -23
  1265. package/dist/cjs/suggestions-CjIs1OMC.js.map +0 -1
  1266. package/dist/cjs/table-selection-B0zvrQJg.js +0 -93
  1267. package/dist/cjs/table-selection-B0zvrQJg.js.map +0 -1
  1268. package/dist/cjs/tooltip-align-BeYhiCq6.js +0 -16
  1269. package/dist/cjs/tooltip-align-BeYhiCq6.js.map +0 -1
  1270. package/dist/cjs/unique-nav-labels-DEtWDagf.js +0 -25
  1271. package/dist/cjs/unique-nav-labels-DEtWDagf.js.map +0 -1
  1272. package/dist/cjs/validation-4QVpAFd9.js +0 -19
  1273. package/dist/cjs/validation-4QVpAFd9.js.map +0 -1
  1274. package/dist/cjs/validation-DvL99Z_V.js +0 -16
  1275. package/dist/cjs/validation-DvL99Z_V.js.map +0 -1
  1276. package/dist/cjs/value-number-clamped-Ahfs15Fl.js +0 -28
  1277. package/dist/cjs/value-number-clamped-Ahfs15Fl.js.map +0 -1
  1278. package/dist/cjs/variant-class-name-BCWuCRd0.js +0 -18
  1279. package/dist/cjs/variant-class-name-BCWuCRd0.js.map +0 -1
  1280. package/dist/cjs/variant-quote-DpNzmCtr.js +0 -41
  1281. package/dist/cjs/variant-quote-DpNzmCtr.js.map +0 -1
  1282. package/dist/components/controller7.js +0 -92
  1283. package/dist/components/controller7.js.map +0 -1
  1284. package/dist/esm/Alert-BP_7bRZF.js +0 -91
  1285. package/dist/esm/Alert-BP_7bRZF.js.map +0 -1
  1286. package/dist/esm/Collapsible-BpaQSoeN.js +0 -25
  1287. package/dist/esm/Collapsible-BpaQSoeN.js.map +0 -1
  1288. package/dist/esm/CustomSuggestionsOptionsGroup-86r-pE0e.js +0 -28
  1289. package/dist/esm/CustomSuggestionsOptionsGroup-86r-pE0e.js.map +0 -1
  1290. package/dist/esm/FieldControlStateWrapper-DF2tVpwY.js +0 -121
  1291. package/dist/esm/FieldControlStateWrapper-DF2tVpwY.js.map +0 -1
  1292. package/dist/esm/FormFieldStateWrapper-BWTMRKXT.js +0 -839
  1293. package/dist/esm/FormFieldStateWrapper-BWTMRKXT.js.map +0 -1
  1294. package/dist/esm/Heading-q2Ue3Ixd.js +0 -39
  1295. package/dist/esm/Heading-q2Ue3Ixd.js.map +0 -1
  1296. package/dist/esm/Input-DQJln-L5.js +0 -27
  1297. package/dist/esm/Input-DQJln-L5.js.map +0 -1
  1298. package/dist/esm/InputStateWrapper-CDDIvfo0.js +0 -83
  1299. package/dist/esm/InputStateWrapper-CDDIvfo0.js.map +0 -1
  1300. package/dist/esm/access-and-short-key-D734WtlX.js +0 -36
  1301. package/dist/esm/access-and-short-key-D734WtlX.js.map +0 -1
  1302. package/dist/esm/align-DxZmRFcp.js +0 -22
  1303. package/dist/esm/align-DxZmRFcp.js.map +0 -1
  1304. package/dist/esm/align-floating-elements-D5XJiLiU.js +0 -1669
  1305. package/dist/esm/align-floating-elements-D5XJiLiU.js.map +0 -1
  1306. package/dist/esm/app-globals-UWioL0AL.js +0 -34
  1307. package/dist/esm/app-globals-UWioL0AL.js.map +0 -1
  1308. package/dist/esm/aria-expanded-hGdEA1jy.js +0 -26
  1309. package/dist/esm/aria-expanded-hGdEA1jy.js.map +0 -1
  1310. package/dist/esm/aria-labelledby-CEzR68x-.js +0 -57
  1311. package/dist/esm/aria-labelledby-CEzR68x-.js.map +0 -1
  1312. package/dist/esm/associated.controller-Bagx9pCw.js +0 -185
  1313. package/dist/esm/associated.controller-Bagx9pCw.js.map +0 -1
  1314. package/dist/esm/auto-complete-BbMivzAV.js +0 -16
  1315. package/dist/esm/auto-complete-BbMivzAV.js.map +0 -1
  1316. package/dist/esm/bem-registry-CWvl2xho.js +0 -160
  1317. package/dist/esm/bem-registry-CWvl2xho.js.map +0 -1
  1318. package/dist/esm/bootstrap-DPKvOz00.js +0 -31
  1319. package/dist/esm/bootstrap-DPKvOz00.js.map +0 -1
  1320. package/dist/esm/color-CAVnI0e-.js +0 -98
  1321. package/dist/esm/color-CAVnI0e-.js.map +0 -1
  1322. package/dist/esm/common-Cx_AGO_M.js +0 -1726
  1323. package/dist/esm/common-Cx_AGO_M.js.map +0 -1
  1324. package/dist/esm/component-Dh0cPCxF.js +0 -14
  1325. package/dist/esm/component-Dh0cPCxF.js.map +0 -1
  1326. package/dist/esm/component-DvjvBJeK.js +0 -9148
  1327. package/dist/esm/component-DvjvBJeK.js.map +0 -1
  1328. package/dist/esm/component-DzaT2WlJ.js +0 -21
  1329. package/dist/esm/component-DzaT2WlJ.js.map +0 -1
  1330. package/dist/esm/contrast-DlURrMX4.js +0 -97
  1331. package/dist/esm/contrast-DlURrMX4.js.map +0 -1
  1332. package/dist/esm/controller-Bdve6A-Q.js +0 -239
  1333. package/dist/esm/controller-Bdve6A-Q.js.map +0 -1
  1334. package/dist/esm/controller-CJmWOqQQ.js +0 -91
  1335. package/dist/esm/controller-CJmWOqQQ.js.map +0 -1
  1336. package/dist/esm/controller-DKPaX3Tu.js +0 -120
  1337. package/dist/esm/controller-DKPaX3Tu.js.map +0 -1
  1338. package/dist/esm/controller-DRE7PRMK.js +0 -96
  1339. package/dist/esm/controller-DRE7PRMK.js.map +0 -1
  1340. package/dist/esm/controller-icon-DekcIBGR.js +0 -165
  1341. package/dist/esm/controller-icon-DekcIBGR.js.map +0 -1
  1342. package/dist/esm/controller-osuRO7S2.js +0 -48
  1343. package/dist/esm/controller-osuRO7S2.js.map +0 -1
  1344. package/dist/esm/controller-xXHYiOzQ.js +0 -52
  1345. package/dist/esm/controller-xXHYiOzQ.js.map +0 -1
  1346. package/dist/esm/custom-class-DlT-QmWF.js +0 -15
  1347. package/dist/esm/custom-class-DlT-QmWF.js.map +0 -1
  1348. package/dist/esm/dev.utils-02Sl9bQo.js +0 -81
  1349. package/dist/esm/dev.utils-02Sl9bQo.js.map +0 -1
  1350. package/dist/esm/devtools-CTlVZVnW.js +0 -101
  1351. package/dist/esm/devtools-CTlVZVnW.js.map +0 -1
  1352. package/dist/esm/disabled-gyBUQRnY.js +0 -21
  1353. package/dist/esm/disabled-gyBUQRnY.js.map +0 -1
  1354. package/dist/esm/element-focus-CRwW4N4R.js +0 -95
  1355. package/dist/esm/element-focus-CRwW4N4R.js.map +0 -1
  1356. package/dist/esm/element-interaction-Bv-mPSBn.js +0 -49
  1357. package/dist/esm/element-interaction-Bv-mPSBn.js.map +0 -1
  1358. package/dist/esm/events-VVvk1win.js +0 -41
  1359. package/dist/esm/events-VVvk1win.js.map +0 -1
  1360. package/dist/esm/has-closer-B8w7bVjx.js +0 -13
  1361. package/dist/esm/has-closer-B8w7bVjx.js.map +0 -1
  1362. package/dist/esm/hide-label-6Bx1MH20.js +0 -13
  1363. package/dist/esm/hide-label-6Bx1MH20.js.map +0 -1
  1364. package/dist/esm/href-Dp4go7zq.js +0 -13
  1365. package/dist/esm/href-Dp4go7zq.js.map +0 -1
  1366. package/dist/esm/i18n-Br16IAnY.js +0 -19
  1367. package/dist/esm/i18n-Br16IAnY.js.map +0 -1
  1368. package/dist/esm/icons-oAzMYWgV.js +0 -84
  1369. package/dist/esm/icons-oAzMYWgV.js.map +0 -1
  1370. package/dist/esm/index-BQlHOxik.js +0 -2878
  1371. package/dist/esm/index-BQlHOxik.js.map +0 -1
  1372. package/dist/esm/inline-DnwpECF8.js +0 -13
  1373. package/dist/esm/inline-DnwpECF8.js.map +0 -1
  1374. package/dist/esm/label-Fyi30H9j.js +0 -45
  1375. package/dist/esm/label-Fyi30H9j.js.map +0 -1
  1376. package/dist/esm/label-KTv-zMW0.js +0 -11
  1377. package/dist/esm/label-KTv-zMW0.js.map +0 -1
  1378. package/dist/esm/level-1jyaYIAE.js +0 -12
  1379. package/dist/esm/level-1jyaYIAE.js.map +0 -1
  1380. package/dist/esm/max-length-behavior-CpaNmMus.js +0 -22
  1381. package/dist/esm/max-length-behavior-CpaNmMus.js.map +0 -1
  1382. package/dist/esm/multiple-DqCQ-txe.js +0 -13
  1383. package/dist/esm/multiple-DqCQ-txe.js.map +0 -1
  1384. package/dist/esm/normalizers-m3s9sgmq.js +0 -641
  1385. package/dist/esm/normalizers-m3s9sgmq.js.map +0 -1
  1386. package/dist/esm/open-Dw4Y2dzo.js +0 -13
  1387. package/dist/esm/open-Dw4Y2dzo.js.map +0 -1
  1388. package/dist/esm/orientation-CjNmUJp-.js +0 -16
  1389. package/dist/esm/orientation-CjNmUJp-.js.map +0 -1
  1390. package/dist/esm/placeholder-DTOUrN5s.js +0 -13
  1391. package/dist/esm/placeholder-DTOUrN5s.js.map +0 -1
  1392. package/dist/esm/read-only-DUMeby7s.js +0 -13
  1393. package/dist/esm/read-only-DUMeby7s.js.map +0 -1
  1394. package/dist/esm/required-DFzRSWky.js +0 -13
  1395. package/dist/esm/required-DFzRSWky.js.map +0 -1
  1396. package/dist/esm/rows-htbnIG9G.js +0 -13
  1397. package/dist/esm/rows-htbnIG9G.js.map +0 -1
  1398. package/dist/esm/spell-check-BtaQyLZc.js +0 -15
  1399. package/dist/esm/spell-check-BtaQyLZc.js.map +0 -1
  1400. package/dist/esm/src-DkLxm4tr.js +0 -11
  1401. package/dist/esm/src-DkLxm4tr.js.map +0 -1
  1402. package/dist/esm/suggestions-DEcHprcz.js +0 -21
  1403. package/dist/esm/suggestions-DEcHprcz.js.map +0 -1
  1404. package/dist/esm/table-selection-DmmUo33G.js +0 -85
  1405. package/dist/esm/table-selection-DmmUo33G.js.map +0 -1
  1406. package/dist/esm/tooltip-align-mwhvx9nK.js +0 -14
  1407. package/dist/esm/tooltip-align-mwhvx9nK.js.map +0 -1
  1408. package/dist/esm/unique-nav-labels-ZepmMUSu.js +0 -22
  1409. package/dist/esm/unique-nav-labels-ZepmMUSu.js.map +0 -1
  1410. package/dist/esm/validation-D6nATCh8.js +0 -17
  1411. package/dist/esm/validation-D6nATCh8.js.map +0 -1
  1412. package/dist/esm/validation-DGQ9Zja2.js +0 -14
  1413. package/dist/esm/validation-DGQ9Zja2.js.map +0 -1
  1414. package/dist/esm/value-number-clamped-47tM199y.js +0 -24
  1415. package/dist/esm/value-number-clamped-47tM199y.js.map +0 -1
  1416. package/dist/esm/variant-class-name-BCcQYpIV.js +0 -16
  1417. package/dist/esm/variant-class-name-BCcQYpIV.js.map +0 -1
  1418. package/dist/esm/variant-quote-y0Z1TRdz.js +0 -37
  1419. package/dist/esm/variant-quote-y0Z1TRdz.js.map +0 -1
  1420. package/dist/kolibri/Alert-BP_7bRZF.js +0 -5
  1421. package/dist/kolibri/Alert-BP_7bRZF.js.map +0 -1
  1422. package/dist/kolibri/Collapsible-BpaQSoeN.js +0 -5
  1423. package/dist/kolibri/Collapsible-BpaQSoeN.js.map +0 -1
  1424. package/dist/kolibri/CustomSuggestionsOptionsGroup-86r-pE0e.js +0 -5
  1425. package/dist/kolibri/CustomSuggestionsOptionsGroup-86r-pE0e.js.map +0 -1
  1426. package/dist/kolibri/FieldControlStateWrapper-DF2tVpwY.js +0 -5
  1427. package/dist/kolibri/FieldControlStateWrapper-DF2tVpwY.js.map +0 -1
  1428. package/dist/kolibri/FormFieldStateWrapper-BWTMRKXT.js +0 -5
  1429. package/dist/kolibri/FormFieldStateWrapper-BWTMRKXT.js.map +0 -1
  1430. package/dist/kolibri/Heading-q2Ue3Ixd.js +0 -5
  1431. package/dist/kolibri/Heading-q2Ue3Ixd.js.map +0 -1
  1432. package/dist/kolibri/Input-DQJln-L5.js +0 -5
  1433. package/dist/kolibri/Input-DQJln-L5.js.map +0 -1
  1434. package/dist/kolibri/InputStateWrapper-CDDIvfo0.js +0 -5
  1435. package/dist/kolibri/InputStateWrapper-CDDIvfo0.js.map +0 -1
  1436. package/dist/kolibri/access-and-short-key-D734WtlX.js +0 -5
  1437. package/dist/kolibri/access-and-short-key-D734WtlX.js.map +0 -1
  1438. package/dist/kolibri/align-DxZmRFcp.js +0 -5
  1439. package/dist/kolibri/align-DxZmRFcp.js.map +0 -1
  1440. package/dist/kolibri/align-floating-elements-D5XJiLiU.js +0 -5
  1441. package/dist/kolibri/align-floating-elements-D5XJiLiU.js.map +0 -1
  1442. package/dist/kolibri/app-globals-UWioL0AL.js +0 -5
  1443. package/dist/kolibri/app-globals-UWioL0AL.js.map +0 -1
  1444. package/dist/kolibri/aria-expanded-hGdEA1jy.js +0 -5
  1445. package/dist/kolibri/aria-expanded-hGdEA1jy.js.map +0 -1
  1446. package/dist/kolibri/aria-labelledby-CEzR68x-.js +0 -5
  1447. package/dist/kolibri/aria-labelledby-CEzR68x-.js.map +0 -1
  1448. package/dist/kolibri/associated.controller-Bagx9pCw.js +0 -5
  1449. package/dist/kolibri/associated.controller-Bagx9pCw.js.map +0 -1
  1450. package/dist/kolibri/auto-complete-BbMivzAV.js +0 -5
  1451. package/dist/kolibri/auto-complete-BbMivzAV.js.map +0 -1
  1452. package/dist/kolibri/bem-registry-CWvl2xho.js +0 -5
  1453. package/dist/kolibri/bem-registry-CWvl2xho.js.map +0 -1
  1454. package/dist/kolibri/bootstrap-DPKvOz00.js +0 -5
  1455. package/dist/kolibri/bootstrap-DPKvOz00.js.map +0 -1
  1456. package/dist/kolibri/color-CAVnI0e-.js +0 -5
  1457. package/dist/kolibri/color-CAVnI0e-.js.map +0 -1
  1458. package/dist/kolibri/common-Cx_AGO_M.js +0 -5
  1459. package/dist/kolibri/common-Cx_AGO_M.js.map +0 -1
  1460. package/dist/kolibri/component-Dh0cPCxF.js +0 -5
  1461. package/dist/kolibri/component-Dh0cPCxF.js.map +0 -1
  1462. package/dist/kolibri/component-DvjvBJeK.js +0 -5
  1463. package/dist/kolibri/component-DvjvBJeK.js.map +0 -1
  1464. package/dist/kolibri/component-DzaT2WlJ.js +0 -5
  1465. package/dist/kolibri/component-DzaT2WlJ.js.map +0 -1
  1466. package/dist/kolibri/contrast-DlURrMX4.js +0 -5
  1467. package/dist/kolibri/contrast-DlURrMX4.js.map +0 -1
  1468. package/dist/kolibri/controller-Bdve6A-Q.js +0 -5
  1469. package/dist/kolibri/controller-Bdve6A-Q.js.map +0 -1
  1470. package/dist/kolibri/controller-CJmWOqQQ.js +0 -5
  1471. package/dist/kolibri/controller-CJmWOqQQ.js.map +0 -1
  1472. package/dist/kolibri/controller-DKPaX3Tu.js +0 -5
  1473. package/dist/kolibri/controller-DKPaX3Tu.js.map +0 -1
  1474. package/dist/kolibri/controller-DRE7PRMK.js +0 -5
  1475. package/dist/kolibri/controller-DRE7PRMK.js.map +0 -1
  1476. package/dist/kolibri/controller-icon-DekcIBGR.js +0 -5
  1477. package/dist/kolibri/controller-icon-DekcIBGR.js.map +0 -1
  1478. package/dist/kolibri/controller-osuRO7S2.js +0 -5
  1479. package/dist/kolibri/controller-osuRO7S2.js.map +0 -1
  1480. package/dist/kolibri/controller-xXHYiOzQ.js +0 -5
  1481. package/dist/kolibri/controller-xXHYiOzQ.js.map +0 -1
  1482. package/dist/kolibri/custom-class-DlT-QmWF.js +0 -5
  1483. package/dist/kolibri/custom-class-DlT-QmWF.js.map +0 -1
  1484. package/dist/kolibri/dev.utils-02Sl9bQo.js +0 -5
  1485. package/dist/kolibri/dev.utils-02Sl9bQo.js.map +0 -1
  1486. package/dist/kolibri/devtools-CTlVZVnW.js +0 -5
  1487. package/dist/kolibri/devtools-CTlVZVnW.js.map +0 -1
  1488. package/dist/kolibri/disabled-gyBUQRnY.js +0 -5
  1489. package/dist/kolibri/disabled-gyBUQRnY.js.map +0 -1
  1490. package/dist/kolibri/element-focus-CRwW4N4R.js +0 -5
  1491. package/dist/kolibri/element-focus-CRwW4N4R.js.map +0 -1
  1492. package/dist/kolibri/element-interaction-Bv-mPSBn.js +0 -5
  1493. package/dist/kolibri/element-interaction-Bv-mPSBn.js.map +0 -1
  1494. package/dist/kolibri/events-VVvk1win.js +0 -5
  1495. package/dist/kolibri/events-VVvk1win.js.map +0 -1
  1496. package/dist/kolibri/has-closer-B8w7bVjx.js +0 -5
  1497. package/dist/kolibri/has-closer-B8w7bVjx.js.map +0 -1
  1498. package/dist/kolibri/hide-label-6Bx1MH20.js +0 -5
  1499. package/dist/kolibri/hide-label-6Bx1MH20.js.map +0 -1
  1500. package/dist/kolibri/href-Dp4go7zq.js +0 -5
  1501. package/dist/kolibri/href-Dp4go7zq.js.map +0 -1
  1502. package/dist/kolibri/i18n-Br16IAnY.js +0 -5
  1503. package/dist/kolibri/i18n-Br16IAnY.js.map +0 -1
  1504. package/dist/kolibri/icons-oAzMYWgV.js +0 -5
  1505. package/dist/kolibri/icons-oAzMYWgV.js.map +0 -1
  1506. package/dist/kolibri/index-BQlHOxik.js +0 -6
  1507. package/dist/kolibri/index-BQlHOxik.js.map +0 -1
  1508. package/dist/kolibri/inline-DnwpECF8.js +0 -5
  1509. package/dist/kolibri/inline-DnwpECF8.js.map +0 -1
  1510. package/dist/kolibri/label-Fyi30H9j.js +0 -5
  1511. package/dist/kolibri/label-Fyi30H9j.js.map +0 -1
  1512. package/dist/kolibri/label-KTv-zMW0.js +0 -5
  1513. package/dist/kolibri/label-KTv-zMW0.js.map +0 -1
  1514. package/dist/kolibri/level-1jyaYIAE.js +0 -5
  1515. package/dist/kolibri/level-1jyaYIAE.js.map +0 -1
  1516. package/dist/kolibri/max-length-behavior-CpaNmMus.js +0 -5
  1517. package/dist/kolibri/max-length-behavior-CpaNmMus.js.map +0 -1
  1518. package/dist/kolibri/multiple-DqCQ-txe.js +0 -5
  1519. package/dist/kolibri/multiple-DqCQ-txe.js.map +0 -1
  1520. package/dist/kolibri/normalizers-m3s9sgmq.js +0 -5
  1521. package/dist/kolibri/normalizers-m3s9sgmq.js.map +0 -1
  1522. package/dist/kolibri/open-Dw4Y2dzo.js +0 -5
  1523. package/dist/kolibri/open-Dw4Y2dzo.js.map +0 -1
  1524. package/dist/kolibri/orientation-CjNmUJp-.js +0 -5
  1525. package/dist/kolibri/orientation-CjNmUJp-.js.map +0 -1
  1526. package/dist/kolibri/placeholder-DTOUrN5s.js +0 -5
  1527. package/dist/kolibri/placeholder-DTOUrN5s.js.map +0 -1
  1528. package/dist/kolibri/read-only-DUMeby7s.js +0 -5
  1529. package/dist/kolibri/read-only-DUMeby7s.js.map +0 -1
  1530. package/dist/kolibri/required-DFzRSWky.js +0 -5
  1531. package/dist/kolibri/required-DFzRSWky.js.map +0 -1
  1532. package/dist/kolibri/rows-htbnIG9G.js +0 -5
  1533. package/dist/kolibri/rows-htbnIG9G.js.map +0 -1
  1534. package/dist/kolibri/spell-check-BtaQyLZc.js +0 -5
  1535. package/dist/kolibri/spell-check-BtaQyLZc.js.map +0 -1
  1536. package/dist/kolibri/src-DkLxm4tr.js +0 -5
  1537. package/dist/kolibri/src-DkLxm4tr.js.map +0 -1
  1538. package/dist/kolibri/suggestions-DEcHprcz.js +0 -5
  1539. package/dist/kolibri/suggestions-DEcHprcz.js.map +0 -1
  1540. package/dist/kolibri/table-selection-DmmUo33G.js +0 -5
  1541. package/dist/kolibri/table-selection-DmmUo33G.js.map +0 -1
  1542. package/dist/kolibri/tooltip-align-mwhvx9nK.js +0 -5
  1543. package/dist/kolibri/tooltip-align-mwhvx9nK.js.map +0 -1
  1544. package/dist/kolibri/unique-nav-labels-ZepmMUSu.js +0 -5
  1545. package/dist/kolibri/unique-nav-labels-ZepmMUSu.js.map +0 -1
  1546. package/dist/kolibri/validation-D6nATCh8.js +0 -5
  1547. package/dist/kolibri/validation-D6nATCh8.js.map +0 -1
  1548. package/dist/kolibri/validation-DGQ9Zja2.js +0 -5
  1549. package/dist/kolibri/validation-DGQ9Zja2.js.map +0 -1
  1550. package/dist/kolibri/value-number-clamped-47tM199y.js +0 -5
  1551. package/dist/kolibri/value-number-clamped-47tM199y.js.map +0 -1
  1552. package/dist/kolibri/variant-class-name-BCcQYpIV.js +0 -5
  1553. package/dist/kolibri/variant-class-name-BCcQYpIV.js.map +0 -1
  1554. package/dist/kolibri/variant-quote-y0Z1TRdz.js +0 -5
  1555. package/dist/kolibri/variant-quote-y0Z1TRdz.js.map +0 -1
@@ -29,6 +29,8 @@ export class KolTableStatelessWc {
29
29
  this.horizontal = true;
30
30
  this.cellsToRenderTimeouts = new Map();
31
31
  this.dataToKeyMap = new Map();
32
+ this.selectedKeysStringSet = new Set();
33
+ this.disabledKeysStringSet = new Set();
32
34
  this.checkboxRefs = [];
33
35
  this.translateSort = translate('kol-sort');
34
36
  this.translateSortOrder = translate('kol-table-sort-order');
@@ -232,13 +234,14 @@ export class KolTableStatelessWc {
232
234
  this.stickyColsDisabled = fixedColsWidth > 0 && fixedColsWidth >= containerWidth;
233
235
  }
234
236
  updateDataToKeyMap(data) {
237
+ const dataSet = new Set(data);
235
238
  data.forEach((data) => {
236
239
  if (!this.dataToKeyMap.has(data)) {
237
240
  this.dataToKeyMap.set(data, nonce());
238
241
  }
239
242
  });
240
243
  this.dataToKeyMap.forEach((_, key) => {
241
- if (!data.includes(key)) {
244
+ if (!dataSet.has(key)) {
242
245
  this.dataToKeyMap.delete(key);
243
246
  }
244
247
  });
@@ -324,15 +327,20 @@ export class KolTableStatelessWc {
324
327
  return primaryHeaders;
325
328
  }
326
329
  getPrimaryHeaders(headers) {
327
- var _a, _b;
328
- let primaryHeaders = this.getThePrimaryHeadersWithKeyOrRenderFunction((_a = headers.horizontal) !== null && _a !== void 0 ? _a : []);
330
+ var _a, _b, _c;
331
+ if (((_a = this.primaryHeadersCache) === null || _a === void 0 ? void 0 : _a.headers) === headers) {
332
+ this.horizontal = this.primaryHeadersCache.horizontal;
333
+ return this.primaryHeadersCache.result;
334
+ }
335
+ let primaryHeaders = this.getThePrimaryHeadersWithKeyOrRenderFunction((_b = headers.horizontal) !== null && _b !== void 0 ? _b : []);
329
336
  this.horizontal = true;
330
337
  if (primaryHeaders.length === 0) {
331
- primaryHeaders = this.getThePrimaryHeadersWithKeyOrRenderFunction((_b = headers.vertical) !== null && _b !== void 0 ? _b : []);
338
+ primaryHeaders = this.getThePrimaryHeadersWithKeyOrRenderFunction((_c = headers.vertical) !== null && _c !== void 0 ? _c : []);
332
339
  if (primaryHeaders.length > 0) {
333
340
  this.horizontal = false;
334
341
  }
335
342
  }
343
+ this.primaryHeadersCache = { headers, result: primaryHeaders, horizontal: this.horizontal };
336
344
  return primaryHeaders;
337
345
  }
338
346
  createDataField(data, headers, isFoot) {
@@ -515,16 +523,9 @@ export class KolTableStatelessWc {
515
523
  return '';
516
524
  const keyProperty = firstCellData[keyPropertyName];
517
525
  const isMultiple = selection.multiple || selection.multiple === undefined;
518
- const selected = (() => {
519
- const v = selection === null || selection === void 0 ? void 0 : selection.selectedKeys;
520
- const arr = v === undefined ? [] : Array.isArray(v) ? v : [v];
521
- return arr.some((k) => String(k) === String(keyProperty));
522
- })();
523
- const disabled = (() => {
524
- const v = selection === null || selection === void 0 ? void 0 : selection.disabledKeys;
525
- const arr = v === undefined ? [] : Array.isArray(v) ? v : [v];
526
- return arr.some((k) => String(k) === String(keyProperty));
527
- })();
526
+ const keyPropertyString = String(keyProperty);
527
+ const selected = this.selectedKeysStringSet.has(keyPropertyString);
528
+ const disabled = this.disabledKeysStringSet.has(keyPropertyString);
528
529
  const label = selection.label(firstCellData);
529
530
  const props = {
530
531
  name: 'selection',
@@ -550,40 +551,25 @@ export class KolTableStatelessWc {
550
551
  var _a, _b;
551
552
  return (_b = (_a = this.state._selection) === null || _a === void 0 ? void 0 : _a.keyPropertyName) !== null && _b !== void 0 ? _b : 'id';
552
553
  }
554
+ static normalizeKeys(value) {
555
+ return value === undefined ? [] : Array.isArray(value) ? value : [value];
556
+ }
557
+ updateSelectionKeySets() {
558
+ var _a, _b;
559
+ this.selectedKeysStringSet = new Set(KolTableStatelessWc.normalizeKeys((_a = this.state._selection) === null || _a === void 0 ? void 0 : _a.selectedKeys).map(String));
560
+ this.disabledKeysStringSet = new Set(KolTableStatelessWc.normalizeKeys((_b = this.state._selection) === null || _b === void 0 ? void 0 : _b.disabledKeys).map(String));
561
+ }
553
562
  getDataWithSelectionEnabled() {
554
563
  const keyPropertyName = this.getSelectionKeyPropertyName();
555
- return this.state._data.filter((item) => {
556
- var _a;
557
- const v = (_a = this.state._selection) === null || _a === void 0 ? void 0 : _a.disabledKeys;
558
- const arr = v === undefined ? [] : Array.isArray(v) ? v : [v];
559
- return !arr.some((k) => String(k) === String(item[keyPropertyName]));
560
- });
564
+ return this.state._data.filter((item) => !this.disabledKeysStringSet.has(String(item[keyPropertyName])));
561
565
  }
562
566
  getSelectedKeysWithoutDisabledKeys() {
563
- const sel = (() => {
564
- var _a;
565
- const v = (_a = this.state._selection) === null || _a === void 0 ? void 0 : _a.selectedKeys;
566
- return v === undefined ? [] : Array.isArray(v) ? v : [v];
567
- })();
568
- const dis = (() => {
569
- var _a;
570
- const v = (_a = this.state._selection) === null || _a === void 0 ? void 0 : _a.disabledKeys;
571
- return v === undefined ? [] : Array.isArray(v) ? v : [v];
572
- })();
573
- return sel.filter((k) => !dis.some((d) => String(d) === String(k)));
567
+ var _a;
568
+ return KolTableStatelessWc.normalizeKeys((_a = this.state._selection) === null || _a === void 0 ? void 0 : _a.selectedKeys).filter((k) => !this.disabledKeysStringSet.has(String(k)));
574
569
  }
575
570
  getSelectedKeysWithDisabledKeysOnly() {
576
- const sel = (() => {
577
- var _a;
578
- const v = (_a = this.state._selection) === null || _a === void 0 ? void 0 : _a.selectedKeys;
579
- return v === undefined ? [] : Array.isArray(v) ? v : [v];
580
- })();
581
- const dis = (() => {
582
- var _a;
583
- const v = (_a = this.state._selection) === null || _a === void 0 ? void 0 : _a.disabledKeys;
584
- return v === undefined ? [] : Array.isArray(v) ? v : [v];
585
- })();
586
- return sel.filter((k) => dis.some((d) => String(d) === String(k)));
571
+ var _a;
572
+ return KolTableStatelessWc.normalizeKeys((_a = this.state._selection) === null || _a === void 0 ? void 0 : _a.selectedKeys).filter((k) => this.disabledKeysStringSet.has(String(k)));
587
573
  }
588
574
  getRevertedSelection(selectAll) {
589
575
  var _a;
@@ -740,21 +726,22 @@ export class KolTableStatelessWc {
740
726
  }
741
727
  render() {
742
728
  var _a;
729
+ this.updateSelectionKeySets();
743
730
  const dataField = this.createDataField(this.state._data, this.state._headerCells);
744
731
  this.checkboxRefs = [];
745
732
  const horizontalHeaders = this.state._headerCells.horizontal;
746
733
  const showInternalCaption = !((_a = this.externalLabelElements) === null || _a === void 0 ? void 0 : _a.length);
747
- return (h("div", { key: 'b3078fc5b1fddaf8b1a125452e5a0ba65f64cce1', class: clsx('kol-table', {
734
+ return (h("div", { key: '1ecc521f37fb57c7f5ce2e2c1daf06850c0c9372', class: clsx('kol-table', {
748
735
  [`kol-table--${this.state._variant}`]: this.state._variant !== undefined,
749
- }) }, this.state._hasSettingsMenu && h(KolTableSettingsWcTag, { key: 'cba65b7abb0aa685c0115c74238414e1acf65d20', _horizontalHeaderCells: horizontalHeaders !== null && horizontalHeaders !== void 0 ? horizontalHeaders : [] }), h("div", { key: 'd8390e0d8ef806a913c5b433c1e528c3729c63a2', ref: (element) => (this.tableDivElement = element), class: "kol-table__scroll-container", tabindex: this.tableDivElementHasScrollbar ? (showInternalCaption ? '-1' : '0') : undefined }, h("table", { key: '24880450759191739622f8dc03f25ec52c188248', ref: (el) => {
736
+ }) }, this.state._hasSettingsMenu && h(KolTableSettingsWcTag, { key: 'ec0d5f632c76388d10c3625a9f722db2d3bdf2de', _horizontalHeaderCells: horizontalHeaders !== null && horizontalHeaders !== void 0 ? horizontalHeaders : [] }), h("div", { key: '61c5bf820ea7c00c768caa73864bedb0e247f5bd', ref: (element) => (this.tableDivElement = element), class: "kol-table__scroll-container", tabindex: this.tableDivElementHasScrollbar ? (showInternalCaption ? '-1' : '0') : undefined }, h("table", { key: '1f407367ae428c6d64cc7a016d74d1b00192574c', ref: (el) => {
750
737
  this.tableRef = el;
751
738
  this.syncTableLabel(this.externalLabelElements);
752
739
  }, "aria-labelledby": showInternalCaption ? 'caption' : undefined, class: "kol-table__table", style: {
753
740
  minWidth: this.getTableMinWidth(),
754
- } }, showInternalCaption && (h("caption", { key: '9a80f320bcb382b953176564e1209e24a14ebe91', class: "kol-table__focus-element kol-table__caption", id: "caption", tabindex: this.tableDivElementHasScrollbar ? '0' : undefined }, this.state._label)), Array.isArray(horizontalHeaders) && (h("thead", { key: '9125286ae3e47630e42fd04d970f687ca8c4c056', class: "kol-table__head" }, [
741
+ } }, showInternalCaption && (h("caption", { key: '92e0403f309f42a2345267cbb64e5b7bf8172ffa', class: "kol-table__focus-element kol-table__caption", id: "caption", tabindex: this.tableDivElementHasScrollbar ? '0' : undefined }, this.state._label)), Array.isArray(horizontalHeaders) && (h("thead", { key: 'fa962f7c34c749246879bec67d287619ac4afc2e', class: "kol-table__head" }, [
755
742
  horizontalHeaders.map((cols, rowIndex) => (h("tr", { class: "kol-table__head-row", key: `thead-${rowIndex}` }, this.state._selection && this.renderHeadingSelectionCell(), rowIndex === 0 && this.renderHeaderTdCell(), Array.isArray(cols) && cols.map((cell, colIndex) => this.renderHeadingCell(cell, rowIndex, colIndex, false))))),
756
743
  this.renderSpacer('head', horizontalHeaders),
757
- ])), h("tbody", { key: '18458ad8f7712d2acffbec2ae79da9b5991174b7', class: "kol-table__body" }, dataField.map((row, rowIndex) => this.renderTableRow(row, rowIndex, true))), this.renderFoot()))));
744
+ ])), h("tbody", { key: 'd7a9b16f85081841beb7cb33b902a09f6da43805', class: "kol-table__body" }, dataField.map((row, rowIndex) => this.renderTableRow(row, rowIndex, true))), this.renderFoot()))));
758
745
  }
759
746
  static get is() { return "kol-table-stateless-wc"; }
760
747
  static get properties() {
@@ -1 +1 @@
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\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\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\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 (!data.includes(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\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\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 selected = (() => {\n\t\t\tconst v = selection?.selectedKeys;\n\t\t\tconst arr = v === undefined ? [] : Array.isArray(v) ? v : [v];\n\t\t\treturn arr.some((k) => String(k) === String(keyProperty));\n\t\t})();\n\t\tconst disabled = (() => {\n\t\t\tconst v = selection?.disabledKeys;\n\t\t\tconst arr = v === undefined ? [] : Array.isArray(v) ? v : [v];\n\t\t\treturn arr.some((k) => String(k) === String(keyProperty));\n\t\t})();\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 getDataWithSelectionEnabled() {\n\t\tconst keyPropertyName = this.getSelectionKeyPropertyName();\n\t\treturn this.state._data.filter((item) => {\n\t\t\tconst v = this.state._selection?.disabledKeys;\n\t\t\tconst arr = v === undefined ? [] : Array.isArray(v) ? v : [v];\n\t\t\treturn !arr.some((k) => String(k) === String(item[keyPropertyName] as KoliBriTableSelectionKey));\n\t\t});\n\t}\n\n\tprivate getSelectedKeysWithoutDisabledKeys() {\n\t\tconst sel = (() => {\n\t\t\tconst v = this.state._selection?.selectedKeys;\n\t\t\treturn v === undefined ? [] : Array.isArray(v) ? v : [v];\n\t\t})();\n\t\tconst dis = (() => {\n\t\t\tconst v = this.state._selection?.disabledKeys;\n\t\t\treturn v === undefined ? [] : Array.isArray(v) ? v : [v];\n\t\t})();\n\t\treturn sel.filter((k) => !dis.some((d) => String(d) === String(k)));\n\t}\n\n\tprivate getSelectedKeysWithDisabledKeysOnly() {\n\t\tconst sel = (() => {\n\t\t\tconst v = this.state._selection?.selectedKeys;\n\t\t\treturn v === undefined ? [] : Array.isArray(v) ? v : [v];\n\t\t})();\n\t\tconst dis = (() => {\n\t\t\tconst v = this.state._selection?.disabledKeys;\n\t\t\treturn v === undefined ? [] : Array.isArray(v) ? v : [v];\n\t\t})();\n\t\treturn sel.filter((k) => dis.some((d) => String(d) === 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 <td key={`thead-0-selection`} class=\"kol-table__cell kol-table__cell--header kol-table__cell--selection\"></td>;\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 key={`thead-0-selection`} class=\"kol-table__cell kol-table__cell--header kol-table__cell--selection\">\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\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":";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;KAwYF;IA7qCU,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,UAAI,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAC,oEAAoE,GAAM,CAAC;QACvH,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,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAC,oEAAoE;YACvG,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 <td key={`thead-0-selection`} class=\"kol-table__cell kol-table__cell--header kol-table__cell--selection\"></td>;\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 key={`thead-0-selection`} class=\"kol-table__cell kol-table__cell--header kol-table__cell--selection\">\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"]}
@@ -207,8 +207,8 @@
207
207
  }
208
208
  @font-face {
209
209
  font-family: "kolicons";
210
- src: url("kolicons.eot?t=1780571516250"); /* IE9*/
211
- src: url("kolicons.eot?t=1780571516250#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1780571516250") format("woff2"), url("kolicons.woff?t=1780571516250") format("woff"), url("kolicons.ttf?t=1780571516250") format("truetype"), url("kolicons.svg?t=1780571516250#kolicons") format("svg"); /* iOS 4.1- */
210
+ src: url("kolicons.eot?t=1780914078349"); /* IE9*/
211
+ src: url("kolicons.eot?t=1780914078349#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1780914078349") format("woff2"), url("kolicons.woff?t=1780914078349") format("woff"), url("kolicons.ttf?t=1780914078349") format("truetype"), url("kolicons.svg?t=1780914078349#kolicons") format("svg"); /* iOS 4.1- */
212
212
  }
213
213
  @layer kol-component {
214
214
  [class^=kolicon-], [class*=" kolicon-"] {
@@ -501,6 +501,10 @@
501
501
  min-height: var(--a11y-min-size);
502
502
  text-align: start;
503
503
  }
504
+ kol-table-settings-wc:not(:has(~ .kol-table__scroll-container .kol-table__caption)) {
505
+ display: block;
506
+ min-height: var(--a11y-min-size);
507
+ }
504
508
  .kol-table__sort-button .kol-button {
505
509
  color: inherit;
506
510
  }