@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
|
@@ -14,16 +14,16 @@ export class KolTreeWc {
|
|
|
14
14
|
validateLabel(value) {
|
|
15
15
|
validateLabel(this, value);
|
|
16
16
|
}
|
|
17
|
-
async focus() {
|
|
17
|
+
async focus(options) {
|
|
18
18
|
var _a;
|
|
19
19
|
const openItems = await this.getOpenTreeItemElements();
|
|
20
|
-
await ((_a = openItems === null || openItems === void 0 ? void 0 : openItems[0]) === null || _a === void 0 ? void 0 : _a.focus());
|
|
20
|
+
await ((_a = openItems === null || openItems === void 0 ? void 0 : openItems[0]) === null || _a === void 0 ? void 0 : _a.focus(options));
|
|
21
21
|
}
|
|
22
22
|
async invalidateOpenItemsCache() {
|
|
23
23
|
await Promise.resolve((this.cacheValid = false));
|
|
24
24
|
}
|
|
25
25
|
render() {
|
|
26
|
-
return (h(Host, { key: '
|
|
26
|
+
return (h(Host, { key: 'e959e7567723280a3d2b977fd517a8a244da4f1d', onSlotchange: this.handleSlotchange.bind(this) }, h("nav", { key: 'b52775ce12c956296121529050946f6df7ba4297', class: "kol-tree", "aria-label": this.state._label }, h("ul", { key: '009f17ecffc6cc4548c61a16592fa72d9f6b82ec', class: "kol-tree__treeview-navigation", role: "tree", "aria-label": this.state._label }, h("slot", { key: '4c929606aa81ed19511e29f31c002343083114b9' })))));
|
|
27
27
|
}
|
|
28
28
|
static isTreeItem(element) {
|
|
29
29
|
return (element === null || element === void 0 ? void 0 : element.tagName) === KolTreeItemTag.toUpperCase();
|
|
@@ -265,12 +265,21 @@ export class KolTreeWc {
|
|
|
265
265
|
return {
|
|
266
266
|
"focus": {
|
|
267
267
|
"complexType": {
|
|
268
|
-
"signature": "() => Promise<void>",
|
|
269
|
-
"parameters": [
|
|
268
|
+
"signature": "(options?: KolFocusOptions) => Promise<void>",
|
|
269
|
+
"parameters": [{
|
|
270
|
+
"name": "options",
|
|
271
|
+
"type": "KolFocusOptions | undefined",
|
|
272
|
+
"docs": ""
|
|
273
|
+
}],
|
|
270
274
|
"references": {
|
|
271
275
|
"Promise": {
|
|
272
276
|
"location": "global",
|
|
273
277
|
"id": "global::Promise"
|
|
278
|
+
},
|
|
279
|
+
"KolFocusOptions": {
|
|
280
|
+
"location": "import",
|
|
281
|
+
"path": "../../schema",
|
|
282
|
+
"id": "src/schema/index.ts::KolFocusOptions"
|
|
274
283
|
}
|
|
275
284
|
},
|
|
276
285
|
"return": "Promise<void>"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/tree/component.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { JSX } from '@stencil/core';\nimport { Component, Element, h, Host, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { KolTreeItemTag, KolTreeTag } from '../../core/component-names';\nimport type { FocusableElement, LabelPropType, TreeAPI, TreeStates } from '../../schema';\nimport { validateLabel } from '../../schema';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-tree-wc',\n\tshadow: false,\n})\nexport class KolTreeWc implements TreeAPI, FocusableElement {\n\t@Element() private readonly host?: HTMLKolTreeWcElement;\n\n\t@State() public state: TreeStates = {\n\t\t_label: '',\n\t};\n\tprivate observer?: MutationObserver;\n\tprivate treeItemElements?: HTMLKolTreeItemElement[];\n\tprivate cachedOpenItems?: HTMLKolTreeItemElement[] | undefined;\n\tprivate cacheValid = false;\n\tprivate rafHandle?: number;\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() _label!: LabelPropType;\n\n\t@Watch('_label') validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value);\n\t}\n\n\t/**\n\t * Sets focus on the first focusable tree item.\n\t */\n\t@Method()\n\tpublic async focus(): Promise<void> {\n\t\tconst openItems = await this.getOpenTreeItemElements();\n\t\tawait openItems?.[0]?.focus();\n\t}\n\n\t/**\n\t * Invalidates the cache for open tree items.\n\t * Called by tree-item when expand/collapse occurs.\n\t * @internal\n\t */\n\t@Method()\n\tpublic async invalidateOpenItemsCache(): Promise<void> {\n\t\tawait Promise.resolve((this.cacheValid = false));\n\t}\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host onSlotchange={this.handleSlotchange.bind(this)}>\n\t\t\t\t<nav class=\"kol-tree\" aria-label={this.state._label}>\n\t\t\t\t\t<ul class=\"kol-tree__treeview-navigation\" role=\"tree\" aria-label={this.state._label}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</ul>\n\t\t\t\t</nav>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate static isTreeItem(this: void, element?: HTMLElement | null): element is HTMLKolTreeItemElement {\n\t\treturn element?.tagName === KolTreeItemTag.toUpperCase();\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateLabel(this._label);\n\n\t\tthis.handleTreeChange();\n\t\tthis.observeChildListMutations();\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.observer?.disconnect();\n\t\tif (this.rafHandle !== undefined) {\n\t\t\tcancelAnimationFrame(this.rafHandle);\n\t\t\tthis.rafHandle = undefined;\n\t\t}\n\t}\n\n\tprivate observeChildListMutations() {\n\t\tthis.observer = new MutationObserver(() => this.scheduleTreeChange());\n\t\tthis.observeTopLevelItems();\n\t}\n\n\tprivate handleSlotchange() {\n\t\tthis.observeTopLevelItems();\n\t\tthis.scheduleTreeChange();\n\t}\n\n\tprivate observeTopLevelItems() {\n\t\tthis.getTopLevelTreeItems()?.forEach((treeItem) => {\n\t\t\tthis.observer?.observe(treeItem, { childList: true, subtree: true });\n\t\t});\n\t}\n\n\tprivate scheduleTreeChange() {\n\t\tif (this.rafHandle) cancelAnimationFrame(this.rafHandle);\n\t\tthis.rafHandle = requestAnimationFrame(() => {\n\t\t\tthis.handleTreeChange();\n\t\t});\n\t}\n\n\tprivate getTopLevelTreeItems(): HTMLKolTreeItemElement[] {\n\t\treturn (this.host?.querySelector('slot')?.assignedNodes?.() as HTMLElement[])?.filter(KolTreeWc.isTreeItem);\n\t}\n\n\tprivate handleTreeChange(): void {\n\t\tthis.treeItemElements = this.getTreeItemElements();\n\t\tthis.cacheValid = false;\n\t\tvoid this.ensureActiveItemVisibility();\n\t}\n\n\t/**\n\t * Returns array of all TreeItem elements in the order they appear\n\t */\n\tprivate getTreeItemElements(): HTMLKolTreeItemElement[] {\n\t\treturn this.getTopLevelTreeItems()?.reduce((accumulator: HTMLKolTreeItemElement[], currentValue: HTMLKolTreeItemElement) => {\n\t\t\tconst children = currentValue.querySelectorAll(KolTreeItemTag);\n\n\t\t\treturn [...accumulator, currentValue, ...children];\n\t\t}, []);\n\t}\n\n\tprivate async getOpenTreeItemElements(): Promise<HTMLKolTreeItemElement[] | undefined> {\n\t\tif (!this.treeItemElements) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Cache-Hit: Return cached result\n\t\tif (this.cacheValid && this.cachedOpenItems) {\n\t\t\treturn this.cachedOpenItems;\n\t\t}\n\n\t\tconst areAllParentsOpen = async (element: HTMLKolTreeItemElement): Promise<boolean> => {\n\t\t\tlet parent = element.parentElement as HTMLKolTreeItemElement | null;\n\t\t\twhile (parent && KolTreeWc.isTreeItem(parent)) {\n\t\t\t\tif (!(await parent.isOpen())) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tparent = parent.parentElement as HTMLKolTreeItemElement | null;\n\t\t\t}\n\t\t\treturn true;\n\t\t};\n\n\t\t// Cache the result\n\t\tthis.cachedOpenItems = await Promise.all(\n\t\t\tthis.treeItemElements.map(async (item) => ({\n\t\t\t\titem,\n\t\t\t\tisOpen: await areAllParentsOpen(item),\n\t\t\t})),\n\t\t).then((results) => results.filter(({ isOpen }) => isOpen).map(({ item }) => item));\n\t\tthis.cacheValid = true;\n\n\t\treturn this.cachedOpenItems;\n\t}\n\n\t@Listen('keydown')\n\tpublic async handleKeyDown(event: KeyboardEvent) {\n\t\tconst openItems = await this.getOpenTreeItemElements();\n\t\tconst currentTreeItem: HTMLKolTreeItemElement | undefined | null = document.activeElement?.closest(KolTreeItemTag);\n\t\tconst hasModifierKeyPressed = event.metaKey || event.altKey || event.ctrlKey || event.shiftKey;\n\n\t\tif (!openItems || !currentTreeItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentIndex = openItems?.findIndex((elem) => elem === currentTreeItem);\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowDown': {\n\t\t\t\tawait openItems[currentIndex + 1]?.focus();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'ArrowUp': {\n\t\t\t\tawait openItems[currentIndex - 1]?.focus();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Right':\n\t\t\tcase 'ArrowRight': {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (await currentTreeItem.isOpen()) {\n\t\t\t\t\tawait openItems[currentIndex + 1]?.focus();\n\t\t\t\t} else {\n\t\t\t\t\tawait currentTreeItem.expand();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Left':\n\t\t\tcase 'ArrowLeft': {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (await currentTreeItem.isOpen()) {\n\t\t\t\t\tawait currentTreeItem.collapse();\n\t\t\t\t} else {\n\t\t\t\t\tconst parentItem = currentTreeItem.parentElement as HTMLKolTreeItemElement | null;\n\t\t\t\t\tconst parentIndex = parentItem ? openItems.indexOf(parentItem) : -1;\n\t\t\t\t\tif (parentIndex !== -1) {\n\t\t\t\t\t\tawait openItems[parentIndex]?.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Home': {\n\t\t\t\tawait openItems[0]?.focus();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'End': {\n\t\t\t\tawait openItems[openItems.length - 1]?.focus();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase event.key.match(/^[a-zA-Z0-9]$/)?.input: {\n\t\t\t\t/* Ignore events with any modifier key to avoid breaking native browser or OS shortcuts such as ⌘+L */\n\t\t\t\tif (!hasModifierKeyPressed) {\n\t\t\t\t\tconst char = event.key.toLowerCase();\n\t\t\t\t\tconst startIndex = openItems.indexOf(currentTreeItem) + 1;\n\n\t\t\t\t\t// Search from startIndex to end\n\t\t\t\t\tlet matchIndex = openItems.slice(startIndex).findIndex((item) => item.getAttribute('_label')?.trim().toLowerCase().startsWith(char));\n\n\t\t\t\t\t// If not found, wrap around to beginning\n\t\t\t\t\tif (matchIndex === -1) {\n\t\t\t\t\t\tmatchIndex = openItems.slice(0, startIndex).findIndex((item) => item.getAttribute('_label')?.trim().toLowerCase().startsWith(char));\n\t\t\t\t\t\t// Adjust matchIndex if found in wrap-around\n\t\t\t\t\t\tif (matchIndex !== -1) {\n\t\t\t\t\t\t\t// matchIndex is already correct (0-based from slice(0, startIndex))\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// matchIndex is from slice(startIndex), so add startIndex to get actual index\n\t\t\t\t\t\tmatchIndex += startIndex;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (matchIndex !== -1) {\n\t\t\t\t\t\tawait openItems[matchIndex]?.focus();\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase '*': {\n\t\t\t\tconst siblings = currentTreeItem.parentElement?.querySelectorAll(KolTreeItemTag);\n\t\t\t\tsiblings?.forEach((element) => {\n\t\t\t\t\tvoid element.expand();\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t@Listen('focusin')\n\tpublic handleFocusIn(event: FocusEvent) {\n\t\t// Only delegate if no tree item is already focused\n\t\tif (event.target === this.host && !document.activeElement?.closest(KolTreeItemTag)) {\n\t\t\t// Defer to next frame to ensure tree is fully ready\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tvoid this.focus();\n\t\t\t});\n\t\t}\n\t}\n\n\t@Listen('focusout')\n\tpublic handleFocusOut(event: FocusEvent) {\n\t\tif (event.relatedTarget && !(event.relatedTarget as Element).closest(KolTreeTag)) {\n\t\t\t/* Tree lost focus */\n\t\t\tthis.ensureActiveItemVisibility();\n\t\t}\n\t}\n\n\tprivate ensureActiveItemVisibility() {\n\t\tconst findActiveItem = (): HTMLKolTreeItemElement | undefined => {\n\t\t\tconst rootNodes = (this.host?.querySelector('slot')?.assignedNodes?.() as HTMLElement[])?.filter(KolTreeWc.isTreeItem) ?? [];\n\t\t\tfor (const rootNode of rootNodes) {\n\t\t\t\tif (rootNode._active) {\n\t\t\t\t\treturn rootNode;\n\t\t\t\t}\n\t\t\t\tconst childMatch = rootNode.querySelector(`${KolTreeItemTag}[_active=\"true\"]`);\n\t\t\t\tif (childMatch && (childMatch as HTMLKolTreeItemElement)._active) {\n\t\t\t\t\treturn childMatch as HTMLKolTreeItemElement;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tconst expandParentElements = (element: HTMLKolTreeItemElement) => {\n\t\t\tif (KolTreeWc.isTreeItem(element.parentElement)) {\n\t\t\t\tvoid element.parentElement.expand();\n\t\t\t\texpandParentElements(element.parentElement);\n\t\t\t}\n\t\t};\n\n\t\tconst target = findActiveItem();\n\t\tif (target) {\n\t\t\texpandParentElements(target);\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/tree/component.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEhG,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAS7C,MAAM,OAAO,SAAS;IAJtB;QAOiB,UAAK,GAAe;YACnC,MAAM,EAAE,EAAE;SACV,CAAC;QAIM,eAAU,GAAG,KAAK,CAAC;KAwR3B;IAhRiB,aAAa,CAAC,KAAqB;QACnD,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAMM,KAAK,CAAC,KAAK,CAAC,OAAyB;;QAC3C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACvD,MAAM,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,CAAC,CAAC,0CAAE,KAAK,CAAC,OAAO,CAAC,CAAA,CAAC;IACtC,CAAC;IAQM,KAAK,CAAC,wBAAwB;QACpC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IAEM,MAAM;QACZ,OAAO,CACN,EAAC,IAAI,qDAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YACnD,4DAAK,KAAK,EAAC,UAAU,gBAAa,IAAI,CAAC,KAAK,CAAC,MAAM;gBAClD,2DAAI,KAAK,EAAC,+BAA+B,EAAC,IAAI,EAAC,MAAM,gBAAa,IAAI,CAAC,KAAK,CAAC,MAAM;oBAClF,8DAAQ,CACJ,CACA,CACA,CACP,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,UAAU,CAAa,OAA4B;QACjE,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,MAAK,cAAc,CAAC,WAAW,EAAE,CAAC;IAC1D,CAAC;IAEM,iBAAiB;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAClC,CAAC;IAEM,oBAAoB;;QAC1B,MAAA,IAAI,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5B,CAAC;IACF,CAAC;IAEO,yBAAyB;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC7B,CAAC;IAEO,gBAAgB;QACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,CAAC;IAEO,oBAAoB;;QAC3B,MAAA,IAAI,CAAC,oBAAoB,EAAE,0CAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;;YACjD,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,kBAAkB;QACzB,IAAI,IAAI,CAAC,SAAS;YAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,GAAG,EAAE;YAC3C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,oBAAoB;;QAC3B,OAAO,MAAC,MAAA,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,aAAa,CAAC,MAAM,CAAC,0CAAE,aAAa,kDAAsB,0CAAE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7G,CAAC;IAEO,gBAAgB;QACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,KAAK,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACxC,CAAC;IAKO,mBAAmB;;QAC1B,OAAO,MAAA,IAAI,CAAC,oBAAoB,EAAE,0CAAE,MAAM,CAAC,CAAC,WAAqC,EAAE,YAAoC,EAAE,EAAE;YAC1H,MAAM,QAAQ,GAAG,YAAY,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAE/D,OAAO,CAAC,GAAG,WAAW,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,CAAC;QACpD,CAAC,EAAE,EAAE,CAAC,CAAC;IACR,CAAC;IAEO,KAAK,CAAC,uBAAuB;QACpC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5B,OAAO;QACR,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,eAAe,CAAC;QAC7B,CAAC;QAED,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAA+B,EAAoB,EAAE;YACrF,IAAI,MAAM,GAAG,OAAO,CAAC,aAA8C,CAAC;YACpE,OAAO,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;oBAC9B,OAAO,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,GAAG,MAAM,CAAC,aAA8C,CAAC;YAChE,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC;QAGF,IAAI,CAAC,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI;YACJ,MAAM,EAAE,MAAM,iBAAiB,CAAC,IAAI,CAAC;SACrC,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;IAGM,KAAK,CAAC,aAAa,CAAC,KAAoB;;QAC9C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACvD,MAAM,eAAe,GAA8C,MAAA,QAAQ,CAAC,aAAa,0CAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QACnH,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC;QAE/F,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;YACpC,OAAO;QACR,CAAC;QAED,MAAM,YAAY,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;QAE9E,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,WAAW,CAAC,CAAC,CAAC;gBAClB,MAAM,CAAA,MAAA,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,0CAAE,KAAK,EAAE,CAAA,CAAC;gBAC3C,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;YACP,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBAChB,MAAM,CAAA,MAAA,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,0CAAE,KAAK,EAAE,CAAA,CAAC;gBAC3C,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;YACP,CAAC;YACD,KAAK,OAAO,CAAC;YACb,KAAK,YAAY,CAAC,CAAC,CAAC;gBACnB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,MAAM,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;oBACpC,MAAM,CAAA,MAAA,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,0CAAE,KAAK,EAAE,CAAA,CAAC;gBAC5C,CAAC;qBAAM,CAAC;oBACP,MAAM,eAAe,CAAC,MAAM,EAAE,CAAC;gBAChC,CAAC;gBACD,MAAM;YACP,CAAC;YACD,KAAK,MAAM,CAAC;YACZ,KAAK,WAAW,CAAC,CAAC,CAAC;gBAClB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,MAAM,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;oBACpC,MAAM,eAAe,CAAC,QAAQ,EAAE,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACP,MAAM,UAAU,GAAG,eAAe,CAAC,aAA8C,CAAC;oBAClF,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpE,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;wBACxB,MAAM,CAAA,MAAA,SAAS,CAAC,WAAW,CAAC,0CAAE,KAAK,EAAE,CAAA,CAAC;oBACvC,CAAC;gBACF,CAAC;gBAED,MAAM;YACP,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACb,MAAM,CAAA,MAAA,SAAS,CAAC,CAAC,CAAC,0CAAE,KAAK,EAAE,CAAA,CAAC;gBAC5B,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;YACP,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACZ,MAAM,CAAA,MAAA,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,KAAK,EAAE,CAAA,CAAC;gBAC/C,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;YACP,CAAC;YACD,KAAK,MAAA,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,0CAAE,KAAK,CAAC,CAAC,CAAC;gBAE9C,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACrC,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;oBAG1D,IAAI,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,0CAAE,IAAI,GAAG,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA,EAAA,CAAC,CAAC;oBAGrI,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;wBACvB,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,0CAAE,IAAI,GAAG,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA,EAAA,CAAC,CAAC;wBAEpI,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;wBAExB,CAAC;oBACF,CAAC;yBAAM,CAAC;wBAEP,UAAU,IAAI,UAAU,CAAC;oBAC1B,CAAC;oBAED,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;wBACvB,MAAM,CAAA,MAAA,SAAS,CAAC,UAAU,CAAC,0CAAE,KAAK,EAAE,CAAA,CAAC;wBACrC,KAAK,CAAC,cAAc,EAAE,CAAC;oBACxB,CAAC;gBACF,CAAC;gBACD,MAAM;YACP,CAAC;YACD,KAAK,GAAG,CAAC,CAAC,CAAC;gBACV,MAAM,QAAQ,GAAG,MAAA,eAAe,CAAC,aAAa,0CAAE,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBACjF,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC7B,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,CAAC,CAAC,CAAC;gBACH,MAAM;YACP,CAAC;QACF,CAAC;IACF,CAAC;IAGM,aAAa,CAAC,KAAiB;;QAErC,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA,MAAA,QAAQ,CAAC,aAAa,0CAAE,OAAO,CAAC,cAAc,CAAC,CAAA,EAAE,CAAC;YAEpF,qBAAqB,CAAC,GAAG,EAAE;gBAC1B,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAGM,cAAc,CAAC,KAAiB;QACtC,IAAI,KAAK,CAAC,aAAa,IAAI,CAAE,KAAK,CAAC,aAAyB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAElF,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACnC,CAAC;IACF,CAAC;IAEO,0BAA0B;QACjC,MAAM,cAAc,GAAG,GAAuC,EAAE;;YAC/D,MAAM,SAAS,GAAG,MAAA,MAAC,MAAA,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,aAAa,CAAC,MAAM,CAAC,0CAAE,aAAa,kDAAsB,0CAAE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,mCAAI,EAAE,CAAC;YAC7H,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBAClC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACtB,OAAO,QAAQ,CAAC;gBACjB,CAAC;gBACD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,cAAc,kBAAkB,CAAC,CAAC;gBAC/E,IAAI,UAAU,IAAK,UAAqC,CAAC,OAAO,EAAE,CAAC;oBAClE,OAAO,UAAoC,CAAC;gBAC7C,CAAC;YACF,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,oBAAoB,GAAG,CAAC,OAA+B,EAAE,EAAE;YAChE,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjD,KAAK,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBACpC,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC7C,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC,IAAI,MAAM,EAAE,CAAC;YACZ,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import type { JSX } from '@stencil/core';\nimport { Component, Element, h, Host, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { KolTreeItemTag, KolTreeTag } from '../../core/component-names';\nimport type { FocusableElement, KolFocusOptions, LabelPropType, TreeAPI, TreeStates } from '../../schema';\nimport { validateLabel } from '../../schema';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-tree-wc',\n\tshadow: false,\n})\nexport class KolTreeWc implements TreeAPI, FocusableElement {\n\t@Element() private readonly host?: HTMLKolTreeWcElement;\n\n\t@State() public state: TreeStates = {\n\t\t_label: '',\n\t};\n\tprivate observer?: MutationObserver;\n\tprivate treeItemElements?: HTMLKolTreeItemElement[];\n\tprivate cachedOpenItems?: HTMLKolTreeItemElement[] | undefined;\n\tprivate cacheValid = false;\n\tprivate rafHandle?: number;\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() _label!: LabelPropType;\n\n\t@Watch('_label') validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value);\n\t}\n\n\t/**\n\t * Sets focus on the first focusable tree item.\n\t */\n\t@Method()\n\tpublic async focus(options?: KolFocusOptions): Promise<void> {\n\t\tconst openItems = await this.getOpenTreeItemElements();\n\t\tawait openItems?.[0]?.focus(options);\n\t}\n\n\t/**\n\t * Invalidates the cache for open tree items.\n\t * Called by tree-item when expand/collapse occurs.\n\t * @internal\n\t */\n\t@Method()\n\tpublic async invalidateOpenItemsCache(): Promise<void> {\n\t\tawait Promise.resolve((this.cacheValid = false));\n\t}\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host onSlotchange={this.handleSlotchange.bind(this)}>\n\t\t\t\t<nav class=\"kol-tree\" aria-label={this.state._label}>\n\t\t\t\t\t<ul class=\"kol-tree__treeview-navigation\" role=\"tree\" aria-label={this.state._label}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</ul>\n\t\t\t\t</nav>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate static isTreeItem(this: void, element?: HTMLElement | null): element is HTMLKolTreeItemElement {\n\t\treturn element?.tagName === KolTreeItemTag.toUpperCase();\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateLabel(this._label);\n\n\t\tthis.handleTreeChange();\n\t\tthis.observeChildListMutations();\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.observer?.disconnect();\n\t\tif (this.rafHandle !== undefined) {\n\t\t\tcancelAnimationFrame(this.rafHandle);\n\t\t\tthis.rafHandle = undefined;\n\t\t}\n\t}\n\n\tprivate observeChildListMutations() {\n\t\tthis.observer = new MutationObserver(() => this.scheduleTreeChange());\n\t\tthis.observeTopLevelItems();\n\t}\n\n\tprivate handleSlotchange() {\n\t\tthis.observeTopLevelItems();\n\t\tthis.scheduleTreeChange();\n\t}\n\n\tprivate observeTopLevelItems() {\n\t\tthis.getTopLevelTreeItems()?.forEach((treeItem) => {\n\t\t\tthis.observer?.observe(treeItem, { childList: true, subtree: true });\n\t\t});\n\t}\n\n\tprivate scheduleTreeChange() {\n\t\tif (this.rafHandle) cancelAnimationFrame(this.rafHandle);\n\t\tthis.rafHandle = requestAnimationFrame(() => {\n\t\t\tthis.handleTreeChange();\n\t\t});\n\t}\n\n\tprivate getTopLevelTreeItems(): HTMLKolTreeItemElement[] {\n\t\treturn (this.host?.querySelector('slot')?.assignedNodes?.() as HTMLElement[])?.filter(KolTreeWc.isTreeItem);\n\t}\n\n\tprivate handleTreeChange(): void {\n\t\tthis.treeItemElements = this.getTreeItemElements();\n\t\tthis.cacheValid = false;\n\t\tvoid this.ensureActiveItemVisibility();\n\t}\n\n\t/**\n\t * Returns array of all TreeItem elements in the order they appear\n\t */\n\tprivate getTreeItemElements(): HTMLKolTreeItemElement[] {\n\t\treturn this.getTopLevelTreeItems()?.reduce((accumulator: HTMLKolTreeItemElement[], currentValue: HTMLKolTreeItemElement) => {\n\t\t\tconst children = currentValue.querySelectorAll(KolTreeItemTag);\n\n\t\t\treturn [...accumulator, currentValue, ...children];\n\t\t}, []);\n\t}\n\n\tprivate async getOpenTreeItemElements(): Promise<HTMLKolTreeItemElement[] | undefined> {\n\t\tif (!this.treeItemElements) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Cache-Hit: Return cached result\n\t\tif (this.cacheValid && this.cachedOpenItems) {\n\t\t\treturn this.cachedOpenItems;\n\t\t}\n\n\t\tconst areAllParentsOpen = async (element: HTMLKolTreeItemElement): Promise<boolean> => {\n\t\t\tlet parent = element.parentElement as HTMLKolTreeItemElement | null;\n\t\t\twhile (parent && KolTreeWc.isTreeItem(parent)) {\n\t\t\t\tif (!(await parent.isOpen())) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tparent = parent.parentElement as HTMLKolTreeItemElement | null;\n\t\t\t}\n\t\t\treturn true;\n\t\t};\n\n\t\t// Cache the result\n\t\tthis.cachedOpenItems = await Promise.all(\n\t\t\tthis.treeItemElements.map(async (item) => ({\n\t\t\t\titem,\n\t\t\t\tisOpen: await areAllParentsOpen(item),\n\t\t\t})),\n\t\t).then((results) => results.filter(({ isOpen }) => isOpen).map(({ item }) => item));\n\t\tthis.cacheValid = true;\n\n\t\treturn this.cachedOpenItems;\n\t}\n\n\t@Listen('keydown')\n\tpublic async handleKeyDown(event: KeyboardEvent) {\n\t\tconst openItems = await this.getOpenTreeItemElements();\n\t\tconst currentTreeItem: HTMLKolTreeItemElement | undefined | null = document.activeElement?.closest(KolTreeItemTag);\n\t\tconst hasModifierKeyPressed = event.metaKey || event.altKey || event.ctrlKey || event.shiftKey;\n\n\t\tif (!openItems || !currentTreeItem) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentIndex = openItems?.findIndex((elem) => elem === currentTreeItem);\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowDown': {\n\t\t\t\tawait openItems[currentIndex + 1]?.focus();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'ArrowUp': {\n\t\t\t\tawait openItems[currentIndex - 1]?.focus();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Right':\n\t\t\tcase 'ArrowRight': {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (await currentTreeItem.isOpen()) {\n\t\t\t\t\tawait openItems[currentIndex + 1]?.focus();\n\t\t\t\t} else {\n\t\t\t\t\tawait currentTreeItem.expand();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Left':\n\t\t\tcase 'ArrowLeft': {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif (await currentTreeItem.isOpen()) {\n\t\t\t\t\tawait currentTreeItem.collapse();\n\t\t\t\t} else {\n\t\t\t\t\tconst parentItem = currentTreeItem.parentElement as HTMLKolTreeItemElement | null;\n\t\t\t\t\tconst parentIndex = parentItem ? openItems.indexOf(parentItem) : -1;\n\t\t\t\t\tif (parentIndex !== -1) {\n\t\t\t\t\t\tawait openItems[parentIndex]?.focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Home': {\n\t\t\t\tawait openItems[0]?.focus();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'End': {\n\t\t\t\tawait openItems[openItems.length - 1]?.focus();\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase event.key.match(/^[a-zA-Z0-9]$/)?.input: {\n\t\t\t\t/* Ignore events with any modifier key to avoid breaking native browser or OS shortcuts such as ⌘+L */\n\t\t\t\tif (!hasModifierKeyPressed) {\n\t\t\t\t\tconst char = event.key.toLowerCase();\n\t\t\t\t\tconst startIndex = openItems.indexOf(currentTreeItem) + 1;\n\n\t\t\t\t\t// Search from startIndex to end\n\t\t\t\t\tlet matchIndex = openItems.slice(startIndex).findIndex((item) => item.getAttribute('_label')?.trim().toLowerCase().startsWith(char));\n\n\t\t\t\t\t// If not found, wrap around to beginning\n\t\t\t\t\tif (matchIndex === -1) {\n\t\t\t\t\t\tmatchIndex = openItems.slice(0, startIndex).findIndex((item) => item.getAttribute('_label')?.trim().toLowerCase().startsWith(char));\n\t\t\t\t\t\t// Adjust matchIndex if found in wrap-around\n\t\t\t\t\t\tif (matchIndex !== -1) {\n\t\t\t\t\t\t\t// matchIndex is already correct (0-based from slice(0, startIndex))\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// matchIndex is from slice(startIndex), so add startIndex to get actual index\n\t\t\t\t\t\tmatchIndex += startIndex;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (matchIndex !== -1) {\n\t\t\t\t\t\tawait openItems[matchIndex]?.focus();\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase '*': {\n\t\t\t\tconst siblings = currentTreeItem.parentElement?.querySelectorAll(KolTreeItemTag);\n\t\t\t\tsiblings?.forEach((element) => {\n\t\t\t\t\tvoid element.expand();\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t@Listen('focusin')\n\tpublic handleFocusIn(event: FocusEvent) {\n\t\t// Only delegate if no tree item is already focused\n\t\tif (event.target === this.host && !document.activeElement?.closest(KolTreeItemTag)) {\n\t\t\t// Defer to next frame to ensure tree is fully ready\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tvoid this.focus();\n\t\t\t});\n\t\t}\n\t}\n\n\t@Listen('focusout')\n\tpublic handleFocusOut(event: FocusEvent) {\n\t\tif (event.relatedTarget && !(event.relatedTarget as Element).closest(KolTreeTag)) {\n\t\t\t/* Tree lost focus */\n\t\t\tthis.ensureActiveItemVisibility();\n\t\t}\n\t}\n\n\tprivate ensureActiveItemVisibility() {\n\t\tconst findActiveItem = (): HTMLKolTreeItemElement | undefined => {\n\t\t\tconst rootNodes = (this.host?.querySelector('slot')?.assignedNodes?.() as HTMLElement[])?.filter(KolTreeWc.isTreeItem) ?? [];\n\t\t\tfor (const rootNode of rootNodes) {\n\t\t\t\tif (rootNode._active) {\n\t\t\t\t\treturn rootNode;\n\t\t\t\t}\n\t\t\t\tconst childMatch = rootNode.querySelector(`${KolTreeItemTag}[_active=\"true\"]`);\n\t\t\t\tif (childMatch && (childMatch as HTMLKolTreeItemElement)._active) {\n\t\t\t\t\treturn childMatch as HTMLKolTreeItemElement;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tconst expandParentElements = (element: HTMLKolTreeItemElement) => {\n\t\t\tif (KolTreeWc.isTreeItem(element.parentElement)) {\n\t\t\t\tvoid element.parentElement.expand();\n\t\t\t\texpandParentElements(element.parentElement);\n\t\t\t}\n\t\t};\n\n\t\tconst target = findActiveItem();\n\t\tif (target) {\n\t\t\texpandParentElements(target);\n\t\t}\n\t}\n}\n"]}
|
|
@@ -9,9 +9,9 @@ export class KolTree {
|
|
|
9
9
|
constructor() {
|
|
10
10
|
this.ctaRef = createCtaRef();
|
|
11
11
|
}
|
|
12
|
-
async focus() { }
|
|
12
|
+
async focus(options) { }
|
|
13
13
|
render() {
|
|
14
|
-
return (h(KolTreeWcTag, { key: '
|
|
14
|
+
return (h(KolTreeWcTag, { key: 'e040898cbd1832f69a365dbcbc59b269e1ac55f7', _label: this._label, ref: this.ctaRef }, h("slot", { key: '3d3213f69ce43f884b3ef31677d69473be02bed7' })));
|
|
15
15
|
}
|
|
16
16
|
static get is() { return "kol-tree"; }
|
|
17
17
|
static get encapsulation() { return "shadow"; }
|
|
@@ -58,12 +58,21 @@ export class KolTree {
|
|
|
58
58
|
return {
|
|
59
59
|
"focus": {
|
|
60
60
|
"complexType": {
|
|
61
|
-
"signature": "() => Promise<void>",
|
|
62
|
-
"parameters": [
|
|
61
|
+
"signature": "(options?: KolFocusOptions) => Promise<void>",
|
|
62
|
+
"parameters": [{
|
|
63
|
+
"name": "options",
|
|
64
|
+
"type": "KolFocusOptions | undefined",
|
|
65
|
+
"docs": ""
|
|
66
|
+
}],
|
|
63
67
|
"references": {
|
|
64
68
|
"Promise": {
|
|
65
69
|
"location": "global",
|
|
66
70
|
"id": "global::Promise"
|
|
71
|
+
},
|
|
72
|
+
"KolFocusOptions": {
|
|
73
|
+
"location": "import",
|
|
74
|
+
"path": "../../schema",
|
|
75
|
+
"id": "src/schema/index.ts::KolFocusOptions"
|
|
67
76
|
}
|
|
68
77
|
},
|
|
69
78
|
"return": "Promise<void>"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../../src/components/tree/shadow.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAS9E,MAAM,OAAO,OAAO;IAPpB;QASoB,WAAM,GAAG,YAAY,EAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../../src/components/tree/shadow.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAS9E,MAAM,OAAO,OAAO;IAPpB;QASoB,WAAM,GAAG,YAAY,EAAwB,CAAC;KAuBjE;IATa,AAAN,KAAK,CAAC,KAAK,CAAC,OAAyB,IAAkB,CAAC;IAExD,MAAM;QACZ,OAAO,CACN,EAAC,YAAY,qDAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM;YAClD,8DAAQ,CACM,CACf,CAAC;IACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD;AATa;IAHZ,aAAa,CAAC,QAAQ,CAAC;oCAGuC","sourcesContent":["import type { JSX } from '@stencil/core';\nimport { Component, Element, h, Method, Prop } from '@stencil/core';\n\nimport { KolTreeWcTag } from '../../core/component-names';\nimport type { FocusableElement, KolFocusOptions, LabelPropType, TreeProps } from '../../schema';\nimport { createCtaRef, delegateFocus } from '../../utils/element-interaction';\n\n@Component({\n\ttag: 'kol-tree',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolTree implements TreeProps, FocusableElement {\n\t@Element() protected readonly host?: HTMLKolTreeElement;\n\tprotected readonly ctaRef = createCtaRef<HTMLKolTreeWcElement>();\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() _label!: LabelPropType;\n\n\t/**\n\t * Sets focus on the first focusable tree item.\n\t */\n\t@Method()\n\t@delegateFocus('ctaRef')\n\t// @ts-expect-error: options parameter will be implemented by the decorator.\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tpublic async focus(options?: KolFocusOptions): Promise<void> {}\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<KolTreeWcTag _label={this._label} ref={this.ctaRef}>\n\t\t\t\t<slot />\n\t\t\t</KolTreeWcTag>\n\t\t);\n\t}\n}\n"]}
|
|
@@ -20,12 +20,12 @@ export class KolTreeItemWc {
|
|
|
20
20
|
}
|
|
21
21
|
render() {
|
|
22
22
|
const { _href, _active, _hasChildren, _open, _label } = this.state;
|
|
23
|
-
return (h(Host, { key: '
|
|
23
|
+
return (h(Host, { key: '5dafc8516e71c4908d468b8844b0e765d1cba71a', onSlotchange: this.handleSlotchange.bind(this) }, h("li", { key: 'b050361b08edf953c60cda62bce3c716528d19ca', class: "kol-tree-item", style: {
|
|
24
24
|
'--level': `${this.level}`,
|
|
25
|
-
} }, h(KolLinkWcTag, { key: '
|
|
25
|
+
} }, h(KolLinkWcTag, { key: '5575f3158d9adbb566f75ec7687d83f1b84a8935', class: clsx('kol-tree-item__link', {
|
|
26
26
|
'kol-tree-item__link--first-level': this.level === 0,
|
|
27
27
|
'kol-tree-item__link--active': _active,
|
|
28
|
-
}), _href: _href, _label: "", _role: "treeitem", _tabIndex: _active ? 0 : -1, _ariaExpanded: _hasChildren ? _open : undefined, _ariaOwns: _hasChildren ? this.groupId : undefined, ref: (element) => (this.linkElement = element) }, h("span", { key: '
|
|
28
|
+
}), _href: _href, _label: "", _role: "treeitem", _tabIndex: _active ? 0 : -1, _ariaExpanded: _hasChildren ? _open : undefined, _ariaOwns: _hasChildren ? this.groupId : undefined, ref: (element) => (this.linkElement = element) }, h("span", { key: 'f64170d2888e773e1649252efac509108c92ebe6', class: "kol-tree-item__link-inner", slot: "expert" }, _hasChildren ? (h("span", { class: "kol-tree-item__toggle-button", onClick: (event) => (_open ? void this.handleCollapseClick(event) : void this.handleExpandClick(event)) }, h(IconFC, { class: "kol-tree-item__toggle-button-icon", icons: `kolicon kolicon-${_open ? 'chevron-down' : 'chevron-right'}`, label: '' }))) : (h("span", { class: "kol-tree-item__toggle-button-placeholder" })), h("span", { key: '02eeae533f9c27fb1d34856ef83dc54b0472abb4', class: "kol-tree-item__text" }, _label))), h("ul", { key: 'fdfad19b37792ed8efed76b6e9b7bf977ee7d6cb', class: "kol-tree-item__children", hidden: !_hasChildren || !_open, role: "group", id: this.groupId }, h("slot", { key: 'eba7b5f9a6ee173a12d67238195d5c5fd34f38b4' })))));
|
|
29
29
|
}
|
|
30
30
|
validateActive(value) {
|
|
31
31
|
validateActive(this, value || false);
|
|
@@ -84,9 +84,9 @@ export class KolTreeItemWc {
|
|
|
84
84
|
}
|
|
85
85
|
return undefined;
|
|
86
86
|
}
|
|
87
|
-
async focus() {
|
|
87
|
+
async focus(options) {
|
|
88
88
|
if (this.host && this.linkElement) {
|
|
89
|
-
return
|
|
89
|
+
return this.linkElement.focus(options);
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
async handleExpandClick(event) {
|
|
@@ -236,12 +236,21 @@ export class KolTreeItemWc {
|
|
|
236
236
|
return {
|
|
237
237
|
"focus": {
|
|
238
238
|
"complexType": {
|
|
239
|
-
"signature": "() => Promise<void>",
|
|
240
|
-
"parameters": [
|
|
239
|
+
"signature": "(options?: KolFocusOptions) => Promise<void>",
|
|
240
|
+
"parameters": [{
|
|
241
|
+
"name": "options",
|
|
242
|
+
"type": "KolFocusOptions | undefined",
|
|
243
|
+
"docs": ""
|
|
244
|
+
}],
|
|
241
245
|
"references": {
|
|
242
246
|
"Promise": {
|
|
243
247
|
"location": "global",
|
|
244
248
|
"id": "global::Promise"
|
|
249
|
+
},
|
|
250
|
+
"KolFocusOptions": {
|
|
251
|
+
"location": "import",
|
|
252
|
+
"path": "../../schema",
|
|
253
|
+
"id": "src/schema/index.ts::KolFocusOptions"
|
|
245
254
|
}
|
|
246
255
|
},
|
|
247
256
|
"return": "Promise<void>"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/tree-item/component.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Host, type JSX, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { KolLinkWcTag, KolTreeTag } from '../../core/component-names';\nimport { IconFC } from '../../internal/functional-components/icon/component';\nimport type { ActivePropType, HrefPropType, LabelPropType, OpenPropType, TreeItemAPI, TreeItemStates } from '../../schema';\nimport { validateActive, validateHref, validateLabel, validateOpen } from '../../schema';\nimport clsx from '../../utils/clsx';\nimport { createUniqueId } from '../../utils/dev.utils';\n\n/**\n * @internal\n */\n@Component({\n\ttag: `kol-tree-item-wc`,\n\tshadow: false,\n})\nexport class KolTreeItemWc implements TreeItemAPI {\n\t@Element() private readonly host?: HTMLKolTreeItemWcElement;\n\n\tprivate linkElement?: HTMLKolLinkWcElement;\n\tprivate groupId = createUniqueId('tree-group');\n\n\t@State() private level?: number;\n\n\tpublic render(): JSX.Element {\n\t\tconst { _href, _active, _hasChildren, _open, _label } = this.state;\n\t\treturn (\n\t\t\t<Host onSlotchange={this.handleSlotchange.bind(this)}>\n\t\t\t\t<li\n\t\t\t\t\tclass=\"kol-tree-item\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t'--level': `${this.level}`,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<KolLinkWcTag\n\t\t\t\t\t\tclass={clsx('kol-tree-item__link', {\n\t\t\t\t\t\t\t'kol-tree-item__link--first-level': this.level === 0,\n\t\t\t\t\t\t\t'kol-tree-item__link--active': _active,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t_href={_href}\n\t\t\t\t\t\t_label=\"\"\n\t\t\t\t\t\t_role=\"treeitem\"\n\t\t\t\t\t\t_tabIndex={_active ? 0 : -1}\n\t\t\t\t\t\t_ariaExpanded={_hasChildren ? _open : undefined}\n\t\t\t\t\t\t_ariaOwns={_hasChildren ? this.groupId : undefined}\n\t\t\t\t\t\tref={(element?: HTMLKolLinkWcElement) => (this.linkElement = element!)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"kol-tree-item__link-inner\" slot=\"expert\">\n\t\t\t\t\t\t\t{_hasChildren ? (\n\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions,jsx-a11y/click-events-have-key-events\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclass=\"kol-tree-item__toggle-button\"\n\t\t\t\t\t\t\t\t\tonClick={(event) => (_open ? void this.handleCollapseClick(event) : void this.handleExpandClick(event))}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<IconFC\n\t\t\t\t\t\t\t\t\t\tclass=\"kol-tree-item__toggle-button-icon\"\n\t\t\t\t\t\t\t\t\t\ticons={`kolicon kolicon-${_open ? 'chevron-down' : 'chevron-right'}`}\n\t\t\t\t\t\t\t\t\t\tlabel={'' /* Label deliberately left empty */}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span class=\"kol-tree-item__toggle-button-placeholder\"></span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<span class=\"kol-tree-item__text\">{_label}</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</KolLinkWcTag>\n\t\t\t\t\t<ul class=\"kol-tree-item__children\" hidden={!_hasChildren || !_open} role=\"group\" id={this.groupId}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</ul>\n\t\t\t\t</li>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@State() public state: TreeItemStates = {\n\t\t_active: false,\n\t\t_hasChildren: false,\n\t\t_href: '',\n\t\t_label: '',\n\t\t_open: false,\n\t};\n\n\t/**\n\t * If set (to true) the tree item is the active one.\n\t */\n\t@Prop() _active?: OpenPropType;\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() _label!: LabelPropType;\n\n\t/**\n\t * Opens/expands the element when truthy, closes/collapses when falsy.\n\t */\n\t@Prop() _open?: OpenPropType;\n\n\t/**\n\t * Defines the target URI of the link.\n\t */\n\t@Prop() _href!: HrefPropType;\n\n\t@Watch('_active') validateActive(value?: ActivePropType): void {\n\t\tvalidateActive(this, value || false);\n\t}\n\n\t@Watch('_label') validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value);\n\t}\n\n\t@Watch('_open') validateOpen(value?: OpenPropType): void {\n\t\tvalidateOpen(this, value);\n\t}\n\n\t@Watch('_href') validateHref(value?: HrefPropType): void {\n\t\tvalidateHref(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateActive(this._active);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateOpen(this._open);\n\t\tthis.validateHref(this._href);\n\n\t\tthis.checkForChildren();\n\t\tthis.determineTreeItemDepth();\n\t}\n\n\tprivate determineTreeItemDepth() {\n\t\tlet level = 0;\n\t\tlet traverseItem: HTMLElement | null = (this.host?.parentNode as unknown as ShadowRoot)?.host.parentNode as HTMLElement;\n\t\twhile (traverseItem !== null && traverseItem.tagName.toLowerCase() !== KolTreeTag && traverseItem !== document.body) {\n\t\t\ttraverseItem = traverseItem.parentElement;\n\t\t\tlevel += 1;\n\t\t}\n\t\tthis.level = level;\n\t}\n\n\tprivate handleSlotchange() {\n\t\tthis.checkForChildren();\n\t}\n\n\tprivate checkForChildren() {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_hasChildren: Boolean(this.host?.querySelector('slot')?.assignedElements?.().length),\n\t\t};\n\t}\n\n\tprivate getTreeParent(): (HTMLKolTreeWcElement & { invalidateOpenItemsCache(): void }) | undefined {\n\t\t// Traverse up through shadow boundaries manually\n\t\tlet element: Element | null | undefined = this.host;\n\t\twhile (element) {\n\t\t\t// Try closest in current DOM tree\n\t\t\tconst parent = element.closest(KolTreeTag);\n\t\t\tif (parent) {\n\t\t\t\t// Found kol-tree (shadow wrapper), now find kol-tree-wc in its shadow DOM\n\t\t\t\tconst treeWc = parent.shadowRoot?.querySelector('kol-tree-wc');\n\t\t\t\tif (treeWc) {\n\t\t\t\t\treturn treeWc as HTMLKolTreeWcElement & { invalidateOpenItemsCache(): void };\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\t// Cross shadow boundary: go to shadow host, then to its parent\n\t\t\tconst shadowHost: Element | undefined = (element.getRootNode() as ShadowRoot)?.host;\n\t\t\tif (!shadowHost || shadowHost === document.body) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telement = shadowHost.parentElement;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * Focuses the link element.\n\t */\n\t@Method() async focus() {\n\t\tif (this.host && this.linkElement) {\n\t\t\treturn Promise.resolve(this.linkElement.focus());\n\t\t}\n\t}\n\n\tprivate async handleExpandClick(event: MouseEvent) {\n\t\tevent.preventDefault();\n\t\tif (this.host && this.linkElement) {\n\t\t\tawait this.linkElement.focus();\n\t\t}\n\t\tawait this.expand();\n\t}\n\n\t/**\n\t * Expands the tree item.\n\t */\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async expand() {\n\t\tif (this.state._hasChildren) {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_open: true,\n\t\t\t};\n\t\t\t// Invalidate the tree's cache of open items\n\t\t\tvoid this.getTreeParent()?.invalidateOpenItemsCache?.();\n\t\t}\n\t}\n\n\tprivate async handleCollapseClick(event: MouseEvent) {\n\t\tevent.preventDefault();\n\t\tif (this.host && this.linkElement) {\n\t\t\tawait this.linkElement.focus();\n\t\t}\n\t\tawait this.collapse();\n\t}\n\n\t/**\n\t * Collapses the tree item.\n\t */\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async collapse() {\n\t\tif (this.state._hasChildren) {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_open: false,\n\t\t\t};\n\t\t\t// Invalidate the tree's cache of open items\n\t\t\tvoid this.getTreeParent()?.invalidateOpenItemsCache?.();\n\t\t}\n\t}\n\n\t/**\n\t * Returns whether the tree item is expanded.\n\t */\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async isOpen() {\n\t\treturn this.state._open ?? false;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/tree-item/component.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Host, type JSX, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { KolLinkWcTag, KolTreeTag } from '../../core/component-names';\nimport { IconFC } from '../../internal/functional-components/icon/component';\nimport type { ActivePropType, HrefPropType, KolFocusOptions, LabelPropType, OpenPropType, TreeItemAPI, TreeItemStates } from '../../schema';\nimport { validateActive, validateHref, validateLabel, validateOpen } from '../../schema';\nimport clsx from '../../utils/clsx';\nimport { createUniqueId } from '../../utils/dev.utils';\n\n/**\n * @internal\n */\n@Component({\n\ttag: `kol-tree-item-wc`,\n\tshadow: false,\n})\nexport class KolTreeItemWc implements TreeItemAPI {\n\t@Element() private readonly host?: HTMLKolTreeItemWcElement;\n\n\tprivate linkElement?: HTMLKolLinkWcElement;\n\tprivate groupId = createUniqueId('tree-group');\n\n\t@State() private level?: number;\n\n\tpublic render(): JSX.Element {\n\t\tconst { _href, _active, _hasChildren, _open, _label } = this.state;\n\t\treturn (\n\t\t\t<Host onSlotchange={this.handleSlotchange.bind(this)}>\n\t\t\t\t<li\n\t\t\t\t\tclass=\"kol-tree-item\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t'--level': `${this.level}`,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<KolLinkWcTag\n\t\t\t\t\t\tclass={clsx('kol-tree-item__link', {\n\t\t\t\t\t\t\t'kol-tree-item__link--first-level': this.level === 0,\n\t\t\t\t\t\t\t'kol-tree-item__link--active': _active,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t_href={_href}\n\t\t\t\t\t\t_label=\"\"\n\t\t\t\t\t\t_role=\"treeitem\"\n\t\t\t\t\t\t_tabIndex={_active ? 0 : -1}\n\t\t\t\t\t\t_ariaExpanded={_hasChildren ? _open : undefined}\n\t\t\t\t\t\t_ariaOwns={_hasChildren ? this.groupId : undefined}\n\t\t\t\t\t\tref={(element?: HTMLKolLinkWcElement) => (this.linkElement = element!)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"kol-tree-item__link-inner\" slot=\"expert\">\n\t\t\t\t\t\t\t{_hasChildren ? (\n\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions,jsx-a11y/click-events-have-key-events\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclass=\"kol-tree-item__toggle-button\"\n\t\t\t\t\t\t\t\t\tonClick={(event) => (_open ? void this.handleCollapseClick(event) : void this.handleExpandClick(event))}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<IconFC\n\t\t\t\t\t\t\t\t\t\tclass=\"kol-tree-item__toggle-button-icon\"\n\t\t\t\t\t\t\t\t\t\ticons={`kolicon kolicon-${_open ? 'chevron-down' : 'chevron-right'}`}\n\t\t\t\t\t\t\t\t\t\tlabel={'' /* Label deliberately left empty */}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span class=\"kol-tree-item__toggle-button-placeholder\"></span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<span class=\"kol-tree-item__text\">{_label}</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</KolLinkWcTag>\n\t\t\t\t\t<ul class=\"kol-tree-item__children\" hidden={!_hasChildren || !_open} role=\"group\" id={this.groupId}>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</ul>\n\t\t\t\t</li>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@State() public state: TreeItemStates = {\n\t\t_active: false,\n\t\t_hasChildren: false,\n\t\t_href: '',\n\t\t_label: '',\n\t\t_open: false,\n\t};\n\n\t/**\n\t * If set (to true) the tree item is the active one.\n\t */\n\t@Prop() _active?: OpenPropType;\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() _label!: LabelPropType;\n\n\t/**\n\t * Opens/expands the element when truthy, closes/collapses when falsy.\n\t */\n\t@Prop() _open?: OpenPropType;\n\n\t/**\n\t * Defines the target URI of the link.\n\t */\n\t@Prop() _href!: HrefPropType;\n\n\t@Watch('_active') validateActive(value?: ActivePropType): void {\n\t\tvalidateActive(this, value || false);\n\t}\n\n\t@Watch('_label') validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value);\n\t}\n\n\t@Watch('_open') validateOpen(value?: OpenPropType): void {\n\t\tvalidateOpen(this, value);\n\t}\n\n\t@Watch('_href') validateHref(value?: HrefPropType): void {\n\t\tvalidateHref(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateActive(this._active);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateOpen(this._open);\n\t\tthis.validateHref(this._href);\n\n\t\tthis.checkForChildren();\n\t\tthis.determineTreeItemDepth();\n\t}\n\n\tprivate determineTreeItemDepth() {\n\t\tlet level = 0;\n\t\tlet traverseItem: HTMLElement | null = (this.host?.parentNode as unknown as ShadowRoot)?.host.parentNode as HTMLElement;\n\t\twhile (traverseItem !== null && traverseItem.tagName.toLowerCase() !== KolTreeTag && traverseItem !== document.body) {\n\t\t\ttraverseItem = traverseItem.parentElement;\n\t\t\tlevel += 1;\n\t\t}\n\t\tthis.level = level;\n\t}\n\n\tprivate handleSlotchange() {\n\t\tthis.checkForChildren();\n\t}\n\n\tprivate checkForChildren() {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_hasChildren: Boolean(this.host?.querySelector('slot')?.assignedElements?.().length),\n\t\t};\n\t}\n\n\tprivate getTreeParent(): (HTMLKolTreeWcElement & { invalidateOpenItemsCache(): void }) | undefined {\n\t\t// Traverse up through shadow boundaries manually\n\t\tlet element: Element | null | undefined = this.host;\n\t\twhile (element) {\n\t\t\t// Try closest in current DOM tree\n\t\t\tconst parent = element.closest(KolTreeTag);\n\t\t\tif (parent) {\n\t\t\t\t// Found kol-tree (shadow wrapper), now find kol-tree-wc in its shadow DOM\n\t\t\t\tconst treeWc = parent.shadowRoot?.querySelector('kol-tree-wc');\n\t\t\t\tif (treeWc) {\n\t\t\t\t\treturn treeWc as HTMLKolTreeWcElement & { invalidateOpenItemsCache(): void };\n\t\t\t\t}\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\t// Cross shadow boundary: go to shadow host, then to its parent\n\t\t\tconst shadowHost: Element | undefined = (element.getRootNode() as ShadowRoot)?.host;\n\t\t\tif (!shadowHost || shadowHost === document.body) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telement = shadowHost.parentElement;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * Focuses the link element.\n\t */\n\t@Method() async focus(options?: KolFocusOptions) {\n\t\tif (this.host && this.linkElement) {\n\t\t\treturn this.linkElement.focus(options);\n\t\t}\n\t}\n\n\tprivate async handleExpandClick(event: MouseEvent) {\n\t\tevent.preventDefault();\n\t\tif (this.host && this.linkElement) {\n\t\t\tawait this.linkElement.focus();\n\t\t}\n\t\tawait this.expand();\n\t}\n\n\t/**\n\t * Expands the tree item.\n\t */\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async expand() {\n\t\tif (this.state._hasChildren) {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_open: true,\n\t\t\t};\n\t\t\t// Invalidate the tree's cache of open items\n\t\t\tvoid this.getTreeParent()?.invalidateOpenItemsCache?.();\n\t\t}\n\t}\n\n\tprivate async handleCollapseClick(event: MouseEvent) {\n\t\tevent.preventDefault();\n\t\tif (this.host && this.linkElement) {\n\t\t\tawait this.linkElement.focus();\n\t\t}\n\t\tawait this.collapse();\n\t}\n\n\t/**\n\t * Collapses the tree item.\n\t */\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async collapse() {\n\t\tif (this.state._hasChildren) {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_open: false,\n\t\t\t};\n\t\t\t// Invalidate the tree's cache of open items\n\t\t\tvoid this.getTreeParent()?.invalidateOpenItemsCache?.();\n\t\t}\n\t}\n\n\t/**\n\t * Returns whether the tree item is expanded.\n\t */\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async isOpen() {\n\t\treturn this.state._open ?? false;\n\t}\n}\n"]}
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
import { h } from "@stencil/core";
|
|
5
5
|
import { KolTreeItemWcTag } from "../../core/component-names";
|
|
6
6
|
export class KolTreeItem {
|
|
7
|
-
async focus() {
|
|
7
|
+
async focus(options) {
|
|
8
8
|
var _a;
|
|
9
|
-
return
|
|
9
|
+
return (_a = this.element) === null || _a === void 0 ? void 0 : _a.focus(options);
|
|
10
10
|
}
|
|
11
11
|
async expand() {
|
|
12
12
|
var _a;
|
|
@@ -21,7 +21,7 @@ export class KolTreeItem {
|
|
|
21
21
|
return (_b = (await ((_a = this.element) === null || _a === void 0 ? void 0 : _a.isOpen()))) !== null && _b !== void 0 ? _b : false;
|
|
22
22
|
}
|
|
23
23
|
render() {
|
|
24
|
-
return (h(KolTreeItemWcTag, { key: '
|
|
24
|
+
return (h(KolTreeItemWcTag, { key: '25b3875f49f3f7356796ff41376b5fffda1a0231', _active: this._active, _label: this._label, _open: this._open, _href: this._href, ref: (element) => (this.element = element) }, h("slot", { key: '00007ca55b586bdfa89bc54585c20f2c4d89ecec' })));
|
|
25
25
|
}
|
|
26
26
|
static get is() { return "kol-tree-item"; }
|
|
27
27
|
static get encapsulation() { return "shadow"; }
|
|
@@ -143,12 +143,21 @@ export class KolTreeItem {
|
|
|
143
143
|
return {
|
|
144
144
|
"focus": {
|
|
145
145
|
"complexType": {
|
|
146
|
-
"signature": "() => Promise<any>",
|
|
147
|
-
"parameters": [
|
|
146
|
+
"signature": "(options?: KolFocusOptions) => Promise<any>",
|
|
147
|
+
"parameters": [{
|
|
148
|
+
"name": "options",
|
|
149
|
+
"type": "KolFocusOptions | undefined",
|
|
150
|
+
"docs": ""
|
|
151
|
+
}],
|
|
148
152
|
"references": {
|
|
149
153
|
"Promise": {
|
|
150
154
|
"location": "global",
|
|
151
155
|
"id": "global::Promise"
|
|
156
|
+
},
|
|
157
|
+
"KolFocusOptions": {
|
|
158
|
+
"location": "import",
|
|
159
|
+
"path": "../../schema",
|
|
160
|
+
"id": "src/schema/index.ts::KolFocusOptions"
|
|
152
161
|
}
|
|
153
162
|
},
|
|
154
163
|
"return": "Promise<any>"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../../src/components/tree-item/shadow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAY,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAU9D,MAAM,OAAO,WAAW;IA0Bb,KAAK,CAAC,KAAK
|
|
1
|
+
{"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../../src/components/tree-item/shadow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAY,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAU9D,MAAM,OAAO,WAAW;IA0Bb,KAAK,CAAC,KAAK,CAAC,OAAyB;;QAC9C,OAAO,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAKS,KAAK,CAAC,MAAM;;QACrB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IAKS,KAAK,CAAC,QAAQ;;QACvB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;IAKS,KAAK,CAAC,MAAM;;QACrB,OAAO,MAAA,CAAC,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,EAAE,CAAA,CAAC,mCAAI,KAAK,CAAC;IAChD,CAAC;IAEM,MAAM;QACZ,OAAO,CACN,EAAC,gBAAgB,qDAChB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,GAAG,EAAE,CAAC,OAAkC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YAErE,8DAAQ,CACU,CACnB,CAAC;IACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import { Component, h, type JSX, Method, Prop } from '@stencil/core';\n\nimport { KolTreeItemWcTag } from '../../core/component-names';\nimport type { HrefPropType, KolFocusOptions, LabelPropType, OpenPropType, TreeItemProps } from '../../schema';\n\n@Component({\n\ttag: 'kol-tree-item', // keep in sync with `const TREE_ITEM_TAG_NAME`\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolTreeItem implements TreeItemProps {\n\tprivate element?: HTMLKolTreeItemWcElement;\n\n\t/**\n\t * If set (to true) the tree item is the active one.\n\t */\n\t@Prop() _active?: OpenPropType;\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() _label!: LabelPropType;\n\n\t/**\n\t * Opens/expands the element when truthy, closes/collapses when falsy.\n\t */\n\t@Prop() _open?: OpenPropType;\n\n\t/**\n\t * Defines the target URI of the link.\n\t */\n\t@Prop() _href!: HrefPropType;\n\n\t/**\n\t * Focuses the link element.\n\t */\n\t@Method() async focus(options?: KolFocusOptions) {\n\t\treturn this.element?.focus(options);\n\t}\n\n\t/**\n\t * Expands the tree item.\n\t */\n\t@Method() async expand() {\n\t\treturn Promise.resolve(this.element?.expand());\n\t}\n\n\t/**\n\t * Collapses the tree item.\n\t */\n\t@Method() async collapse() {\n\t\treturn Promise.resolve(this.element?.collapse());\n\t}\n\n\t/**\n\t * Returns whether the tree item is expanded.\n\t */\n\t@Method() async isOpen() {\n\t\treturn (await this.element?.isOpen()) ?? false;\n\t}\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<KolTreeItemWcTag\n\t\t\t\t_active={this._active}\n\t\t\t\t_label={this._label}\n\t\t\t\t_open={this._open}\n\t\t\t\t_href={this._href}\n\t\t\t\tref={(element?: HTMLKolTreeItemWcElement) => (this.element = element)}\n\t\t\t>\n\t\t\t\t<slot />\n\t\t\t</KolTreeItemWcTag>\n\t\t);\n\t}\n}\n"]}
|
|
@@ -201,8 +201,8 @@
|
|
|
201
201
|
}
|
|
202
202
|
@font-face {
|
|
203
203
|
font-family: "kolicons";
|
|
204
|
-
src: url("kolicons.eot?t=
|
|
205
|
-
src: url("kolicons.eot?t=
|
|
204
|
+
src: url("kolicons.eot?t=1780919027063"); /* IE9*/
|
|
205
|
+
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- */
|
|
206
206
|
}
|
|
207
207
|
@layer kol-component {
|
|
208
208
|
[class^=kolicon-], [class*=" kolicon-"] {
|
|
@@ -8,10 +8,7 @@ export class ClickButtonController extends BaseController {
|
|
|
8
8
|
constructor(stateAccess) {
|
|
9
9
|
super(stateAccess, clickButtonPropsConfig);
|
|
10
10
|
this.handleClick = () => {
|
|
11
|
-
console.log(this,
|
|
12
|
-
};
|
|
13
|
-
this.setButtonRef = (element) => {
|
|
14
|
-
this.buttonRef = element;
|
|
11
|
+
console.log(this, 'button clicked');
|
|
15
12
|
};
|
|
16
13
|
}
|
|
17
14
|
componentWillLoad(props) {
|
|
@@ -23,9 +20,5 @@ export class ClickButtonController extends BaseController {
|
|
|
23
20
|
this.setRenderProp('label', v);
|
|
24
21
|
});
|
|
25
22
|
}
|
|
26
|
-
focus() {
|
|
27
|
-
var _a;
|
|
28
|
-
(_a = this.buttonRef) === null || _a === void 0 ? void 0 : _a.focus();
|
|
29
|
-
}
|
|
30
23
|
}
|
|
31
24
|
//# sourceMappingURL=controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/internal/functional-components/click-button/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,OAAO,CAAC;AAE/C,MAAM,OAAO,qBAAsB,SAAQ,cAA8B;
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/internal/functional-components/click-button/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,OAAO,CAAC;AAE/C,MAAM,OAAO,qBAAsB,SAAQ,cAA8B;IACxE,YAAmB,WAAwC;QAC1D,KAAK,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;QAcrC,gBAAW,GAAG,GAAS,EAAE;YAE/B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QACrC,CAAC,CAAC;IAhBF,CAAC;IAEM,iBAAiB,CAAC,KAAyC;QACjE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAEM,UAAU,CAAC,KAAc;QAC/B,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;YAC5B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACJ,CAAC;CAMD","sourcesContent":["import { labelProp } from '../../props';\nimport { BaseController } from '../base-controller';\nimport type { ControllerInterface, ResolvedInputProps, StateAccess } from '../generic-types';\nimport type { ClickButtonApi } from './api';\nimport { clickButtonPropsConfig } from './api';\n\nexport class ClickButtonController extends BaseController<ClickButtonApi> implements ControllerInterface<ClickButtonApi> {\n\tpublic constructor(stateAccess: StateAccess<ClickButtonApi>) {\n\t\tsuper(stateAccess, clickButtonPropsConfig);\n\t}\n\n\tpublic componentWillLoad(props: ResolvedInputProps<ClickButtonApi>): void {\n\t\tconst { label } = props;\n\t\tthis.watchLabel(label);\n\t}\n\n\tpublic watchLabel(value?: string): void {\n\t\tlabelProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('label', v);\n\t\t});\n\t}\n\n\tpublic handleClick = (): void => {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log(this, 'button clicked');\n\t};\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-types.js","sourceRoot":"","sources":["../../../src/internal/functional-components/generic-types.ts"],"names":[],"mappings":"","sourcesContent":["import type { EventEmitter } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\n\nimport type { Prop } from '../props';\n\n// ============================================================================\n// Utility Types\n// ============================================================================\n\ntype Callback<T> = (value?: T) => void;\n\n/** Makes all fields required and non-nullable. */\nexport type StrictFields<T> = {\n\t[K in keyof T]-?: NonNullable<T[K]>;\n};\n\ntype UnionToIntersection<U> = (U extends unknown ? (arg: U) => void : never) extends (arg: infer I) => void ? I : never;\n\n// ============================================================================\n// Phantom Key Mapping (__input_* convention)\n// ============================================================================\n\n/**\n * Extracts the internal (normalized) property types by filtering out __input_* and __propInternal__ phantom keys.\n */\nexport type InternalOf<P> = {\n\t[K in keyof P as K extends `__input_${string}` | '__propInternal__' ? never : K]: P[K];\n};\n\n/**\n * Extracts the external (input) property types.\n * For each real key K, uses the __input_K type if present, otherwise falls back to the internal type.\n */\ntype ExternalOf<P> = {\n\t[K in keyof P as K extends `__input_${string}` | '__propInternal__' ? never : K]: `__input_${K & string}` extends keyof P\n\t\t? NonNullable<P[`__input_${K & string}`]>\n\t\t: P[K];\n};\n\n// ============================================================================\n// Component API Definition\n// ============================================================================\n\ntype PropsDefinition = {\n\tOptional?: Record<string, unknown>;\n\tRequired?: Record<string, unknown>;\n};\n\nexport interface ComponentApi {\n\tCallbacks?: Record<string, () => unknown>;\n\tEmitters?: Record<string, unknown>;\n\tListeners?: Record<string, unknown>;\n\tMethods?: Record<string, (...args: never[]) => unknown>;\n\tProps?: PropsDefinition;\n\tRefs?: Record<string, HTMLElement>;\n\tStates: Record<never, never>;\n}\n\n// ============================================================================\n// Props Config (Single Source of Truth)\n// ============================================================================\n\n/** Any prop definition that carries a phantom Prop type, a propName and a getDefaultValue method. */\ntype AnyPropDef = {\n\treadonly __phantomProp__?: Prop<string, unknown, unknown>;\n\treadonly propName: string;\n\tgetDefaultValue(): unknown;\n};\n\n/** Extracts the phantom Prop type from a PropDefinition or DependentPropDefinition. */\ntype ExtractPhantomProp<D> = D extends { readonly __phantomProp__?: infer P extends Prop<string, unknown, unknown> } ? P : never;\n\n/** Merges an array of prop definitions into a single intersection of their phantom Prop types. */\ntype MergePropsFromArray<A extends readonly AnyPropDef[]> = UnionToIntersection<ExtractPhantomProp<A[number]>>;\n\n/** Shape for a props config object with arrays of runtime prop definitions. */\nexport type PropsConfigShape = {\n\toptional?: readonly AnyPropDef[];\n\trequired?: readonly AnyPropDef[];\n};\n\n/**\n * Derives a full ComponentApi type from a runtime props config and optional extra fields.\n *\n * Usage:\n * ```ts\n * const config = {\n * required: [maxProp, clampedNumberValueProp],\n * optional: [labelProp],\n * } as const satisfies PropsConfigShape;\n *\n * type MyApi = ApiFromConfig<typeof config, { States: { liveValue: number } }>;\n * ```\n */\nexport type ApiFromConfig<Config extends PropsConfigShape, Extra extends Partial<Omit<ComponentApi, 'Props'>> = Record<never, never>> = {\n\tProps: {\n\t\tOptional: Config['optional'] extends readonly AnyPropDef[] ? MergePropsFromArray<Config['optional']> : Record<never, never>;\n\t\tRequired: Config['required'] extends readonly AnyPropDef[] ? MergePropsFromArray<Config['required']> : Record<never, never>;\n\t};\n\tStates: Extra extends { States: infer S extends Record<string, unknown> } ? S : Record<never, never>;\n} & Omit<Extra, 'Props' | 'States'>;\n\n// ============================================================================\n// Props Extraction\n// ============================================================================\n\n/** Safely extracts a sub-record from a ComponentApi's Props definition, defaulting to an empty record. */\ntype PropsEntry<T extends ComponentApi, K extends keyof PropsDefinition> = T['Props'] extends PropsDefinition\n\t? T['Props'][K] extends Record<string, unknown>\n\t\t? T['Props'][K]\n\t\t: Record<never, never>\n\t: Record<never, never>;\n\ntype RequiredProps<T extends ComponentApi> = PropsEntry<T, 'Required'>;\ntype OptionalProps<T extends ComponentApi> = PropsEntry<T, 'Optional'>;\ntype AllProps<T extends ComponentApi> = RequiredProps<T> & OptionalProps<T>;\n\n/**\n * Resolved internal prop types (normalized).\n * Required props are mandatory, optional props are Partial.\n */\nexport type ResolvedProps<T extends ComponentApi> = InternalOf<RequiredProps<T>> & Partial<InternalOf<OptionalProps<T>>>;\n\n/**\n * Resolved external/input prop types (before normalization).\n * Used for componentWillLoad and watchers.\n */\nexport type ResolvedInputProps<T extends ComponentApi> = ExternalOf<RequiredProps<T>> & Partial<ExternalOf<OptionalProps<T>>>;\n\n// ============================================================================\n// API Field Extraction\n// ============================================================================\n\n/** Safely extracts a top-level field from a ComponentApi, defaulting to an empty record. */\ntype ApiField<T extends ComponentApi, K extends keyof ComponentApi> = T[K] extends Record<string, unknown> ? T[K] : Record<never, never>;\n\ntype ExtractCallbacks<T extends ComponentApi> = ApiField<T, 'Callbacks'>;\ntype ExtractEmitters<T extends ComponentApi> = ApiField<T, 'Emitters'>;\ntype ExtractListeners<T extends ComponentApi> = ApiField<T, 'Listeners'>;\ntype ExtractMethods<T extends ComponentApi> = ApiField<T, 'Methods'>;\ntype ExtractRefs<T extends ComponentApi> = ApiField<T, 'Refs'>;\ntype ExtractStates<T extends ComponentApi> = InternalOf<ApiField<T, 'States'>>;\n\ntype InternalProps<T extends ComponentApi> = InternalOf<AllProps<T>>;\ntype ExternalProps<T extends ComponentApi> = ExternalOf<AllProps<T>>;\n\n// ============================================================================\n// State Access Functions\n// ============================================================================\n\n/**\n * Function signature for setting component state in a type-safe manner.\n * Used by controllers to update reactive @State fields with generic type safety.\n */\nexport type SetStateFn<Api extends ComponentApi> = <K extends keyof InternalOf<NonNullable<Api['States']>>>(\n\tkey: K,\n\tvalue: InternalOf<NonNullable<Api['States']>>[K],\n) => void;\n\n/**\n * Function signature for reading component state in a type-safe manner.\n * Used by controllers to access reactive @State fields with generic type safety.\n */\nexport type GetStateFn<Api extends ComponentApi> = <K extends keyof InternalOf<NonNullable<Api['States']>>>(\n\tkey: K,\n) => InternalOf<NonNullable<Api['States']>>[K];\n\n/**\n * Bundles setState and getState as a single unit.\n * Controllers receive this as their state access mechanism — either a real\n * implementation from a web component or `BaseController.stateLess` for\n * controllers that manage state purely via render props.\n */\nexport type StateAccess<Api extends ComponentApi> = {\n\tsetState: SetStateFn<Api>;\n\tgetState: GetStateFn<Api>;\n};\n\n// ============================================================================\n// Method Promise Wrapping\n// ============================================================================\n\n/**\n * Wraps the return type of each method in a Promise.\n * API definitions use simple return types (e.g., `() => void`)\n * and the resolved type becomes `() => Promise<void>`.\n * Uses `Awaited<R>` for idempotency — `() => Promise<void>` stays `Promise<void>`, not `Promise<Promise<void>>`.\n */\ntype PromiseMethod<Methods> = {\n\t[K in keyof Methods]: Methods[K] extends (...args: infer A) => infer R ? (...args: A) => Promise<Awaited<R>> : Methods[K];\n};\n\n// ============================================================================\n// Web Component Types\n// ============================================================================\n\ntype ComponentPropsRequired<Props> = {\n\t[K in keyof Props as `_${Lowercase<string & K>}`]: Props[K];\n};\n\ntype ComponentPropsOptional<Props> = {\n\t[K in keyof Props as `_${Lowercase<string & K>}`]?: Props[K];\n};\n\ntype ComponentProps<T extends ComponentApi> = ComponentPropsRequired<ExternalOf<RequiredProps<T>>> & ComponentPropsOptional<ExternalOf<OptionalProps<T>>>;\n\ntype ComponentWatchers<Props> = {\n\t[K in keyof Props as `watch${Capitalize<string & K>}`]: Callback<Props[K]>;\n};\n\ntype ComponentEmitters<Emitters> = {\n\t[K in keyof Emitters as `${Lowercase<string & K>}`]: EventEmitter<Emitters[K]>;\n};\n\ntype ComponentListeners<Listeners> = {\n\t[K in keyof Listeners as `on${Capitalize<string & K>}`]: (event: Listeners[K]) => void;\n};\n\nexport type WebComponentInterface<T extends ComponentApi> = {\n\tcomponentWillLoad(): void;\n} & ComponentProps<T> &\n\tStrictFields<ExtractStates<T>> &\n\tComponentWatchers<ExternalProps<T>> &\n\tComponentEmitters<ExtractEmitters<T>> &\n\tPromiseMethod<ExtractMethods<T>> &\n\tComponentListeners<ExtractListeners<T>>;\n\n// ============================================================================\n// Functional Component Types\n// ============================================================================\n\ntype ComponentCallbacks<Callbacks> = {\n\t[K in keyof Callbacks as `handle${Capitalize<string & K>}`]: Callbacks[K];\n};\n\ntype ComponentRefs<Refs> = {\n\t[K in keyof Refs as `ref${Capitalize<string & K>}`]: (element?: Refs[K]) => void;\n};\n\ntype FunctionalComponentEmitters<Emitters> = {\n\t[K in keyof Emitters as `on${Capitalize<string & K>}`]: EventEmitter<Emitters[K]>;\n};\n\nexport type FunctionalComponentProps<T extends ComponentApi> = StrictFields<InternalProps<T>> &\n\tStrictFields<ExtractStates<T>> &\n\tComponentCallbacks<ExtractCallbacks<T>> &\n\tComponentRefs<ExtractRefs<T>> &\n\tFunctionalComponentEmitters<ExtractEmitters<T>> &\n\tPartial<Omit<JSXBase.HTMLAttributes<HTMLElement>, keyof InternalProps<T> | keyof ExtractStates<T>>>;\n\n// ============================================================================\n// Controller Types\n// ============================================================================\n\ntype ControllerCallbackHandlers<Callbacks> = {\n\t[K in keyof Callbacks as `handle${Capitalize<string & K>}`]: (element?: Callbacks[K]) => void;\n};\n\ntype ControllerListeners<Listeners> = {\n\t[K in keyof Listeners as `on${Capitalize<string & K>}`]: (event: Listeners[K]) => void;\n};\n\ntype ControllerRefSetters<Refs> = {\n\t[K in keyof Refs as `set${Capitalize<string & K>}Ref`]: (element?: Refs[K]) => void;\n};\n\nexport type ControllerInterface<T extends ComponentApi = ComponentApi> = {\n\tcomponentWillLoad(props: ResolvedInputProps<T>): void;\n\tgetRenderProp<K extends keyof InternalProps<T>>(key: K): StrictFields<InternalProps<T>>[K];\n} & ComponentWatchers<ExternalProps<T>> &\n\tControllerCallbackHandlers<ExtractCallbacks<T>> &\n\tControllerListeners<ExtractListeners<T>> &\n\tExtractMethods<T> &\n\tControllerRefSetters<ExtractRefs<T>>;\n"]}
|
|
1
|
+
{"version":3,"file":"generic-types.js","sourceRoot":"","sources":["../../../src/internal/functional-components/generic-types.ts"],"names":[],"mappings":"","sourcesContent":["import type { EventEmitter } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\n\nimport type { Prop } from '../props';\n\n// ============================================================================\n// Utility Types\n// ============================================================================\n\ntype Callback<T> = (value?: T) => void;\n\n/** Makes all fields required and non-nullable. */\nexport type StrictFields<T> = {\n\t[K in keyof T]-?: NonNullable<T[K]>;\n};\n\ntype UnionToIntersection<U> = (U extends unknown ? (arg: U) => void : never) extends (arg: infer I) => void ? I : never;\n\n// ============================================================================\n// Phantom Key Mapping (__input_* convention)\n// ============================================================================\n\n/**\n * Extracts the internal (normalized) property types by filtering out __input_* and __propInternal__ phantom keys.\n */\nexport type InternalOf<P> = {\n\t[K in keyof P as K extends `__input_${string}` | '__propInternal__' ? never : K]: P[K];\n};\n\n/**\n * Extracts the external (input) property types.\n * For each real key K, uses the __input_K type if present, otherwise falls back to the internal type.\n */\ntype ExternalOf<P> = {\n\t[K in keyof P as K extends `__input_${string}` | '__propInternal__' ? never : K]: `__input_${K & string}` extends keyof P\n\t\t? NonNullable<P[`__input_${K & string}`]>\n\t\t: P[K];\n};\n\n// ============================================================================\n// Component API Definition\n// ============================================================================\n\ntype PropsDefinition = {\n\tOptional?: Record<string, unknown>;\n\tRequired?: Record<string, unknown>;\n};\n\nexport interface ComponentApi {\n\tCallbacks?: Record<string, () => unknown>;\n\tEmitters?: Record<string, unknown>;\n\tListeners?: Record<string, unknown>;\n\tMethods?: Record<string, (...args: never[]) => unknown>;\n\tProps?: PropsDefinition;\n\tRefs?: Record<string, HTMLElement>;\n\tStates: Record<never, never>;\n}\n\n// ============================================================================\n// Props Config (Single Source of Truth)\n// ============================================================================\n\n/** Any prop definition that carries a phantom Prop type, a propName and a getDefaultValue method. */\ntype AnyPropDef = {\n\treadonly __phantomProp__?: Prop<string, unknown, unknown>;\n\treadonly propName: string;\n\tgetDefaultValue(): unknown;\n};\n\n/** Extracts the phantom Prop type from a PropDefinition or DependentPropDefinition. */\ntype ExtractPhantomProp<D> = D extends { readonly __phantomProp__?: infer P extends Prop<string, unknown, unknown> } ? P : never;\n\n/** Merges an array of prop definitions into a single intersection of their phantom Prop types. */\ntype MergePropsFromArray<A extends readonly AnyPropDef[]> = UnionToIntersection<ExtractPhantomProp<A[number]>>;\n\n/** Shape for a props config object with arrays of runtime prop definitions. */\nexport type PropsConfigShape = {\n\toptional?: readonly AnyPropDef[];\n\trequired?: readonly AnyPropDef[];\n};\n\n/**\n * Derives a full ComponentApi type from a runtime props config and optional extra fields.\n *\n * Usage:\n * ```ts\n * const config = {\n * required: [maxProp, clampedNumberValueProp],\n * optional: [labelProp],\n * } as const satisfies PropsConfigShape;\n *\n * type MyApi = ApiFromConfig<typeof config, { States: { liveValue: number } }>;\n * ```\n */\nexport type ApiFromConfig<Config extends PropsConfigShape, Extra extends Partial<Omit<ComponentApi, 'Props'>> = Record<never, never>> = {\n\tProps: {\n\t\tOptional: Config['optional'] extends readonly AnyPropDef[] ? MergePropsFromArray<Config['optional']> : Record<never, never>;\n\t\tRequired: Config['required'] extends readonly AnyPropDef[] ? MergePropsFromArray<Config['required']> : Record<never, never>;\n\t};\n\tStates: Extra extends { States: infer S extends Record<string, unknown> } ? S : Record<never, never>;\n} & Omit<Extra, 'Props' | 'States'>;\n\n// ============================================================================\n// Props Extraction\n// ============================================================================\n\n/** Safely extracts a sub-record from a ComponentApi's Props definition, defaulting to an empty record. */\ntype PropsEntry<T extends ComponentApi, K extends keyof PropsDefinition> = T['Props'] extends PropsDefinition\n\t? T['Props'][K] extends Record<string, unknown>\n\t\t? T['Props'][K]\n\t\t: Record<never, never>\n\t: Record<never, never>;\n\ntype RequiredProps<T extends ComponentApi> = PropsEntry<T, 'Required'>;\ntype OptionalProps<T extends ComponentApi> = PropsEntry<T, 'Optional'>;\ntype AllProps<T extends ComponentApi> = RequiredProps<T> & OptionalProps<T>;\n\n/**\n * Resolved internal prop types (normalized).\n * Required props are mandatory, optional props are Partial.\n */\nexport type ResolvedProps<T extends ComponentApi> = InternalOf<RequiredProps<T>> & Partial<InternalOf<OptionalProps<T>>>;\n\n/**\n * Resolved external/input prop types (before normalization).\n * Used for componentWillLoad and watchers.\n */\nexport type ResolvedInputProps<T extends ComponentApi> = ExternalOf<RequiredProps<T>> & Partial<ExternalOf<OptionalProps<T>>>;\n\n// ============================================================================\n// API Field Extraction\n// ============================================================================\n\n/** Safely extracts a top-level field from a ComponentApi, defaulting to an empty record. */\ntype ApiField<T extends ComponentApi, K extends keyof ComponentApi> = T[K] extends Record<string, unknown> ? T[K] : Record<never, never>;\n\ntype ExtractCallbacks<T extends ComponentApi> = ApiField<T, 'Callbacks'>;\ntype ExtractEmitters<T extends ComponentApi> = ApiField<T, 'Emitters'>;\ntype ExtractListeners<T extends ComponentApi> = ApiField<T, 'Listeners'>;\ntype ExtractMethods<T extends ComponentApi> = ApiField<T, 'Methods'>;\ntype ExtractRefs<T extends ComponentApi> = ApiField<T, 'Refs'>;\ntype ExtractStates<T extends ComponentApi> = InternalOf<ApiField<T, 'States'>>;\n\ntype InternalProps<T extends ComponentApi> = InternalOf<AllProps<T>>;\ntype ExternalProps<T extends ComponentApi> = ExternalOf<AllProps<T>>;\n\n// ============================================================================\n// State Access Functions\n// ============================================================================\n\n/**\n * Function signature for setting component state in a type-safe manner.\n * Used by controllers to update reactive @State fields with generic type safety.\n */\nexport type SetStateFn<Api extends ComponentApi> = <K extends keyof InternalOf<NonNullable<Api['States']>>>(\n\tkey: K,\n\tvalue: InternalOf<NonNullable<Api['States']>>[K],\n) => void;\n\n/**\n * Function signature for reading component state in a type-safe manner.\n * Used by controllers to access reactive @State fields with generic type safety.\n */\nexport type GetStateFn<Api extends ComponentApi> = <K extends keyof InternalOf<NonNullable<Api['States']>>>(\n\tkey: K,\n) => InternalOf<NonNullable<Api['States']>>[K];\n\n/**\n * Bundles setState and getState as a single unit.\n * Controllers receive this as their state access mechanism — either a real\n * implementation from a web component or `BaseController.stateLess` for\n * controllers that manage state purely via render props.\n */\nexport type StateAccess<Api extends ComponentApi> = {\n\tsetState: SetStateFn<Api>;\n\tgetState: GetStateFn<Api>;\n};\n\n// ============================================================================\n// Method Promise Wrapping\n// ============================================================================\n\n/**\n * Wraps the return type of each method in a Promise.\n * API definitions use simple return types (e.g., `() => void`)\n * and the resolved type becomes `() => Promise<void>`.\n * Uses `Awaited<R>` for idempotency — `() => Promise<void>` stays `Promise<void>`, not `Promise<Promise<void>>`.\n */\ntype PromiseMethod<Methods> = {\n\t[K in keyof Methods]: Methods[K] extends (...args: infer A) => infer R ? (...args: A) => Promise<Awaited<R>> : Methods[K];\n};\n\n// ============================================================================\n// Web Component Types\n// ============================================================================\n\ntype ComponentPropsRequired<Props> = {\n\t[K in keyof Props as `_${Lowercase<string & K>}`]: Props[K];\n};\n\ntype ComponentPropsOptional<Props> = {\n\t[K in keyof Props as `_${Lowercase<string & K>}`]?: Props[K];\n};\n\ntype ComponentProps<T extends ComponentApi> = ComponentPropsRequired<ExternalOf<RequiredProps<T>>> & ComponentPropsOptional<ExternalOf<OptionalProps<T>>>;\n\ntype ComponentWatchers<Props> = {\n\t[K in keyof Props as `watch${Capitalize<string & K>}`]: Callback<Props[K]>;\n};\n\ntype ComponentEmitters<Emitters> = {\n\t[K in keyof Emitters as `${Lowercase<string & K>}`]: EventEmitter<Emitters[K]>;\n};\n\ntype ComponentListeners<Listeners> = {\n\t[K in keyof Listeners as `on${Capitalize<string & K>}`]: (event: Listeners[K]) => void;\n};\n\nexport type WebComponentInterface<T extends ComponentApi> = {\n\tcomponentWillLoad(): void;\n} & ComponentProps<T> &\n\tStrictFields<ExtractStates<T>> &\n\tComponentWatchers<ExternalProps<T>> &\n\tComponentEmitters<ExtractEmitters<T>> &\n\tPromiseMethod<ExtractMethods<T>> &\n\tComponentListeners<ExtractListeners<T>>;\n\n// ============================================================================\n// Functional Component Types\n// ============================================================================\n\ntype ComponentCallbacks<Callbacks> = {\n\t[K in keyof Callbacks as `handle${Capitalize<string & K>}`]: Callbacks[K];\n};\n\ntype ComponentRefs<Refs> = {\n\t[K in keyof Refs as `ref${Capitalize<string & K>}`]: (element?: Refs[K]) => void;\n};\n\ntype FunctionalComponentEmitters<Emitters> = {\n\t[K in keyof Emitters as `on${Capitalize<string & K>}`]: EventEmitter<Emitters[K]>;\n};\n\nexport type FunctionalComponentProps<T extends ComponentApi> = StrictFields<InternalProps<T>> &\n\tStrictFields<ExtractStates<T>> &\n\tComponentCallbacks<ExtractCallbacks<T>> &\n\tComponentRefs<ExtractRefs<T>> &\n\tFunctionalComponentEmitters<ExtractEmitters<T>> &\n\tPartial<Omit<JSXBase.HTMLAttributes<HTMLElement>, keyof InternalProps<T> | keyof ExtractStates<T>>>;\n\n// ============================================================================\n// Controller Types\n// ============================================================================\n\ntype ControllerCallbackHandlers<Callbacks> = {\n\t[K in keyof Callbacks as `handle${Capitalize<string & K>}`]: (element?: Callbacks[K]) => void;\n};\n\ntype ControllerListeners<Listeners> = {\n\t[K in keyof Listeners as `on${Capitalize<string & K>}`]: (event: Listeners[K]) => void;\n};\n\nexport type ControllerInterface<T extends ComponentApi = ComponentApi> = {\n\tcomponentWillLoad(props: ResolvedInputProps<T>): void;\n\tgetRenderProp<K extends keyof InternalProps<T>>(key: K): StrictFields<InternalProps<T>>[K];\n} & ComponentWatchers<ExternalProps<T>> &\n\tControllerCallbackHandlers<ExtractCallbacks<T>> &\n\tControllerListeners<ExtractListeners<T>>;\n"]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { h } from "@stencil/core";
|
|
5
5
|
export const ImageFC = (props) => {
|
|
6
|
-
const { alt, loading, sizes, src, srcset } = props;
|
|
7
|
-
return h("img", { class: "kol-image", alt: alt, loading: loading, sizes: sizes || undefined, src: src, srcset: srcset || undefined });
|
|
6
|
+
const { alt, loading, sizes, src, srcset, handleError, handleLoad } = props;
|
|
7
|
+
return (h("img", { class: "kol-image", alt: alt, loading: loading, sizes: sizes || undefined, src: src, srcset: srcset || undefined, onError: (e) => handleError(e), onLoad: (e) => handleLoad(e) }));
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/internal/functional-components/image/component.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/internal/functional-components/image/component.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAclC,MAAM,CAAC,MAAM,OAAO,GAAqB,CAAC,KAAK,EAAE,EAAE;IAClD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAE5E,OAAO,CACN,WACC,KAAK,EAAC,WAAW,EACjB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,IAAI,SAAS,EACzB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,IAAI,SAAS,EAC3B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAC9B,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAC3B,CACF,CAAC;AACH,CAAC,CAAC","sourcesContent":["import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport type { LoadingType } from '../../props';\n\ntype ImageFCProps = {\n\talt: string;\n\tloading?: LoadingType;\n\tsizes?: string;\n\tsrc: string;\n\tsrcset?: string;\n\thandleError: (event: Event) => void;\n\thandleLoad: (event: Event) => void;\n};\n\nexport const ImageFC: FC<ImageFCProps> = (props) => {\n\tconst { alt, loading, sizes, src, srcset, handleError, handleLoad } = props;\n\n\treturn (\n\t\t<img\n\t\t\tclass=\"kol-image\"\n\t\t\talt={alt}\n\t\t\tloading={loading}\n\t\t\tsizes={sizes || undefined}\n\t\t\tsrc={src}\n\t\t\tsrcset={srcset || undefined}\n\t\t\tonError={(e) => handleError(e)}\n\t\t\tonLoad={(e) => handleLoad(e)}\n\t\t/>\n\t);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/internal/functional-components/meter/api.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAetG,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC;IAC9C,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC;CACX,CAAC","sourcesContent":["import type { HighProp, LabelProp, LowProp, MaxProp, MinProp, NumberValueProp, OptimumProp, OrientationProp, UnitProp } from '../../props';\nimport { labelProp, maxProp, minProp, numberValueProp, orientationProp, unitProp } from '../../props';\nimport type { ComponentApi, PropsConfigShape } from '../generic-types';\n\n/**\n * Meter Props configuration for renderProps pipeline.\n *\n * Note: `high`, `low`, and `optimum` are intentionally omitted from this config.\n * These optional numeric props must remain nullable (undefined when not set),\n * but the renderProps pipeline enforces StrictFields (non-nullable).\n * Solution: these three props are managed separately in the Controller's `meterData` object\n * via the `getMeterData()` getter, allowing them to be undefined while the renderProps\n * pipeline handles required props.\n *\n * See MeterApi.Props.Optional for the complete prop interface.\n */\nexport const meterPropsConfig = {\n\toptional: [minProp, orientationProp, unitProp],\n\trequired: [labelProp, maxProp, numberValueProp],\n} as const satisfies PropsConfigShape;\n\nexport interface MeterApi extends ComponentApi {\n\tProps: {\n\t\tOptional: HighProp & LowProp & MinProp & OptimumProp & OrientationProp & UnitProp;\n\t\tRequired: LabelProp & MaxProp & NumberValueProp;\n\t};\n
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/internal/functional-components/meter/api.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAetG,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC;IAC9C,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC;CACX,CAAC","sourcesContent":["import type { HighProp, LabelProp, LowProp, MaxProp, MinProp, NumberValueProp, OptimumProp, OrientationProp, UnitProp } from '../../props';\nimport { labelProp, maxProp, minProp, numberValueProp, orientationProp, unitProp } from '../../props';\nimport type { ComponentApi, PropsConfigShape } from '../generic-types';\n\n/**\n * Meter Props configuration for renderProps pipeline.\n *\n * Note: `high`, `low`, and `optimum` are intentionally omitted from this config.\n * These optional numeric props must remain nullable (undefined when not set),\n * but the renderProps pipeline enforces StrictFields (non-nullable).\n * Solution: these three props are managed separately in the Controller's `meterData` object\n * via the `getMeterData()` getter, allowing them to be undefined while the renderProps\n * pipeline handles required props.\n *\n * See MeterApi.Props.Optional for the complete prop interface.\n */\nexport const meterPropsConfig = {\n\toptional: [minProp, orientationProp, unitProp],\n\trequired: [labelProp, maxProp, numberValueProp],\n} as const satisfies PropsConfigShape;\n\nexport interface MeterApi extends ComponentApi {\n\tProps: {\n\t\tOptional: HighProp & LowProp & MinProp & OptimumProp & OrientationProp & UnitProp;\n\t\tRequired: LabelProp & MaxProp & NumberValueProp;\n\t};\n}\n"]}
|
|
@@ -36,19 +36,14 @@ function getMeterState(value, min, max, low, high, optimum) {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
export const MeterFC = (props) => {
|
|
39
|
-
const { high, label, low,
|
|
39
|
+
const { high, label, low, max, min, optimum, orientation, unit, value } = props;
|
|
40
40
|
const isVertical = orientation === 'vertical';
|
|
41
41
|
const isPercentage = unit === '%';
|
|
42
42
|
const displayValue = isPercentage ? Math.round(((value - min) / (max - min)) * 100) : value;
|
|
43
|
-
const liveMeterValue = isPercentage ? `${Math.round(((liveValue - min) / (max - min)) * 100)}` : liveValue;
|
|
44
43
|
const state = getMeterState(value, min, max, low, high, optimum);
|
|
45
44
|
const hasStateClassification = low !== undefined || high !== undefined;
|
|
46
45
|
const stateLabel = hasStateClassification ? translate(`kol-meter-state-${state}`) : '';
|
|
47
|
-
const liveValueText = isPercentage
|
|
48
|
-
? translate('kol-live-value', { placeholders: { value: String(liveMeterValue), unit } })
|
|
49
|
-
: translate('kol-live-value-bounded', { placeholders: { value: String(liveMeterValue), max: String(max), unit } });
|
|
50
|
-
const liveValueWithState = hasStateClassification ? `${liveValueText} – ${stateLabel}` : liveValueText;
|
|
51
46
|
const charCount = max.toString().length > min.toString().length ? max.toString().length + 'ch' : min.toString().length + 'ch';
|
|
52
|
-
return (h("div", { class: { 'kol-meter': true, 'kol-meter--vertical': isVertical } }, h("div", { class: "kol-meter__bar" }, h("div", { class: "kol-meter__bar-label" }, label, hasStateClassification && (h("span", { class: `kol-meter__bar-state kol-meter__bar-state--${state}` }, ' – ', stateLabel))), h("div", { class: "kol-meter__bar-track" }, h("meter", { "aria-label": label, high: high, low: low, max: max, min: min, optimum: optimum, value: value })), h("span", { class: "kol-meter__value-unit" }, h("span", { class: "kol-meter__value", style: { 'min-width': charCount } }, displayValue), h("span", { class: "kol-meter__unit" }, unit)))
|
|
47
|
+
return (h("div", { class: { 'kol-meter': true, 'kol-meter--vertical': isVertical } }, h("div", { class: "kol-meter__bar" }, h("div", { class: "kol-meter__bar-label" }, label, hasStateClassification && (h("span", { class: `kol-meter__bar-state kol-meter__bar-state--${state}` }, ' – ', stateLabel))), h("div", { class: "kol-meter__bar-track" }, h("meter", { "aria-label": label, high: high, low: low, max: max, min: min, optimum: optimum, value: value })), h("span", { class: "kol-meter__value-unit" }, h("span", { class: "kol-meter__value", style: { 'min-width': charCount } }, displayValue), h("span", { class: "kol-meter__unit" }, unit)))));
|
|
53
48
|
};
|
|
54
49
|
//# sourceMappingURL=component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/internal/functional-components/meter/component.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAO1C,SAAS,aAAa,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW,EAAE,GAAuB,EAAE,IAAwB,EAAE,OAA2B;IAC7I,MAAM,YAAY,GAAG,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,GAAG,CAAC;IAChC,MAAM,aAAa,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,GAAG,CAAC;IAElC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,KAAK,IAAI,YAAY,IAAI,KAAK,IAAI,aAAa,CAAC;QACpE,OAAO,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;IAC/C,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,GAAG,YAAY,CAAC;IACzC,MAAM,YAAY,GAAG,KAAK,GAAG,aAAa,CAAC;IAC3C,MAAM,WAAW,GAAG,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC;IAElD,MAAM,YAAY,GAAG,OAAO,GAAG,YAAY,CAAC;IAC5C,MAAM,aAAa,GAAG,OAAO,GAAG,aAAa,CAAC;IAE9C,IAAI,YAAY,EAAE,CAAC;QAClB,IAAI,WAAW;YAAE,OAAO,SAAS,CAAC;QAClC,IAAI,WAAW;YAAE,OAAO,YAAY,CAAC;QACrC,OAAO,UAAU,CAAC;IACnB,CAAC;SAAM,IAAI,aAAa,EAAE,CAAC;QAC1B,IAAI,YAAY;YAAE,OAAO,SAAS,CAAC;QACnC,IAAI,WAAW;YAAE,OAAO,YAAY,CAAC;QACrC,OAAO,UAAU,CAAC;IACnB,CAAC;SAAM,CAAC;QACP,IAAI,WAAW;YAAE,OAAO,SAAS,CAAC;QAClC,OAAO,YAAY,CAAC;IACrB,CAAC;AACF,CAAC;AAQD,MAAM,CAAC,MAAM,OAAO,GAAqB,CAAC,KAAK,EAAE,EAAE;IAClD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/internal/functional-components/meter/component.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\nimport type { TranslationKey } from '../../../i18n';\nimport { translate } from '../../../i18n';\n\nimport type { FunctionalComponentProps } from '../generic-types';\nimport type { MeterApi } from './api';\n\ntype MeterState = 'optimum' | 'suboptimal' | 'critical';\n\nfunction getMeterState(value: number, min: number, max: number, low: number | undefined, high: number | undefined, optimum: number | undefined): MeterState {\n\tconst effectiveLow = low ?? min;\n\tconst effectiveHigh = high ?? max;\n\n\tif (optimum === undefined) {\n\t\tconst inMidRegion = value >= effectiveLow && value <= effectiveHigh;\n\t\treturn inMidRegion ? 'optimum' : 'suboptimal';\n\t}\n\n\tconst inLowRegion = value < effectiveLow;\n\tconst inHighRegion = value > effectiveHigh;\n\tconst inMidRegion = !inLowRegion && !inHighRegion;\n\n\tconst optimumInLow = optimum < effectiveLow;\n\tconst optimumInHigh = optimum > effectiveHigh;\n\n\tif (optimumInLow) {\n\t\tif (inLowRegion) return 'optimum';\n\t\tif (inMidRegion) return 'suboptimal';\n\t\treturn 'critical';\n\t} else if (optimumInHigh) {\n\t\tif (inHighRegion) return 'optimum';\n\t\tif (inMidRegion) return 'suboptimal';\n\t\treturn 'critical';\n\t} else {\n\t\tif (inMidRegion) return 'optimum';\n\t\treturn 'suboptimal';\n\t}\n}\n\ntype MeterFCProps = Omit<FunctionalComponentProps<MeterApi>, 'high' | 'low' | 'optimum'> & {\n\thigh: number | undefined;\n\tlow: number | undefined;\n\toptimum: number | undefined;\n};\n\nexport const MeterFC: FC<MeterFCProps> = (props) => {\n\tconst { high, label, low, max, min, optimum, orientation, unit, value } = props;\n\n\tconst isVertical = orientation === 'vertical';\n\tconst isPercentage = unit === '%';\n\tconst displayValue = isPercentage ? Math.round(((value - min) / (max - min)) * 100) : value;\n\tconst state = getMeterState(value, min, max, low, high, optimum);\n\n\t// State classification is only meaningful when low or high boundaries are defined\n\tconst hasStateClassification = low !== undefined || high !== undefined;\n\tconst stateLabel = hasStateClassification ? translate(`kol-meter-state-${state}` as TranslationKey) : '';\n\n\tconst charCount = max.toString().length > min.toString().length ? max.toString().length + 'ch' : min.toString().length + 'ch';\n\n\treturn (\n\t\t<div class={{ 'kol-meter': true, 'kol-meter--vertical': isVertical }}>\n\t\t\t<div class=\"kol-meter__bar\">\n\t\t\t\t<div class=\"kol-meter__bar-label\">\n\t\t\t\t\t{label}\n\t\t\t\t\t{hasStateClassification && (\n\t\t\t\t\t\t<span class={`kol-meter__bar-state kol-meter__bar-state--${state}`}>\n\t\t\t\t\t\t\t{' – '}\n\t\t\t\t\t\t\t{stateLabel}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"kol-meter__bar-track\">\n\t\t\t\t\t<meter aria-label={label} high={high} low={low} max={max} min={min} optimum={optimum} value={value}></meter>\n\t\t\t\t</div>\n\t\t\t\t<span class=\"kol-meter__value-unit\">\n\t\t\t\t\t<span class=\"kol-meter__value\" style={{ 'min-width': charCount }}>\n\t\t\t\t\t\t{displayValue}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span class=\"kol-meter__unit\">{unit}</span>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n"]}
|