@public-ui/components 3.0.4-ed0f3af88ca201e0c6c949626c9aeee66f80f44e.0 → 3.0.4-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 (346) hide show
  1. package/custom-elements.json +1 -1
  2. package/dist/cjs/{Alert-CwuuXtSY.js → Alert-Dbez0OWE.js} +1 -1
  3. package/dist/cjs/{Alert-CwuuXtSY.js.map → Alert-Dbez0OWE.js.map} +1 -1
  4. package/dist/cjs/{Collapsible-BUK_Xmkd.js → Collapsible-hyUDyq1p.js} +1 -1
  5. package/dist/cjs/{Collapsible-BUK_Xmkd.js.map → Collapsible-hyUDyq1p.js.map} +1 -1
  6. package/dist/cjs/{CustomSuggestionsToggle-BT8xOvEp.js → CustomSuggestionsToggle-Behvymij.js} +1 -1
  7. package/dist/cjs/{CustomSuggestionsToggle-BT8xOvEp.js.map → CustomSuggestionsToggle-Behvymij.js.map} +1 -1
  8. package/dist/cjs/{FieldControlStateWrapper-BNSG4aXe.js → FieldControlStateWrapper-Dyc0LGCc.js} +1 -1
  9. package/dist/cjs/{FieldControlStateWrapper-BNSG4aXe.js.map → FieldControlStateWrapper-Dyc0LGCc.js.map} +1 -1
  10. package/dist/cjs/{FormFieldStateWrapper-BEGBlx4c.js → FormFieldStateWrapper-Cwv6XCb_.js} +1 -1
  11. package/dist/cjs/{FormFieldStateWrapper-BEGBlx4c.js.map → FormFieldStateWrapper-Cwv6XCb_.js.map} +1 -1
  12. package/dist/cjs/{Heading-DlbiB1eP.js → Heading-B_FNjVhY.js} +1 -1
  13. package/dist/cjs/{Heading-DlbiB1eP.js.map → Heading-B_FNjVhY.js.map} +1 -1
  14. package/dist/cjs/Icon-Cm3lAgHU.js +4 -0
  15. package/dist/cjs/{Icon-BXx6hmOf.js.map → Icon-Cm3lAgHU.js.map} +1 -1
  16. package/dist/cjs/{Input-D76rkMwb.js → Input-VN0FQkZJ.js} +1 -1
  17. package/dist/cjs/{Input-D76rkMwb.js.map → Input-VN0FQkZJ.js.map} +1 -1
  18. package/dist/cjs/{InputStateWrapper-GSsOojZH.js → InputStateWrapper-CnRGVxks.js} +1 -1
  19. package/dist/cjs/{InputStateWrapper-GSsOojZH.js.map → InputStateWrapper-CnRGVxks.js.map} +1 -1
  20. package/dist/cjs/{InternalUnderlinedBadgeText-BktIt7Dv.js → InternalUnderlinedBadgeText-opHTXEbX.js} +1 -1
  21. package/dist/cjs/{InternalUnderlinedBadgeText-BktIt7Dv.js.map → InternalUnderlinedBadgeText-opHTXEbX.js.map} +1 -1
  22. package/dist/cjs/{Span-R1KVY7GP.js → Span-ElP1RFQ9.js} +1 -1
  23. package/dist/cjs/{Span-R1KVY7GP.js.map → Span-ElP1RFQ9.js.map} +1 -1
  24. package/dist/cjs/{app-globals-D2El5i3Z.js → app-globals-D5OHlvGx.js} +1 -1
  25. package/dist/cjs/{app-globals-D2El5i3Z.js.map → app-globals-D5OHlvGx.js.map} +1 -1
  26. package/dist/cjs/{controller-DBt3tIW4.js → controller-BTkATp4C.js} +1 -1
  27. package/dist/cjs/{controller-DBt3tIW4.js.map → controller-BTkATp4C.js.map} +1 -1
  28. package/dist/cjs/{controller-Dwu6WB8X.js → controller-CjgWW9-a.js} +1 -1
  29. package/dist/cjs/{controller-Dwu6WB8X.js.map → controller-CjgWW9-a.js.map} +1 -1
  30. package/dist/cjs/{controller-LUPyLjfe.js → controller-D0qd9yWT.js} +1 -1
  31. package/dist/cjs/{controller-LUPyLjfe.js.map → controller-D0qd9yWT.js.map} +1 -1
  32. package/dist/cjs/{controller-icon-BoPE_IMC.js → controller-icon-BFVf_6RR.js} +1 -1
  33. package/dist/cjs/{controller-icon-BoPE_IMC.js.map → controller-icon-BFVf_6RR.js.map} +1 -1
  34. package/dist/cjs/{dev.utils-qFfdScN_.js → dev.utils-6X4JLbGB.js} +1 -1
  35. package/dist/cjs/{dev.utils-qFfdScN_.js.map → dev.utils-6X4JLbGB.js.map} +1 -1
  36. package/dist/cjs/{devtools-C4AfIMLp.js → devtools-C5EusrLu.js} +1 -1
  37. package/dist/cjs/{devtools-C4AfIMLp.js.map → devtools-C5EusrLu.js.map} +1 -1
  38. package/dist/cjs/index-CIQC-OQ4.js +4 -0
  39. package/dist/cjs/index-CIQC-OQ4.js.map +1 -0
  40. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  41. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  42. package/dist/cjs/kol-alert-wc.cjs.entry.js +1 -1
  43. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  44. package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
  45. package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
  46. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  47. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  48. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  49. package/dist/cjs/kol-button-wc.cjs.entry.js +1 -1
  50. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  51. package/dist/cjs/kol-card-wc.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  53. package/dist/cjs/kol-combobox.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  55. package/dist/cjs/kol-drawer.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  57. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  58. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  61. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  63. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  65. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  66. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  67. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  69. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  71. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  73. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  75. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-pagination-wc.cjs.entry.js +1 -1
  77. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-popover-button-wc.cjs.entry.js +1 -1
  79. package/dist/cjs/kol-popover-button.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-popover-wc.cjs.entry.js +1 -1
  81. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  83. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-single-select.cjs.entry.js +1 -1
  85. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  86. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  87. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-table-settings-wc.cjs.entry.js +1 -1
  89. package/dist/cjs/kol-table-stateful.cjs.entry.js +1 -1
  90. package/dist/cjs/kol-table-stateful.cjs.entry.js.map +1 -1
  91. package/dist/cjs/kol-table-stateful.entry.cjs.js.map +1 -1
  92. package/dist/cjs/kol-table-stateless-wc.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-table-stateless-wc.cjs.entry.js.map +1 -1
  94. package/dist/cjs/kol-table-stateless-wc.entry.cjs.js.map +1 -1
  95. package/dist/cjs/kol-table-stateless.cjs.entry.js +1 -1
  96. package/dist/cjs/kol-table-stateless.cjs.entry.js.map +1 -1
  97. package/dist/cjs/kol-table-stateless.entry.cjs.js.map +1 -1
  98. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  99. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  100. package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
  101. package/dist/cjs/kol-toolbar.cjs.entry.js +1 -1
  102. package/dist/cjs/kol-tooltip-wc.cjs.entry.js +1 -1
  103. package/dist/cjs/kol-tree-item-wc.cjs.entry.js +1 -1
  104. package/dist/cjs/kol-tree-item.cjs.entry.js +1 -1
  105. package/dist/cjs/kol-tree-wc.cjs.entry.js +1 -1
  106. package/dist/cjs/kol-tree.cjs.entry.js +1 -1
  107. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  108. package/dist/cjs/kolibri.cjs.js +1 -1
  109. package/dist/cjs/loader.cjs.js +1 -1
  110. package/dist/cjs/test-component.cjs.entry.js +1 -1
  111. package/dist/components/kol-table-settings-wc.js +1 -1
  112. package/dist/components/kol-table-stateful.js +1 -1
  113. package/dist/components/kol-table-stateful.js.map +1 -1
  114. package/dist/components/kol-table-stateless-wc.js +1 -1
  115. package/dist/components/kol-table-stateless-wc.js.map +1 -1
  116. package/dist/components/kol-table-stateless.js +1 -1
  117. package/dist/components/kol-table-stateless.js.map +1 -1
  118. package/dist/esm/{Alert-CTk_PNsB.js → Alert-BDx1u40I.js} +1 -1
  119. package/dist/{kolibri/Alert-CTk_PNsB.js.map → esm/Alert-BDx1u40I.js.map} +1 -1
  120. package/dist/esm/{Collapsible-C17ZrcR4.js → Collapsible-BVHowVxs.js} +1 -1
  121. package/dist/esm/{Collapsible-C17ZrcR4.js.map → Collapsible-BVHowVxs.js.map} +1 -1
  122. package/dist/esm/{CustomSuggestionsToggle-DlW7BYA_.js → CustomSuggestionsToggle-B3tvLP2v.js} +1 -1
  123. package/dist/{kolibri/CustomSuggestionsToggle-DlW7BYA_.js.map → esm/CustomSuggestionsToggle-B3tvLP2v.js.map} +1 -1
  124. package/dist/esm/{FieldControlStateWrapper-Bvn5yK_i.js → FieldControlStateWrapper-BpSEIOuI.js} +1 -1
  125. package/dist/{kolibri/FieldControlStateWrapper-Bvn5yK_i.js.map → esm/FieldControlStateWrapper-BpSEIOuI.js.map} +1 -1
  126. package/dist/esm/{FormFieldStateWrapper-j7e0a3Oe.js → FormFieldStateWrapper-BaUJkKkj.js} +1 -1
  127. package/dist/esm/{FormFieldStateWrapper-j7e0a3Oe.js.map → FormFieldStateWrapper-BaUJkKkj.js.map} +1 -1
  128. package/dist/esm/{Heading-CdL171uD.js → Heading-DjO0rS4X.js} +1 -1
  129. package/dist/{kolibri/Heading-CdL171uD.js.map → esm/Heading-DjO0rS4X.js.map} +1 -1
  130. package/dist/esm/{Icon-BFZ6Qv6o.js → Icon-BI4MKvDM.js} +1 -1
  131. package/dist/esm/{Icon-BFZ6Qv6o.js.map → Icon-BI4MKvDM.js.map} +1 -1
  132. package/dist/esm/{Input-DnQOLdqt.js → Input-DgMgOuZb.js} +1 -1
  133. package/dist/{kolibri/Input-DnQOLdqt.js.map → esm/Input-DgMgOuZb.js.map} +1 -1
  134. package/dist/esm/{InputStateWrapper-uyLppe6O.js → InputStateWrapper-BSuXDLge.js} +1 -1
  135. package/dist/{kolibri/InputStateWrapper-uyLppe6O.js.map → esm/InputStateWrapper-BSuXDLge.js.map} +1 -1
  136. package/dist/esm/{InternalUnderlinedBadgeText-BTlxPf6n.js → InternalUnderlinedBadgeText-DlNNod38.js} +1 -1
  137. package/dist/esm/{InternalUnderlinedBadgeText-BTlxPf6n.js.map → InternalUnderlinedBadgeText-DlNNod38.js.map} +1 -1
  138. package/dist/esm/{Span-CLrfUTlO.js → Span-BX5FGBRq.js} +1 -1
  139. package/dist/{kolibri/Span-CLrfUTlO.js.map → esm/Span-BX5FGBRq.js.map} +1 -1
  140. package/dist/esm/{app-globals-Bb7SxAXn.js → app-globals-CUNGBuzr.js} +1 -1
  141. package/dist/esm/{app-globals-Bb7SxAXn.js.map → app-globals-CUNGBuzr.js.map} +1 -1
  142. package/dist/esm/{controller-DiV1ch6R.js → controller-BdbCRmeK.js} +1 -1
  143. package/dist/esm/{controller-DiV1ch6R.js.map → controller-BdbCRmeK.js.map} +1 -1
  144. package/dist/esm/{controller-DwYQijEB.js → controller-CSzEePpT.js} +1 -1
  145. package/dist/{kolibri/controller-DwYQijEB.js.map → esm/controller-CSzEePpT.js.map} +1 -1
  146. package/dist/esm/{controller-Cz0hl43b.js → controller-DPjDdojl.js} +1 -1
  147. package/dist/esm/{controller-Cz0hl43b.js.map → controller-DPjDdojl.js.map} +1 -1
  148. package/dist/esm/{controller-icon-D8NyK7bc.js → controller-icon-BunGMkek.js} +1 -1
  149. package/dist/esm/{controller-icon-D8NyK7bc.js.map → controller-icon-BunGMkek.js.map} +1 -1
  150. package/dist/esm/{dev.utils-B25txGhq.js → dev.utils-DkpEPqJb.js} +1 -1
  151. package/dist/{kolibri/dev.utils-B25txGhq.js.map → esm/dev.utils-DkpEPqJb.js.map} +1 -1
  152. package/dist/esm/{devtools-DiehHGXn.js → devtools-CXclGffW.js} +1 -1
  153. package/dist/{kolibri/devtools-DiehHGXn.js.map → esm/devtools-CXclGffW.js.map} +1 -1
  154. package/dist/esm/index-CuRbHMox.js +4 -0
  155. package/dist/esm/index-CuRbHMox.js.map +1 -0
  156. package/dist/esm/kol-abbr.entry.js +1 -1
  157. package/dist/esm/kol-accordion.entry.js +1 -1
  158. package/dist/esm/kol-alert-wc.entry.js +1 -1
  159. package/dist/esm/kol-alert.entry.js +1 -1
  160. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  161. package/dist/esm/kol-avatar.entry.js +1 -1
  162. package/dist/esm/kol-badge.entry.js +1 -1
  163. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  164. package/dist/esm/kol-button-link.entry.js +1 -1
  165. package/dist/esm/kol-button-wc.entry.js +1 -1
  166. package/dist/esm/kol-button.entry.js +1 -1
  167. package/dist/esm/kol-card-wc.entry.js +1 -1
  168. package/dist/esm/kol-card.entry.js +1 -1
  169. package/dist/esm/kol-combobox.entry.js +1 -1
  170. package/dist/esm/kol-details.entry.js +1 -1
  171. package/dist/esm/kol-drawer.entry.js +1 -1
  172. package/dist/esm/kol-form.entry.js +1 -1
  173. package/dist/esm/kol-heading.entry.js +1 -1
  174. package/dist/esm/kol-icon.entry.js +1 -1
  175. package/dist/esm/kol-image.entry.js +1 -1
  176. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  177. package/dist/esm/kol-input-color.entry.js +1 -1
  178. package/dist/esm/kol-input-date.entry.js +1 -1
  179. package/dist/esm/kol-input-email.entry.js +1 -1
  180. package/dist/esm/kol-input-file.entry.js +1 -1
  181. package/dist/esm/kol-input-number.entry.js +1 -1
  182. package/dist/esm/kol-input-password.entry.js +1 -1
  183. package/dist/esm/kol-input-radio.entry.js +1 -1
  184. package/dist/esm/kol-input-range.entry.js +1 -1
  185. package/dist/esm/kol-input-text.entry.js +1 -1
  186. package/dist/esm/kol-kolibri.entry.js +1 -1
  187. package/dist/esm/kol-link-button.entry.js +1 -1
  188. package/dist/esm/kol-link-wc.entry.js +1 -1
  189. package/dist/esm/kol-link.entry.js +1 -1
  190. package/dist/esm/kol-modal.entry.js +1 -1
  191. package/dist/esm/kol-nav.entry.js +1 -1
  192. package/dist/esm/kol-pagination-wc.entry.js +1 -1
  193. package/dist/esm/kol-pagination.entry.js +1 -1
  194. package/dist/esm/kol-popover-button-wc.entry.js +1 -1
  195. package/dist/esm/kol-popover-button.entry.js +1 -1
  196. package/dist/esm/kol-popover-wc.entry.js +1 -1
  197. package/dist/esm/kol-progress.entry.js +1 -1
  198. package/dist/esm/kol-quote.entry.js +1 -1
  199. package/dist/esm/kol-select.entry.js +1 -1
  200. package/dist/esm/kol-single-select.entry.js +1 -1
  201. package/dist/esm/kol-skip-nav.entry.js +1 -1
  202. package/dist/esm/kol-spin.entry.js +1 -1
  203. package/dist/esm/kol-split-button.entry.js +1 -1
  204. package/dist/esm/kol-table-settings-wc.entry.js +1 -1
  205. package/dist/esm/kol-table-stateful.entry.js +1 -1
  206. package/dist/esm/kol-table-stateful.entry.js.map +1 -1
  207. package/dist/esm/kol-table-stateless-wc.entry.js +1 -1
  208. package/dist/esm/kol-table-stateless-wc.entry.js.map +1 -1
  209. package/dist/esm/kol-table-stateless.entry.js +1 -1
  210. package/dist/esm/kol-table-stateless.entry.js.map +1 -1
  211. package/dist/esm/kol-tabs.entry.js +1 -1
  212. package/dist/esm/kol-textarea.entry.js +1 -1
  213. package/dist/esm/kol-toast-container.entry.js +1 -1
  214. package/dist/esm/kol-toolbar.entry.js +1 -1
  215. package/dist/esm/kol-tooltip-wc.entry.js +1 -1
  216. package/dist/esm/kol-tree-item-wc.entry.js +1 -1
  217. package/dist/esm/kol-tree-item.entry.js +1 -1
  218. package/dist/esm/kol-tree-wc.entry.js +1 -1
  219. package/dist/esm/kol-tree.entry.js +1 -1
  220. package/dist/esm/kol-version.entry.js +1 -1
  221. package/dist/esm/kolibri.js +1 -1
  222. package/dist/esm/loader.js +1 -1
  223. package/dist/esm/test-component.entry.js +1 -1
  224. package/dist/kolibri/{Alert-CTk_PNsB.js → Alert-BDx1u40I.js} +1 -1
  225. package/dist/{esm/Alert-CTk_PNsB.js.map → kolibri/Alert-BDx1u40I.js.map} +1 -1
  226. package/dist/kolibri/Collapsible-BVHowVxs.js +4 -0
  227. package/dist/kolibri/{Collapsible-C17ZrcR4.js.map → Collapsible-BVHowVxs.js.map} +1 -1
  228. package/dist/kolibri/{CustomSuggestionsToggle-DlW7BYA_.js → CustomSuggestionsToggle-B3tvLP2v.js} +1 -1
  229. package/dist/{esm/CustomSuggestionsToggle-DlW7BYA_.js.map → kolibri/CustomSuggestionsToggle-B3tvLP2v.js.map} +1 -1
  230. package/dist/kolibri/{FieldControlStateWrapper-Bvn5yK_i.js → FieldControlStateWrapper-BpSEIOuI.js} +1 -1
  231. package/dist/{esm/FieldControlStateWrapper-Bvn5yK_i.js.map → kolibri/FieldControlStateWrapper-BpSEIOuI.js.map} +1 -1
  232. package/dist/kolibri/{FormFieldStateWrapper-j7e0a3Oe.js → FormFieldStateWrapper-BaUJkKkj.js} +1 -1
  233. package/dist/kolibri/{FormFieldStateWrapper-j7e0a3Oe.js.map → FormFieldStateWrapper-BaUJkKkj.js.map} +1 -1
  234. package/dist/kolibri/{Heading-CdL171uD.js → Heading-DjO0rS4X.js} +1 -1
  235. package/dist/{esm/Heading-CdL171uD.js.map → kolibri/Heading-DjO0rS4X.js.map} +1 -1
  236. package/dist/kolibri/Icon-BI4MKvDM.js +4 -0
  237. package/dist/kolibri/{Icon-BFZ6Qv6o.js.map → Icon-BI4MKvDM.js.map} +1 -1
  238. package/dist/kolibri/Input-DgMgOuZb.js +4 -0
  239. package/dist/{esm/Input-DnQOLdqt.js.map → kolibri/Input-DgMgOuZb.js.map} +1 -1
  240. package/dist/kolibri/{InputStateWrapper-uyLppe6O.js → InputStateWrapper-BSuXDLge.js} +1 -1
  241. package/dist/{esm/InputStateWrapper-uyLppe6O.js.map → kolibri/InputStateWrapper-BSuXDLge.js.map} +1 -1
  242. package/dist/kolibri/InternalUnderlinedBadgeText-DlNNod38.js +4 -0
  243. package/dist/kolibri/{InternalUnderlinedBadgeText-BTlxPf6n.js.map → InternalUnderlinedBadgeText-DlNNod38.js.map} +1 -1
  244. package/dist/kolibri/{Span-CLrfUTlO.js → Span-BX5FGBRq.js} +1 -1
  245. package/dist/{esm/Span-CLrfUTlO.js.map → kolibri/Span-BX5FGBRq.js.map} +1 -1
  246. package/dist/kolibri/app-globals-CUNGBuzr.js +4 -0
  247. package/dist/kolibri/{app-globals-Bb7SxAXn.js.map → app-globals-CUNGBuzr.js.map} +1 -1
  248. package/dist/kolibri/assets/codicons/LICENSE +394 -394
  249. package/dist/kolibri/assets/codicons/LICENSE-CODE +21 -21
  250. package/dist/kolibri/{controller-DiV1ch6R.js → controller-BdbCRmeK.js} +1 -1
  251. package/dist/kolibri/{controller-DiV1ch6R.js.map → controller-BdbCRmeK.js.map} +1 -1
  252. package/dist/kolibri/{controller-DwYQijEB.js → controller-CSzEePpT.js} +1 -1
  253. package/dist/{esm/controller-DwYQijEB.js.map → kolibri/controller-CSzEePpT.js.map} +1 -1
  254. package/dist/kolibri/{controller-Cz0hl43b.js → controller-DPjDdojl.js} +1 -1
  255. package/dist/kolibri/{controller-Cz0hl43b.js.map → controller-DPjDdojl.js.map} +1 -1
  256. package/dist/kolibri/{controller-icon-D8NyK7bc.js → controller-icon-BunGMkek.js} +1 -1
  257. package/dist/kolibri/{controller-icon-D8NyK7bc.js.map → controller-icon-BunGMkek.js.map} +1 -1
  258. package/dist/kolibri/{dev.utils-B25txGhq.js → dev.utils-DkpEPqJb.js} +1 -1
  259. package/dist/{esm/dev.utils-B25txGhq.js.map → kolibri/dev.utils-DkpEPqJb.js.map} +1 -1
  260. package/dist/kolibri/{devtools-DiehHGXn.js → devtools-CXclGffW.js} +1 -1
  261. package/dist/{esm/devtools-DiehHGXn.js.map → kolibri/devtools-CXclGffW.js.map} +1 -1
  262. package/dist/kolibri/{index-BwHVuv1c.js → index-CuRbHMox.js} +1 -1
  263. package/dist/kolibri/index-CuRbHMox.js.map +1 -0
  264. package/dist/kolibri/kol-abbr.entry.js +1 -1
  265. package/dist/kolibri/kol-accordion.entry.js +1 -1
  266. package/dist/kolibri/kol-alert-wc.entry.js +1 -1
  267. package/dist/kolibri/kol-alert.entry.js +1 -1
  268. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  269. package/dist/kolibri/kol-avatar.entry.js +1 -1
  270. package/dist/kolibri/kol-badge.entry.js +1 -1
  271. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  272. package/dist/kolibri/kol-button-link.entry.js +1 -1
  273. package/dist/kolibri/kol-button-wc.entry.js +1 -1
  274. package/dist/kolibri/kol-button.entry.js +1 -1
  275. package/dist/kolibri/kol-card-wc.entry.js +1 -1
  276. package/dist/kolibri/kol-card.entry.js +1 -1
  277. package/dist/kolibri/kol-combobox.entry.js +1 -1
  278. package/dist/kolibri/kol-details.entry.js +1 -1
  279. package/dist/kolibri/kol-drawer.entry.js +1 -1
  280. package/dist/kolibri/kol-form.entry.js +1 -1
  281. package/dist/kolibri/kol-heading.entry.js +1 -1
  282. package/dist/kolibri/kol-icon.entry.js +1 -1
  283. package/dist/kolibri/kol-image.entry.js +1 -1
  284. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  285. package/dist/kolibri/kol-input-color.entry.js +1 -1
  286. package/dist/kolibri/kol-input-date.entry.js +1 -1
  287. package/dist/kolibri/kol-input-email.entry.js +1 -1
  288. package/dist/kolibri/kol-input-file.entry.js +1 -1
  289. package/dist/kolibri/kol-input-number.entry.js +1 -1
  290. package/dist/kolibri/kol-input-password.entry.js +1 -1
  291. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  292. package/dist/kolibri/kol-input-range.entry.js +1 -1
  293. package/dist/kolibri/kol-input-text.entry.js +1 -1
  294. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  295. package/dist/kolibri/kol-link-button.entry.js +1 -1
  296. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  297. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  298. package/dist/kolibri/kol-link.entry.js +1 -1
  299. package/dist/kolibri/kol-modal.entry.js +1 -1
  300. package/dist/kolibri/kol-nav.entry.js +1 -1
  301. package/dist/kolibri/kol-pagination-wc.entry.js +1 -1
  302. package/dist/kolibri/kol-pagination.entry.js +1 -1
  303. package/dist/kolibri/kol-popover-button-wc.entry.js +1 -1
  304. package/dist/kolibri/kol-popover-button.entry.js +1 -1
  305. package/dist/kolibri/kol-popover-wc.entry.js +1 -1
  306. package/dist/kolibri/kol-progress.entry.js +1 -1
  307. package/dist/kolibri/kol-quote.entry.js +1 -1
  308. package/dist/kolibri/kol-select.entry.js +1 -1
  309. package/dist/kolibri/kol-single-select.entry.js +1 -1
  310. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  311. package/dist/kolibri/kol-spin.entry.js +1 -1
  312. package/dist/kolibri/kol-split-button.entry.js +1 -1
  313. package/dist/kolibri/kol-table-settings-wc.entry.js +1 -1
  314. package/dist/kolibri/kol-table-stateful.entry.esm.js.map +1 -1
  315. package/dist/kolibri/kol-table-stateful.entry.js +1 -1
  316. package/dist/kolibri/kol-table-stateful.entry.js.map +1 -1
  317. package/dist/kolibri/kol-table-stateless-wc.entry.esm.js.map +1 -1
  318. package/dist/kolibri/kol-table-stateless-wc.entry.js +1 -1
  319. package/dist/kolibri/kol-table-stateless-wc.entry.js.map +1 -1
  320. package/dist/kolibri/kol-table-stateless.entry.esm.js.map +1 -1
  321. package/dist/kolibri/kol-table-stateless.entry.js +1 -1
  322. package/dist/kolibri/kol-table-stateless.entry.js.map +1 -1
  323. package/dist/kolibri/kol-tabs.entry.js +1 -1
  324. package/dist/kolibri/kol-textarea.entry.js +1 -1
  325. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  326. package/dist/kolibri/kol-toolbar.entry.js +1 -1
  327. package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
  328. package/dist/kolibri/kol-tree-item-wc.entry.js +1 -1
  329. package/dist/kolibri/kol-tree-item.entry.js +1 -1
  330. package/dist/kolibri/kol-tree-wc.entry.js +1 -1
  331. package/dist/kolibri/kol-tree.entry.js +1 -1
  332. package/dist/kolibri/kol-version.entry.js +1 -1
  333. package/dist/kolibri/kolibri.esm.js +1 -1
  334. package/dist/kolibri/test-component.entry.js +1 -1
  335. package/package.json +1 -1
  336. package/dist/cjs/Icon-BXx6hmOf.js +0 -4
  337. package/dist/cjs/index-BHqiFoBU.js +0 -4
  338. package/dist/cjs/index-BHqiFoBU.js.map +0 -1
  339. package/dist/esm/index-BwHVuv1c.js +0 -4
  340. package/dist/esm/index-BwHVuv1c.js.map +0 -1
  341. package/dist/kolibri/Collapsible-C17ZrcR4.js +0 -4
  342. package/dist/kolibri/Icon-BFZ6Qv6o.js +0 -4
  343. package/dist/kolibri/Input-DnQOLdqt.js +0 -4
  344. package/dist/kolibri/InternalUnderlinedBadgeText-BTlxPf6n.js +0 -4
  345. package/dist/kolibri/app-globals-Bb7SxAXn.js +0 -4
  346. package/dist/kolibri/index-BwHVuv1c.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["validateAllowMultiSort","component","value","options","watchBoolean","Object","assign","defaultValue","paginationPositionPropTypeOptions","validatePaginationPosition","watchValidator","includes","Set","join","defaultStyleCss","PAGINATION_OPTIONS","paginationValidator","KolTableStateful","constructor","hostRef","this","catchRef","ref","tableWcRef","sortData","showPagination","pageStartSlice","pageEndSlice","disableSort","_paginationPosition","state","_allowMultiSort","_data","_dataFoot","_headers","horizontal","vertical","_label","_minWidth","_pagination","_page","_pageSize","_max","_sortedData","handlePagination","onClick","event","page","_a","_on","setState","onChangePage","onChangePageSize","pageSize","onSelectionChange","stopPropagation","updateSortedData","sortedData","length","sort","a","b","index","data","result","compareFn","direction","validateData","validateTableData","afterPatch","setTimeout","validateDataFoot","validateTableDataFoot","changeCellSort","headerCell","key","findIndex","settings","splice","push","label","validateHeaders","emptyStringByArrayHandler","objectObjectHandler","parseJson","e","hooks","beforePatch","nextValue","applySort","headers","hasSortedCells","forEach","cell","sortDirection","_b","_c","_d","devHint","validateLabel","required","validateMinWidth","watchString","undefined","validateSelection","validateTableSelection","validateOn","validateTableStatefulCallbacks","validateTableSettings","validatePagination","componentDidLoad","addEventListener","KolEvent","selectionChange","disconnectedCallback","removeEventListener","componentWillLoad","_selection","_tableSettings","selectDisplayedData","slice","renderPagination","position","translate","placeholders","h","class","start","toString","end","total","Array","isArray","KolPaginationWcTag","_boundaryCount","_customClass","_pageSizeOptions","_siblingCount","_tooltipAlign","getHeaderCellSortState","find","handleSort","flat","getSelectedData","selectedKeys","selection","keyPropertyName","filter","item","multiple","handleSelectionChange","selectedData","Callback","host","dispatchDomEvent","getSelection","render","displayedData","paginationTop","paginationBottom","headerCells","map","row","_f","_e","column","Host","KolTableStatelessWcTag","_headerCells","onSort","_","payload"],"sources":["src/schema/props/allow-multi-sort.ts","src/schema/props/pagination-position.ts","src/components/table-stateful/style.scss?tag=kol-table-stateful&mode=default&encapsulation=shadow","src/components/table-stateful/shadow.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type { WatchBooleanOptions } from '../utils';\nimport { watchBoolean } from '../utils';\n\n/* types */\nexport type AllowMultiSortPropType = boolean;\n\n/**\n * Defines whether to allow multi sort.\n */\nexport interface PropAllowMultiSort {\n\tallowMultiSort: AllowMultiSortPropType;\n}\n\n/* validator */\nexport const validateAllowMultiSort = (component: Generic.Element.Component, value?: AllowMultiSortPropType, options: WatchBooleanOptions = {}): void => {\n\twatchBoolean(component, '_allowMultiSort', value, { defaultValue: false, ...options });\n};\n","/* types */\nimport type { Generic } from 'adopted-style-sheets';\nimport { watchValidator } from '../utils/prop.validators';\n\nconst paginationPositionPropTypeOptions = ['top', 'bottom', 'both'] as const;\nexport type PaginationPositionPropType = (typeof paginationPositionPropTypeOptions)[number];\n\n/**\n * Defines which position should be used for presentation.\n */\nexport type PropPaginationPosition = {\n\tpaginationPosition: PaginationPositionPropType;\n};\n\n/* validator */\nexport const validatePaginationPosition = (component: Generic.Element.Component, value?: PaginationPositionPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t`_paginationPosition`,\n\t\t(value) => typeof value === 'string' && paginationPositionPropTypeOptions.includes(value),\n\t\tnew Set([`PaginationPositionPropType {${paginationPositionPropTypeOptions.join(', ')}`]),\n\t\tvalue,\n\t\t{\n\t\t\tdefaultValue: 'bottom',\n\t\t},\n\t);\n};\n","@use '../../styles/global' as *;\n@use '../../styles/kol-alert-mixin' as *;\n@use '../@shared/kol-button-mixin' as *;\n@use '../@shared/kol-popover-button-mixin' as *;\n@use '../@shared/kol-table-stateless-mixin' as *;\n@use '../@shared/mixins' as *;\n@use '../@shared/kol-pagination-mixin' as *;\n\n@include kol-alert;\n@include kol-button-styles('kol-button');\n@include kol-popover-button-styles;\n@include kol-table-stateless-styles;\n@include kol-pagination-styles;\n\n@layer kol-component {\n\t.kol-table-stateful {\n\t\t&__pagination,\n\t\t&__pagination-wrapper {\n\t\t\tdisplay: grid;\n\t\t\tplace-items: center;\n\n\t\t\t@media (min-width: 1024px) {\n\t\t\t\tgrid-auto-flow: column;\n\t\t\t}\n\t\t}\n\t}\n\n\t.kol-pagination {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\n\t\t@media (min-width: 1024px) {\n\t\t\tdisplay: flex;\n\t\t}\n\n\t\t@media (max-width: 1024px) {\n\t\t\tflex-direction: column;\n\t\t}\n\t}\n}\n","/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\nimport type { JSX } from '@stencil/core';\nimport { Component, Element, h, Host, Method, Prop, State, Watch } from '@stencil/core';\nimport { KolPaginationWcTag, KolTableStatelessWcTag } from '../../core/component-names';\nimport { translate } from '../../i18n';\nimport type {\n\tKoliBriDataCompareFn,\n\tKoliBriPaginationButtonCallbacks,\n\tKoliBriSortDirection,\n\tKoliBriTableDataType,\n\tKoliBriTableHeaderCellWithLogic,\n\tKoliBriTableHeaders,\n\tKoliBriTablePaginationProps,\n\tLabelPropType,\n\tPaginationPositionPropType,\n\tSortEventPayload,\n\tStringified,\n\tTableAPI,\n\tTableDataFootPropType,\n\tTableDataPropType,\n\tTableHeaderCells,\n\tTableSelectionPropType,\n\tTableStatefulCallbacksPropType,\n\tTableStates,\n} from '../../schema';\nimport {\n\tdevHint,\n\temptyStringByArrayHandler,\n\tobjectObjectHandler,\n\tparseJson,\n\tsetState,\n\tvalidateAllowMultiSort,\n\tvalidateLabel,\n\tvalidatePaginationPosition,\n\tvalidateTableData,\n\tvalidateTableDataFoot,\n\tvalidateTableSelection,\n\tvalidateTableStatefulCallbacks,\n\twatchString,\n\twatchValidator,\n} from '../../schema';\nimport { Callback } from '../../schema/enums';\nimport type { MinWidthPropType } from '../../schema/props/min-width';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\nimport type { TableSettingsPropType } from '../../schema/props/table-settings';\nimport { validateTableSettings } from '../../schema/props/table-settings';\n\nconst PAGINATION_OPTIONS = [10, 20, 50, 100];\n\nconst paginationValidator = (value: unknown) => value === true || value === '' /* true */ || (typeof value === 'object' && value !== null);\n\ntype SortData = {\n\tlabel: string;\n\tkey: string;\n\tcompareFn: KoliBriDataCompareFn;\n\tdirection: KoliBriSortDirection;\n};\n\n@Component({\n\ttag: 'kol-table-stateful',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolTableStateful implements TableAPI {\n\t@Element() private readonly host?: HTMLKolTableStatelessWcElement;\n\tprivate tableWcRef?: HTMLKolTableStatelessWcElement;\n\n\tprivate readonly catchRef = (ref?: HTMLKolTableStatelessWcElement) => {\n\t\tthis.tableWcRef = ref;\n\t};\n\n\tprivate sortData: SortData[] = [];\n\tprivate showPagination = false;\n\tprivate pageStartSlice = 0;\n\tprivate pageEndSlice = 10;\n\tprivate disableSort = false;\n\n\t/**\n\t * Defines whether to allow multi sort.\n\t */\n\t@Prop() public _allowMultiSort?: boolean;\n\n\t/**\n\t * Defines the primary table data.\n\t */\n\t@Prop() public _data!: Stringified<KoliBriTableDataType[]>;\n\n\t/**\n\t * Defines the data for the table footer.\n\t */\n\t@Prop() public _dataFoot?: Stringified<KoliBriTableDataType[]>;\n\n\t/**\n\t * Defines the horizontal and vertical table headers.\n\t */\n\t@Prop() public _headers!: Stringified<KoliBriTableHeaders>;\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 table min-width (CSS width values).\n\t */\n\t@Prop() public _minWidth!: MinWidthPropType;\n\n\t/**\n\t * Defines whether to show the data distributed over multiple pages.\n\t */\n\t@Prop() public _pagination?: boolean | Stringified<KoliBriTablePaginationProps>;\n\t/**\n\t * Controls the position of the pagination.\n\t */\n\t@Prop() public _paginationPosition?: PaginationPositionPropType = 'bottom';\n\t/**\n\t * Defines how rows can be selected and the current selection.\n\t */\n\t@Prop() public _selection?: TableSelectionPropType;\n\t/**\n\t * Defines the callback functions for table events.\n\t */\n\t@Prop() public _on?: TableStatefulCallbacksPropType;\n\n\t/**\n\t * Defines the table settings including column visibility, order and width.\n\t */\n\t@Prop() public _tableSettings?: TableSettingsPropType;\n\n\t@State() public state: TableStates = {\n\t\t_allowMultiSort: false,\n\t\t_data: [],\n\t\t_dataFoot: [],\n\t\t_headers: {\n\t\t\thorizontal: [],\n\t\t\tvertical: [],\n\t\t},\n\t\t_label: '', // ⚠ required\n\t\t_minWidth: 'auto',\n\t\t_pagination: {\n\t\t\t_page: 1,\n\t\t\t_pageSize: 10,\n\t\t\t_max: 0,\n\t\t},\n\t\t_sortedData: [],\n\t\t_paginationPosition: 'bottom',\n\t};\n\n\t@Watch('_allowMultiSort')\n\tpublic validateAllowMultiSort(value?: boolean): void {\n\t\tvalidateAllowMultiSort(this, value, { defaultValue: false });\n\t}\n\n\t@Watch('_data')\n\tpublic validateData(value?: TableDataPropType): void {\n\t\tvalidateTableData(this, value, {\n\t\t\tafterPatch: () => {\n\t\t\t\t// TODO: kein guter Hack (endless loop)\n\t\t\t\tsetTimeout(this.updateSortedData);\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_dataFoot')\n\tpublic validateDataFoot(value?: TableDataFootPropType): void {\n\t\tvalidateTableDataFoot(this, value, {\n\t\t\tafterPatch: () => {\n\t\t\t\tsetTimeout(this.updateSortedData);\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_paginationPosition')\n\tpublic validatePaginationPosition(value?: PaginationPositionPropType): void {\n\t\tvalidatePaginationPosition(this, value);\n\t}\n\n\t/**\n\t * Handles sorting logic for table columns.\n\t * If multi-sort is enabled (`_allowMultiSort`), multiple columns can be sorted at once.\n\t * Otherwise, sorting is cleared when switching between columns.\n\t */\n\tprivate changeCellSort(headerCell: KoliBriTableHeaderCellWithLogic) {\n\t\tif (typeof headerCell.compareFn === 'function') {\n\t\t\tif (!this.state._allowMultiSort && headerCell.key !== this.sortData[0]?.key) {\n\t\t\t\t// clear when another column is sorted and multi sort is not allowed\n\t\t\t\tthis.sortData = [];\n\t\t\t}\n\n\t\t\tconst index = this.sortData.findIndex((value) => value.key === headerCell.key);\n\t\t\tif (index >= 0) {\n\t\t\t\tconst settings = this.sortData[index];\n\t\t\t\tswitch (settings.direction) {\n\t\t\t\t\tcase 'ASC':\n\t\t\t\t\t\tsettings.direction = 'DESC';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'DESC':\n\t\t\t\t\t\tthis.sortData.splice(index, 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsettings.direction = 'ASC';\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (headerCell.key) {\n\t\t\t\tthis.sortData.push({\n\t\t\t\t\tlabel: headerCell.label,\n\t\t\t\t\tkey: headerCell.key,\n\t\t\t\t\tcompareFn: headerCell.compareFn,\n\t\t\t\t\tdirection: 'ASC',\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.updateSortedData();\n\t\t}\n\t}\n\n\t@Watch('_headers')\n\tpublic validateHeaders(value?: Stringified<KoliBriTableHeaders>): void {\n\t\t/**\n\t\t * - es darf maximal ein Header als primary markiert werden (last win)\n\t\t * - der primary-Header entscheidet implizit über _order und _orientation\n\t\t * - primary-Headers müssen das key-Property setzen\n\t\t * - nicht primary-Headers müssen das key-Property nicht setzen (wird ignoriert)\n\t\t * - _order: wird durch den primary-Header geregelt\n\t\t * - _orientation: wird durch den primary-Header geregelt\n\t\t * - sobald ein Header sortierbar ist, darf es nur noch entweder horizontale\n\t\t * oder vertikale Header geben, aber nicht mehr beides\n\t\t */\n\t\temptyStringByArrayHandler(value, () => {\n\t\t\tobjectObjectHandler(value, () => {\n\t\t\t\ttry {\n\t\t\t\t\tvalue = parseJson<KoliBriTableHeaders>(value);\n\t\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t\t}\n\t\t\t\twatchValidator(this, '_headers', (value): boolean => typeof value === 'object' && value !== null, new Set(['KoliBriTableHeaders']), value, {\n\t\t\t\t\thooks: {\n\t\t\t\t\t\tbeforePatch: (nextValue: unknown) => {\n\t\t\t\t\t\t\tconst applySort = (headers: KoliBriTableHeaderCellWithLogic[]) => {\n\t\t\t\t\t\t\t\tlet hasSortedCells = false;\n\t\t\t\t\t\t\t\theaders.forEach((cell) => {\n\t\t\t\t\t\t\t\t\tconst key = cell.key;\n\t\t\t\t\t\t\t\t\tif (!key) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tconst sortDirection = cell.sortDirection;\n\t\t\t\t\t\t\t\t\tif (sortDirection === 'ASC' || sortDirection === 'DESC') {\n\t\t\t\t\t\t\t\t\t\tif (typeof cell.compareFn === 'function') {\n\t\t\t\t\t\t\t\t\t\t\tif (this.state._allowMultiSort || this.sortData.length === 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.sortData.push({ label: cell.label, key, compareFn: cell.compareFn, direction: sortDirection });\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\thasSortedCells = true;\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\tif (hasSortedCells) {\n\t\t\t\t\t\t\t\t\tsetTimeout(() => this.updateSortedData());\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tconst headers: KoliBriTableHeaders = nextValue as KoliBriTableHeaders;\n\t\t\t\t\t\t\theaders.horizontal?.forEach(applySort);\n\t\t\t\t\t\t\theaders.vertical?.forEach(applySort);\n\n\t\t\t\t\t\t\tif (headers.horizontal && headers.vertical && headers.horizontal?.length > 0 && headers.vertical?.length > 0) {\n\t\t\t\t\t\t\t\tthis.disableSort = true;\n\t\t\t\t\t\t\t\tdevHint(\n\t\t\t\t\t\t\t\t\t`Table: You can not sort the table data, if horizontal and vertical headers are defined at the same time. (https://github.com/public-ui/kolibri/issues/2372)`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\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\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('_minWidth')\n\tpublic validateMinWidth(value?: string): void {\n\t\twatchString(this, '_minWidth', value, {\n\t\t\tdefaultValue: undefined,\n\t\t});\n\t}\n\n\t@Watch('_selection')\n\tpublic validateSelection(value?: TableSelectionPropType): void {\n\t\tvalidateTableSelection(this, value);\n\t}\n\t@Watch('_on')\n\tpublic validateOn(value?: TableStatefulCallbacksPropType): void {\n\t\tvalidateTableStatefulCallbacks(this, value);\n\t}\n\n\t@Watch('_tableSettings')\n\tpublic validateTableSettings(value?: TableSettingsPropType): void {\n\t\tvalidateTableSettings(this, value);\n\t}\n\n\tprivate readonly handlePagination: KoliBriPaginationButtonCallbacks = {\n\t\tonClick: (event: Event, page: number) => {\n\t\t\tif (typeof this.state._pagination._on?.onClick === 'function') {\n\t\t\t\tthis.state._pagination._on.onClick(event, page);\n\t\t\t}\n\t\t\tsetState(this, '_pagination', {\n\t\t\t\t...this.state._pagination,\n\t\t\t\t_page: page,\n\t\t\t});\n\t\t},\n\t\tonChangePage: (event: Event, page: number) => {\n\t\t\tif (typeof this.state._pagination._on?.onChangePage === 'function') {\n\t\t\t\tthis.state._pagination._on.onChangePage(event, page);\n\t\t\t}\n\t\t\tsetState(this, '_pagination', {\n\t\t\t\t...this.state._pagination,\n\t\t\t\t_page: page,\n\t\t\t});\n\t\t},\n\t\tonChangePageSize: (event: Event, pageSize: number) => {\n\t\t\tif (typeof this.state._pagination._on?.onChangePageSize === 'function') {\n\t\t\t\tthis.state._pagination._on.onChangePageSize(event, pageSize);\n\t\t\t}\n\t\t\tsetState(this, '_pagination', {\n\t\t\t\t...this.state._pagination,\n\t\t\t\t_pageSize: pageSize,\n\t\t\t});\n\t\t\tsetState(this, '_pageSize', pageSize);\n\t\t},\n\t};\n\n\t@Watch('_pagination')\n\tpublic validatePagination(value?: boolean | Stringified<KoliBriTablePaginationProps>): void {\n\t\ttry {\n\t\t\tvalue = parseJson<boolean | KoliBriTablePaginationProps>(value);\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch (e) {\n\t\t\t// value behält den ursprünglichen Wert\n\t\t}\n\n\t\tthis.showPagination = paginationValidator(value);\n\n\t\twatchValidator<boolean | Stringified<KoliBriTablePaginationProps>>(\n\t\t\tthis,\n\t\t\t'_pagination',\n\t\t\tpaginationValidator,\n\t\t\tnew Set(['boolean', 'KoliBriTablePagination']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: {\n\t\t\t\t\t_page: 1,\n\t\t\t\t\t_pageSize: 10,\n\t\t\t\t\t_max: 0,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t}\n\n\tprivate onSelectionChange = (event: Event): void => {\n\t\t/* Stop propagation for selectionChange event from table-stateless component because table-stateful emits its own selectionChange event. */\n\t\tevent.stopPropagation();\n\t};\n\n\tpublic componentDidLoad(): void {\n\t\tthis.tableWcRef?.addEventListener(KolEvent.selectionChange, this.onSelectionChange);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.tableWcRef?.removeEventListener(KolEvent.selectionChange, this.onSelectionChange);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAllowMultiSort(this._allowMultiSort);\n\t\tthis.validateData(this._data);\n\t\tthis.validateDataFoot(this._dataFoot);\n\t\tthis.validateHeaders(this._headers);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateMinWidth(this._minWidth);\n\t\tthis.validateOn(this._on);\n\t\tthis.validatePagination(this._pagination);\n\t\tthis.validatePaginationPosition(this._paginationPosition);\n\t\tthis.validateSelection(this._selection);\n\t\tthis.validateTableSettings(this._tableSettings);\n\t}\n\n\tprivate selectDisplayedData(data: KoliBriTableDataType[], pageSize: number, page: number): KoliBriTableDataType[] {\n\t\tif (typeof pageSize === 'number' && pageSize > 0 && typeof page === 'number' && page > 0) {\n\t\t\tthis.pageStartSlice = pageSize * (page - 1);\n\t\t\tthis.pageEndSlice = pageSize * page > data.length ? data.length : pageSize * page;\n\t\t\treturn data.slice(this.pageStartSlice, this.pageEndSlice);\n\t\t} else {\n\t\t\tthis.pageStartSlice = 0;\n\t\t\tthis.pageEndSlice = data.length;\n\t\t\treturn data;\n\t\t}\n\t}\n\n\tprivate updateSortedData = () => {\n\t\tif (this.disableSort) {\n\t\t\tsetState(this, '_sortedData', this.state._data);\n\t\t\treturn;\n\t\t}\n\n\t\tconst sortedData: KoliBriTableDataType[] = [...this.state._data];\n\t\tif (this.sortData.length > 0) {\n\t\t\tsortedData.sort((a: KoliBriTableDataType, b: KoliBriTableDataType) => {\n\t\t\t\tfor (let index = 0; index < this.sortData.length; index++) {\n\t\t\t\t\tconst data = this.sortData[index];\n\t\t\t\t\tconst result = data.compareFn(a, b);\n\t\t\t\t\tif (result !== 0) {\n\t\t\t\t\t\treturn data.direction === 'ASC' ? result : -result;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t});\n\t\t}\n\t\tsetState(this, '_sortedData', sortedData);\n\t};\n\n\t/**\n\t * Renders the pagination controls for the table, showing the current visible data range\n\t * and providing navigation between different pages.\n\t *\n\t * @returns {JSX.Element} The rendered pagination controls including page range and navigation.\n\t */\n\tprivate renderPagination(position: 'top' | 'bottom'): JSX.Element {\n\t\tconst label = translate('kol-table-pagination-label', {\n\t\t\tplaceholders: {\n\t\t\t\tlabel: `${this.state._label} (${translate(`kol-pagination-position-${position}`)})`,\n\t\t\t},\n\t\t});\n\t\treturn (\n\t\t\t<div class={`kol-table-stateful__pagination kol-table-stateful__pagination--${this.state._paginationPosition}`}>\n\t\t\t\t<span>\n\t\t\t\t\t{translate('kol-table-visible-range', {\n\t\t\t\t\t\tplaceholders: {\n\t\t\t\t\t\t\tstart: this.pageEndSlice > 0 ? (this.pageStartSlice + 1).toString() : '0',\n\t\t\t\t\t\t\tend: this.pageEndSlice.toString(),\n\t\t\t\t\t\t\ttotal:\n\t\t\t\t\t\t\t\tthis.state._pagination && this.state._pagination._max > 0\n\t\t\t\t\t\t\t\t\t? this.state._pagination._max.toString()\n\t\t\t\t\t\t\t\t\t: Array.isArray(this.state._data)\n\t\t\t\t\t\t\t\t\t\t? this.state._data.length.toString()\n\t\t\t\t\t\t\t\t\t\t: '0',\n\t\t\t\t\t\t},\n\t\t\t\t\t})}\n\t\t\t\t</span>\n\t\t\t\t<div class=\"kol-table-stateful__pagination-wrapper\">\n\t\t\t\t\t<KolPaginationWcTag\n\t\t\t\t\t\tclass=\"test\"\n\t\t\t\t\t\t_boundaryCount={this.state._pagination._boundaryCount}\n\t\t\t\t\t\t_customClass={this.state._pagination._customClass}\n\t\t\t\t\t\t_on={this.handlePagination}\n\t\t\t\t\t\t_page={this.state._pagination._page}\n\t\t\t\t\t\t_pageSize={this.state._pagination._pageSize}\n\t\t\t\t\t\t_pageSizeOptions={this.state._pagination._pageSizeOptions || PAGINATION_OPTIONS}\n\t\t\t\t\t\t_siblingCount={this.state._pagination._siblingCount}\n\t\t\t\t\t\t_tooltipAlign=\"bottom\"\n\t\t\t\t\t\t_max={this.state._pagination._max || this.state._pagination._max || this.state._data.length}\n\t\t\t\t\t\t_label={label}\n\t\t\t\t\t></KolPaginationWcTag>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate getHeaderCellSortState(headerCell: KoliBriTableHeaderCellWithLogic): KoliBriSortDirection | undefined {\n\t\tif (!this.disableSort && typeof headerCell.compareFn === 'function') {\n\t\t\tif (headerCell.key) {\n\t\t\t\tconst data = this.sortData.find((value) => value.key === headerCell.key);\n\t\t\t\tif (data?.direction) {\n\t\t\t\t\treturn data.direction;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn 'NOS';\n\t\t}\n\t}\n\n\tprivate handleSort({ key }: SortEventPayload) {\n\t\tconst headerCell = [...(this.state._headers.horizontal || []).flat(), ...(this.state._headers.vertical || []).flat()].find((cell) => cell.key === key);\n\t\tif (headerCell) {\n\t\t\tthis.changeCellSort(headerCell);\n\t\t}\n\t}\n\n\tprivate getSelectedData(selectedKeys: string[] | string): null | KoliBriTableDataType | KoliBriTableDataType[] {\n\t\tconst selection = this.state._selection;\n\t\tif (selection) {\n\t\t\tconst keyPropertyName = selection.keyPropertyName ?? 'id';\n\t\t\tconst data = this.state._sortedData.filter((item) => selectedKeys.includes(item[keyPropertyName] as string));\n\t\t\tif (selection?.multiple === false) {\n\t\t\t\treturn data[0];\n\t\t\t}\n\n\t\t\tif (keyPropertyName) return data;\n\t\t}\n\t\treturn null;\n\t}\n\tprivate handleSelectionChange(event: Event, value: string[] | string): void {\n\t\tconst selection = this.state._selection;\n\t\tif (selection)\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_selection: {\n\t\t\t\t\t...selection,\n\t\t\t\t\tselectedKeys: typeof value === 'object' ? value : [value],\n\t\t\t\t},\n\t\t\t};\n\t\tconst selectedData = this.getSelectedData(value);\n\n\t\tif (typeof this.state._on?.[Callback.onSelectionChange] === 'function') {\n\t\t\tthis.state._on[Callback.onSelectionChange](event, selectedData);\n\t\t}\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.selectionChange, selectedData);\n\t\t}\n\t}\n\n\t/**\n\t * Returns the selected rows.\n\t */\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async getSelection(): Promise<KoliBriTableDataType[] | KoliBriTableDataType | null> {\n\t\tconst selectedKeys: string[] = this.state._selection?.selectedKeys || [];\n\t\treturn this.getSelectedData(selectedKeys);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tconst displayedData: KoliBriTableDataType[] = this.selectDisplayedData(\n\t\t\tthis.state._sortedData,\n\t\t\tthis.showPagination ? (this.state._pagination?._pageSize ?? 10) : this.state._sortedData.length,\n\t\t\tthis.state._pagination._page || 1,\n\t\t);\n\t\tconst paginationTop = this._paginationPosition === 'top' || this._paginationPosition === 'both' ? this.renderPagination('top') : null;\n\t\tconst paginationBottom = this._paginationPosition === 'bottom' || this._paginationPosition === 'both' ? this.renderPagination('bottom') : null;\n\n\t\tconst headerCells: TableHeaderCells = {\n\t\t\thorizontal: this.state._headers.horizontal?.map((row) => row.map((cell) => ({ ...cell, sortDirection: this.getHeaderCellSortState(cell) }))) ?? [],\n\t\t\tvertical: this.state._headers.vertical?.map((column) => column.map((cell) => ({ ...cell, sortDirection: this.getHeaderCellSortState(cell) }))) ?? [],\n\t\t};\n\t\treturn (\n\t\t\t<Host class=\"kol-table-stateful\">\n\t\t\t\t{this.pageEndSlice > 0 && this.showPagination && paginationTop}\n\t\t\t\t<KolTableStatelessWcTag\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t_data={displayedData}\n\t\t\t\t\t_headerCells={headerCells}\n\t\t\t\t\t_label={this.state._label}\n\t\t\t\t\t_dataFoot={this.state._dataFoot}\n\t\t\t\t\t_minWidth={this.state._minWidth}\n\t\t\t\t\t_on={{\n\t\t\t\t\t\tonSort: (_: MouseEvent, payload: SortEventPayload) => {\n\t\t\t\t\t\t\tthis.handleSort(payload);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonSelectionChange: (event: Event, value: string[] | string) => {\n\t\t\t\t\t\t\tthis.handleSelectionChange(event, value);\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\t_selection={this.state._selection}\n\t\t\t\t\t_tableSettings={this.state._tableSettings}\n\t\t\t\t/>\n\t\t\t\t{this.pageEndSlice > 0 && this.showPagination && paginationBottom}\n\t\t\t</Host>\n\t\t);\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["validateAllowMultiSort","component","value","options","watchBoolean","Object","assign","defaultValue","paginationPositionPropTypeOptions","validatePaginationPosition","watchValidator","includes","Set","join","defaultStyleCss","PAGINATION_OPTIONS","paginationValidator","KolTableStateful","constructor","hostRef","this","catchRef","ref","tableWcRef","sortData","showPagination","pageStartSlice","pageEndSlice","disableSort","_paginationPosition","state","_allowMultiSort","_data","_dataFoot","_headers","horizontal","vertical","_label","_minWidth","_pagination","_page","_pageSize","_max","_sortedData","handlePagination","onClick","event","page","_a","_on","setState","onChangePage","onChangePageSize","pageSize","onSelectionChange","stopPropagation","updateSortedData","sortedData","length","sort","a","b","index","data","result","compareFn","direction","validateData","validateTableData","afterPatch","setTimeout","validateDataFoot","validateTableDataFoot","changeCellSort","headerCell","key","findIndex","settings","splice","push","label","validateHeaders","emptyStringByArrayHandler","objectObjectHandler","parseJson","e","hooks","beforePatch","nextValue","applySort","headers","hasSortedCells","forEach","cell","sortDirection","_b","_c","_d","devHint","validateLabel","required","validateMinWidth","watchString","undefined","validateSelection","validateTableSelection","validateOn","validateTableStatefulCallbacks","validateTableSettings","validatePagination","componentDidLoad","addEventListener","KolEvent","selectionChange","disconnectedCallback","removeEventListener","componentWillLoad","_selection","_tableSettings","selectDisplayedData","slice","renderPagination","position","translate","placeholders","h","class","start","toString","end","total","Array","isArray","KolPaginationWcTag","_boundaryCount","_customClass","_pageSizeOptions","_siblingCount","_tooltipAlign","getHeaderCellSortState","find","handleSort","flat","getSelectedData","selectedKeys","selection","keyPropertyName","filter","item","multiple","handleSelectionChange","selectedData","Callback","host","dispatchDomEvent","getSelection","render","displayedData","paginationTop","paginationBottom","headerCells","map","row","_f","_e","column","Host","KolTableStatelessWcTag","_headerCells","onSort","_","payload"],"sources":["src/schema/props/allow-multi-sort.ts","src/schema/props/pagination-position.ts","src/components/table-stateful/style.scss?tag=kol-table-stateful&mode=default&encapsulation=shadow","src/components/table-stateful/shadow.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type { WatchBooleanOptions } from '../utils';\nimport { watchBoolean } from '../utils';\n\n/* types */\nexport type AllowMultiSortPropType = boolean;\n\n/**\n * Defines whether to allow multi sort.\n */\nexport interface PropAllowMultiSort {\n\tallowMultiSort: AllowMultiSortPropType;\n}\n\n/* validator */\nexport const validateAllowMultiSort = (component: Generic.Element.Component, value?: AllowMultiSortPropType, options: WatchBooleanOptions = {}): void => {\n\twatchBoolean(component, '_allowMultiSort', value, { defaultValue: false, ...options });\n};\n","/* types */\nimport type { Generic } from 'adopted-style-sheets';\nimport { watchValidator } from '../utils/prop.validators';\n\nconst paginationPositionPropTypeOptions = ['top', 'bottom', 'both'] as const;\nexport type PaginationPositionPropType = (typeof paginationPositionPropTypeOptions)[number];\n\n/**\n * Defines which position should be used for presentation.\n */\nexport type PropPaginationPosition = {\n\tpaginationPosition: PaginationPositionPropType;\n};\n\n/* validator */\nexport const validatePaginationPosition = (component: Generic.Element.Component, value?: PaginationPositionPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t`_paginationPosition`,\n\t\t(value) => typeof value === 'string' && paginationPositionPropTypeOptions.includes(value),\n\t\tnew Set([`PaginationPositionPropType {${paginationPositionPropTypeOptions.join(', ')}`]),\n\t\tvalue,\n\t\t{\n\t\t\tdefaultValue: 'bottom',\n\t\t},\n\t);\n};\n","@use '../../styles/global' as *;\n@use '../../styles/kol-alert-mixin' as *;\n@use '../@shared/kol-button-mixin' as *;\n@use '../@shared/kol-popover-button-mixin' as *;\n@use '../@shared/kol-table-stateless-mixin' as *;\n@use '../@shared/mixins' as *;\n@use '../@shared/kol-pagination-mixin' as *;\n\n@include kol-alert;\n@include kol-button-styles('kol-button');\n@include kol-popover-button-styles;\n@include kol-table-stateless-styles;\n@include kol-pagination-styles;\n\n@layer kol-component {\n\t.kol-table-stateful {\n\t\t&__pagination,\n\t\t&__pagination-wrapper {\n\t\t\tdisplay: grid;\n\t\t\tplace-items: center;\n\n\t\t\t@media (min-width: 1024px) {\n\t\t\t\tgrid-auto-flow: column;\n\t\t\t}\n\t\t}\n\t}\n\n\t.kol-pagination {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\n\t\t@media (min-width: 1024px) {\n\t\t\tdisplay: flex;\n\t\t}\n\n\t\t@media (max-width: 1024px) {\n\t\t\tflex-direction: column;\n\t\t}\n\t}\n}\n","/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\nimport type { JSX } from '@stencil/core';\nimport { Component, Element, h, Host, Method, Prop, State, Watch } from '@stencil/core';\nimport { KolPaginationWcTag, KolTableStatelessWcTag } from '../../core/component-names';\nimport { translate } from '../../i18n';\nimport type {\n\tKoliBriDataCompareFn,\n\tKoliBriPaginationButtonCallbacks,\n\tKoliBriSortDirection,\n\tKoliBriTableDataType,\n\tKoliBriTableHeaderCellWithLogic,\n\tKoliBriTableHeaders,\n\tKoliBriTablePaginationProps,\n\tLabelPropType,\n\tPaginationPositionPropType,\n\tSortEventPayload,\n\tStringified,\n\tTableAPI,\n\tTableDataFootPropType,\n\tTableDataPropType,\n\tTableHeaderCells,\n\tTableSelectionPropType,\n\tTableStatefulCallbacksPropType,\n\tTableStates,\n} from '../../schema';\nimport {\n\tdevHint,\n\temptyStringByArrayHandler,\n\tobjectObjectHandler,\n\tparseJson,\n\tsetState,\n\tvalidateAllowMultiSort,\n\tvalidateLabel,\n\tvalidatePaginationPosition,\n\tvalidateTableData,\n\tvalidateTableDataFoot,\n\tvalidateTableSelection,\n\tvalidateTableStatefulCallbacks,\n\twatchString,\n\twatchValidator,\n} from '../../schema';\nimport { Callback } from '../../schema/enums';\nimport type { MinWidthPropType } from '../../schema/props/min-width';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\nimport type { TableSettingsPropType } from '../../schema/props/table-settings';\nimport { validateTableSettings } from '../../schema/props/table-settings';\n\nconst PAGINATION_OPTIONS = [10, 20, 50, 100];\n\nconst paginationValidator = (value: unknown) => value === true || value === '' /* true */ || (typeof value === 'object' && value !== null);\n\ntype SortData = {\n\tlabel: string;\n\tkey: string;\n\tcompareFn: KoliBriDataCompareFn;\n\tdirection: KoliBriSortDirection;\n};\n\n@Component({\n\ttag: 'kol-table-stateful',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolTableStateful implements TableAPI {\n\t@Element() private readonly host?: HTMLKolTableStatelessWcElement;\n\tprivate tableWcRef?: HTMLKolTableStatelessWcElement;\n\n\tprivate readonly catchRef = (ref?: HTMLKolTableStatelessWcElement) => {\n\t\tthis.tableWcRef = ref;\n\t};\n\n\tprivate sortData: SortData[] = [];\n\tprivate showPagination = false;\n\tprivate pageStartSlice = 0;\n\tprivate pageEndSlice = 10;\n\tprivate disableSort = false;\n\n\t/**\n\t * Defines whether to allow multi sort.\n\t */\n\t@Prop() public _allowMultiSort?: boolean;\n\n\t/**\n\t * Defines the primary table data.\n\t */\n\t@Prop() public _data!: Stringified<KoliBriTableDataType[]>;\n\n\t/**\n\t * Defines the data for the table footer.\n\t */\n\t@Prop() public _dataFoot?: Stringified<KoliBriTableDataType[]>;\n\n\t/**\n\t * Defines the horizontal and vertical table headers.\n\t */\n\t@Prop() public _headers!: Stringified<KoliBriTableHeaders>;\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 table min-width (CSS width values).\n\t */\n\t@Prop() public _minWidth!: MinWidthPropType;\n\n\t/**\n\t * Defines whether to show the data distributed over multiple pages.\n\t */\n\t@Prop() public _pagination?: boolean | Stringified<KoliBriTablePaginationProps>;\n\t/**\n\t * Controls the position of the pagination.\n\t */\n\t@Prop() public _paginationPosition?: PaginationPositionPropType = 'bottom';\n\t/**\n\t * Defines how rows can be selected and the current selection.\n\t */\n\t@Prop() public _selection?: TableSelectionPropType;\n\t/**\n\t * Defines the callback functions for table events.\n\t */\n\t@Prop() public _on?: TableStatefulCallbacksPropType;\n\n\t/**\n\t * Defines the table settings including column visibility, order and width.\n\t */\n\t@Prop() public _tableSettings?: TableSettingsPropType;\n\n\t@State() public state: TableStates = {\n\t\t_allowMultiSort: false,\n\t\t_data: [],\n\t\t_dataFoot: [],\n\t\t_headers: {\n\t\t\thorizontal: [],\n\t\t\tvertical: [],\n\t\t},\n\t\t_label: '', // ⚠ required\n\t\t_minWidth: 'auto',\n\t\t_pagination: {\n\t\t\t_page: 1,\n\t\t\t_pageSize: 10,\n\t\t\t_max: 0,\n\t\t},\n\t\t_sortedData: [],\n\t\t_paginationPosition: 'bottom',\n\t};\n\n\t@Watch('_allowMultiSort')\n\tpublic validateAllowMultiSort(value?: boolean): void {\n\t\tvalidateAllowMultiSort(this, value, { defaultValue: false });\n\t}\n\n\t@Watch('_data')\n\tpublic validateData(value?: TableDataPropType): void {\n\t\tvalidateTableData(this, value, {\n\t\t\tafterPatch: () => {\n\t\t\t\t// TODO: kein guter Hack (endless loop)\n\t\t\t\tsetTimeout(this.updateSortedData);\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_dataFoot')\n\tpublic validateDataFoot(value?: TableDataFootPropType): void {\n\t\tvalidateTableDataFoot(this, value, {\n\t\t\tafterPatch: () => {\n\t\t\t\tsetTimeout(this.updateSortedData);\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_paginationPosition')\n\tpublic validatePaginationPosition(value?: PaginationPositionPropType): void {\n\t\tvalidatePaginationPosition(this, value);\n\t}\n\n\t/**\n\t * Handles sorting logic for table columns.\n\t * If multi-sort is enabled (`_allowMultiSort`), multiple columns can be sorted at once.\n\t * Otherwise, sorting is cleared when switching between columns.\n\t */\n\tprivate changeCellSort(headerCell: KoliBriTableHeaderCellWithLogic) {\n\t\tif (typeof headerCell.compareFn === 'function') {\n\t\t\tif (!this.state._allowMultiSort && headerCell.key !== this.sortData[0]?.key) {\n\t\t\t\t// clear when another column is sorted and multi sort is not allowed\n\t\t\t\tthis.sortData = [];\n\t\t\t}\n\n\t\t\tconst index = this.sortData.findIndex((value) => value.key === headerCell.key);\n\t\t\tif (index >= 0) {\n\t\t\t\tconst settings = this.sortData[index];\n\t\t\t\tswitch (settings.direction) {\n\t\t\t\t\tcase 'ASC':\n\t\t\t\t\t\tsettings.direction = 'DESC';\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'DESC':\n\t\t\t\t\t\tthis.sortData.splice(index, 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsettings.direction = 'ASC';\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else if (headerCell.key) {\n\t\t\t\tthis.sortData.push({\n\t\t\t\t\tlabel: headerCell.label,\n\t\t\t\t\tkey: headerCell.key,\n\t\t\t\t\tcompareFn: headerCell.compareFn,\n\t\t\t\t\tdirection: 'ASC',\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.updateSortedData();\n\t\t}\n\t}\n\n\t@Watch('_headers')\n\tpublic validateHeaders(value?: Stringified<KoliBriTableHeaders>): void {\n\t\t/**\n\t\t * - es darf maximal ein Header als primary markiert werden (last win)\n\t\t * - der primary-Header entscheidet implizit über _order und _orientation\n\t\t * - primary-Headers müssen das key-Property setzen\n\t\t * - nicht primary-Headers müssen das key-Property nicht setzen (wird ignoriert)\n\t\t * - _order: wird durch den primary-Header geregelt\n\t\t * - _orientation: wird durch den primary-Header geregelt\n\t\t * - sobald ein Header sortierbar ist, darf es nur noch entweder horizontale\n\t\t * oder vertikale Header geben, aber nicht mehr beides\n\t\t */\n\t\temptyStringByArrayHandler(value, () => {\n\t\t\tobjectObjectHandler(value, () => {\n\t\t\t\ttry {\n\t\t\t\t\tvalue = parseJson<KoliBriTableHeaders>(value);\n\t\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t\t}\n\t\t\t\twatchValidator(this, '_headers', (value): boolean => typeof value === 'object' && value !== null, new Set(['KoliBriTableHeaders']), value, {\n\t\t\t\t\thooks: {\n\t\t\t\t\t\tbeforePatch: (nextValue: unknown) => {\n\t\t\t\t\t\t\tconst applySort = (headers: KoliBriTableHeaderCellWithLogic[]) => {\n\t\t\t\t\t\t\t\tlet hasSortedCells = false;\n\t\t\t\t\t\t\t\theaders.forEach((cell) => {\n\t\t\t\t\t\t\t\t\tconst key = cell.key;\n\t\t\t\t\t\t\t\t\tif (!key) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tconst sortDirection = cell.sortDirection;\n\t\t\t\t\t\t\t\t\tif (sortDirection === 'ASC' || sortDirection === 'DESC') {\n\t\t\t\t\t\t\t\t\t\tif (typeof cell.compareFn === 'function') {\n\t\t\t\t\t\t\t\t\t\t\tif (this.state._allowMultiSort || this.sortData.length === 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.sortData.push({ label: cell.label, key, compareFn: cell.compareFn, direction: sortDirection });\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\thasSortedCells = true;\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\tif (hasSortedCells) {\n\t\t\t\t\t\t\t\t\tsetTimeout(() => this.updateSortedData());\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tconst headers: KoliBriTableHeaders = nextValue as KoliBriTableHeaders;\n\t\t\t\t\t\t\theaders.horizontal?.forEach(applySort);\n\t\t\t\t\t\t\theaders.vertical?.forEach(applySort);\n\n\t\t\t\t\t\t\tif (headers.horizontal && headers.vertical && headers.horizontal?.length > 0 && headers.vertical?.length > 0) {\n\t\t\t\t\t\t\t\tthis.disableSort = true;\n\t\t\t\t\t\t\t\tdevHint(\n\t\t\t\t\t\t\t\t\t`Table: You can not sort the table data, if horizontal and vertical headers are defined at the same time. (https://github.com/public-ui/kolibri/issues/2372)`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\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\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('_minWidth')\n\tpublic validateMinWidth(value?: string): void {\n\t\twatchString(this, '_minWidth', value, {\n\t\t\tdefaultValue: undefined,\n\t\t});\n\t}\n\n\t@Watch('_selection')\n\tpublic validateSelection(value?: TableSelectionPropType): void {\n\t\tvalidateTableSelection(this, value);\n\t}\n\t@Watch('_on')\n\tpublic validateOn(value?: TableStatefulCallbacksPropType): void {\n\t\tvalidateTableStatefulCallbacks(this, value);\n\t}\n\n\t@Watch('_tableSettings')\n\tpublic validateTableSettings(value?: TableSettingsPropType): void {\n\t\tvalidateTableSettings(this, value);\n\t}\n\n\tprivate readonly handlePagination: KoliBriPaginationButtonCallbacks = {\n\t\tonClick: (event: Event, page: number) => {\n\t\t\tif (typeof this.state._pagination._on?.onClick === 'function') {\n\t\t\t\tthis.state._pagination._on.onClick(event, page);\n\t\t\t}\n\t\t\tsetState(this, '_pagination', {\n\t\t\t\t...this.state._pagination,\n\t\t\t\t_page: page,\n\t\t\t});\n\t\t},\n\t\tonChangePage: (event: Event, page: number) => {\n\t\t\tif (typeof this.state._pagination._on?.onChangePage === 'function') {\n\t\t\t\tthis.state._pagination._on.onChangePage(event, page);\n\t\t\t}\n\t\t\tsetState(this, '_pagination', {\n\t\t\t\t...this.state._pagination,\n\t\t\t\t_page: page,\n\t\t\t});\n\t\t},\n\t\tonChangePageSize: (event: Event, pageSize: number) => {\n\t\t\tif (typeof this.state._pagination._on?.onChangePageSize === 'function') {\n\t\t\t\tthis.state._pagination._on.onChangePageSize(event, pageSize);\n\t\t\t}\n\t\t\tsetState(this, '_pagination', {\n\t\t\t\t...this.state._pagination,\n\t\t\t\t_pageSize: pageSize,\n\t\t\t});\n\t\t\tsetState(this, '_pageSize', pageSize);\n\t\t},\n\t};\n\n\t@Watch('_pagination')\n\tpublic validatePagination(value?: boolean | Stringified<KoliBriTablePaginationProps>): void {\n\t\ttry {\n\t\t\tvalue = parseJson<boolean | KoliBriTablePaginationProps>(value);\n\t\t\t// eslint-disable-next-line no-empty\n\t\t} catch (e) {\n\t\t\t// value behält den ursprünglichen Wert\n\t\t}\n\n\t\tthis.showPagination = paginationValidator(value);\n\n\t\twatchValidator<boolean | Stringified<KoliBriTablePaginationProps>>(\n\t\t\tthis,\n\t\t\t'_pagination',\n\t\t\tpaginationValidator,\n\t\t\tnew Set(['boolean', 'KoliBriTablePagination']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: {\n\t\t\t\t\t_page: 1,\n\t\t\t\t\t_pageSize: 10,\n\t\t\t\t\t_max: 0,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t}\n\n\tprivate onSelectionChange = (event: Event): void => {\n\t\t/* Stop propagation for selectionChange event from table-stateless component because table-stateful emits its own selectionChange event. */\n\t\tevent.stopPropagation();\n\t};\n\n\tpublic componentDidLoad(): void {\n\t\tthis.tableWcRef?.addEventListener(KolEvent.selectionChange, this.onSelectionChange);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.tableWcRef?.removeEventListener(KolEvent.selectionChange, this.onSelectionChange);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAllowMultiSort(this._allowMultiSort);\n\t\tthis.validateData(this._data);\n\t\tthis.validateDataFoot(this._dataFoot);\n\t\tthis.validateHeaders(this._headers);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateMinWidth(this._minWidth);\n\t\tthis.validateOn(this._on);\n\t\tthis.validatePagination(this._pagination);\n\t\tthis.validatePaginationPosition(this._paginationPosition);\n\t\tthis.validateSelection(this._selection);\n\t\tthis.validateTableSettings(this._tableSettings);\n\t}\n\n\tprivate selectDisplayedData(data: KoliBriTableDataType[], pageSize: number, page: number): KoliBriTableDataType[] {\n\t\tif (typeof pageSize === 'number' && pageSize > 0 && typeof page === 'number' && page > 0) {\n\t\t\tthis.pageStartSlice = pageSize * (page - 1);\n\t\t\tthis.pageEndSlice = pageSize * page > data.length ? data.length : pageSize * page;\n\t\t\treturn data.slice(this.pageStartSlice, this.pageEndSlice);\n\t\t} else {\n\t\t\tthis.pageStartSlice = 0;\n\t\t\tthis.pageEndSlice = data.length;\n\t\t\treturn data;\n\t\t}\n\t}\n\n\tprivate updateSortedData = () => {\n\t\tif (this.disableSort) {\n\t\t\tsetState(this, '_sortedData', this.state._data);\n\t\t\treturn;\n\t\t}\n\n\t\tconst sortedData: KoliBriTableDataType[] = [...this.state._data];\n\t\tif (this.sortData.length > 0) {\n\t\t\tsortedData.sort((a: KoliBriTableDataType, b: KoliBriTableDataType) => {\n\t\t\t\tfor (let index = 0; index < this.sortData.length; index++) {\n\t\t\t\t\tconst data = this.sortData[index];\n\t\t\t\t\tconst result = data.compareFn(a, b);\n\t\t\t\t\tif (result !== 0) {\n\t\t\t\t\t\treturn data.direction === 'ASC' ? result : -result;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t});\n\t\t}\n\t\tsetState(this, '_sortedData', sortedData);\n\t};\n\n\t/**\n\t * Renders the pagination controls for the table, showing the current visible data range\n\t * and providing navigation between different pages.\n\t *\n\t * @returns {JSX.Element} The rendered pagination controls including page range and navigation.\n\t */\n\tprivate renderPagination(position: 'top' | 'bottom'): JSX.Element {\n\t\tconst label = translate('kol-table-pagination-label', {\n\t\t\tplaceholders: {\n\t\t\t\tlabel: `${this.state._label} (${translate(`kol-pagination-position-${position}`)})`,\n\t\t\t},\n\t\t});\n\t\treturn (\n\t\t\t<div class={`kol-table-stateful__pagination kol-table-stateful__pagination--${this.state._paginationPosition}`}>\n\t\t\t\t<span>\n\t\t\t\t\t{translate('kol-table-visible-range', {\n\t\t\t\t\t\tplaceholders: {\n\t\t\t\t\t\t\tstart: this.pageEndSlice > 0 ? (this.pageStartSlice + 1).toString() : '0',\n\t\t\t\t\t\t\tend: this.pageEndSlice.toString(),\n\t\t\t\t\t\t\ttotal:\n\t\t\t\t\t\t\t\tthis.state._pagination && this.state._pagination._max > 0\n\t\t\t\t\t\t\t\t\t? this.state._pagination._max.toString()\n\t\t\t\t\t\t\t\t\t: Array.isArray(this.state._data)\n\t\t\t\t\t\t\t\t\t\t? this.state._data.length.toString()\n\t\t\t\t\t\t\t\t\t\t: '0',\n\t\t\t\t\t\t},\n\t\t\t\t\t})}\n\t\t\t\t</span>\n\t\t\t\t<div class=\"kol-table-stateful__pagination-wrapper\">\n\t\t\t\t\t<KolPaginationWcTag\n\t\t\t\t\t\tclass=\"test\"\n\t\t\t\t\t\t_boundaryCount={this.state._pagination._boundaryCount}\n\t\t\t\t\t\t_customClass={this.state._pagination._customClass}\n\t\t\t\t\t\t_on={this.handlePagination}\n\t\t\t\t\t\t_page={this.state._pagination._page}\n\t\t\t\t\t\t_pageSize={this.state._pagination._pageSize}\n\t\t\t\t\t\t_pageSizeOptions={this.state._pagination._pageSizeOptions || PAGINATION_OPTIONS}\n\t\t\t\t\t\t_siblingCount={this.state._pagination._siblingCount}\n\t\t\t\t\t\t_tooltipAlign=\"bottom\"\n\t\t\t\t\t\t_max={this.state._pagination._max || this.state._pagination._max || this.state._data.length}\n\t\t\t\t\t\t_label={label}\n\t\t\t\t\t></KolPaginationWcTag>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate getHeaderCellSortState(headerCell: KoliBriTableHeaderCellWithLogic): KoliBriSortDirection | undefined {\n\t\tif (!this.disableSort && typeof headerCell.compareFn === 'function') {\n\t\t\tif (headerCell.key) {\n\t\t\t\tconst data = this.sortData.find((value) => value.key === headerCell.key);\n\t\t\t\tif (data?.direction) {\n\t\t\t\t\treturn data.direction;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn 'NOS';\n\t\t}\n\t}\n\n\tprivate handleSort({ key }: SortEventPayload) {\n\t\tconst headerCell = [...(this.state._headers.horizontal || []).flat(), ...(this.state._headers.vertical || []).flat()].find((cell) => cell.key === key);\n\t\tif (headerCell) {\n\t\t\tthis.changeCellSort(headerCell);\n\t\t}\n\t}\n\n\tprivate getSelectedData(selectedKeys: string[] | string): null | KoliBriTableDataType | KoliBriTableDataType[] {\n\t\tconst selection = this.state._selection;\n\t\tif (selection) {\n\t\t\tconst keyPropertyName = selection.keyPropertyName ?? 'id';\n\t\t\tconst data = this.state._sortedData.filter((item) => selectedKeys.includes(item[keyPropertyName] as string));\n\t\t\tif (selection?.multiple === false) {\n\t\t\t\treturn data[0];\n\t\t\t}\n\n\t\t\tif (keyPropertyName) return data;\n\t\t}\n\t\treturn null;\n\t}\n\tprivate handleSelectionChange(event: Event, value: string[] | string): void {\n\t\tconst selection = this.state._selection;\n\t\tif (selection)\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_selection: {\n\t\t\t\t\t...selection,\n\t\t\t\t\tselectedKeys: typeof value === 'object' ? value : [value],\n\t\t\t\t},\n\t\t\t};\n\t\tconst selectedData = this.getSelectedData(value);\n\n\t\tif (typeof this.state._on?.[Callback.onSelectionChange] === 'function') {\n\t\t\tthis.state._on[Callback.onSelectionChange](event, selectedData);\n\t\t}\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.selectionChange, selectedData);\n\t\t}\n\t}\n\n\t/**\n\t * Returns the selected rows.\n\t */\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async getSelection(): Promise<KoliBriTableDataType[] | KoliBriTableDataType | null> {\n\t\tconst selectedKeys: string[] = this.state._selection?.selectedKeys || [];\n\t\treturn this.getSelectedData(selectedKeys);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tconst displayedData: KoliBriTableDataType[] = this.selectDisplayedData(\n\t\t\tthis.state._sortedData,\n\t\t\tthis.showPagination ? (this.state._pagination?._pageSize ?? 10) : this.state._sortedData.length,\n\t\t\tthis.state._pagination._page || 1,\n\t\t);\n\t\tconst paginationTop = this._paginationPosition === 'top' || this._paginationPosition === 'both' ? this.renderPagination('top') : null;\n\t\tconst paginationBottom = this._paginationPosition === 'bottom' || this._paginationPosition === 'both' ? this.renderPagination('bottom') : null;\n\n\t\tconst headerCells: TableHeaderCells = {\n\t\t\thorizontal: this.state._headers.horizontal?.map((row) => row.map((cell) => ({ ...cell, sortDirection: this.getHeaderCellSortState(cell) }))) ?? [],\n\t\t\tvertical: this.state._headers.vertical?.map((column) => column.map((cell) => ({ ...cell, sortDirection: this.getHeaderCellSortState(cell) }))) ?? [],\n\t\t};\n\t\treturn (\n\t\t\t<Host class=\"kol-table-stateful\">\n\t\t\t\t{this.pageEndSlice > 0 && this.showPagination && paginationTop}\n\t\t\t\t<KolTableStatelessWcTag\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t_data={displayedData}\n\t\t\t\t\t_headerCells={headerCells}\n\t\t\t\t\t_label={this.state._label}\n\t\t\t\t\t_dataFoot={this.state._dataFoot}\n\t\t\t\t\t_minWidth={this.state._minWidth}\n\t\t\t\t\t_on={{\n\t\t\t\t\t\tonSort: (_: MouseEvent, payload: SortEventPayload) => {\n\t\t\t\t\t\t\tthis.handleSort(payload);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonSelectionChange: (event: Event, value: string[] | string) => {\n\t\t\t\t\t\t\tthis.handleSelectionChange(event, value);\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\t_selection={this.state._selection}\n\t\t\t\t\t_tableSettings={this.state._tableSettings}\n\t\t\t\t/>\n\t\t\t\t{this.pageEndSlice > 0 && this.showPagination && paginationBottom}\n\t\t\t</Host>\n\t\t);\n\t}\n}\n"],"mappings":"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","ignoreList":[]}