@public-ui/components 4.2.1 → 4.3.0-rc.1
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.
- package/assets/kolicons/kolicons.eot +0 -0
- package/assets/kolicons/kolicons.ttf +0 -0
- package/assets/kolicons/kolicons.woff +0 -0
- package/assets/kolicons/kolicons.woff2 +0 -0
- package/assets/kolicons/style.css +6 -6
- package/custom-elements.json +30 -30
- package/dist/cjs/Alert-DGeuWGwx.js +93 -0
- package/dist/cjs/Alert-DGeuWGwx.js.map +1 -0
- package/dist/cjs/Collapsible-D5MJpSsb.js +27 -0
- package/dist/cjs/Collapsible-D5MJpSsb.js.map +1 -0
- package/dist/cjs/CustomSuggestionsOptionsGroup-CXqRxSlV.js +31 -0
- package/dist/cjs/CustomSuggestionsOptionsGroup-CXqRxSlV.js.map +1 -0
- package/dist/cjs/FieldControlStateWrapper-9AbnJdJw.js +123 -0
- package/dist/cjs/FieldControlStateWrapper-9AbnJdJw.js.map +1 -0
- package/dist/cjs/FormFieldStateWrapper-D8PA3SkL.js +848 -0
- package/dist/cjs/FormFieldStateWrapper-D8PA3SkL.js.map +1 -0
- package/dist/cjs/Heading-D9SmGbfD.js +41 -0
- package/dist/cjs/Heading-D9SmGbfD.js.map +1 -0
- package/dist/cjs/Input-7dreufF0.js +29 -0
- package/dist/cjs/Input-7dreufF0.js.map +1 -0
- package/dist/cjs/InputStateWrapper-ntE05AJl.js +86 -0
- package/dist/cjs/InputStateWrapper-ntE05AJl.js.map +1 -0
- package/dist/cjs/access-and-short-key-B_Jn8UfN.js +41 -0
- package/dist/cjs/access-and-short-key-B_Jn8UfN.js.map +1 -0
- package/dist/cjs/align-e4FQ7dUp.js +26 -0
- package/dist/cjs/align-e4FQ7dUp.js.map +1 -0
- package/dist/cjs/align-floating-elements-DfUaAAqe.js +1672 -0
- package/dist/cjs/align-floating-elements-DfUaAAqe.js.map +1 -0
- package/dist/cjs/app-globals-DS0A1y3l.js +36 -0
- package/dist/cjs/app-globals-DS0A1y3l.js.map +1 -0
- package/dist/cjs/aria-expanded-DVEjetkn.js +31 -0
- package/dist/cjs/aria-expanded-DVEjetkn.js.map +1 -0
- package/dist/cjs/aria-labelledby-BhnM3OnL.js +60 -0
- package/dist/cjs/aria-labelledby-BhnM3OnL.js.map +1 -0
- package/dist/cjs/associated.controller-CUvZCmFF.js +190 -0
- package/dist/cjs/associated.controller-CUvZCmFF.js.map +1 -0
- package/dist/cjs/auto-complete-ByyIPPbm.js +18 -0
- package/dist/cjs/auto-complete-ByyIPPbm.js.map +1 -0
- package/dist/cjs/bem-registry-D9uDM1GJ.js +163 -0
- package/dist/cjs/bem-registry-D9uDM1GJ.js.map +1 -0
- package/dist/cjs/bootstrap-De2npoa_.js +36 -0
- package/dist/cjs/bootstrap-De2npoa_.js.map +1 -0
- package/dist/cjs/color-1N4YnPDO.js +101 -0
- package/dist/cjs/color-1N4YnPDO.js.map +1 -0
- package/dist/cjs/common-DAAt5YQ7.js +1769 -0
- package/dist/cjs/common-DAAt5YQ7.js.map +1 -0
- package/dist/cjs/component-BEcrKHc2.js +9153 -0
- package/dist/cjs/component-BEcrKHc2.js.map +1 -0
- package/dist/cjs/component-BpTg8PCv.js +23 -0
- package/dist/cjs/component-BpTg8PCv.js.map +1 -0
- package/dist/cjs/component-DA5ZXmFP.js +16 -0
- package/dist/cjs/component-DA5ZXmFP.js.map +1 -0
- package/dist/cjs/component-U7UWIKdR.js +17 -0
- package/dist/cjs/component-U7UWIKdR.js.map +1 -0
- package/dist/cjs/contrast-CWF2pSYV.js +100 -0
- package/dist/cjs/contrast-CWF2pSYV.js.map +1 -0
- package/dist/cjs/controller-Br37uto2.js +55 -0
- package/dist/cjs/controller-Br37uto2.js.map +1 -0
- package/dist/cjs/controller-CWTdHXvg.js +93 -0
- package/dist/cjs/controller-CWTdHXvg.js.map +1 -0
- package/dist/cjs/controller-DHsc-8t1.js +241 -0
- package/dist/cjs/controller-DHsc-8t1.js.map +1 -0
- package/dist/cjs/controller-DNlov9_q.js +99 -0
- package/dist/cjs/controller-DNlov9_q.js.map +1 -0
- package/dist/cjs/controller-DmoMYYzy.js +126 -0
- package/dist/cjs/controller-DmoMYYzy.js.map +1 -0
- package/dist/cjs/controller-icon-CdwPO8hD.js +169 -0
- package/dist/cjs/controller-icon-CdwPO8hD.js.map +1 -0
- package/dist/cjs/custom-class-C8GDf7By.js +17 -0
- package/dist/cjs/custom-class-C8GDf7By.js.map +1 -0
- package/dist/cjs/dev.utils-BaRzDChI.js +86 -0
- package/dist/cjs/dev.utils-BaRzDChI.js.map +1 -0
- package/dist/cjs/devtools-Ch90JQxx.js +103 -0
- package/dist/cjs/devtools-Ch90JQxx.js.map +1 -0
- package/dist/cjs/disabled-D8jGjcwY.js +23 -0
- package/dist/cjs/disabled-D8jGjcwY.js.map +1 -0
- package/dist/cjs/element-focus-B4BhAkh_.js +164 -0
- package/dist/cjs/element-focus-B4BhAkh_.js.map +1 -0
- package/dist/cjs/element-interaction-CmOQWzhR.js +70 -0
- package/dist/cjs/element-interaction-CmOQWzhR.js.map +1 -0
- package/dist/cjs/events-DN9qldnr.js +45 -0
- package/dist/cjs/events-DN9qldnr.js.map +1 -0
- package/dist/cjs/has-closer-CuErOOct.js +15 -0
- package/dist/cjs/has-closer-CuErOOct.js.map +1 -0
- package/dist/cjs/hide-label-CO4GBDgf.js +15 -0
- package/dist/cjs/hide-label-CO4GBDgf.js.map +1 -0
- package/dist/cjs/href-DoBpb9Pl.js +15 -0
- package/dist/cjs/href-DoBpb9Pl.js.map +1 -0
- package/dist/cjs/i18n-DL7vJXNn.js +19 -0
- package/dist/cjs/i18n-DL7vJXNn.js.map +1 -0
- package/dist/cjs/icons-D80xUBDS.js +86 -0
- package/dist/cjs/icons-D80xUBDS.js.map +1 -0
- package/dist/cjs/index-Dk00HcEs.js +2908 -0
- package/dist/cjs/index-Dk00HcEs.js.map +1 -0
- package/dist/cjs/index.cjs.js +4 -4
- package/dist/cjs/inline-1X3ssV6v.js +15 -0
- package/dist/cjs/inline-1X3ssV6v.js.map +1 -0
- package/dist/cjs/kol-abbr.cjs.entry.js +14 -14
- package/dist/cjs/kol-accordion.cjs.entry.js +17 -17
- package/dist/cjs/kol-accordion.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-alert-wc.cjs.entry.js +13 -13
- package/dist/cjs/kol-alert.cjs.entry.js +3 -3
- package/dist/cjs/kol-avatar.cjs.entry.js +9 -9
- package/dist/cjs/kol-badge.cjs.entry.js +15 -15
- package/dist/cjs/kol-badge.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +8 -8
- package/dist/cjs/kol-button-link.cjs.entry.js +7 -7
- package/dist/cjs/kol-button-link.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-button-wc.cjs.entry.js +31 -31
- package/dist/cjs/kol-button-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-button.cjs.entry.js +7 -7
- package/dist/cjs/kol-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-card-wc.cjs.entry.js +16 -16
- package/dist/cjs/kol-card.cjs.entry.js +3 -3
- package/dist/cjs/kol-click-button.cjs.entry.js +40 -13
- package/dist/cjs/kol-click-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-combobox.cjs.entry.js +48 -42
- package/dist/cjs/kol-combobox.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-details.cjs.entry.js +17 -17
- package/dist/cjs/kol-details.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-dialog-wc.cjs.entry.js +8 -8
- package/dist/cjs/kol-dialog.cjs.entry.js +3 -3
- package/dist/cjs/kol-drawer.cjs.entry.js +12 -12
- package/dist/cjs/kol-form.cjs.entry.js +9 -9
- package/dist/cjs/kol-heading.cjs.entry.js +5 -5
- package/dist/cjs/kol-icon.cjs.entry.js +8 -8
- package/dist/cjs/kol-image.cjs.entry.js +24 -8
- package/dist/cjs/kol-image.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js +37 -37
- package/dist/cjs/kol-input-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js +37 -37
- package/dist/cjs/kol-input-color.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js +40 -40
- package/dist/cjs/kol-input-date.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js +46 -46
- package/dist/cjs/kol-input-email.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js +37 -37
- package/dist/cjs/kol-input-file.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js +41 -41
- package/dist/cjs/kol-input-number.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js +42 -42
- package/dist/cjs/kol-input-password.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js +38 -37
- package/dist/cjs/kol-input-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js +38 -38
- package/dist/cjs/kol-input-range.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js +45 -45
- package/dist/cjs/kol-input-text.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js +5 -5
- package/dist/cjs/kol-link-button.cjs.entry.js +7 -7
- package/dist/cjs/kol-link-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js +30 -30
- package/dist/cjs/kol-link-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-link.cjs.entry.js +7 -7
- package/dist/cjs/kol-link.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-meter.cjs.entry.js +10 -35
- package/dist/cjs/kol-meter.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js +3 -3
- package/dist/cjs/kol-nav.cjs.entry.js +9 -9
- package/dist/cjs/kol-pagination-wc.cjs.entry.js +10 -10
- package/dist/cjs/kol-pagination.cjs.entry.js +3 -3
- package/dist/cjs/kol-popover-button-wc.cjs.entry.js +11 -11
- package/dist/cjs/kol-popover-button-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-popover-button.cjs.entry.js +7 -7
- package/dist/cjs/kol-popover-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js +7 -7
- package/dist/cjs/kol-quote.cjs.entry.js +6 -6
- package/dist/cjs/kol-select-wc.cjs.entry.js +39 -39
- package/dist/cjs/kol-select-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-select.cjs.entry.js +7 -7
- package/dist/cjs/kol-select.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-single-select.cjs.entry.js +42 -42
- package/dist/cjs/kol-single-select.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-skeleton.cjs.entry.js +23 -19
- package/dist/cjs/kol-skeleton.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js +10 -10
- package/dist/cjs/kol-skip-nav.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +6 -6
- package/dist/cjs/kol-split-button.cjs.entry.js +9 -9
- package/dist/cjs/kol-split-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-table-settings-wc.cjs.entry.js +4 -4
- package/dist/cjs/kol-table-stateful.cjs.entry.js +71 -14
- package/dist/cjs/kol-table-stateful.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-table-stateless-wc.cjs.entry.js +45 -58
- package/dist/cjs/kol-table-stateless-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-table-stateless.cjs.entry.js +4 -4
- package/dist/cjs/kol-table-stateless.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js +12 -12
- package/dist/cjs/kol-tabs.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js +39 -39
- package/dist/cjs/kol-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-toast-container.cjs.entry.js +25 -19
- package/dist/cjs/kol-toast-container.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-toolbar.cjs.entry.js +9 -9
- package/dist/cjs/kol-toolbar.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tooltip-wc.cjs.entry.js +12 -12
- package/dist/cjs/kol-tree-item-wc.cjs.entry.js +13 -13
- package/dist/cjs/kol-tree-item-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tree-item.cjs.entry.js +6 -6
- package/dist/cjs/kol-tree-item.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tree-wc.cjs.entry.js +6 -6
- package/dist/cjs/kol-tree-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tree.cjs.entry.js +6 -6
- package/dist/cjs/kol-tree.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-version.cjs.entry.js +4 -4
- package/dist/cjs/kolibri.cjs.js +4 -4
- package/dist/cjs/label-CrUhy8f0.js +13 -0
- package/dist/cjs/label-CrUhy8f0.js.map +1 -0
- package/dist/cjs/label-VzToxIES.js +50 -0
- package/dist/cjs/label-VzToxIES.js.map +1 -0
- package/dist/cjs/level-VjfppjxT.js +15 -0
- package/dist/cjs/level-VjfppjxT.js.map +1 -0
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/max-length-behavior-BjqOHcK6.js +26 -0
- package/dist/cjs/max-length-behavior-BjqOHcK6.js.map +1 -0
- package/dist/cjs/multiple-_6n58n0B.js +15 -0
- package/dist/cjs/multiple-_6n58n0B.js.map +1 -0
- package/dist/cjs/normalizers-R90MJyQR.js +648 -0
- package/dist/cjs/normalizers-R90MJyQR.js.map +1 -0
- package/dist/cjs/open-CLOzqgir.js +15 -0
- package/dist/cjs/open-CLOzqgir.js.map +1 -0
- package/dist/cjs/orientation-BUQ3VvMw.js +18 -0
- package/dist/cjs/orientation-BUQ3VvMw.js.map +1 -0
- package/dist/cjs/placeholder-B7I3KNtq.js +15 -0
- package/dist/cjs/placeholder-B7I3KNtq.js.map +1 -0
- package/dist/cjs/read-only-BFoDOTZu.js +15 -0
- package/dist/cjs/read-only-BFoDOTZu.js.map +1 -0
- package/dist/cjs/required-QyEHP_gi.js +15 -0
- package/dist/cjs/required-QyEHP_gi.js.map +1 -0
- package/dist/cjs/rows-BT28uo_I.js +15 -0
- package/dist/cjs/rows-BT28uo_I.js.map +1 -0
- package/dist/cjs/spell-check-CnmPp0It.js +17 -0
- package/dist/cjs/spell-check-CnmPp0It.js.map +1 -0
- package/dist/cjs/src-oMcBX9Z5.js +13 -0
- package/dist/cjs/src-oMcBX9Z5.js.map +1 -0
- package/dist/cjs/suggestions-hTUeCecL.js +23 -0
- package/dist/cjs/suggestions-hTUeCecL.js.map +1 -0
- package/dist/cjs/table-selection-BzjiHUz6.js +93 -0
- package/dist/cjs/table-selection-BzjiHUz6.js.map +1 -0
- package/dist/cjs/test-component.cjs.entry.js +2 -2
- package/dist/cjs/tooltip-align-C2v_joNk.js +16 -0
- package/dist/cjs/tooltip-align-C2v_joNk.js.map +1 -0
- package/dist/cjs/unique-nav-labels-ZxWa1D5d.js +25 -0
- package/dist/cjs/unique-nav-labels-ZxWa1D5d.js.map +1 -0
- package/dist/cjs/validation-D2EuAues.js +16 -0
- package/dist/cjs/validation-D2EuAues.js.map +1 -0
- package/dist/cjs/validation-DwarFcC9.js +19 -0
- package/dist/cjs/validation-DwarFcC9.js.map +1 -0
- package/dist/cjs/value-number-clamped-B6AfADe2.js +28 -0
- package/dist/cjs/value-number-clamped-B6AfADe2.js.map +1 -0
- package/dist/cjs/variant-class-name-DsZdGPeK.js +18 -0
- package/dist/cjs/variant-class-name-DsZdGPeK.js.map +1 -0
- package/dist/cjs/variant-quote-DUWZtljE.js +41 -0
- package/dist/cjs/variant-quote-DUWZtljE.js.map +1 -0
- package/dist/collection/components/_skeleton/web-components/click-button/component.js +19 -6
- package/dist/collection/components/_skeleton/web-components/click-button/component.js.map +1 -1
- package/dist/collection/components/_skeleton/web-components/skeleton/component.js +22 -6
- package/dist/collection/components/_skeleton/web-components/skeleton/component.js.map +1 -1
- package/dist/collection/components/abbr/style.css +2 -2
- package/dist/collection/components/accordion/shadow.js +13 -4
- package/dist/collection/components/accordion/shadow.js.map +1 -1
- package/dist/collection/components/accordion/style.css +2 -2
- package/dist/collection/components/alert/style.css +2 -2
- package/dist/collection/components/badge/shadow.js +14 -5
- package/dist/collection/components/badge/shadow.js.map +1 -1
- package/dist/collection/components/badge/style.css +2 -2
- package/dist/collection/components/breadcrumb/style.css +2 -2
- package/dist/collection/components/button/component.js +14 -5
- package/dist/collection/components/button/component.js.map +1 -1
- package/dist/collection/components/button/shadow.js +13 -4
- package/dist/collection/components/button/shadow.js.map +1 -1
- package/dist/collection/components/button/style.css +2 -2
- package/dist/collection/components/button-link/shadow.js +13 -4
- package/dist/collection/components/button-link/shadow.js.map +1 -1
- package/dist/collection/components/button-link/style.css +2 -2
- package/dist/collection/components/card/style.css +2 -2
- package/dist/collection/components/combobox/shadow.js +22 -7
- package/dist/collection/components/combobox/shadow.js.map +1 -1
- package/dist/collection/components/combobox/style.css +2 -2
- package/dist/collection/components/details/shadow.js +13 -4
- package/dist/collection/components/details/shadow.js.map +1 -1
- package/dist/collection/components/details/style.css +2 -2
- package/dist/collection/components/dialog/style.css +2 -2
- package/dist/collection/components/drawer/style.css +2 -2
- package/dist/collection/components/form/style.css +2 -2
- package/dist/collection/components/icon/style.css +2 -2
- package/dist/collection/components/image/component.js +40 -1
- package/dist/collection/components/image/component.js.map +1 -1
- package/dist/collection/components/input-adapter-leanup/associated.controller.js +6 -3
- package/dist/collection/components/input-adapter-leanup/associated.controller.js.map +1 -1
- package/dist/collection/components/input-checkbox/shadow.js +13 -4
- package/dist/collection/components/input-checkbox/shadow.js.map +1 -1
- package/dist/collection/components/input-checkbox/style.css +2 -2
- package/dist/collection/components/input-color/shadow.js +13 -4
- package/dist/collection/components/input-color/shadow.js.map +1 -1
- package/dist/collection/components/input-color/style.css +2 -2
- package/dist/collection/components/input-date/shadow.js +13 -4
- package/dist/collection/components/input-date/shadow.js.map +1 -1
- package/dist/collection/components/input-date/style.css +2 -2
- package/dist/collection/components/input-email/shadow.js +13 -4
- package/dist/collection/components/input-email/shadow.js.map +1 -1
- package/dist/collection/components/input-email/style.css +2 -2
- package/dist/collection/components/input-file/shadow.js +13 -4
- package/dist/collection/components/input-file/shadow.js.map +1 -1
- package/dist/collection/components/input-file/style.css +2 -2
- package/dist/collection/components/input-number/shadow.js +13 -4
- package/dist/collection/components/input-number/shadow.js.map +1 -1
- package/dist/collection/components/input-number/style.css +2 -2
- package/dist/collection/components/input-password/shadow.js +13 -4
- package/dist/collection/components/input-password/shadow.js.map +1 -1
- package/dist/collection/components/input-password/style.css +2 -2
- package/dist/collection/components/input-radio/shadow.js +15 -5
- package/dist/collection/components/input-radio/shadow.js.map +1 -1
- package/dist/collection/components/input-radio/style.css +2 -2
- package/dist/collection/components/input-range/shadow.js +13 -4
- package/dist/collection/components/input-range/shadow.js.map +1 -1
- package/dist/collection/components/input-range/style.css +2 -2
- package/dist/collection/components/input-text/shadow.js +13 -4
- package/dist/collection/components/input-text/shadow.js.map +1 -1
- package/dist/collection/components/input-text/style.css +2 -2
- package/dist/collection/components/link/component.js +14 -5
- package/dist/collection/components/link/component.js.map +1 -1
- package/dist/collection/components/link/shadow.js +13 -4
- package/dist/collection/components/link/shadow.js.map +1 -1
- package/dist/collection/components/link/style.css +2 -2
- package/dist/collection/components/link-button/shadow.js +13 -4
- package/dist/collection/components/link-button/shadow.js.map +1 -1
- package/dist/collection/components/link-button/style.css +2 -2
- package/dist/collection/components/meter/component.js +1 -10
- package/dist/collection/components/meter/component.js.map +1 -1
- package/dist/collection/components/modal/style.css +2 -2
- package/dist/collection/components/nav/style.css +2 -2
- package/dist/collection/components/pagination/style.css +2 -2
- package/dist/collection/components/popover-button/component.js +14 -5
- package/dist/collection/components/popover-button/component.js.map +1 -1
- package/dist/collection/components/popover-button/shadow.js +13 -4
- package/dist/collection/components/popover-button/shadow.js.map +1 -1
- package/dist/collection/components/popover-button/style.css +2 -2
- package/dist/collection/components/select/component.js +14 -5
- package/dist/collection/components/select/component.js.map +1 -1
- package/dist/collection/components/select/shadow.js +13 -4
- package/dist/collection/components/select/shadow.js.map +1 -1
- package/dist/collection/components/select/style.css +2 -2
- package/dist/collection/components/single-select/shadow.js +15 -6
- package/dist/collection/components/single-select/shadow.js.map +1 -1
- package/dist/collection/components/single-select/style.css +2 -2
- package/dist/collection/components/skip-nav/shadow.js +13 -4
- package/dist/collection/components/skip-nav/shadow.js.map +1 -1
- package/dist/collection/components/skip-nav/style.css +2 -2
- package/dist/collection/components/split-button/shadow.js +14 -5
- package/dist/collection/components/split-button/shadow.js.map +1 -1
- package/dist/collection/components/split-button/style.css +2 -2
- package/dist/collection/components/table-stateful/shadow.js +64 -6
- package/dist/collection/components/table-stateful/shadow.js.map +1 -1
- package/dist/collection/components/table-stateful/style.css +6 -2
- package/dist/collection/components/table-stateless/component.js +33 -46
- package/dist/collection/components/table-stateless/component.js.map +1 -1
- package/dist/collection/components/table-stateless/style.css +6 -2
- package/dist/collection/components/tabs/shadow.js +14 -5
- package/dist/collection/components/tabs/shadow.js.map +1 -1
- package/dist/collection/components/tabs/style.css +11 -2
- package/dist/collection/components/textarea/shadow.js +13 -4
- package/dist/collection/components/textarea/shadow.js.map +1 -1
- package/dist/collection/components/textarea/style.css +2 -2
- package/dist/collection/components/toaster/shadow.js +13 -7
- package/dist/collection/components/toaster/shadow.js.map +1 -1
- package/dist/collection/components/toaster/style.css +2 -2
- package/dist/collection/components/toolbar/shadow.js +14 -5
- package/dist/collection/components/toolbar/shadow.js.map +1 -1
- package/dist/collection/components/toolbar/style.css +2 -2
- package/dist/collection/components/tree/component.js +14 -5
- package/dist/collection/components/tree/component.js.map +1 -1
- package/dist/collection/components/tree/shadow.js +13 -4
- package/dist/collection/components/tree/shadow.js.map +1 -1
- package/dist/collection/components/tree-item/component.js +16 -7
- package/dist/collection/components/tree-item/component.js.map +1 -1
- package/dist/collection/components/tree-item/shadow.js +14 -5
- package/dist/collection/components/tree-item/shadow.js.map +1 -1
- package/dist/collection/components/tree-item/style.css +2 -2
- package/dist/collection/internal/functional-components/click-button/controller.js +1 -8
- package/dist/collection/internal/functional-components/click-button/controller.js.map +1 -1
- package/dist/collection/internal/functional-components/generic-types.js.map +1 -1
- package/dist/collection/internal/functional-components/image/component.js +2 -2
- package/dist/collection/internal/functional-components/image/component.js.map +1 -1
- package/dist/collection/internal/functional-components/meter/api.js.map +1 -1
- package/dist/collection/internal/functional-components/meter/component.js +2 -7
- package/dist/collection/internal/functional-components/meter/component.js.map +1 -1
- package/dist/collection/internal/functional-components/meter/controller.js +0 -16
- package/dist/collection/internal/functional-components/meter/controller.js.map +1 -1
- package/dist/collection/internal/functional-components/skeleton/api.js.map +1 -1
- package/dist/collection/internal/functional-components/skeleton/controller.js +6 -9
- package/dist/collection/internal/functional-components/skeleton/controller.js.map +1 -1
- package/dist/collection/schema/components/image.js.map +1 -1
- package/dist/collection/schema/components/input-password.js.map +1 -1
- package/dist/collection/schema/interfaces/FocusableElement.js.map +1 -1
- package/dist/collection/schema/utils/prop.validators.js +21 -32
- package/dist/collection/schema/utils/prop.validators.js.map +1 -1
- package/dist/collection/utils/element-focus.js +65 -2
- package/dist/collection/utils/element-focus.js.map +1 -1
- package/dist/collection/utils/element-interaction.js +29 -7
- package/dist/collection/utils/element-interaction.js.map +1 -1
- package/dist/collection/utils/events.js +2 -0
- package/dist/collection/utils/events.js.map +1 -1
- package/dist/components/FieldControlStateWrapper.js +1 -1
- package/dist/components/Input.js +1 -1
- package/dist/components/InputStateWrapper.js +1 -1
- package/dist/components/associated.controller.js +6 -3
- package/dist/components/associated.controller.js.map +1 -1
- package/dist/components/component4.js +15 -0
- package/dist/components/component4.js.map +1 -0
- package/dist/components/controller-icon.js +1 -1
- package/dist/components/controller3.js +825 -34
- package/dist/components/controller3.js.map +1 -1
- package/dist/components/controller4.js +77 -796
- package/dist/components/controller4.js.map +1 -1
- package/dist/components/controller5.js +22 -90
- package/dist/components/controller5.js.map +1 -1
- package/dist/components/controller6.js +67 -28
- package/dist/components/controller6.js.map +1 -1
- package/dist/components/element-focus.js +67 -3
- package/dist/components/element-focus.js.map +1 -1
- package/dist/components/element-interaction.js +23 -8
- package/dist/components/element-interaction.js.map +1 -1
- package/dist/components/events.js +2 -0
- package/dist/components/events.js.map +1 -1
- package/dist/components/kol-abbr.js +1 -1
- package/dist/components/kol-accordion.js +3 -3
- package/dist/components/kol-accordion.js.map +1 -1
- package/dist/components/kol-alert.js +1 -1
- package/dist/components/kol-badge.js +4 -4
- package/dist/components/kol-badge.js.map +1 -1
- package/dist/components/kol-breadcrumb.js +1 -1
- package/dist/components/kol-button-link.js +3 -3
- package/dist/components/kol-button-link.js.map +1 -1
- package/dist/components/kol-button-wc.js +3 -3
- package/dist/components/kol-button-wc.js.map +1 -1
- package/dist/components/kol-button.js +3 -3
- package/dist/components/kol-button.js.map +1 -1
- package/dist/components/kol-card.js +1 -1
- package/dist/components/kol-click-button.js +35 -5
- package/dist/components/kol-click-button.js.map +1 -1
- package/dist/components/kol-combobox.js +13 -7
- package/dist/components/kol-combobox.js.map +1 -1
- package/dist/components/kol-details.js +3 -3
- package/dist/components/kol-details.js.map +1 -1
- package/dist/components/kol-dialog.js +1 -1
- package/dist/components/kol-drawer.js +1 -1
- package/dist/components/kol-form.js +1 -1
- package/dist/components/kol-icon.js +1 -1
- package/dist/components/kol-image.js +21 -4
- package/dist/components/kol-image.js.map +1 -1
- package/dist/components/kol-input-checkbox.js +5 -5
- package/dist/components/kol-input-checkbox.js.map +1 -1
- package/dist/components/kol-input-color.js +4 -4
- package/dist/components/kol-input-color.js.map +1 -1
- package/dist/components/kol-input-date.js +4 -4
- package/dist/components/kol-input-date.js.map +1 -1
- package/dist/components/kol-input-email.js +5 -5
- package/dist/components/kol-input-email.js.map +1 -1
- package/dist/components/kol-input-file.js +4 -4
- package/dist/components/kol-input-file.js.map +1 -1
- package/dist/components/kol-input-number.js +4 -4
- package/dist/components/kol-input-number.js.map +1 -1
- package/dist/components/kol-input-password.js +5 -5
- package/dist/components/kol-input-password.js.map +1 -1
- package/dist/components/kol-input-radio.js +8 -7
- package/dist/components/kol-input-radio.js.map +1 -1
- package/dist/components/kol-input-range.js +4 -4
- package/dist/components/kol-input-range.js.map +1 -1
- package/dist/components/kol-input-text.js +5 -5
- package/dist/components/kol-input-text.js.map +1 -1
- package/dist/components/kol-link-button.js +3 -3
- package/dist/components/kol-link-button.js.map +1 -1
- package/dist/components/kol-link-wc.js +3 -3
- package/dist/components/kol-link-wc.js.map +1 -1
- package/dist/components/kol-link.js +3 -3
- package/dist/components/kol-link.js.map +1 -1
- package/dist/components/kol-meter.js +4 -30
- package/dist/components/kol-meter.js.map +1 -1
- package/dist/components/kol-modal.js +1 -1
- package/dist/components/kol-nav.js +1 -1
- package/dist/components/kol-pagination.js +1 -1
- package/dist/components/kol-popover-button-wc.js +3 -3
- package/dist/components/kol-popover-button-wc.js.map +1 -1
- package/dist/components/kol-popover-button.js +3 -3
- package/dist/components/kol-popover-button.js.map +1 -1
- package/dist/components/kol-select-wc.js +5 -5
- package/dist/components/kol-select-wc.js.map +1 -1
- package/dist/components/kol-select.js +3 -3
- package/dist/components/kol-select.js.map +1 -1
- package/dist/components/kol-single-select.js +7 -7
- package/dist/components/kol-single-select.js.map +1 -1
- package/dist/components/kol-skeleton.js +17 -12
- package/dist/components/kol-skeleton.js.map +1 -1
- package/dist/components/kol-skip-nav.js +3 -3
- package/dist/components/kol-skip-nav.js.map +1 -1
- package/dist/components/kol-split-button.js +4 -4
- package/dist/components/kol-split-button.js.map +1 -1
- package/dist/components/kol-table-stateful.js +65 -7
- package/dist/components/kol-table-stateful.js.map +1 -1
- package/dist/components/kol-table-stateless-wc.js +33 -46
- package/dist/components/kol-table-stateless-wc.js.map +1 -1
- package/dist/components/kol-table-stateless.js +1 -1
- package/dist/components/kol-table-stateless.js.map +1 -1
- package/dist/components/kol-tabs.js +4 -4
- package/dist/components/kol-tabs.js.map +1 -1
- package/dist/components/kol-textarea.js +4 -4
- package/dist/components/kol-textarea.js.map +1 -1
- package/dist/components/kol-toast-container.js +14 -8
- package/dist/components/kol-toast-container.js.map +1 -1
- package/dist/components/kol-toolbar.js +5 -5
- package/dist/components/kol-toolbar.js.map +1 -1
- package/dist/components/kol-tree-item-wc.js +5 -5
- package/dist/components/kol-tree-item-wc.js.map +1 -1
- package/dist/components/kol-tree-item.js +4 -4
- package/dist/components/kol-tree-item.js.map +1 -1
- package/dist/components/kol-tree-wc.js +3 -3
- package/dist/components/kol-tree-wc.js.map +1 -1
- package/dist/components/kol-tree.js +2 -2
- package/dist/components/kol-tree.js.map +1 -1
- package/dist/components/prop.validators.js +21 -32
- package/dist/components/prop.validators.js.map +1 -1
- package/dist/esm/Alert-2bYvhb8i.js +91 -0
- package/dist/esm/Alert-2bYvhb8i.js.map +1 -0
- package/dist/esm/Collapsible-OjK6lDr2.js +25 -0
- package/dist/esm/Collapsible-OjK6lDr2.js.map +1 -0
- package/dist/esm/CustomSuggestionsOptionsGroup-Cw_y_smw.js +28 -0
- package/dist/esm/CustomSuggestionsOptionsGroup-Cw_y_smw.js.map +1 -0
- package/dist/esm/FieldControlStateWrapper-CU6OjlrU.js +121 -0
- package/dist/esm/FieldControlStateWrapper-CU6OjlrU.js.map +1 -0
- package/dist/esm/FormFieldStateWrapper-C31luuWs.js +839 -0
- package/dist/esm/FormFieldStateWrapper-C31luuWs.js.map +1 -0
- package/dist/esm/Heading-C9p_CRv4.js +39 -0
- package/dist/esm/Heading-C9p_CRv4.js.map +1 -0
- package/dist/esm/Input-CwcyFZhB.js +27 -0
- package/dist/esm/Input-CwcyFZhB.js.map +1 -0
- package/dist/esm/InputStateWrapper-CcDZH7W5.js +83 -0
- package/dist/esm/InputStateWrapper-CcDZH7W5.js.map +1 -0
- package/dist/esm/access-and-short-key-CnWGdP5U.js +36 -0
- package/dist/esm/access-and-short-key-CnWGdP5U.js.map +1 -0
- package/dist/esm/align-ChLoh-Dq.js +22 -0
- package/dist/esm/align-ChLoh-Dq.js.map +1 -0
- package/dist/esm/align-floating-elements-DTTpkCAK.js +1669 -0
- package/dist/esm/align-floating-elements-DTTpkCAK.js.map +1 -0
- package/dist/esm/app-globals-Cwf240Bw.js +34 -0
- package/dist/esm/app-globals-Cwf240Bw.js.map +1 -0
- package/dist/esm/aria-expanded--y6Ce39-.js +26 -0
- package/dist/esm/aria-expanded--y6Ce39-.js.map +1 -0
- package/dist/esm/aria-labelledby-BUOJRaGL.js +57 -0
- package/dist/esm/aria-labelledby-BUOJRaGL.js.map +1 -0
- package/dist/esm/associated.controller-D55JWKjs.js +188 -0
- package/dist/esm/associated.controller-D55JWKjs.js.map +1 -0
- package/dist/esm/auto-complete-CrQJr3SH.js +16 -0
- package/dist/esm/auto-complete-CrQJr3SH.js.map +1 -0
- package/dist/esm/bem-registry-B9CzNnO1.js +160 -0
- package/dist/esm/bem-registry-B9CzNnO1.js.map +1 -0
- package/dist/esm/bootstrap-UOb6OarC.js +31 -0
- package/dist/esm/bootstrap-UOb6OarC.js.map +1 -0
- package/dist/esm/color-Df2awjVY.js +98 -0
- package/dist/esm/color-Df2awjVY.js.map +1 -0
- package/dist/esm/common-DEEjER7G.js +1715 -0
- package/dist/esm/common-DEEjER7G.js.map +1 -0
- package/dist/esm/component-4RtkhTfb.js +9148 -0
- package/dist/esm/component-4RtkhTfb.js.map +1 -0
- package/dist/esm/component-BFsdrctP.js +14 -0
- package/dist/esm/component-BFsdrctP.js.map +1 -0
- package/dist/esm/component-ijX_kUom.js +21 -0
- package/dist/esm/component-ijX_kUom.js.map +1 -0
- package/dist/esm/component-j5NhcleS.js +15 -0
- package/dist/esm/component-j5NhcleS.js.map +1 -0
- package/dist/esm/contrast-C0oqtcfU.js +97 -0
- package/dist/esm/contrast-C0oqtcfU.js.map +1 -0
- package/dist/esm/controller-B4DO-yV0.js +52 -0
- package/dist/esm/controller-B4DO-yV0.js.map +1 -0
- package/dist/esm/controller-CcrsrzWi.js +91 -0
- package/dist/esm/controller-CcrsrzWi.js.map +1 -0
- package/dist/esm/controller-D0y9uwX0.js +96 -0
- package/dist/esm/controller-D0y9uwX0.js.map +1 -0
- package/dist/esm/controller-DvdfA2RR.js +120 -0
- package/dist/esm/controller-DvdfA2RR.js.map +1 -0
- package/dist/esm/controller-icon-D3_aQk9W.js +165 -0
- package/dist/esm/controller-icon-D3_aQk9W.js.map +1 -0
- package/dist/esm/controller-oT8Y98Yc.js +239 -0
- package/dist/esm/controller-oT8Y98Yc.js.map +1 -0
- package/dist/esm/custom-class-RTVG26D_.js +15 -0
- package/dist/esm/custom-class-RTVG26D_.js.map +1 -0
- package/dist/esm/dev.utils-Cv9uCwkA.js +81 -0
- package/dist/esm/dev.utils-Cv9uCwkA.js.map +1 -0
- package/dist/esm/devtools-BOWjtOAI.js +101 -0
- package/dist/esm/devtools-BOWjtOAI.js.map +1 -0
- package/dist/esm/disabled-CtaJsBT2.js +21 -0
- package/dist/esm/disabled-CtaJsBT2.js.map +1 -0
- package/dist/esm/element-focus-BQXzaLL9.js +159 -0
- package/dist/esm/element-focus-BQXzaLL9.js.map +1 -0
- package/dist/esm/element-interaction-C5-6aPzz.js +64 -0
- package/dist/esm/element-interaction-C5-6aPzz.js.map +1 -0
- package/dist/esm/events-BhfZTW2e.js +43 -0
- package/dist/esm/events-BhfZTW2e.js.map +1 -0
- package/dist/esm/has-closer-GBI76y-L.js +13 -0
- package/dist/esm/has-closer-GBI76y-L.js.map +1 -0
- package/dist/esm/hide-label-CWFMK5Iz.js +13 -0
- package/dist/esm/hide-label-CWFMK5Iz.js.map +1 -0
- package/dist/esm/href-yQN98Z4F.js +13 -0
- package/dist/esm/href-yQN98Z4F.js.map +1 -0
- package/dist/esm/i18n-CaL2ODdQ.js +19 -0
- package/dist/esm/i18n-CaL2ODdQ.js.map +1 -0
- package/dist/esm/icons-DOGnS2Iv.js +84 -0
- package/dist/esm/icons-DOGnS2Iv.js.map +1 -0
- package/dist/esm/index-DqvPZ16l.js +2878 -0
- package/dist/esm/index-DqvPZ16l.js.map +1 -0
- package/dist/esm/index.js +6 -6
- package/dist/esm/inline-D3v7pifU.js +13 -0
- package/dist/esm/inline-D3v7pifU.js.map +1 -0
- package/dist/esm/kol-abbr.entry.js +14 -14
- package/dist/esm/kol-accordion.entry.js +17 -17
- package/dist/esm/kol-accordion.entry.js.map +1 -1
- package/dist/esm/kol-alert-wc.entry.js +13 -13
- package/dist/esm/kol-alert.entry.js +3 -3
- package/dist/esm/kol-avatar.entry.js +9 -9
- package/dist/esm/kol-badge.entry.js +15 -15
- package/dist/esm/kol-badge.entry.js.map +1 -1
- package/dist/esm/kol-breadcrumb.entry.js +8 -8
- package/dist/esm/kol-button-link.entry.js +7 -7
- package/dist/esm/kol-button-link.entry.js.map +1 -1
- package/dist/esm/kol-button-wc.entry.js +31 -31
- package/dist/esm/kol-button-wc.entry.js.map +1 -1
- package/dist/esm/kol-button.entry.js +7 -7
- package/dist/esm/kol-button.entry.js.map +1 -1
- package/dist/esm/kol-card-wc.entry.js +16 -16
- package/dist/esm/kol-card.entry.js +3 -3
- package/dist/esm/kol-click-button.entry.js +39 -12
- package/dist/esm/kol-click-button.entry.js.map +1 -1
- package/dist/esm/kol-combobox.entry.js +48 -42
- package/dist/esm/kol-combobox.entry.js.map +1 -1
- package/dist/esm/kol-details.entry.js +17 -17
- package/dist/esm/kol-details.entry.js.map +1 -1
- package/dist/esm/kol-dialog-wc.entry.js +8 -8
- package/dist/esm/kol-dialog.entry.js +3 -3
- package/dist/esm/kol-drawer.entry.js +12 -12
- package/dist/esm/kol-form.entry.js +9 -9
- package/dist/esm/kol-heading.entry.js +5 -5
- package/dist/esm/kol-icon.entry.js +8 -8
- package/dist/esm/kol-image.entry.js +24 -8
- package/dist/esm/kol-image.entry.js.map +1 -1
- package/dist/esm/kol-input-checkbox.entry.js +37 -37
- package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
- package/dist/esm/kol-input-color.entry.js +37 -37
- package/dist/esm/kol-input-color.entry.js.map +1 -1
- package/dist/esm/kol-input-date.entry.js +40 -40
- package/dist/esm/kol-input-date.entry.js.map +1 -1
- package/dist/esm/kol-input-email.entry.js +46 -46
- package/dist/esm/kol-input-email.entry.js.map +1 -1
- package/dist/esm/kol-input-file.entry.js +37 -37
- package/dist/esm/kol-input-file.entry.js.map +1 -1
- package/dist/esm/kol-input-number.entry.js +41 -41
- package/dist/esm/kol-input-number.entry.js.map +1 -1
- package/dist/esm/kol-input-password.entry.js +42 -42
- package/dist/esm/kol-input-password.entry.js.map +1 -1
- package/dist/esm/kol-input-radio.entry.js +38 -37
- package/dist/esm/kol-input-radio.entry.js.map +1 -1
- package/dist/esm/kol-input-range.entry.js +38 -38
- package/dist/esm/kol-input-range.entry.js.map +1 -1
- package/dist/esm/kol-input-text.entry.js +45 -45
- package/dist/esm/kol-input-text.entry.js.map +1 -1
- package/dist/esm/kol-kolibri.entry.js +5 -5
- package/dist/esm/kol-link-button.entry.js +7 -7
- package/dist/esm/kol-link-button.entry.js.map +1 -1
- package/dist/esm/kol-link-wc.entry.js +30 -30
- package/dist/esm/kol-link-wc.entry.js.map +1 -1
- package/dist/esm/kol-link.entry.js +7 -7
- package/dist/esm/kol-link.entry.js.map +1 -1
- package/dist/esm/kol-meter.entry.js +10 -35
- package/dist/esm/kol-meter.entry.js.map +1 -1
- package/dist/esm/kol-modal.entry.js +3 -3
- package/dist/esm/kol-nav.entry.js +9 -9
- package/dist/esm/kol-pagination-wc.entry.js +10 -10
- package/dist/esm/kol-pagination.entry.js +3 -3
- package/dist/esm/kol-popover-button-wc.entry.js +11 -11
- package/dist/esm/kol-popover-button-wc.entry.js.map +1 -1
- package/dist/esm/kol-popover-button.entry.js +7 -7
- package/dist/esm/kol-popover-button.entry.js.map +1 -1
- package/dist/esm/kol-progress.entry.js +7 -7
- package/dist/esm/kol-quote.entry.js +6 -6
- package/dist/esm/kol-select-wc.entry.js +39 -39
- package/dist/esm/kol-select-wc.entry.js.map +1 -1
- package/dist/esm/kol-select.entry.js +7 -7
- package/dist/esm/kol-select.entry.js.map +1 -1
- package/dist/esm/kol-single-select.entry.js +42 -42
- package/dist/esm/kol-single-select.entry.js.map +1 -1
- package/dist/esm/kol-skeleton.entry.js +22 -18
- package/dist/esm/kol-skeleton.entry.js.map +1 -1
- package/dist/esm/kol-skip-nav.entry.js +10 -10
- package/dist/esm/kol-skip-nav.entry.js.map +1 -1
- package/dist/esm/kol-spin.entry.js +6 -6
- package/dist/esm/kol-split-button.entry.js +9 -9
- package/dist/esm/kol-split-button.entry.js.map +1 -1
- package/dist/esm/kol-table-settings-wc.entry.js +4 -4
- package/dist/esm/kol-table-stateful.entry.js +71 -14
- package/dist/esm/kol-table-stateful.entry.js.map +1 -1
- package/dist/esm/kol-table-stateless-wc.entry.js +45 -58
- package/dist/esm/kol-table-stateless-wc.entry.js.map +1 -1
- package/dist/esm/kol-table-stateless.entry.js +4 -4
- package/dist/esm/kol-table-stateless.entry.js.map +1 -1
- package/dist/esm/kol-tabs.entry.js +12 -12
- package/dist/esm/kol-tabs.entry.js.map +1 -1
- package/dist/esm/kol-textarea.entry.js +39 -39
- package/dist/esm/kol-textarea.entry.js.map +1 -1
- package/dist/esm/kol-toast-container.entry.js +25 -19
- package/dist/esm/kol-toast-container.entry.js.map +1 -1
- package/dist/esm/kol-toolbar.entry.js +9 -9
- package/dist/esm/kol-toolbar.entry.js.map +1 -1
- package/dist/esm/kol-tooltip-wc.entry.js +12 -12
- package/dist/esm/kol-tree-item-wc.entry.js +13 -13
- package/dist/esm/kol-tree-item-wc.entry.js.map +1 -1
- package/dist/esm/kol-tree-item.entry.js +6 -6
- package/dist/esm/kol-tree-item.entry.js.map +1 -1
- package/dist/esm/kol-tree-wc.entry.js +6 -6
- package/dist/esm/kol-tree-wc.entry.js.map +1 -1
- package/dist/esm/kol-tree.entry.js +6 -6
- package/dist/esm/kol-tree.entry.js.map +1 -1
- package/dist/esm/kol-version.entry.js +4 -4
- package/dist/esm/kolibri.js +5 -5
- package/dist/esm/label-Cg7TG_7b.js +45 -0
- package/dist/esm/label-Cg7TG_7b.js.map +1 -0
- package/dist/esm/label-DPd4-fag.js +11 -0
- package/dist/esm/label-DPd4-fag.js.map +1 -0
- package/dist/esm/level-CfQolHx4.js +12 -0
- package/dist/esm/level-CfQolHx4.js.map +1 -0
- package/dist/esm/loader.js +5 -5
- package/dist/esm/max-length-behavior-426q5CU6.js +22 -0
- package/dist/esm/max-length-behavior-426q5CU6.js.map +1 -0
- package/dist/esm/multiple-LEiooHN4.js +13 -0
- package/dist/esm/multiple-LEiooHN4.js.map +1 -0
- package/dist/esm/normalizers-pgU77mXp.js +641 -0
- package/dist/esm/normalizers-pgU77mXp.js.map +1 -0
- package/dist/esm/open-Djbpz6kg.js +13 -0
- package/dist/esm/open-Djbpz6kg.js.map +1 -0
- package/dist/esm/orientation-BzQXB0-V.js +16 -0
- package/dist/esm/orientation-BzQXB0-V.js.map +1 -0
- package/dist/esm/placeholder-CSgrK1Zh.js +13 -0
- package/dist/esm/placeholder-CSgrK1Zh.js.map +1 -0
- package/dist/esm/read-only-DyuIPHMt.js +13 -0
- package/dist/esm/read-only-DyuIPHMt.js.map +1 -0
- package/dist/esm/required-DAsW5lI1.js +13 -0
- package/dist/esm/required-DAsW5lI1.js.map +1 -0
- package/dist/esm/rows-Bdp885AQ.js +13 -0
- package/dist/esm/rows-Bdp885AQ.js.map +1 -0
- package/dist/esm/spell-check-CSnDB95u.js +15 -0
- package/dist/esm/spell-check-CSnDB95u.js.map +1 -0
- package/dist/esm/src-C8dP-FLK.js +11 -0
- package/dist/esm/src-C8dP-FLK.js.map +1 -0
- package/dist/esm/suggestions-Cnn1r8zc.js +21 -0
- package/dist/esm/suggestions-Cnn1r8zc.js.map +1 -0
- package/dist/esm/table-selection-DlaNrAWM.js +85 -0
- package/dist/esm/table-selection-DlaNrAWM.js.map +1 -0
- package/dist/esm/test-component.entry.js +2 -2
- package/dist/esm/tooltip-align-DzHPWEpv.js +14 -0
- package/dist/esm/tooltip-align-DzHPWEpv.js.map +1 -0
- package/dist/esm/unique-nav-labels-7ifGcuBZ.js +22 -0
- package/dist/esm/unique-nav-labels-7ifGcuBZ.js.map +1 -0
- package/dist/esm/validation-B8MhupBp.js +14 -0
- package/dist/esm/validation-B8MhupBp.js.map +1 -0
- package/dist/esm/validation-VhuthteS.js +17 -0
- package/dist/esm/validation-VhuthteS.js.map +1 -0
- package/dist/esm/value-number-clamped-BQ9jw4HR.js +24 -0
- package/dist/esm/value-number-clamped-BQ9jw4HR.js.map +1 -0
- package/dist/esm/variant-class-name-CkfE8oGZ.js +16 -0
- package/dist/esm/variant-class-name-CkfE8oGZ.js.map +1 -0
- package/dist/esm/variant-quote-BMV8GZX8.js +37 -0
- package/dist/esm/variant-quote-BMV8GZX8.js.map +1 -0
- package/dist/kolibri/Alert-2bYvhb8i.js +5 -0
- package/dist/kolibri/Alert-2bYvhb8i.js.map +1 -0
- package/dist/kolibri/Collapsible-OjK6lDr2.js +5 -0
- package/dist/kolibri/Collapsible-OjK6lDr2.js.map +1 -0
- package/dist/kolibri/CustomSuggestionsOptionsGroup-Cw_y_smw.js +5 -0
- package/dist/kolibri/CustomSuggestionsOptionsGroup-Cw_y_smw.js.map +1 -0
- package/dist/kolibri/FieldControlStateWrapper-CU6OjlrU.js +5 -0
- package/dist/kolibri/FieldControlStateWrapper-CU6OjlrU.js.map +1 -0
- package/dist/kolibri/FormFieldStateWrapper-C31luuWs.js +5 -0
- package/dist/kolibri/FormFieldStateWrapper-C31luuWs.js.map +1 -0
- package/dist/kolibri/Heading-C9p_CRv4.js +5 -0
- package/dist/kolibri/Heading-C9p_CRv4.js.map +1 -0
- package/dist/kolibri/Input-CwcyFZhB.js +5 -0
- package/dist/kolibri/Input-CwcyFZhB.js.map +1 -0
- package/dist/kolibri/InputStateWrapper-CcDZH7W5.js +5 -0
- package/dist/kolibri/InputStateWrapper-CcDZH7W5.js.map +1 -0
- package/dist/kolibri/access-and-short-key-CnWGdP5U.js +5 -0
- package/dist/kolibri/access-and-short-key-CnWGdP5U.js.map +1 -0
- package/dist/kolibri/align-ChLoh-Dq.js +5 -0
- package/dist/kolibri/align-ChLoh-Dq.js.map +1 -0
- package/dist/kolibri/align-floating-elements-DTTpkCAK.js +5 -0
- package/dist/kolibri/align-floating-elements-DTTpkCAK.js.map +1 -0
- package/dist/kolibri/app-globals-Cwf240Bw.js +5 -0
- package/dist/kolibri/app-globals-Cwf240Bw.js.map +1 -0
- package/dist/kolibri/aria-expanded--y6Ce39-.js +5 -0
- package/dist/kolibri/aria-expanded--y6Ce39-.js.map +1 -0
- package/dist/kolibri/aria-labelledby-BUOJRaGL.js +5 -0
- package/dist/kolibri/aria-labelledby-BUOJRaGL.js.map +1 -0
- package/dist/kolibri/associated.controller-D55JWKjs.js +5 -0
- package/dist/kolibri/associated.controller-D55JWKjs.js.map +1 -0
- package/dist/kolibri/auto-complete-CrQJr3SH.js +5 -0
- package/dist/kolibri/auto-complete-CrQJr3SH.js.map +1 -0
- package/dist/kolibri/bem-registry-B9CzNnO1.js +5 -0
- package/dist/kolibri/bem-registry-B9CzNnO1.js.map +1 -0
- package/dist/kolibri/bootstrap-UOb6OarC.js +5 -0
- package/dist/kolibri/bootstrap-UOb6OarC.js.map +1 -0
- package/dist/kolibri/color-Df2awjVY.js +5 -0
- package/dist/kolibri/color-Df2awjVY.js.map +1 -0
- package/dist/kolibri/common-DEEjER7G.js +5 -0
- package/dist/kolibri/common-DEEjER7G.js.map +1 -0
- package/dist/kolibri/component-4RtkhTfb.js +5 -0
- package/dist/kolibri/component-4RtkhTfb.js.map +1 -0
- package/dist/kolibri/component-BFsdrctP.js +5 -0
- package/dist/kolibri/component-BFsdrctP.js.map +1 -0
- package/dist/kolibri/component-ijX_kUom.js +5 -0
- package/dist/kolibri/component-ijX_kUom.js.map +1 -0
- package/dist/kolibri/component-j5NhcleS.js +5 -0
- package/dist/kolibri/component-j5NhcleS.js.map +1 -0
- package/dist/kolibri/contrast-C0oqtcfU.js +5 -0
- package/dist/kolibri/contrast-C0oqtcfU.js.map +1 -0
- package/dist/kolibri/controller-B4DO-yV0.js +5 -0
- package/dist/kolibri/controller-B4DO-yV0.js.map +1 -0
- package/dist/kolibri/controller-CcrsrzWi.js +5 -0
- package/dist/kolibri/controller-CcrsrzWi.js.map +1 -0
- package/dist/kolibri/controller-D0y9uwX0.js +5 -0
- package/dist/kolibri/controller-D0y9uwX0.js.map +1 -0
- package/dist/kolibri/controller-DvdfA2RR.js +5 -0
- package/dist/kolibri/controller-DvdfA2RR.js.map +1 -0
- package/dist/kolibri/controller-icon-D3_aQk9W.js +5 -0
- package/dist/kolibri/controller-icon-D3_aQk9W.js.map +1 -0
- package/dist/kolibri/controller-oT8Y98Yc.js +5 -0
- package/dist/kolibri/controller-oT8Y98Yc.js.map +1 -0
- package/dist/kolibri/custom-class-RTVG26D_.js +5 -0
- package/dist/kolibri/custom-class-RTVG26D_.js.map +1 -0
- package/dist/kolibri/dev.utils-Cv9uCwkA.js +5 -0
- package/dist/kolibri/dev.utils-Cv9uCwkA.js.map +1 -0
- package/dist/kolibri/devtools-BOWjtOAI.js +5 -0
- package/dist/kolibri/devtools-BOWjtOAI.js.map +1 -0
- package/dist/kolibri/disabled-CtaJsBT2.js +5 -0
- package/dist/kolibri/disabled-CtaJsBT2.js.map +1 -0
- package/dist/kolibri/element-focus-BQXzaLL9.js +5 -0
- package/dist/kolibri/element-focus-BQXzaLL9.js.map +1 -0
- package/dist/kolibri/element-interaction-C5-6aPzz.js +5 -0
- package/dist/kolibri/element-interaction-C5-6aPzz.js.map +1 -0
- package/dist/kolibri/events-BhfZTW2e.js +5 -0
- package/dist/kolibri/events-BhfZTW2e.js.map +1 -0
- package/dist/kolibri/has-closer-GBI76y-L.js +5 -0
- package/dist/kolibri/has-closer-GBI76y-L.js.map +1 -0
- package/dist/kolibri/hide-label-CWFMK5Iz.js +5 -0
- package/dist/kolibri/hide-label-CWFMK5Iz.js.map +1 -0
- package/dist/kolibri/href-yQN98Z4F.js +5 -0
- package/dist/kolibri/href-yQN98Z4F.js.map +1 -0
- package/dist/kolibri/i18n-CaL2ODdQ.js +5 -0
- package/dist/kolibri/i18n-CaL2ODdQ.js.map +1 -0
- package/dist/kolibri/icons-DOGnS2Iv.js +5 -0
- package/dist/kolibri/icons-DOGnS2Iv.js.map +1 -0
- package/dist/kolibri/index-DqvPZ16l.js +6 -0
- package/dist/kolibri/index-DqvPZ16l.js.map +1 -0
- package/dist/kolibri/index.esm.js +1 -1
- package/dist/kolibri/inline-D3v7pifU.js +5 -0
- package/dist/kolibri/inline-D3v7pifU.js.map +1 -0
- package/dist/kolibri/kol-abbr.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-accordion.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.js.map +1 -1
- package/dist/kolibri/kol-alert-wc.entry.js +1 -1
- package/dist/kolibri/kol-alert.entry.js +1 -1
- package/dist/kolibri/kol-avatar.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-badge.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js.map +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-button-link.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.js.map +1 -1
- package/dist/kolibri/kol-button-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-button-wc.entry.js +1 -1
- package/dist/kolibri/kol-button-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-button.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-button.entry.js +1 -1
- package/dist/kolibri/kol-button.entry.js.map +1 -1
- package/dist/kolibri/kol-card-wc.entry.js +1 -1
- package/dist/kolibri/kol-card.entry.js +1 -1
- package/dist/kolibri/kol-click-button.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-click-button.entry.js +1 -1
- package/dist/kolibri/kol-click-button.entry.js.map +1 -1
- package/dist/kolibri/kol-combobox.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-combobox.entry.js +1 -1
- package/dist/kolibri/kol-combobox.entry.js.map +1 -1
- package/dist/kolibri/kol-details.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-details.entry.js +1 -1
- package/dist/kolibri/kol-details.entry.js.map +1 -1
- package/dist/kolibri/kol-dialog-wc.entry.js +1 -1
- package/dist/kolibri/kol-dialog.entry.js +1 -1
- package/dist/kolibri/kol-drawer.entry.js +1 -1
- package/dist/kolibri/kol-form.entry.js +1 -1
- package/dist/kolibri/kol-heading.entry.js +1 -1
- package/dist/kolibri/kol-icon.entry.js +1 -1
- package/dist/kolibri/kol-image.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-image.entry.js +1 -1
- package/dist/kolibri/kol-image.entry.js.map +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
- package/dist/kolibri/kol-input-color.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-color.entry.js +1 -1
- package/dist/kolibri/kol-input-color.entry.js.map +1 -1
- package/dist/kolibri/kol-input-date.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-date.entry.js +1 -1
- package/dist/kolibri/kol-input-date.entry.js.map +1 -1
- package/dist/kolibri/kol-input-email.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-email.entry.js +1 -1
- package/dist/kolibri/kol-input-email.entry.js.map +1 -1
- package/dist/kolibri/kol-input-file.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-file.entry.js +1 -1
- package/dist/kolibri/kol-input-file.entry.js.map +1 -1
- package/dist/kolibri/kol-input-number.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-number.entry.js +1 -1
- package/dist/kolibri/kol-input-number.entry.js.map +1 -1
- package/dist/kolibri/kol-input-password.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-password.entry.js +1 -1
- package/dist/kolibri/kol-input-password.entry.js.map +1 -1
- package/dist/kolibri/kol-input-radio.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-radio.entry.js +1 -1
- package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
- package/dist/kolibri/kol-input-range.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-range.entry.js +1 -1
- package/dist/kolibri/kol-input-range.entry.js.map +1 -1
- package/dist/kolibri/kol-input-text.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-text.entry.js +1 -1
- package/dist/kolibri/kol-input-text.entry.js.map +1 -1
- package/dist/kolibri/kol-kolibri.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-link-button.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.js.map +1 -1
- package/dist/kolibri/kol-link-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-link-wc.entry.js +1 -1
- package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-link.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-link.entry.js +1 -1
- package/dist/kolibri/kol-link.entry.js.map +1 -1
- package/dist/kolibri/kol-meter.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-meter.entry.js +1 -1
- package/dist/kolibri/kol-meter.entry.js.map +1 -1
- package/dist/kolibri/kol-modal.entry.js +1 -1
- package/dist/kolibri/kol-nav.entry.js +1 -1
- package/dist/kolibri/kol-pagination-wc.entry.js +1 -1
- package/dist/kolibri/kol-pagination.entry.js +1 -1
- package/dist/kolibri/kol-popover-button-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-popover-button-wc.entry.js +1 -1
- package/dist/kolibri/kol-popover-button-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-popover-button.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-popover-button.entry.js +1 -1
- package/dist/kolibri/kol-popover-button.entry.js.map +1 -1
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-quote.entry.js +1 -1
- package/dist/kolibri/kol-select-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-select-wc.entry.js +1 -1
- package/dist/kolibri/kol-select-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-select.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-select.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.js.map +1 -1
- package/dist/kolibri/kol-single-select.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-single-select.entry.js +1 -1
- package/dist/kolibri/kol-single-select.entry.js.map +1 -1
- package/dist/kolibri/kol-skeleton.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-skeleton.entry.js +1 -1
- package/dist/kolibri/kol-skeleton.entry.js.map +1 -1
- package/dist/kolibri/kol-skip-nav.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-split-button.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-split-button.entry.js +1 -1
- package/dist/kolibri/kol-split-button.entry.js.map +1 -1
- package/dist/kolibri/kol-table-settings-wc.entry.js +1 -1
- package/dist/kolibri/kol-table-stateful.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-table-stateful.entry.js +1 -1
- package/dist/kolibri/kol-table-stateful.entry.js.map +1 -1
- package/dist/kolibri/kol-table-stateless-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-table-stateless-wc.entry.js +1 -1
- package/dist/kolibri/kol-table-stateless-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-table-stateless.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-table-stateless.entry.js +1 -1
- package/dist/kolibri/kol-table-stateless.entry.js.map +1 -1
- package/dist/kolibri/kol-tabs.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-tabs.entry.js +1 -1
- package/dist/kolibri/kol-tabs.entry.js.map +1 -1
- package/dist/kolibri/kol-textarea.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-textarea.entry.js +1 -1
- package/dist/kolibri/kol-textarea.entry.js.map +1 -1
- package/dist/kolibri/kol-toast-container.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-toast-container.entry.js +1 -1
- package/dist/kolibri/kol-toast-container.entry.js.map +1 -1
- package/dist/kolibri/kol-toolbar.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-toolbar.entry.js +1 -1
- package/dist/kolibri/kol-toolbar.entry.js.map +1 -1
- package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
- package/dist/kolibri/kol-tree-item-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-tree-item-wc.entry.js +1 -1
- package/dist/kolibri/kol-tree-item-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-tree-item.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-tree-item.entry.js +1 -1
- package/dist/kolibri/kol-tree-item.entry.js.map +1 -1
- package/dist/kolibri/kol-tree-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-tree-wc.entry.js +1 -1
- package/dist/kolibri/kol-tree-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-tree.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-tree.entry.js +1 -1
- package/dist/kolibri/kol-tree.entry.js.map +1 -1
- package/dist/kolibri/kol-version.entry.js +1 -1
- package/dist/kolibri/kolibri.esm.js +1 -1
- package/dist/kolibri/label-Cg7TG_7b.js +5 -0
- package/dist/kolibri/label-Cg7TG_7b.js.map +1 -0
- package/dist/kolibri/label-DPd4-fag.js +5 -0
- package/dist/kolibri/label-DPd4-fag.js.map +1 -0
- package/dist/kolibri/level-CfQolHx4.js +5 -0
- package/dist/kolibri/level-CfQolHx4.js.map +1 -0
- package/dist/kolibri/max-length-behavior-426q5CU6.js +5 -0
- package/dist/kolibri/max-length-behavior-426q5CU6.js.map +1 -0
- package/dist/kolibri/multiple-LEiooHN4.js +5 -0
- package/dist/kolibri/multiple-LEiooHN4.js.map +1 -0
- package/dist/kolibri/normalizers-pgU77mXp.js +5 -0
- package/dist/kolibri/normalizers-pgU77mXp.js.map +1 -0
- package/dist/kolibri/open-Djbpz6kg.js +5 -0
- package/dist/kolibri/open-Djbpz6kg.js.map +1 -0
- package/dist/kolibri/orientation-BzQXB0-V.js +5 -0
- package/dist/kolibri/orientation-BzQXB0-V.js.map +1 -0
- package/dist/kolibri/placeholder-CSgrK1Zh.js +5 -0
- package/dist/kolibri/placeholder-CSgrK1Zh.js.map +1 -0
- package/dist/kolibri/read-only-DyuIPHMt.js +5 -0
- package/dist/kolibri/read-only-DyuIPHMt.js.map +1 -0
- package/dist/kolibri/required-DAsW5lI1.js +5 -0
- package/dist/kolibri/required-DAsW5lI1.js.map +1 -0
- package/dist/kolibri/rows-Bdp885AQ.js +5 -0
- package/dist/kolibri/rows-Bdp885AQ.js.map +1 -0
- package/dist/kolibri/spell-check-CSnDB95u.js +5 -0
- package/dist/kolibri/spell-check-CSnDB95u.js.map +1 -0
- package/dist/kolibri/src-C8dP-FLK.js +5 -0
- package/dist/kolibri/src-C8dP-FLK.js.map +1 -0
- package/dist/kolibri/suggestions-Cnn1r8zc.js +5 -0
- package/dist/kolibri/suggestions-Cnn1r8zc.js.map +1 -0
- package/dist/kolibri/table-selection-DlaNrAWM.js +5 -0
- package/dist/kolibri/table-selection-DlaNrAWM.js.map +1 -0
- package/dist/kolibri/test-component.entry.js +1 -1
- package/dist/kolibri/tooltip-align-DzHPWEpv.js +5 -0
- package/dist/kolibri/tooltip-align-DzHPWEpv.js.map +1 -0
- package/dist/kolibri/unique-nav-labels-7ifGcuBZ.js +5 -0
- package/dist/kolibri/unique-nav-labels-7ifGcuBZ.js.map +1 -0
- package/dist/kolibri/validation-B8MhupBp.js +5 -0
- package/dist/kolibri/validation-B8MhupBp.js.map +1 -0
- package/dist/kolibri/validation-VhuthteS.js +5 -0
- package/dist/kolibri/validation-VhuthteS.js.map +1 -0
- package/dist/kolibri/value-number-clamped-BQ9jw4HR.js +5 -0
- package/dist/kolibri/value-number-clamped-BQ9jw4HR.js.map +1 -0
- package/dist/kolibri/variant-class-name-CkfE8oGZ.js +5 -0
- package/dist/kolibri/variant-class-name-CkfE8oGZ.js.map +1 -0
- package/dist/kolibri/variant-quote-BMV8GZX8.js +5 -0
- package/dist/kolibri/variant-quote-BMV8GZX8.js.map +1 -0
- package/dist/types/components/_skeleton/web-components/click-button/component.d.ts +3 -1
- package/dist/types/components/_skeleton/web-components/skeleton/component.d.ts +3 -1
- package/dist/types/components/accordion/shadow.d.ts +2 -2
- package/dist/types/components/badge/shadow.d.ts +2 -2
- package/dist/types/components/button/component.d.ts +2 -2
- package/dist/types/components/button/shadow.d.ts +2 -2
- package/dist/types/components/button-link/shadow.d.ts +2 -2
- package/dist/types/components/combobox/shadow.d.ts +2 -2
- package/dist/types/components/details/shadow.d.ts +2 -2
- package/dist/types/components/image/component.d.ts +5 -0
- package/dist/types/components/input-adapter-leanup/associated.controller.d.ts +2 -2
- package/dist/types/components/input-checkbox/shadow.d.ts +2 -2
- package/dist/types/components/input-color/shadow.d.ts +2 -2
- package/dist/types/components/input-date/shadow.d.ts +2 -2
- package/dist/types/components/input-email/shadow.d.ts +2 -2
- package/dist/types/components/input-file/shadow.d.ts +2 -2
- package/dist/types/components/input-number/shadow.d.ts +2 -2
- package/dist/types/components/input-password/shadow.d.ts +2 -2
- package/dist/types/components/input-radio/shadow.d.ts +2 -2
- package/dist/types/components/input-range/shadow.d.ts +2 -2
- package/dist/types/components/input-text/shadow.d.ts +2 -2
- package/dist/types/components/link/component.d.ts +2 -2
- package/dist/types/components/link/shadow.d.ts +2 -2
- package/dist/types/components/link-button/shadow.d.ts +2 -2
- package/dist/types/components/meter/component.d.ts +0 -2
- package/dist/types/components/popover-button/component.d.ts +2 -2
- package/dist/types/components/popover-button/shadow.d.ts +2 -2
- package/dist/types/components/select/component.d.ts +2 -2
- package/dist/types/components/select/shadow.d.ts +2 -2
- package/dist/types/components/single-select/shadow.d.ts +2 -2
- package/dist/types/components/skip-nav/shadow.d.ts +2 -2
- package/dist/types/components/split-button/shadow.d.ts +2 -2
- package/dist/types/components/table-stateful/shadow.d.ts +5 -0
- package/dist/types/components/table-stateless/component.d.ts +5 -0
- package/dist/types/components/tabs/shadow.d.ts +2 -2
- package/dist/types/components/textarea/shadow.d.ts +2 -2
- package/dist/types/components/toolbar/shadow.d.ts +2 -2
- package/dist/types/components/tree/component.d.ts +2 -2
- package/dist/types/components/tree/shadow.d.ts +2 -2
- package/dist/types/components/tree-item/component.d.ts +2 -2
- package/dist/types/components/tree-item/shadow.d.ts +2 -2
- package/dist/types/components.d.ts +84 -74
- package/dist/types/internal/functional-components/click-button/controller.d.ts +0 -3
- package/dist/types/internal/functional-components/generic-types.d.ts +1 -4
- package/dist/types/internal/functional-components/image/component.d.ts +12 -3
- package/dist/types/internal/functional-components/meter/api.d.ts +0 -3
- package/dist/types/internal/functional-components/meter/controller.d.ts +0 -3
- package/dist/types/internal/functional-components/skeleton/api.d.ts +2 -1
- package/dist/types/internal/functional-components/skeleton/controller.d.ts +3 -2
- package/dist/types/schema/components/image.d.ts +5 -10
- package/dist/types/schema/components/input-password.d.ts +1 -1
- package/dist/types/schema/interfaces/FocusableElement.d.ts +7 -1
- package/dist/types/utils/element-focus.d.ts +2 -1
- package/dist/types/utils/element-interaction.d.ts +1 -0
- package/dist/types/utils/events.d.ts +3 -1
- package/doc/accordion.md +7 -1
- package/doc/badge.md +7 -1
- package/doc/button-link.md +7 -1
- package/doc/button.md +7 -1
- package/doc/combobox.md +7 -1
- package/doc/details.md +7 -1
- package/doc/image.md +8 -7
- package/doc/input-checkbox.md +7 -1
- package/doc/input-color.md +7 -1
- package/doc/input-date.md +7 -1
- package/doc/input-email.md +7 -1
- package/doc/input-file.md +7 -1
- package/doc/input-number.md +7 -1
- package/doc/input-password.md +7 -1
- package/doc/input-radio.md +7 -1
- package/doc/input-range.md +7 -1
- package/doc/input-text.md +7 -1
- package/doc/link-button.md +7 -1
- package/doc/link.md +7 -1
- package/doc/popover-button.md +7 -1
- package/doc/select.md +7 -1
- package/doc/single-select.md +7 -1
- package/doc/skeleton.md +7 -1
- package/doc/skip-nav.md +7 -1
- package/doc/split-button.md +7 -1
- package/doc/tabs.md +7 -1
- package/doc/textarea.md +7 -1
- package/doc/toolbar.md +7 -1
- package/doc/tree-item.md +7 -1
- package/doc/tree.md +7 -1
- package/package.json +2 -2
- package/dist/cjs/Alert-C5eDyNdi.js +0 -93
- package/dist/cjs/Alert-C5eDyNdi.js.map +0 -1
- package/dist/cjs/Collapsible-CdgPKZnW.js +0 -27
- package/dist/cjs/Collapsible-CdgPKZnW.js.map +0 -1
- package/dist/cjs/CustomSuggestionsOptionsGroup-CStgu1WD.js +0 -31
- package/dist/cjs/CustomSuggestionsOptionsGroup-CStgu1WD.js.map +0 -1
- package/dist/cjs/FieldControlStateWrapper-C3gnJYdM.js +0 -123
- package/dist/cjs/FieldControlStateWrapper-C3gnJYdM.js.map +0 -1
- package/dist/cjs/FormFieldStateWrapper-BZsSDU0S.js +0 -848
- package/dist/cjs/FormFieldStateWrapper-BZsSDU0S.js.map +0 -1
- package/dist/cjs/Heading-Zb8_ekSw.js +0 -41
- package/dist/cjs/Heading-Zb8_ekSw.js.map +0 -1
- package/dist/cjs/Input-CJWa5Pws.js +0 -29
- package/dist/cjs/Input-CJWa5Pws.js.map +0 -1
- package/dist/cjs/InputStateWrapper-DsAJ4d2N.js +0 -86
- package/dist/cjs/InputStateWrapper-DsAJ4d2N.js.map +0 -1
- package/dist/cjs/access-and-short-key-CspEpGOV.js +0 -41
- package/dist/cjs/access-and-short-key-CspEpGOV.js.map +0 -1
- package/dist/cjs/align-B8NMKvjk.js +0 -26
- package/dist/cjs/align-B8NMKvjk.js.map +0 -1
- package/dist/cjs/align-floating-elements-BkrTeMF3.js +0 -1672
- package/dist/cjs/align-floating-elements-BkrTeMF3.js.map +0 -1
- package/dist/cjs/app-globals-CZOtDmo2.js +0 -36
- package/dist/cjs/app-globals-CZOtDmo2.js.map +0 -1
- package/dist/cjs/aria-expanded-CVaHNiQi.js +0 -31
- package/dist/cjs/aria-expanded-CVaHNiQi.js.map +0 -1
- package/dist/cjs/aria-labelledby-DdlFZwyS.js +0 -60
- package/dist/cjs/aria-labelledby-DdlFZwyS.js.map +0 -1
- package/dist/cjs/associated.controller-DLy6rpeW.js +0 -187
- package/dist/cjs/associated.controller-DLy6rpeW.js.map +0 -1
- package/dist/cjs/auto-complete-DkzHjXc-.js +0 -18
- package/dist/cjs/auto-complete-DkzHjXc-.js.map +0 -1
- package/dist/cjs/bem-registry-DevvgGUu.js +0 -163
- package/dist/cjs/bem-registry-DevvgGUu.js.map +0 -1
- package/dist/cjs/bootstrap-ByVQ9oF5.js +0 -36
- package/dist/cjs/bootstrap-ByVQ9oF5.js.map +0 -1
- package/dist/cjs/color-BVcCYLDJ.js +0 -101
- package/dist/cjs/color-BVcCYLDJ.js.map +0 -1
- package/dist/cjs/common-DPb6NWR4.js +0 -1780
- package/dist/cjs/common-DPb6NWR4.js.map +0 -1
- package/dist/cjs/component-BUJSMbIY.js +0 -9153
- package/dist/cjs/component-BUJSMbIY.js.map +0 -1
- package/dist/cjs/component-CuHGwo27.js +0 -23
- package/dist/cjs/component-CuHGwo27.js.map +0 -1
- package/dist/cjs/component-kXVnT0Wy.js +0 -16
- package/dist/cjs/component-kXVnT0Wy.js.map +0 -1
- package/dist/cjs/contrast-BdZHneMx.js +0 -100
- package/dist/cjs/contrast-BdZHneMx.js.map +0 -1
- package/dist/cjs/controller-B6zjPE-P.js +0 -93
- package/dist/cjs/controller-B6zjPE-P.js.map +0 -1
- package/dist/cjs/controller-BMDxsRHs.js +0 -99
- package/dist/cjs/controller-BMDxsRHs.js.map +0 -1
- package/dist/cjs/controller-CHDjVlC1.js +0 -51
- package/dist/cjs/controller-CHDjVlC1.js.map +0 -1
- package/dist/cjs/controller-DLDmoPss.js +0 -55
- package/dist/cjs/controller-DLDmoPss.js.map +0 -1
- package/dist/cjs/controller-DiB9pVnb.js +0 -241
- package/dist/cjs/controller-DiB9pVnb.js.map +0 -1
- package/dist/cjs/controller-TgxV2kV0.js +0 -126
- package/dist/cjs/controller-TgxV2kV0.js.map +0 -1
- package/dist/cjs/controller-icon-j62graYQ.js +0 -169
- package/dist/cjs/controller-icon-j62graYQ.js.map +0 -1
- package/dist/cjs/custom-class-6BetCmYR.js +0 -17
- package/dist/cjs/custom-class-6BetCmYR.js.map +0 -1
- package/dist/cjs/dev.utils-BeTuwcHU.js +0 -86
- package/dist/cjs/dev.utils-BeTuwcHU.js.map +0 -1
- package/dist/cjs/devtools-ZghKOdoO.js +0 -103
- package/dist/cjs/devtools-ZghKOdoO.js.map +0 -1
- package/dist/cjs/disabled-GY6LfYNH.js +0 -23
- package/dist/cjs/disabled-GY6LfYNH.js.map +0 -1
- package/dist/cjs/element-focus-DeVevBcF.js +0 -100
- package/dist/cjs/element-focus-DeVevBcF.js.map +0 -1
- package/dist/cjs/element-interaction-CXkAVgKs.js +0 -55
- package/dist/cjs/element-interaction-CXkAVgKs.js.map +0 -1
- package/dist/cjs/events-Jc2wxPjR.js +0 -43
- package/dist/cjs/events-Jc2wxPjR.js.map +0 -1
- package/dist/cjs/has-closer-DdfOvOk6.js +0 -15
- package/dist/cjs/has-closer-DdfOvOk6.js.map +0 -1
- package/dist/cjs/hide-label-BnMTmbm4.js +0 -15
- package/dist/cjs/hide-label-BnMTmbm4.js.map +0 -1
- package/dist/cjs/href-D8FMmJ7i.js +0 -15
- package/dist/cjs/href-D8FMmJ7i.js.map +0 -1
- package/dist/cjs/i18n-Cjy0vgJA.js +0 -19
- package/dist/cjs/i18n-Cjy0vgJA.js.map +0 -1
- package/dist/cjs/icons-C4O3H4TU.js +0 -86
- package/dist/cjs/icons-C4O3H4TU.js.map +0 -1
- package/dist/cjs/index-BrhW8s5h.js +0 -2908
- package/dist/cjs/index-BrhW8s5h.js.map +0 -1
- package/dist/cjs/inline-D-XZg3UD.js +0 -15
- package/dist/cjs/inline-D-XZg3UD.js.map +0 -1
- package/dist/cjs/label-8vcJJEVI.js +0 -50
- package/dist/cjs/label-8vcJJEVI.js.map +0 -1
- package/dist/cjs/label-DRrPbj-j.js +0 -13
- package/dist/cjs/label-DRrPbj-j.js.map +0 -1
- package/dist/cjs/level-DmIt1w-r.js +0 -15
- package/dist/cjs/level-DmIt1w-r.js.map +0 -1
- package/dist/cjs/max-length-behavior-CqAwfrV8.js +0 -26
- package/dist/cjs/max-length-behavior-CqAwfrV8.js.map +0 -1
- package/dist/cjs/multiple-BEGQDyov.js +0 -15
- package/dist/cjs/multiple-BEGQDyov.js.map +0 -1
- package/dist/cjs/normalizers-BCLslVaT.js +0 -648
- package/dist/cjs/normalizers-BCLslVaT.js.map +0 -1
- package/dist/cjs/open-D-HUKrqZ.js +0 -15
- package/dist/cjs/open-D-HUKrqZ.js.map +0 -1
- package/dist/cjs/orientation-CZeybVrr.js +0 -18
- package/dist/cjs/orientation-CZeybVrr.js.map +0 -1
- package/dist/cjs/placeholder-DrjxGUF5.js +0 -15
- package/dist/cjs/placeholder-DrjxGUF5.js.map +0 -1
- package/dist/cjs/read-only-Dwp456Yc.js +0 -15
- package/dist/cjs/read-only-Dwp456Yc.js.map +0 -1
- package/dist/cjs/required-DriHzqmx.js +0 -15
- package/dist/cjs/required-DriHzqmx.js.map +0 -1
- package/dist/cjs/rows-DS0wBUTI.js +0 -15
- package/dist/cjs/rows-DS0wBUTI.js.map +0 -1
- package/dist/cjs/spell-check-DIEJiRbq.js +0 -17
- package/dist/cjs/spell-check-DIEJiRbq.js.map +0 -1
- package/dist/cjs/src-q91473CI.js +0 -13
- package/dist/cjs/src-q91473CI.js.map +0 -1
- package/dist/cjs/suggestions-CjIs1OMC.js +0 -23
- package/dist/cjs/suggestions-CjIs1OMC.js.map +0 -1
- package/dist/cjs/table-selection-B0zvrQJg.js +0 -93
- package/dist/cjs/table-selection-B0zvrQJg.js.map +0 -1
- package/dist/cjs/tooltip-align-BeYhiCq6.js +0 -16
- package/dist/cjs/tooltip-align-BeYhiCq6.js.map +0 -1
- package/dist/cjs/unique-nav-labels-DEtWDagf.js +0 -25
- package/dist/cjs/unique-nav-labels-DEtWDagf.js.map +0 -1
- package/dist/cjs/validation-4QVpAFd9.js +0 -19
- package/dist/cjs/validation-4QVpAFd9.js.map +0 -1
- package/dist/cjs/validation-DvL99Z_V.js +0 -16
- package/dist/cjs/validation-DvL99Z_V.js.map +0 -1
- package/dist/cjs/value-number-clamped-Ahfs15Fl.js +0 -28
- package/dist/cjs/value-number-clamped-Ahfs15Fl.js.map +0 -1
- package/dist/cjs/variant-class-name-BCWuCRd0.js +0 -18
- package/dist/cjs/variant-class-name-BCWuCRd0.js.map +0 -1
- package/dist/cjs/variant-quote-DpNzmCtr.js +0 -41
- package/dist/cjs/variant-quote-DpNzmCtr.js.map +0 -1
- package/dist/components/controller7.js +0 -92
- package/dist/components/controller7.js.map +0 -1
- package/dist/esm/Alert-BP_7bRZF.js +0 -91
- package/dist/esm/Alert-BP_7bRZF.js.map +0 -1
- package/dist/esm/Collapsible-BpaQSoeN.js +0 -25
- package/dist/esm/Collapsible-BpaQSoeN.js.map +0 -1
- package/dist/esm/CustomSuggestionsOptionsGroup-86r-pE0e.js +0 -28
- package/dist/esm/CustomSuggestionsOptionsGroup-86r-pE0e.js.map +0 -1
- package/dist/esm/FieldControlStateWrapper-DF2tVpwY.js +0 -121
- package/dist/esm/FieldControlStateWrapper-DF2tVpwY.js.map +0 -1
- package/dist/esm/FormFieldStateWrapper-BWTMRKXT.js +0 -839
- package/dist/esm/FormFieldStateWrapper-BWTMRKXT.js.map +0 -1
- package/dist/esm/Heading-q2Ue3Ixd.js +0 -39
- package/dist/esm/Heading-q2Ue3Ixd.js.map +0 -1
- package/dist/esm/Input-DQJln-L5.js +0 -27
- package/dist/esm/Input-DQJln-L5.js.map +0 -1
- package/dist/esm/InputStateWrapper-CDDIvfo0.js +0 -83
- package/dist/esm/InputStateWrapper-CDDIvfo0.js.map +0 -1
- package/dist/esm/access-and-short-key-D734WtlX.js +0 -36
- package/dist/esm/access-and-short-key-D734WtlX.js.map +0 -1
- package/dist/esm/align-DxZmRFcp.js +0 -22
- package/dist/esm/align-DxZmRFcp.js.map +0 -1
- package/dist/esm/align-floating-elements-D5XJiLiU.js +0 -1669
- package/dist/esm/align-floating-elements-D5XJiLiU.js.map +0 -1
- package/dist/esm/app-globals-UWioL0AL.js +0 -34
- package/dist/esm/app-globals-UWioL0AL.js.map +0 -1
- package/dist/esm/aria-expanded-hGdEA1jy.js +0 -26
- package/dist/esm/aria-expanded-hGdEA1jy.js.map +0 -1
- package/dist/esm/aria-labelledby-CEzR68x-.js +0 -57
- package/dist/esm/aria-labelledby-CEzR68x-.js.map +0 -1
- package/dist/esm/associated.controller-Bagx9pCw.js +0 -185
- package/dist/esm/associated.controller-Bagx9pCw.js.map +0 -1
- package/dist/esm/auto-complete-BbMivzAV.js +0 -16
- package/dist/esm/auto-complete-BbMivzAV.js.map +0 -1
- package/dist/esm/bem-registry-CWvl2xho.js +0 -160
- package/dist/esm/bem-registry-CWvl2xho.js.map +0 -1
- package/dist/esm/bootstrap-DPKvOz00.js +0 -31
- package/dist/esm/bootstrap-DPKvOz00.js.map +0 -1
- package/dist/esm/color-CAVnI0e-.js +0 -98
- package/dist/esm/color-CAVnI0e-.js.map +0 -1
- package/dist/esm/common-Cx_AGO_M.js +0 -1726
- package/dist/esm/common-Cx_AGO_M.js.map +0 -1
- package/dist/esm/component-Dh0cPCxF.js +0 -14
- package/dist/esm/component-Dh0cPCxF.js.map +0 -1
- package/dist/esm/component-DvjvBJeK.js +0 -9148
- package/dist/esm/component-DvjvBJeK.js.map +0 -1
- package/dist/esm/component-DzaT2WlJ.js +0 -21
- package/dist/esm/component-DzaT2WlJ.js.map +0 -1
- package/dist/esm/contrast-DlURrMX4.js +0 -97
- package/dist/esm/contrast-DlURrMX4.js.map +0 -1
- package/dist/esm/controller-Bdve6A-Q.js +0 -239
- package/dist/esm/controller-Bdve6A-Q.js.map +0 -1
- package/dist/esm/controller-CJmWOqQQ.js +0 -91
- package/dist/esm/controller-CJmWOqQQ.js.map +0 -1
- package/dist/esm/controller-DKPaX3Tu.js +0 -120
- package/dist/esm/controller-DKPaX3Tu.js.map +0 -1
- package/dist/esm/controller-DRE7PRMK.js +0 -96
- package/dist/esm/controller-DRE7PRMK.js.map +0 -1
- package/dist/esm/controller-icon-DekcIBGR.js +0 -165
- package/dist/esm/controller-icon-DekcIBGR.js.map +0 -1
- package/dist/esm/controller-osuRO7S2.js +0 -48
- package/dist/esm/controller-osuRO7S2.js.map +0 -1
- package/dist/esm/controller-xXHYiOzQ.js +0 -52
- package/dist/esm/controller-xXHYiOzQ.js.map +0 -1
- package/dist/esm/custom-class-DlT-QmWF.js +0 -15
- package/dist/esm/custom-class-DlT-QmWF.js.map +0 -1
- package/dist/esm/dev.utils-02Sl9bQo.js +0 -81
- package/dist/esm/dev.utils-02Sl9bQo.js.map +0 -1
- package/dist/esm/devtools-CTlVZVnW.js +0 -101
- package/dist/esm/devtools-CTlVZVnW.js.map +0 -1
- package/dist/esm/disabled-gyBUQRnY.js +0 -21
- package/dist/esm/disabled-gyBUQRnY.js.map +0 -1
- package/dist/esm/element-focus-CRwW4N4R.js +0 -95
- package/dist/esm/element-focus-CRwW4N4R.js.map +0 -1
- package/dist/esm/element-interaction-Bv-mPSBn.js +0 -49
- package/dist/esm/element-interaction-Bv-mPSBn.js.map +0 -1
- package/dist/esm/events-VVvk1win.js +0 -41
- package/dist/esm/events-VVvk1win.js.map +0 -1
- package/dist/esm/has-closer-B8w7bVjx.js +0 -13
- package/dist/esm/has-closer-B8w7bVjx.js.map +0 -1
- package/dist/esm/hide-label-6Bx1MH20.js +0 -13
- package/dist/esm/hide-label-6Bx1MH20.js.map +0 -1
- package/dist/esm/href-Dp4go7zq.js +0 -13
- package/dist/esm/href-Dp4go7zq.js.map +0 -1
- package/dist/esm/i18n-Br16IAnY.js +0 -19
- package/dist/esm/i18n-Br16IAnY.js.map +0 -1
- package/dist/esm/icons-oAzMYWgV.js +0 -84
- package/dist/esm/icons-oAzMYWgV.js.map +0 -1
- package/dist/esm/index-BQlHOxik.js +0 -2878
- package/dist/esm/index-BQlHOxik.js.map +0 -1
- package/dist/esm/inline-DnwpECF8.js +0 -13
- package/dist/esm/inline-DnwpECF8.js.map +0 -1
- package/dist/esm/label-Fyi30H9j.js +0 -45
- package/dist/esm/label-Fyi30H9j.js.map +0 -1
- package/dist/esm/label-KTv-zMW0.js +0 -11
- package/dist/esm/label-KTv-zMW0.js.map +0 -1
- package/dist/esm/level-1jyaYIAE.js +0 -12
- package/dist/esm/level-1jyaYIAE.js.map +0 -1
- package/dist/esm/max-length-behavior-CpaNmMus.js +0 -22
- package/dist/esm/max-length-behavior-CpaNmMus.js.map +0 -1
- package/dist/esm/multiple-DqCQ-txe.js +0 -13
- package/dist/esm/multiple-DqCQ-txe.js.map +0 -1
- package/dist/esm/normalizers-m3s9sgmq.js +0 -641
- package/dist/esm/normalizers-m3s9sgmq.js.map +0 -1
- package/dist/esm/open-Dw4Y2dzo.js +0 -13
- package/dist/esm/open-Dw4Y2dzo.js.map +0 -1
- package/dist/esm/orientation-CjNmUJp-.js +0 -16
- package/dist/esm/orientation-CjNmUJp-.js.map +0 -1
- package/dist/esm/placeholder-DTOUrN5s.js +0 -13
- package/dist/esm/placeholder-DTOUrN5s.js.map +0 -1
- package/dist/esm/read-only-DUMeby7s.js +0 -13
- package/dist/esm/read-only-DUMeby7s.js.map +0 -1
- package/dist/esm/required-DFzRSWky.js +0 -13
- package/dist/esm/required-DFzRSWky.js.map +0 -1
- package/dist/esm/rows-htbnIG9G.js +0 -13
- package/dist/esm/rows-htbnIG9G.js.map +0 -1
- package/dist/esm/spell-check-BtaQyLZc.js +0 -15
- package/dist/esm/spell-check-BtaQyLZc.js.map +0 -1
- package/dist/esm/src-DkLxm4tr.js +0 -11
- package/dist/esm/src-DkLxm4tr.js.map +0 -1
- package/dist/esm/suggestions-DEcHprcz.js +0 -21
- package/dist/esm/suggestions-DEcHprcz.js.map +0 -1
- package/dist/esm/table-selection-DmmUo33G.js +0 -85
- package/dist/esm/table-selection-DmmUo33G.js.map +0 -1
- package/dist/esm/tooltip-align-mwhvx9nK.js +0 -14
- package/dist/esm/tooltip-align-mwhvx9nK.js.map +0 -1
- package/dist/esm/unique-nav-labels-ZepmMUSu.js +0 -22
- package/dist/esm/unique-nav-labels-ZepmMUSu.js.map +0 -1
- package/dist/esm/validation-D6nATCh8.js +0 -17
- package/dist/esm/validation-D6nATCh8.js.map +0 -1
- package/dist/esm/validation-DGQ9Zja2.js +0 -14
- package/dist/esm/validation-DGQ9Zja2.js.map +0 -1
- package/dist/esm/value-number-clamped-47tM199y.js +0 -24
- package/dist/esm/value-number-clamped-47tM199y.js.map +0 -1
- package/dist/esm/variant-class-name-BCcQYpIV.js +0 -16
- package/dist/esm/variant-class-name-BCcQYpIV.js.map +0 -1
- package/dist/esm/variant-quote-y0Z1TRdz.js +0 -37
- package/dist/esm/variant-quote-y0Z1TRdz.js.map +0 -1
- package/dist/kolibri/Alert-BP_7bRZF.js +0 -5
- package/dist/kolibri/Alert-BP_7bRZF.js.map +0 -1
- package/dist/kolibri/Collapsible-BpaQSoeN.js +0 -5
- package/dist/kolibri/Collapsible-BpaQSoeN.js.map +0 -1
- package/dist/kolibri/CustomSuggestionsOptionsGroup-86r-pE0e.js +0 -5
- package/dist/kolibri/CustomSuggestionsOptionsGroup-86r-pE0e.js.map +0 -1
- package/dist/kolibri/FieldControlStateWrapper-DF2tVpwY.js +0 -5
- package/dist/kolibri/FieldControlStateWrapper-DF2tVpwY.js.map +0 -1
- package/dist/kolibri/FormFieldStateWrapper-BWTMRKXT.js +0 -5
- package/dist/kolibri/FormFieldStateWrapper-BWTMRKXT.js.map +0 -1
- package/dist/kolibri/Heading-q2Ue3Ixd.js +0 -5
- package/dist/kolibri/Heading-q2Ue3Ixd.js.map +0 -1
- package/dist/kolibri/Input-DQJln-L5.js +0 -5
- package/dist/kolibri/Input-DQJln-L5.js.map +0 -1
- package/dist/kolibri/InputStateWrapper-CDDIvfo0.js +0 -5
- package/dist/kolibri/InputStateWrapper-CDDIvfo0.js.map +0 -1
- package/dist/kolibri/access-and-short-key-D734WtlX.js +0 -5
- package/dist/kolibri/access-and-short-key-D734WtlX.js.map +0 -1
- package/dist/kolibri/align-DxZmRFcp.js +0 -5
- package/dist/kolibri/align-DxZmRFcp.js.map +0 -1
- package/dist/kolibri/align-floating-elements-D5XJiLiU.js +0 -5
- package/dist/kolibri/align-floating-elements-D5XJiLiU.js.map +0 -1
- package/dist/kolibri/app-globals-UWioL0AL.js +0 -5
- package/dist/kolibri/app-globals-UWioL0AL.js.map +0 -1
- package/dist/kolibri/aria-expanded-hGdEA1jy.js +0 -5
- package/dist/kolibri/aria-expanded-hGdEA1jy.js.map +0 -1
- package/dist/kolibri/aria-labelledby-CEzR68x-.js +0 -5
- package/dist/kolibri/aria-labelledby-CEzR68x-.js.map +0 -1
- package/dist/kolibri/associated.controller-Bagx9pCw.js +0 -5
- package/dist/kolibri/associated.controller-Bagx9pCw.js.map +0 -1
- package/dist/kolibri/auto-complete-BbMivzAV.js +0 -5
- package/dist/kolibri/auto-complete-BbMivzAV.js.map +0 -1
- package/dist/kolibri/bem-registry-CWvl2xho.js +0 -5
- package/dist/kolibri/bem-registry-CWvl2xho.js.map +0 -1
- package/dist/kolibri/bootstrap-DPKvOz00.js +0 -5
- package/dist/kolibri/bootstrap-DPKvOz00.js.map +0 -1
- package/dist/kolibri/color-CAVnI0e-.js +0 -5
- package/dist/kolibri/color-CAVnI0e-.js.map +0 -1
- package/dist/kolibri/common-Cx_AGO_M.js +0 -5
- package/dist/kolibri/common-Cx_AGO_M.js.map +0 -1
- package/dist/kolibri/component-Dh0cPCxF.js +0 -5
- package/dist/kolibri/component-Dh0cPCxF.js.map +0 -1
- package/dist/kolibri/component-DvjvBJeK.js +0 -5
- package/dist/kolibri/component-DvjvBJeK.js.map +0 -1
- package/dist/kolibri/component-DzaT2WlJ.js +0 -5
- package/dist/kolibri/component-DzaT2WlJ.js.map +0 -1
- package/dist/kolibri/contrast-DlURrMX4.js +0 -5
- package/dist/kolibri/contrast-DlURrMX4.js.map +0 -1
- package/dist/kolibri/controller-Bdve6A-Q.js +0 -5
- package/dist/kolibri/controller-Bdve6A-Q.js.map +0 -1
- package/dist/kolibri/controller-CJmWOqQQ.js +0 -5
- package/dist/kolibri/controller-CJmWOqQQ.js.map +0 -1
- package/dist/kolibri/controller-DKPaX3Tu.js +0 -5
- package/dist/kolibri/controller-DKPaX3Tu.js.map +0 -1
- package/dist/kolibri/controller-DRE7PRMK.js +0 -5
- package/dist/kolibri/controller-DRE7PRMK.js.map +0 -1
- package/dist/kolibri/controller-icon-DekcIBGR.js +0 -5
- package/dist/kolibri/controller-icon-DekcIBGR.js.map +0 -1
- package/dist/kolibri/controller-osuRO7S2.js +0 -5
- package/dist/kolibri/controller-osuRO7S2.js.map +0 -1
- package/dist/kolibri/controller-xXHYiOzQ.js +0 -5
- package/dist/kolibri/controller-xXHYiOzQ.js.map +0 -1
- package/dist/kolibri/custom-class-DlT-QmWF.js +0 -5
- package/dist/kolibri/custom-class-DlT-QmWF.js.map +0 -1
- package/dist/kolibri/dev.utils-02Sl9bQo.js +0 -5
- package/dist/kolibri/dev.utils-02Sl9bQo.js.map +0 -1
- package/dist/kolibri/devtools-CTlVZVnW.js +0 -5
- package/dist/kolibri/devtools-CTlVZVnW.js.map +0 -1
- package/dist/kolibri/disabled-gyBUQRnY.js +0 -5
- package/dist/kolibri/disabled-gyBUQRnY.js.map +0 -1
- package/dist/kolibri/element-focus-CRwW4N4R.js +0 -5
- package/dist/kolibri/element-focus-CRwW4N4R.js.map +0 -1
- package/dist/kolibri/element-interaction-Bv-mPSBn.js +0 -5
- package/dist/kolibri/element-interaction-Bv-mPSBn.js.map +0 -1
- package/dist/kolibri/events-VVvk1win.js +0 -5
- package/dist/kolibri/events-VVvk1win.js.map +0 -1
- package/dist/kolibri/has-closer-B8w7bVjx.js +0 -5
- package/dist/kolibri/has-closer-B8w7bVjx.js.map +0 -1
- package/dist/kolibri/hide-label-6Bx1MH20.js +0 -5
- package/dist/kolibri/hide-label-6Bx1MH20.js.map +0 -1
- package/dist/kolibri/href-Dp4go7zq.js +0 -5
- package/dist/kolibri/href-Dp4go7zq.js.map +0 -1
- package/dist/kolibri/i18n-Br16IAnY.js +0 -5
- package/dist/kolibri/i18n-Br16IAnY.js.map +0 -1
- package/dist/kolibri/icons-oAzMYWgV.js +0 -5
- package/dist/kolibri/icons-oAzMYWgV.js.map +0 -1
- package/dist/kolibri/index-BQlHOxik.js +0 -6
- package/dist/kolibri/index-BQlHOxik.js.map +0 -1
- package/dist/kolibri/inline-DnwpECF8.js +0 -5
- package/dist/kolibri/inline-DnwpECF8.js.map +0 -1
- package/dist/kolibri/label-Fyi30H9j.js +0 -5
- package/dist/kolibri/label-Fyi30H9j.js.map +0 -1
- package/dist/kolibri/label-KTv-zMW0.js +0 -5
- package/dist/kolibri/label-KTv-zMW0.js.map +0 -1
- package/dist/kolibri/level-1jyaYIAE.js +0 -5
- package/dist/kolibri/level-1jyaYIAE.js.map +0 -1
- package/dist/kolibri/max-length-behavior-CpaNmMus.js +0 -5
- package/dist/kolibri/max-length-behavior-CpaNmMus.js.map +0 -1
- package/dist/kolibri/multiple-DqCQ-txe.js +0 -5
- package/dist/kolibri/multiple-DqCQ-txe.js.map +0 -1
- package/dist/kolibri/normalizers-m3s9sgmq.js +0 -5
- package/dist/kolibri/normalizers-m3s9sgmq.js.map +0 -1
- package/dist/kolibri/open-Dw4Y2dzo.js +0 -5
- package/dist/kolibri/open-Dw4Y2dzo.js.map +0 -1
- package/dist/kolibri/orientation-CjNmUJp-.js +0 -5
- package/dist/kolibri/orientation-CjNmUJp-.js.map +0 -1
- package/dist/kolibri/placeholder-DTOUrN5s.js +0 -5
- package/dist/kolibri/placeholder-DTOUrN5s.js.map +0 -1
- package/dist/kolibri/read-only-DUMeby7s.js +0 -5
- package/dist/kolibri/read-only-DUMeby7s.js.map +0 -1
- package/dist/kolibri/required-DFzRSWky.js +0 -5
- package/dist/kolibri/required-DFzRSWky.js.map +0 -1
- package/dist/kolibri/rows-htbnIG9G.js +0 -5
- package/dist/kolibri/rows-htbnIG9G.js.map +0 -1
- package/dist/kolibri/spell-check-BtaQyLZc.js +0 -5
- package/dist/kolibri/spell-check-BtaQyLZc.js.map +0 -1
- package/dist/kolibri/src-DkLxm4tr.js +0 -5
- package/dist/kolibri/src-DkLxm4tr.js.map +0 -1
- package/dist/kolibri/suggestions-DEcHprcz.js +0 -5
- package/dist/kolibri/suggestions-DEcHprcz.js.map +0 -1
- package/dist/kolibri/table-selection-DmmUo33G.js +0 -5
- package/dist/kolibri/table-selection-DmmUo33G.js.map +0 -1
- package/dist/kolibri/tooltip-align-mwhvx9nK.js +0 -5
- package/dist/kolibri/tooltip-align-mwhvx9nK.js.map +0 -1
- package/dist/kolibri/unique-nav-labels-ZepmMUSu.js +0 -5
- package/dist/kolibri/unique-nav-labels-ZepmMUSu.js.map +0 -1
- package/dist/kolibri/validation-D6nATCh8.js +0 -5
- package/dist/kolibri/validation-D6nATCh8.js.map +0 -1
- package/dist/kolibri/validation-DGQ9Zja2.js +0 -5
- package/dist/kolibri/validation-DGQ9Zja2.js.map +0 -1
- package/dist/kolibri/value-number-clamped-47tM199y.js +0 -5
- package/dist/kolibri/value-number-clamped-47tM199y.js.map +0 -1
- package/dist/kolibri/variant-class-name-BCcQYpIV.js +0 -5
- package/dist/kolibri/variant-class-name-BCcQYpIV.js.map +0 -1
- package/dist/kolibri/variant-quote-y0Z1TRdz.js +0 -5
- 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 (!
|
|
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
|
-
|
|
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((
|
|
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
|
|
519
|
-
|
|
520
|
-
|
|
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
|
-
|
|
564
|
-
|
|
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
|
-
|
|
577
|
-
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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":"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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\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=
|
|
211
|
-
src: url("kolicons.eot?t=
|
|
210
|
+
src: url("kolicons.eot?t=1780919027063"); /* IE9*/
|
|
211
|
+
src: url("kolicons.eot?t=1780919027063#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1780919027063") format("woff2"), url("kolicons.woff?t=1780919027063") format("woff"), url("kolicons.ttf?t=1780919027063") format("truetype"), url("kolicons.svg?t=1780919027063#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
|
}
|