@public-ui/components 4.3.0-rc.0 → 4.3.0-rc.2
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/copy-assets.mjs +93 -0
- package/custom-elements.json +86 -2
- package/dist/cjs/{Alert-CVPzTxE7.js → Alert-sCyOqN4Y.js} +7 -7
- package/dist/cjs/{Alert-CVPzTxE7.js.map → Alert-sCyOqN4Y.js.map} +1 -1
- package/dist/cjs/{Collapsible-DgZrS8sE.js → Collapsible-CXL7ivPf.js} +5 -5
- package/dist/cjs/{Collapsible-DgZrS8sE.js.map → Collapsible-CXL7ivPf.js.map} +1 -1
- package/dist/cjs/{CustomSuggestionsOptionsGroup-Cu-DKRH_.js → CustomSuggestionsOptionsGroup-IZUE2a0s.js} +3 -3
- package/dist/cjs/{CustomSuggestionsOptionsGroup-Cu-DKRH_.js.map → CustomSuggestionsOptionsGroup-IZUE2a0s.js.map} +1 -1
- package/dist/cjs/{FieldControlStateWrapper-CElQn7sN.js → FieldControlStateWrapper-BO2aCnw8.js} +10 -10
- package/dist/cjs/{FieldControlStateWrapper-CElQn7sN.js.map → FieldControlStateWrapper-BO2aCnw8.js.map} +1 -1
- package/dist/cjs/{FormFieldStateWrapper-C93KLp60.js → FormFieldStateWrapper-6k6Tq8hj.js} +37 -26
- package/dist/cjs/FormFieldStateWrapper-6k6Tq8hj.js.map +1 -0
- package/dist/cjs/{Heading-Cswcjs5-.js → Heading-B6Xi_fyv.js} +3 -3
- package/dist/cjs/{Heading-Cswcjs5-.js.map → Heading-B6Xi_fyv.js.map} +1 -1
- package/dist/cjs/{Input-BmS5OT6F.js → Input-C1rCVtkO.js} +5 -5
- package/dist/cjs/{Input-BmS5OT6F.js.map → Input-C1rCVtkO.js.map} +1 -1
- package/dist/cjs/{InputStateWrapper-79jr7rz8.js → InputStateWrapper-CpejkP8n.js} +6 -6
- package/dist/cjs/{InputStateWrapper-79jr7rz8.js.map → InputStateWrapper-CpejkP8n.js.map} +1 -1
- package/dist/cjs/{app-globals-x09whKfp.js → app-globals-DY0OQlRq.js} +4 -4
- package/dist/cjs/{app-globals-x09whKfp.js.map → app-globals-DY0OQlRq.js.map} +1 -1
- package/dist/cjs/aria-details-BmkDULud.js +26 -0
- package/dist/cjs/aria-details-BmkDULud.js.map +1 -0
- package/dist/cjs/{aria-labelledby-BhnM3OnL.js → aria-labelledby-B9XsjpBQ.js} +3 -19
- package/dist/cjs/aria-labelledby-B9XsjpBQ.js.map +1 -0
- package/dist/cjs/aria-labelledby-BcORen6I.js +26 -0
- package/dist/cjs/aria-labelledby-BcORen6I.js.map +1 -0
- package/dist/cjs/{associated.controller-CUvZCmFF.js → associated.controller-CszW50pZ.js} +9 -3
- package/dist/cjs/associated.controller-CszW50pZ.js.map +1 -0
- package/dist/cjs/{variant-quote-DUWZtljE.js → base-web-component-BJNHmpIo.js} +10 -10
- package/dist/cjs/base-web-component-BJNHmpIo.js.map +1 -0
- package/dist/cjs/{bem-registry-D9uDM1GJ.js → bem-registry-bkUwdl0m.js} +5 -2
- package/dist/cjs/bem-registry-bkUwdl0m.js.map +1 -0
- package/dist/cjs/{bootstrap-De2npoa_.js → bootstrap-C8choj80.js} +3 -3
- package/dist/cjs/{bootstrap-De2npoa_.js.map → bootstrap-C8choj80.js.map} +1 -1
- package/dist/cjs/{component-C1vBQDN-.js → component-D25hbRHL.js} +4 -4
- package/dist/cjs/{component-C1vBQDN-.js.map → component-D25hbRHL.js.map} +1 -1
- package/dist/cjs/{component-4yrnT9ww.js → component-D40K1uIa.js} +5 -5
- package/dist/cjs/{component-4yrnT9ww.js.map → component-D40K1uIa.js.map} +1 -1
- package/dist/cjs/{component-CYZTV5r0.js → component-DprxeWfH.js} +4 -4
- package/dist/cjs/{component-CYZTV5r0.js.map → component-DprxeWfH.js.map} +1 -1
- package/dist/cjs/{component-EJOcQRXl.js → component-b-BmClT0.js} +4 -4
- package/dist/cjs/{component-EJOcQRXl.js.map → component-b-BmClT0.js.map} +1 -1
- package/dist/cjs/{controller-P5D-ZKaP.js → controller-DZKfoc-4.js} +3 -3
- package/dist/cjs/{controller-P5D-ZKaP.js.map → controller-DZKfoc-4.js.map} +1 -1
- package/dist/cjs/{controller-DHsc-8t1.js → controller-Dkyvgyzl.js} +15 -15
- package/dist/cjs/controller-Dkyvgyzl.js.map +1 -0
- package/dist/cjs/{controller-3DispTOw.js → controller-DmyMo0CO.js} +3 -3
- package/dist/cjs/{controller-3DispTOw.js.map → controller-DmyMo0CO.js.map} +1 -1
- package/dist/cjs/{controller-CShnVKSd.js → controller-MC2o6IAB.js} +3 -3
- package/dist/cjs/{controller-CShnVKSd.js.map → controller-MC2o6IAB.js.map} +1 -1
- package/dist/cjs/{controller-icon-BfIYzDZs.js → controller-icon-DyQbzU-v.js} +6 -6
- package/dist/cjs/{controller-icon-BfIYzDZs.js.map → controller-icon-DyQbzU-v.js.map} +1 -1
- package/dist/cjs/{dev.utils-Cdn-EtYb.js → dev.utils-DvNz4B2G.js} +3 -3
- package/dist/cjs/{dev.utils-Cdn-EtYb.js.map → dev.utils-DvNz4B2G.js.map} +1 -1
- package/dist/cjs/{devtools-BQj_-O6G.js → devtools-DpjUkBF_.js} +4 -4
- package/dist/cjs/{devtools-BQj_-O6G.js.map → devtools-DpjUkBF_.js.map} +1 -1
- package/dist/cjs/element-focus-B4BhAkh_.js.map +1 -1
- package/dist/cjs/{i18n-DL7vJXNn.js → i18n-BVrSOH9l.js} +3 -3
- package/dist/cjs/{i18n-DL7vJXNn.js.map → i18n-BVrSOH9l.js.map} +1 -1
- package/dist/cjs/{i18n-CgUN6lev.js → i18n-D1iTbPTC.js} +4 -2
- package/dist/cjs/i18n-D1iTbPTC.js.map +1 -0
- package/dist/cjs/{index-DBbl8tEq.js → index-Bo9_lDIt.js} +3 -3
- package/dist/cjs/{index-DBbl8tEq.js.map → index-Bo9_lDIt.js.map} +1 -1
- package/dist/cjs/index.cjs.js +3 -3
- package/dist/cjs/kol-abbr.cjs.entry.js +45 -26
- package/dist/cjs/kol-abbr.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js +6 -6
- package/dist/cjs/kol-accordion.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-alert-wc.cjs.entry.js +8 -8
- package/dist/cjs/kol-alert.cjs.entry.js +3 -3
- package/dist/cjs/kol-alert.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-avatar.cjs.entry.js +8 -8
- package/dist/cjs/kol-avatar.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js +8 -8
- package/dist/cjs/kol-badge.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +5 -5
- package/dist/cjs/kol-breadcrumb.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js +3 -3
- package/dist/cjs/kol-button-link.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-button-wc.cjs.entry.js +15 -13
- package/dist/cjs/kol-button-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-button.cjs.entry.js +3 -3
- package/dist/cjs/kol-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-card-wc.cjs.entry.js +11 -11
- package/dist/cjs/kol-card.cjs.entry.js +3 -3
- package/dist/cjs/kol-card.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-click-button.cjs.entry.js +7 -7
- package/dist/cjs/kol-click-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-combobox.cjs.entry.js +53 -44
- package/dist/cjs/kol-combobox.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-details.cjs.entry.js +6 -6
- package/dist/cjs/kol-details.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-dialog-wc.cjs.entry.js +4 -4
- package/dist/cjs/kol-dialog.cjs.entry.js +3 -3
- package/dist/cjs/kol-dialog.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-drawer.cjs.entry.js +4 -4
- package/dist/cjs/kol-drawer.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-form.cjs.entry.js +20 -22
- package/dist/cjs/kol-form.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js +5 -5
- package/dist/cjs/kol-heading.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js +7 -7
- package/dist/cjs/kol-icon.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-image.cjs.entry.js +7 -7
- package/dist/cjs/kol-image.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js +27 -20
- package/dist/cjs/kol-input-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js +27 -20
- package/dist/cjs/kol-input-color.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js +27 -20
- package/dist/cjs/kol-input-date.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js +29 -22
- package/dist/cjs/kol-input-email.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js +27 -20
- package/dist/cjs/kol-input-file.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js +27 -20
- package/dist/cjs/kol-input-number.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js +28 -21
- package/dist/cjs/kol-input-password.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js +27 -20
- package/dist/cjs/kol-input-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js +29 -21
- package/dist/cjs/kol-input-range.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js +29 -22
- 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-kolibri.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js +3 -3
- package/dist/cjs/kol-link-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js +12 -12
- package/dist/cjs/kol-link-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-link.cjs.entry.js +3 -3
- package/dist/cjs/kol-link.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-meter.cjs.entry.js +13 -9
- 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-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js +7 -7
- package/dist/cjs/kol-nav.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-pagination-wc.cjs.entry.js +4 -4
- package/dist/cjs/kol-pagination.cjs.entry.js +3 -3
- package/dist/cjs/kol-pagination.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-popover-button-wc.cjs.entry.js +4 -4
- package/dist/cjs/kol-popover-button-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-popover-button.cjs.entry.js +3 -3
- 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-progress.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js +8 -8
- package/dist/cjs/kol-quote.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-select-wc.cjs.entry.js +27 -20
- package/dist/cjs/kol-select-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-select.cjs.entry.js +11 -3
- package/dist/cjs/kol-select.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-single-select.cjs.entry.js +31 -24
- package/dist/cjs/kol-single-select.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-skeleton.cjs.entry.js +6 -6
- package/dist/cjs/kol-skeleton.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js +3 -3
- package/dist/cjs/kol-skip-nav.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +9 -17
- package/dist/cjs/kol-spin.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js +6 -6
- package/dist/cjs/kol-split-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-table-settings-wc.cjs.entry.js +6 -5
- package/dist/cjs/kol-table-settings-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-table-stateful.cjs.entry.js +8 -7
- package/dist/cjs/kol-table-stateful.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-table-stateless-wc.cjs.entry.js +14 -14
- package/dist/cjs/kol-table-stateless-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-table-stateless.cjs.entry.js +6 -5
- package/dist/cjs/kol-table-stateless.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js +6 -6
- package/dist/cjs/kol-tabs.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js +25 -18
- package/dist/cjs/kol-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-toast-container.cjs.entry.js +12 -12
- package/dist/cjs/kol-toast-container.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-toolbar.cjs.entry.js +3 -3
- package/dist/cjs/kol-toolbar.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tooltip-wc.cjs.entry.js +9 -9
- package/dist/cjs/kol-tooltip-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tree-item-wc.cjs.entry.js +7 -7
- package/dist/cjs/kol-tree-item.cjs.entry.js +3 -3
- package/dist/cjs/kol-tree-item.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tree-wc.cjs.entry.js +2 -2
- package/dist/cjs/kol-tree-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tree.cjs.entry.js +3 -3
- package/dist/cjs/kol-tree.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-version.cjs.entry.js +5 -5
- package/dist/cjs/kol-version.entry.cjs.js.map +1 -1
- package/dist/cjs/kolibri.cjs.js +3 -3
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/test-component.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/@deprecated/input/controller.js +25 -14
- package/dist/collection/components/@deprecated/input/controller.js.map +1 -1
- package/dist/collection/components/_skeleton/web-components/click-button/component.js +2 -2
- package/dist/collection/components/_skeleton/web-components/click-button/component.js.map +1 -1
- package/dist/collection/components/_skeleton/web-components/skeleton/component.js +1 -1
- package/dist/collection/components/abbr/{shadow.js → component.js} +15 -21
- package/dist/collection/components/abbr/component.js.map +1 -0
- package/dist/collection/components/abbr/style.css +11 -5
- package/dist/collection/components/accordion/shadow.js +1 -1
- package/dist/collection/components/accordion/shadow.js.map +1 -1
- package/dist/collection/components/accordion/style.css +11 -5
- package/dist/collection/components/alert/component.js +1 -1
- package/dist/collection/components/alert/shadow.js +1 -1
- package/dist/collection/components/alert/style.css +10 -5
- package/dist/collection/components/avatar/component.js +1 -1
- package/dist/collection/components/avatar/style.css +9 -3
- package/dist/collection/components/badge/shadow.js +2 -2
- package/dist/collection/components/badge/style.css +11 -5
- package/dist/collection/components/breadcrumb/shadow.js +1 -1
- package/dist/collection/components/breadcrumb/style.css +11 -5
- package/dist/collection/components/button/component.js +2 -2
- package/dist/collection/components/button/component.js.map +1 -1
- package/dist/collection/components/button/shadow.js +1 -1
- package/dist/collection/components/button/shadow.js.map +1 -1
- package/dist/collection/components/button/style.css +10 -5
- package/dist/collection/components/button-link/shadow.js +1 -1
- package/dist/collection/components/button-link/shadow.js.map +1 -1
- package/dist/collection/components/button-link/style.css +11 -5
- package/dist/collection/components/card/component.js +1 -1
- package/dist/collection/components/card/shadow.js +1 -1
- package/dist/collection/components/card/style.css +10 -5
- package/dist/collection/components/combobox/shadow.js +58 -24
- package/dist/collection/components/combobox/shadow.js.map +1 -1
- package/dist/collection/components/combobox/style.css +11 -6
- package/dist/collection/components/component-list.js +1 -1
- package/dist/collection/components/component-list.js.map +1 -1
- package/dist/collection/components/details/shadow.js +1 -1
- package/dist/collection/components/details/shadow.js.map +1 -1
- package/dist/collection/components/details/style.css +10 -5
- package/dist/collection/components/dialog/component.js +2 -2
- package/dist/collection/components/dialog/shadow.js +1 -1
- package/dist/collection/components/dialog/style.css +10 -5
- package/dist/collection/components/drawer/shadow.js +1 -1
- package/dist/collection/components/drawer/style.css +10 -5
- package/dist/collection/components/form/shadow.js +23 -16
- package/dist/collection/components/form/shadow.js.map +1 -1
- package/dist/collection/components/form/style.css +10 -5
- package/dist/collection/components/heading/component.js +1 -1
- package/dist/collection/components/heading/style.css +9 -3
- package/dist/collection/components/icon/component.js +1 -1
- package/dist/collection/components/icon/style.css +2 -2
- package/dist/collection/components/image/component.js +1 -1
- package/dist/collection/components/image/style.css +9 -3
- package/dist/collection/components/input-adapter-leanup/associated.controller.js +6 -0
- package/dist/collection/components/input-adapter-leanup/associated.controller.js.map +1 -1
- package/dist/collection/components/input-checkbox/shadow.js +33 -1
- package/dist/collection/components/input-checkbox/shadow.js.map +1 -1
- package/dist/collection/components/input-checkbox/style.css +13 -10
- package/dist/collection/components/input-color/shadow.js +33 -1
- package/dist/collection/components/input-color/shadow.js.map +1 -1
- package/dist/collection/components/input-color/style.css +11 -6
- package/dist/collection/components/input-date/controller.js.map +1 -1
- package/dist/collection/components/input-date/shadow.js +33 -1
- package/dist/collection/components/input-date/shadow.js.map +1 -1
- package/dist/collection/components/input-date/style.css +11 -6
- package/dist/collection/components/input-email/shadow.js +33 -1
- package/dist/collection/components/input-email/shadow.js.map +1 -1
- package/dist/collection/components/input-email/style.css +11 -6
- package/dist/collection/components/input-file/shadow.js +33 -1
- package/dist/collection/components/input-file/shadow.js.map +1 -1
- package/dist/collection/components/input-file/style.css +11 -6
- package/dist/collection/components/input-number/shadow.js +33 -1
- package/dist/collection/components/input-number/shadow.js.map +1 -1
- package/dist/collection/components/input-number/style.css +11 -6
- package/dist/collection/components/input-password/shadow.js +33 -1
- package/dist/collection/components/input-password/shadow.js.map +1 -1
- package/dist/collection/components/input-password/style.css +11 -6
- package/dist/collection/components/input-radio/shadow.js +33 -1
- package/dist/collection/components/input-radio/shadow.js.map +1 -1
- package/dist/collection/components/input-radio/style.css +13 -10
- package/dist/collection/components/input-range/shadow.js +35 -2
- package/dist/collection/components/input-range/shadow.js.map +1 -1
- package/dist/collection/components/input-range/style.css +14 -6
- package/dist/collection/components/input-text/shadow.js +33 -1
- package/dist/collection/components/input-text/shadow.js.map +1 -1
- package/dist/collection/components/input-text/style.css +11 -6
- package/dist/collection/components/kolibri/shadow.js +1 -1
- package/dist/collection/components/kolibri/style.css +9 -3
- package/dist/collection/components/link/component.js +2 -2
- package/dist/collection/components/link/component.js.map +1 -1
- package/dist/collection/components/link/shadow.js +1 -1
- package/dist/collection/components/link/shadow.js.map +1 -1
- package/dist/collection/components/link/style.css +11 -5
- package/dist/collection/components/link-button/shadow.js +1 -1
- package/dist/collection/components/link-button/shadow.js.map +1 -1
- package/dist/collection/components/link-button/style.css +10 -5
- package/dist/collection/components/meter/component.js +2 -2
- package/dist/collection/components/meter/component.js.map +1 -1
- package/dist/collection/components/meter/style.css +9 -3
- package/dist/collection/components/modal/shadow.js +1 -1
- package/dist/collection/components/modal/style.css +10 -5
- package/dist/collection/components/nav/shadow.js +2 -2
- package/dist/collection/components/nav/style.css +11 -5
- package/dist/collection/components/pagination/shadow.js +1 -1
- package/dist/collection/components/pagination/style.css +11 -6
- package/dist/collection/components/popover-button/component.js +2 -2
- package/dist/collection/components/popover-button/component.js.map +1 -1
- package/dist/collection/components/popover-button/shadow.js +1 -1
- package/dist/collection/components/popover-button/shadow.js.map +1 -1
- package/dist/collection/components/popover-button/style.css +10 -5
- package/dist/collection/components/progress/component.js +1 -1
- package/dist/collection/components/progress/style.css +9 -3
- package/dist/collection/components/quote/component.js +1 -1
- package/dist/collection/components/quote/style.css +8 -3
- package/dist/collection/components/select/component.js +34 -2
- package/dist/collection/components/select/component.js.map +1 -1
- package/dist/collection/components/select/shadow.js +36 -1
- package/dist/collection/components/select/shadow.js.map +1 -1
- package/dist/collection/components/select/style.css +11 -6
- package/dist/collection/components/single-select/shadow.js +35 -3
- package/dist/collection/components/single-select/shadow.js.map +1 -1
- package/dist/collection/components/single-select/style.css +11 -6
- package/dist/collection/components/skip-nav/shadow.js +1 -1
- package/dist/collection/components/skip-nav/shadow.js.map +1 -1
- package/dist/collection/components/skip-nav/style.css +11 -5
- package/dist/collection/components/spin/component.js +1 -1
- package/dist/collection/components/spin/component.js.map +1 -1
- package/dist/collection/components/spin/style.css +9 -3
- package/dist/collection/components/split-button/shadow.js +2 -2
- package/dist/collection/components/split-button/shadow.js.map +1 -1
- package/dist/collection/components/split-button/style.css +11 -5
- package/dist/collection/components/table-stateful/shadow.js +1 -1
- package/dist/collection/components/table-stateful/style.css +11 -6
- package/dist/collection/components/table-stateless/component.js +6 -6
- package/dist/collection/components/table-stateless/component.js.map +1 -1
- package/dist/collection/components/table-stateless/shadow.js +1 -1
- package/dist/collection/components/table-stateless/style.css +10 -5
- package/dist/collection/components/table-stateless/table-settings.js +3 -2
- package/dist/collection/components/table-stateless/table-settings.js.map +1 -1
- package/dist/collection/components/tabs/shadow.js +2 -2
- package/dist/collection/components/tabs/shadow.js.map +1 -1
- package/dist/collection/components/tabs/style.css +11 -5
- package/dist/collection/components/textarea/shadow.js +33 -1
- package/dist/collection/components/textarea/shadow.js.map +1 -1
- package/dist/collection/components/textarea/style.css +11 -6
- package/dist/collection/components/toaster/shadow.js +1 -1
- package/dist/collection/components/toaster/style.css +10 -5
- package/dist/collection/components/toolbar/shadow.js +1 -1
- package/dist/collection/components/toolbar/shadow.js.map +1 -1
- package/dist/collection/components/toolbar/style.css +10 -5
- package/dist/collection/components/tooltip/component.js +1 -1
- package/dist/collection/components/tree/component.js +1 -1
- package/dist/collection/components/tree/component.js.map +1 -1
- package/dist/collection/components/tree/shadow.js +1 -1
- package/dist/collection/components/tree/shadow.js.map +1 -1
- package/dist/collection/components/tree/style.css +9 -3
- package/dist/collection/components/tree-item/component.js +3 -3
- package/dist/collection/components/tree-item/shadow.js +1 -1
- package/dist/collection/components/tree-item/style.css +11 -5
- package/dist/collection/components/version/shadow.js +1 -1
- package/dist/collection/components/version/style.css +9 -3
- package/dist/collection/e2e/index.js +0 -1
- package/dist/collection/e2e/index.js.map +1 -1
- package/dist/collection/functional-component-wrappers/SelectStateWrapper/SelectStateWrapper.js +1 -1
- package/dist/collection/functional-component-wrappers/SelectStateWrapper/SelectStateWrapper.js.map +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/internal/functional-components/abbr/api.js +8 -0
- package/dist/collection/internal/functional-components/abbr/api.js.map +1 -0
- package/dist/collection/internal/functional-components/abbr/component.js +9 -0
- package/dist/collection/internal/functional-components/abbr/component.js.map +1 -0
- package/dist/collection/internal/functional-components/abbr/controller.js +20 -0
- package/dist/collection/internal/functional-components/abbr/controller.js.map +1 -0
- package/dist/collection/internal/functional-components/meter/component.js +5 -1
- package/dist/collection/internal/functional-components/meter/component.js.map +1 -1
- package/dist/collection/internal/functional-components/meter/controller.js.map +1 -1
- package/dist/collection/internal/functional-components/progress/controller.js.map +1 -1
- package/dist/collection/internal/functional-components/spin/api.js.map +1 -1
- package/dist/collection/internal/functional-components/spin/component.js +3 -2
- package/dist/collection/internal/functional-components/spin/component.js.map +1 -1
- package/dist/collection/internal/functional-components/spin/controller.js +0 -9
- package/dist/collection/internal/functional-components/spin/controller.js.map +1 -1
- package/dist/collection/locales/de.js +1 -0
- package/dist/collection/locales/de.js.map +1 -1
- package/dist/collection/locales/en.js +1 -0
- package/dist/collection/locales/en.js.map +1 -1
- package/dist/collection/schema/bem-registry.js +3 -0
- package/dist/collection/schema/bem-registry.js.map +1 -1
- package/dist/collection/schema/components/combobox.js.map +1 -1
- package/dist/collection/schema/components/input-checkbox.js.map +1 -1
- package/dist/collection/schema/components/input-color.js.map +1 -1
- package/dist/collection/schema/components/input-date.js.map +1 -1
- package/dist/collection/schema/components/input-email.js.map +1 -1
- package/dist/collection/schema/components/input-file.js.map +1 -1
- package/dist/collection/schema/components/input-number.js.map +1 -1
- package/dist/collection/schema/components/input-password.js.map +1 -1
- package/dist/collection/schema/components/input-radio.js.map +1 -1
- package/dist/collection/schema/components/input-range.js.map +1 -1
- package/dist/collection/schema/components/input-text.js.map +1 -1
- package/dist/collection/schema/components/select.js.map +1 -1
- package/dist/collection/schema/components/single-select.js.map +1 -1
- package/dist/collection/schema/components/textarea.js.map +1 -1
- package/dist/collection/schema/interfaces/ClickableElement.js +2 -0
- package/dist/collection/schema/interfaces/ClickableElement.js.map +1 -0
- package/dist/collection/schema/interfaces/index.js +1 -0
- package/dist/collection/schema/interfaces/index.js.map +1 -1
- package/dist/collection/schema/props/aria-details.js +19 -0
- package/dist/collection/schema/props/aria-details.js.map +1 -0
- package/dist/collection/schema/props/error-list.js.map +1 -1
- package/dist/collection/schema/props/index.js +1 -0
- package/dist/collection/schema/props/index.js.map +1 -1
- package/dist/collection/utils/aria-labelledby.js.map +1 -1
- package/dist/collection/utils/element-click.js.map +1 -1
- package/dist/components/FieldControlStateWrapper.js +1 -1
- package/dist/components/access-and-short-key.js +1 -1
- package/dist/components/align-floating-elements.js +1 -1
- package/dist/components/aria-details.js +24 -0
- package/dist/components/aria-details.js.map +1 -0
- package/dist/components/aria-labelledby.js +1 -17
- package/dist/components/aria-labelledby.js.map +1 -1
- package/dist/components/aria-labelledby2.js +24 -0
- package/dist/components/aria-labelledby2.js.map +1 -0
- package/dist/components/associated.controller.js +6 -0
- package/dist/components/associated.controller.js.map +1 -1
- package/dist/components/{variant-quote.js → base-web-component.js} +11 -11
- package/dist/components/base-web-component.js.map +1 -0
- package/dist/components/bem-registry.js +3 -0
- package/dist/components/bem-registry.js.map +1 -1
- package/dist/components/color.js +1 -1
- package/dist/components/controller.js +14 -14
- package/dist/components/controller.js.map +1 -1
- package/dist/components/controller3.js +28 -17
- package/dist/components/controller3.js.map +1 -1
- package/dist/components/controller4.js +2 -2
- package/dist/components/dev.utils.js +1 -1
- package/dist/components/disabled.js +1 -1
- package/dist/components/element-focus.js.map +1 -1
- package/dist/components/i18n.js +1 -1
- package/dist/components/i18n2.js +2 -0
- package/dist/components/i18n2.js.map +1 -1
- package/dist/components/kol-abbr.js +45 -25
- package/dist/components/kol-abbr.js.map +1 -1
- package/dist/components/kol-accordion.js +3 -3
- package/dist/components/kol-accordion.js.map +1 -1
- package/dist/components/kol-alert-wc.js +2 -2
- package/dist/components/kol-alert.js +2 -2
- package/dist/components/kol-alert.js.map +1 -1
- package/dist/components/kol-avatar.js +4 -4
- package/dist/components/kol-avatar.js.map +1 -1
- package/dist/components/kol-badge.js +3 -3
- package/dist/components/kol-badge.js.map +1 -1
- package/dist/components/kol-breadcrumb.js +3 -3
- package/dist/components/kol-breadcrumb.js.map +1 -1
- package/dist/components/kol-button-link.js +2 -2
- package/dist/components/kol-button-link.js.map +1 -1
- package/dist/components/kol-button-wc.js +4 -4
- package/dist/components/kol-button-wc.js.map +1 -1
- package/dist/components/kol-button.js +2 -2
- package/dist/components/kol-button.js.map +1 -1
- package/dist/components/kol-card-wc.js +3 -3
- package/dist/components/kol-card.js +2 -2
- package/dist/components/kol-card.js.map +1 -1
- package/dist/components/kol-click-button.js +4 -4
- package/dist/components/kol-click-button.js.map +1 -1
- package/dist/components/kol-combobox.js +34 -25
- 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-wc.js +3 -3
- package/dist/components/kol-dialog.js +2 -2
- package/dist/components/kol-dialog.js.map +1 -1
- package/dist/components/kol-drawer.js +3 -3
- package/dist/components/kol-drawer.js.map +1 -1
- package/dist/components/kol-form.js +13 -15
- package/dist/components/kol-form.js.map +1 -1
- package/dist/components/kol-heading.js +3 -3
- package/dist/components/kol-heading.js.map +1 -1
- package/dist/components/kol-icon.js +4 -4
- package/dist/components/kol-image.js +3 -3
- package/dist/components/kol-image.js.map +1 -1
- package/dist/components/kol-input-checkbox.js +9 -2
- package/dist/components/kol-input-checkbox.js.map +1 -1
- package/dist/components/kol-input-color.js +9 -2
- package/dist/components/kol-input-color.js.map +1 -1
- package/dist/components/kol-input-date.js +9 -2
- package/dist/components/kol-input-date.js.map +1 -1
- package/dist/components/kol-input-email.js +9 -2
- package/dist/components/kol-input-email.js.map +1 -1
- package/dist/components/kol-input-file.js +9 -2
- package/dist/components/kol-input-file.js.map +1 -1
- package/dist/components/kol-input-number.js +9 -2
- package/dist/components/kol-input-number.js.map +1 -1
- package/dist/components/kol-input-password.js +9 -2
- package/dist/components/kol-input-password.js.map +1 -1
- package/dist/components/kol-input-radio.js +9 -2
- package/dist/components/kol-input-radio.js.map +1 -1
- package/dist/components/kol-input-range.js +11 -3
- package/dist/components/kol-input-range.js.map +1 -1
- package/dist/components/kol-input-text.js +9 -2
- package/dist/components/kol-input-text.js.map +1 -1
- package/dist/components/kol-kolibri.js +2 -2
- package/dist/components/kol-kolibri.js.map +1 -1
- package/dist/components/kol-link-button.js +2 -2
- package/dist/components/kol-link-button.js.map +1 -1
- package/dist/components/kol-link-wc.js +4 -4
- package/dist/components/kol-link-wc.js.map +1 -1
- package/dist/components/kol-link.js +2 -2
- package/dist/components/kol-link.js.map +1 -1
- package/dist/components/kol-meter.js +10 -6
- package/dist/components/kol-meter.js.map +1 -1
- package/dist/components/kol-modal.js +2 -2
- package/dist/components/kol-modal.js.map +1 -1
- package/dist/components/kol-nav.js +4 -4
- package/dist/components/kol-nav.js.map +1 -1
- package/dist/components/kol-pagination-wc.js +1 -1
- package/dist/components/kol-pagination.js +2 -2
- package/dist/components/kol-pagination.js.map +1 -1
- package/dist/components/kol-popover-button-wc.js +2 -2
- package/dist/components/kol-popover-button-wc.js.map +1 -1
- package/dist/components/kol-popover-button.js +2 -2
- package/dist/components/kol-popover-button.js.map +1 -1
- package/dist/components/kol-progress.js +4 -4
- package/dist/components/kol-progress.js.map +1 -1
- package/dist/components/kol-quote.js +4 -4
- package/dist/components/kol-quote.js.map +1 -1
- package/dist/components/kol-select-wc.js +10 -3
- package/dist/components/kol-select-wc.js.map +1 -1
- package/dist/components/kol-select.js +12 -2
- package/dist/components/kol-select.js.map +1 -1
- package/dist/components/kol-single-select.js +11 -4
- package/dist/components/kol-single-select.js.map +1 -1
- package/dist/components/kol-skeleton.js +2 -2
- package/dist/components/kol-skip-nav.js +3 -3
- package/dist/components/kol-skip-nav.js.map +1 -1
- package/dist/components/kol-spin.js +6 -14
- package/dist/components/kol-spin.js.map +1 -1
- package/dist/components/kol-split-button.js +3 -3
- package/dist/components/kol-split-button.js.map +1 -1
- package/dist/components/kol-table-settings-wc.js +3 -2
- package/dist/components/kol-table-settings-wc.js.map +1 -1
- package/dist/components/kol-table-stateful.js +5 -4
- package/dist/components/kol-table-stateful.js.map +1 -1
- package/dist/components/kol-table-stateless-wc.js +7 -7
- package/dist/components/kol-table-stateless-wc.js.map +1 -1
- package/dist/components/kol-table-stateless.js +4 -3
- 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 +9 -2
- package/dist/components/kol-textarea.js.map +1 -1
- package/dist/components/kol-toast-container.js +3 -3
- package/dist/components/kol-toast-container.js.map +1 -1
- package/dist/components/kol-toolbar.js +3 -3
- package/dist/components/kol-toolbar.js.map +1 -1
- package/dist/components/kol-tooltip-wc.js +2 -2
- package/dist/components/kol-tree-item-wc.js +4 -4
- package/dist/components/kol-tree-item.js +2 -2
- package/dist/components/kol-tree-item.js.map +1 -1
- package/dist/components/kol-tree-wc.js +2 -2
- 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/kol-version.js +3 -3
- package/dist/components/kol-version.js.map +1 -1
- package/dist/components/label.js +3 -37
- package/dist/components/label.js.map +1 -1
- package/dist/components/label2.js +37 -3
- package/dist/components/label2.js.map +1 -1
- package/dist/components/prop.validators.js +1 -1
- package/dist/components/suggestions.js +1 -1
- package/dist/esm/{Alert-COvq80W3.js → Alert-LeFfZ8Oj.js} +7 -7
- package/dist/{kolibri/Alert-COvq80W3.js.map → esm/Alert-LeFfZ8Oj.js.map} +1 -1
- package/dist/esm/{Collapsible-7IQAII4d.js → Collapsible-BG8kZny4.js} +5 -5
- package/dist/{kolibri/Collapsible-7IQAII4d.js.map → esm/Collapsible-BG8kZny4.js.map} +1 -1
- package/dist/esm/{CustomSuggestionsOptionsGroup-CUxWnoxh.js → CustomSuggestionsOptionsGroup--3PdjAdp.js} +3 -3
- package/dist/{kolibri/CustomSuggestionsOptionsGroup-CUxWnoxh.js.map → esm/CustomSuggestionsOptionsGroup--3PdjAdp.js.map} +1 -1
- package/dist/esm/{FieldControlStateWrapper-CCrS0kX3.js → FieldControlStateWrapper-BJghqA8K.js} +10 -10
- package/dist/{kolibri/FieldControlStateWrapper-CCrS0kX3.js.map → esm/FieldControlStateWrapper-BJghqA8K.js.map} +1 -1
- package/dist/esm/{FormFieldStateWrapper-DCXQnRBu.js → FormFieldStateWrapper-D1Q6Lpff.js} +43 -32
- package/dist/esm/FormFieldStateWrapper-D1Q6Lpff.js.map +1 -0
- package/dist/esm/{Heading-Hh3eykel.js → Heading-uCdB_mbH.js} +3 -3
- package/dist/esm/{Heading-Hh3eykel.js.map → Heading-uCdB_mbH.js.map} +1 -1
- package/dist/esm/{Input-Chj5JCQv.js → Input-Cu811opH.js} +6 -6
- package/dist/{kolibri/Input-Chj5JCQv.js.map → esm/Input-Cu811opH.js.map} +1 -1
- package/dist/esm/{InputStateWrapper-DA1rfFPc.js → InputStateWrapper-Cl_V9Vuo.js} +6 -6
- package/dist/esm/{InputStateWrapper-DA1rfFPc.js.map → InputStateWrapper-Cl_V9Vuo.js.map} +1 -1
- package/dist/esm/{access-and-short-key-CnWGdP5U.js → access-and-short-key-C7QS_Tel.js} +3 -3
- package/dist/esm/{access-and-short-key-CnWGdP5U.js.map → access-and-short-key-C7QS_Tel.js.map} +1 -1
- package/dist/esm/{align-ChLoh-Dq.js → align-DdWzcKWR.js} +3 -3
- package/dist/esm/{align-ChLoh-Dq.js.map → align-DdWzcKWR.js.map} +1 -1
- package/dist/esm/{align-floating-elements-DTTpkCAK.js → align-floating-elements-CqZdcuwL.js} +3 -3
- package/dist/{kolibri/align-floating-elements-DTTpkCAK.js.map → esm/align-floating-elements-CqZdcuwL.js.map} +1 -1
- package/dist/esm/{app-globals-CpkHeTen.js → app-globals-DMlUA9Gw.js} +5 -5
- package/dist/esm/{app-globals-CpkHeTen.js.map → app-globals-DMlUA9Gw.js.map} +1 -1
- package/dist/esm/aria-details-CG4GFq8t.js +24 -0
- package/dist/esm/aria-details-CG4GFq8t.js.map +1 -0
- package/dist/esm/{aria-expanded--y6Ce39-.js → aria-expanded-BwKOdsiZ.js} +3 -3
- package/dist/{kolibri/aria-expanded--y6Ce39-.js.map → esm/aria-expanded-BwKOdsiZ.js.map} +1 -1
- package/dist/esm/{aria-labelledby-BUOJRaGL.js → aria-labelledby-6-ki3akM.js} +3 -19
- package/dist/esm/aria-labelledby-6-ki3akM.js.map +1 -0
- package/dist/esm/aria-labelledby-BuvPnlu7.js +24 -0
- package/dist/esm/aria-labelledby-BuvPnlu7.js.map +1 -0
- package/dist/esm/{associated.controller-D55JWKjs.js → associated.controller-Da2zylzp.js} +10 -4
- package/dist/esm/associated.controller-Da2zylzp.js.map +1 -0
- package/dist/esm/{auto-complete-CrQJr3SH.js → auto-complete-p-8iouPy.js} +3 -3
- package/dist/esm/{auto-complete-CrQJr3SH.js.map → auto-complete-p-8iouPy.js.map} +1 -1
- package/dist/esm/{variant-quote-BMV8GZX8.js → base-web-component-CArCAUxk.js} +11 -11
- package/dist/esm/base-web-component-CArCAUxk.js.map +1 -0
- package/dist/esm/{bem-registry-B9CzNnO1.js → bem-registry-CqAKWtWY.js} +6 -3
- package/dist/esm/bem-registry-CqAKWtWY.js.map +1 -0
- package/dist/esm/{bootstrap-UOb6OarC.js → bootstrap-C2nJoN6K.js} +4 -4
- package/dist/{kolibri/bootstrap-UOb6OarC.js.map → esm/bootstrap-C2nJoN6K.js.map} +1 -1
- package/dist/esm/{color-Df2awjVY.js → color-CftCtla8.js} +4 -4
- package/dist/{kolibri/color-Df2awjVY.js.map → esm/color-CftCtla8.js.map} +1 -1
- package/dist/esm/{common-DEEjER7G.js → common-DyILLof-.js} +3 -3
- package/dist/esm/{common-DEEjER7G.js.map → common-DyILLof-.js.map} +1 -1
- package/dist/esm/{component-DohIJBPw.js → component-2ImIjrdm.js} +4 -4
- package/dist/{kolibri/component-DohIJBPw.js.map → esm/component-2ImIjrdm.js.map} +1 -1
- package/dist/esm/{component-DHo2YdSx.js → component-DI3pO3QY.js} +4 -4
- package/dist/esm/{component-DHo2YdSx.js.map → component-DI3pO3QY.js.map} +1 -1
- package/dist/esm/{component-CQaxTS4u.js → component-DbrY6RW_.js} +6 -6
- package/dist/{kolibri/component-CQaxTS4u.js.map → esm/component-DbrY6RW_.js.map} +1 -1
- package/dist/esm/{component-DTx6ZVqq.js → component-fsnfw59D.js} +4 -4
- package/dist/esm/{component-DTx6ZVqq.js.map → component-fsnfw59D.js.map} +1 -1
- package/dist/esm/{contrast-C0oqtcfU.js → contrast-D1msrkD4.js} +3 -3
- package/dist/esm/{contrast-C0oqtcfU.js.map → contrast-D1msrkD4.js.map} +1 -1
- package/dist/esm/{controller-D0y9uwX0.js → controller-B21n_zqt.js} +3 -3
- package/dist/esm/{controller-D0y9uwX0.js.map → controller-B21n_zqt.js.map} +1 -1
- package/dist/esm/{controller-DNx_ULdZ.js → controller-B2Qb2oqz.js} +7 -7
- package/dist/{kolibri/controller-DNx_ULdZ.js.map → esm/controller-B2Qb2oqz.js.map} +1 -1
- package/dist/esm/{controller-DR9zGh9W.js → controller-BuikHDKh.js} +6 -6
- package/dist/{kolibri/controller-DR9zGh9W.js.map → esm/controller-BuikHDKh.js.map} +1 -1
- package/dist/esm/{controller-oT8Y98Yc.js → controller-CJs4fTO0.js} +20 -20
- package/dist/esm/controller-CJs4fTO0.js.map +1 -0
- package/dist/esm/{controller-eoW_d0fK.js → controller-DiWO-Gw_.js} +10 -10
- package/dist/{kolibri/controller-eoW_d0fK.js.map → esm/controller-DiWO-Gw_.js.map} +1 -1
- package/dist/esm/{controller-icon-ClFIXmW5.js → controller-icon-DaBPXypo.js} +8 -8
- package/dist/esm/{controller-icon-ClFIXmW5.js.map → controller-icon-DaBPXypo.js.map} +1 -1
- package/dist/esm/{custom-class-RTVG26D_.js → custom-class-DRA8ZYTU.js} +3 -3
- package/dist/esm/{custom-class-RTVG26D_.js.map → custom-class-DRA8ZYTU.js.map} +1 -1
- package/dist/esm/{dev.utils-HhhlYW_9.js → dev.utils-Ce_5C3Pe.js} +4 -4
- package/dist/{kolibri/dev.utils-HhhlYW_9.js.map → esm/dev.utils-Ce_5C3Pe.js.map} +1 -1
- package/dist/esm/{devtools-CnPiO1UI.js → devtools-yLGw7QsN.js} +5 -5
- package/dist/{kolibri/devtools-CnPiO1UI.js.map → esm/devtools-yLGw7QsN.js.map} +1 -1
- package/dist/esm/{disabled-CtaJsBT2.js → disabled-DzYBnXfG.js} +3 -3
- package/dist/esm/{disabled-CtaJsBT2.js.map → disabled-DzYBnXfG.js.map} +1 -1
- package/dist/esm/element-focus-BQXzaLL9.js.map +1 -1
- package/dist/esm/{has-closer-GBI76y-L.js → has-closer-COzVY-FT.js} +3 -3
- package/dist/esm/{has-closer-GBI76y-L.js.map → has-closer-COzVY-FT.js.map} +1 -1
- package/dist/esm/{hide-label-CWFMK5Iz.js → hide-label-jbOZNqJV.js} +3 -3
- package/dist/esm/{hide-label-CWFMK5Iz.js.map → hide-label-jbOZNqJV.js.map} +1 -1
- package/dist/esm/{href-yQN98Z4F.js → href-CMm8l_Io.js} +3 -3
- package/dist/esm/{href-yQN98Z4F.js.map → href-CMm8l_Io.js.map} +1 -1
- package/dist/esm/{i18n-CaL2ODdQ.js → i18n-BkwRYsvE.js} +4 -4
- package/dist/esm/{i18n-CaL2ODdQ.js.map → i18n-BkwRYsvE.js.map} +1 -1
- package/dist/esm/{i18n-B2d_exHc.js → i18n-CMA39edx.js} +4 -2
- package/dist/esm/i18n-CMA39edx.js.map +1 -0
- package/dist/esm/{icons-DOGnS2Iv.js → icons-BfxrxChI.js} +3 -3
- package/dist/esm/{icons-DOGnS2Iv.js.map → icons-BfxrxChI.js.map} +1 -1
- package/dist/esm/{index-Brmny3Vg.js → index-CwtGN7ID.js} +4 -4
- package/dist/esm/{index-Brmny3Vg.js.map → index-CwtGN7ID.js.map} +1 -1
- package/dist/esm/index.js +6 -6
- package/dist/esm/{inline-D3v7pifU.js → inline-CIEtzpMz.js} +3 -3
- package/dist/esm/{inline-D3v7pifU.js.map → inline-CIEtzpMz.js.map} +1 -1
- package/dist/esm/kol-abbr.entry.js +48 -29
- package/dist/esm/kol-abbr.entry.js.map +1 -1
- package/dist/esm/kol-accordion.entry.js +13 -13
- package/dist/esm/kol-accordion.entry.js.map +1 -1
- package/dist/esm/kol-alert-wc.entry.js +14 -14
- package/dist/esm/kol-alert.entry.js +4 -4
- package/dist/esm/kol-alert.entry.js.map +1 -1
- package/dist/esm/kol-avatar.entry.js +12 -12
- package/dist/esm/kol-avatar.entry.js.map +1 -1
- package/dist/esm/kol-badge.entry.js +12 -12
- package/dist/esm/kol-badge.entry.js.map +1 -1
- package/dist/esm/kol-breadcrumb.entry.js +9 -9
- package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
- package/dist/esm/kol-button-link.entry.js +4 -4
- package/dist/esm/kol-button-link.entry.js.map +1 -1
- package/dist/esm/kol-button-wc.entry.js +30 -28
- package/dist/esm/kol-button-wc.entry.js.map +1 -1
- package/dist/esm/kol-button.entry.js +4 -4
- package/dist/esm/kol-button.entry.js.map +1 -1
- package/dist/esm/kol-card-wc.entry.js +17 -17
- package/dist/esm/kol-card.entry.js +4 -4
- package/dist/esm/kol-card.entry.js.map +1 -1
- package/dist/esm/kol-click-button.entry.js +9 -9
- package/dist/esm/kol-click-button.entry.js.map +1 -1
- package/dist/esm/kol-combobox.entry.js +68 -59
- package/dist/esm/kol-combobox.entry.js.map +1 -1
- package/dist/esm/kol-details.entry.js +13 -13
- package/dist/esm/kol-details.entry.js.map +1 -1
- package/dist/esm/kol-dialog-wc.entry.js +9 -9
- package/dist/esm/kol-dialog.entry.js +4 -4
- package/dist/esm/kol-dialog.entry.js.map +1 -1
- package/dist/esm/kol-drawer.entry.js +12 -12
- package/dist/esm/kol-drawer.entry.js.map +1 -1
- package/dist/esm/kol-form.entry.js +21 -23
- package/dist/esm/kol-form.entry.js.map +1 -1
- package/dist/esm/kol-heading.entry.js +7 -7
- package/dist/esm/kol-heading.entry.js.map +1 -1
- package/dist/esm/kol-icon.entry.js +9 -9
- package/dist/esm/kol-image.entry.js +7 -7
- package/dist/esm/kol-image.entry.js.map +1 -1
- package/dist/esm/kol-input-checkbox.entry.js +41 -34
- package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
- package/dist/esm/kol-input-color.entry.js +41 -34
- package/dist/esm/kol-input-color.entry.js.map +1 -1
- package/dist/esm/kol-input-date.entry.js +44 -37
- package/dist/esm/kol-input-date.entry.js.map +1 -1
- package/dist/esm/kol-input-email.entry.js +50 -43
- package/dist/esm/kol-input-email.entry.js.map +1 -1
- package/dist/esm/kol-input-file.entry.js +41 -34
- package/dist/esm/kol-input-file.entry.js.map +1 -1
- package/dist/esm/kol-input-number.entry.js +45 -38
- package/dist/esm/kol-input-number.entry.js.map +1 -1
- package/dist/esm/kol-input-password.entry.js +46 -39
- package/dist/esm/kol-input-password.entry.js.map +1 -1
- package/dist/esm/kol-input-radio.entry.js +41 -34
- package/dist/esm/kol-input-radio.entry.js.map +1 -1
- package/dist/esm/kol-input-range.entry.js +44 -36
- package/dist/esm/kol-input-range.entry.js.map +1 -1
- package/dist/esm/kol-input-text.entry.js +49 -42
- package/dist/esm/kol-input-text.entry.js.map +1 -1
- package/dist/esm/kol-kolibri.entry.js +8 -8
- package/dist/esm/kol-kolibri.entry.js.map +1 -1
- package/dist/esm/kol-link-button.entry.js +4 -4
- package/dist/esm/kol-link-button.entry.js.map +1 -1
- package/dist/esm/kol-link-wc.entry.js +27 -27
- package/dist/esm/kol-link-wc.entry.js.map +1 -1
- package/dist/esm/kol-link.entry.js +4 -4
- package/dist/esm/kol-link.entry.js.map +1 -1
- package/dist/esm/kol-meter.entry.js +16 -12
- package/dist/esm/kol-meter.entry.js.map +1 -1
- package/dist/esm/kol-modal.entry.js +4 -4
- package/dist/esm/kol-modal.entry.js.map +1 -1
- package/dist/esm/kol-nav.entry.js +12 -12
- package/dist/esm/kol-nav.entry.js.map +1 -1
- package/dist/esm/kol-pagination-wc.entry.js +10 -10
- package/dist/esm/kol-pagination.entry.js +4 -4
- package/dist/esm/kol-pagination.entry.js.map +1 -1
- package/dist/esm/kol-popover-button-wc.entry.js +8 -8
- package/dist/esm/kol-popover-button-wc.entry.js.map +1 -1
- package/dist/esm/kol-popover-button.entry.js +4 -4
- package/dist/esm/kol-popover-button.entry.js.map +1 -1
- package/dist/esm/kol-progress.entry.js +10 -10
- package/dist/esm/kol-progress.entry.js.map +1 -1
- package/dist/esm/kol-quote.entry.js +8 -8
- package/dist/esm/kol-quote.entry.js.map +1 -1
- package/dist/esm/kol-select-wc.entry.js +44 -37
- package/dist/esm/kol-select-wc.entry.js.map +1 -1
- package/dist/esm/kol-select.entry.js +12 -4
- package/dist/esm/kol-select.entry.js.map +1 -1
- package/dist/esm/kol-single-select.entry.js +46 -39
- package/dist/esm/kol-single-select.entry.js.map +1 -1
- package/dist/esm/kol-skeleton.entry.js +7 -7
- package/dist/esm/kol-skip-nav.entry.js +7 -7
- package/dist/esm/kol-skip-nav.entry.js.map +1 -1
- package/dist/esm/kol-spin.entry.js +11 -19
- package/dist/esm/kol-spin.entry.js.map +1 -1
- package/dist/esm/kol-split-button.entry.js +7 -7
- package/dist/esm/kol-split-button.entry.js.map +1 -1
- package/dist/esm/kol-table-settings-wc.entry.js +7 -6
- package/dist/esm/kol-table-settings-wc.entry.js.map +1 -1
- package/dist/esm/kol-table-stateful.entry.js +10 -9
- package/dist/esm/kol-table-stateful.entry.js.map +1 -1
- package/dist/esm/kol-table-stateless-wc.entry.js +18 -18
- package/dist/esm/kol-table-stateless-wc.entry.js.map +1 -1
- package/dist/esm/kol-table-stateless.entry.js +6 -5
- package/dist/esm/kol-table-stateless.entry.js.map +1 -1
- package/dist/esm/kol-tabs.entry.js +9 -9
- package/dist/esm/kol-tabs.entry.js.map +1 -1
- package/dist/esm/kol-textarea.entry.js +43 -36
- package/dist/esm/kol-textarea.entry.js.map +1 -1
- package/dist/esm/kol-toast-container.entry.js +14 -14
- package/dist/esm/kol-toast-container.entry.js.map +1 -1
- package/dist/esm/kol-toolbar.entry.js +6 -6
- package/dist/esm/kol-toolbar.entry.js.map +1 -1
- package/dist/esm/kol-tooltip-wc.entry.js +13 -13
- package/dist/esm/kol-tree-item-wc.entry.js +11 -11
- package/dist/esm/kol-tree-item.entry.js +4 -4
- package/dist/esm/kol-tree-item.entry.js.map +1 -1
- package/dist/esm/kol-tree-wc.entry.js +4 -4
- package/dist/esm/kol-tree-wc.entry.js.map +1 -1
- package/dist/esm/kol-tree.entry.js +4 -4
- package/dist/esm/kol-tree.entry.js.map +1 -1
- package/dist/esm/kol-version.entry.js +7 -7
- package/dist/esm/kol-version.entry.js.map +1 -1
- package/dist/esm/kolibri.js +5 -5
- package/dist/esm/{label-DPd4-fag.js → label-BT-6lb8r.js} +3 -3
- package/dist/esm/{label-DPd4-fag.js.map → label-BT-6lb8r.js.map} +1 -1
- package/dist/esm/{label-Cg7TG_7b.js → label-BiOix5de.js} +3 -3
- package/dist/{kolibri/label-Cg7TG_7b.js.map → esm/label-BiOix5de.js.map} +1 -1
- package/dist/esm/{level-CfQolHx4.js → level-Kr0RFikR.js} +3 -3
- package/dist/esm/{level-CfQolHx4.js.map → level-Kr0RFikR.js.map} +1 -1
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{max-length-behavior-426q5CU6.js → max-length-behavior-CRJOkECl.js} +3 -3
- package/dist/esm/{max-length-behavior-426q5CU6.js.map → max-length-behavior-CRJOkECl.js.map} +1 -1
- package/dist/esm/{multiple-LEiooHN4.js → multiple-hxH51udE.js} +3 -3
- package/dist/esm/{multiple-LEiooHN4.js.map → multiple-hxH51udE.js.map} +1 -1
- package/dist/esm/{normalizers-pgU77mXp.js → normalizers-B5NKuJgN.js} +3 -3
- package/dist/esm/{normalizers-pgU77mXp.js.map → normalizers-B5NKuJgN.js.map} +1 -1
- package/dist/esm/{open-Djbpz6kg.js → open-DZ2Z5a7z.js} +3 -3
- package/dist/esm/{open-Djbpz6kg.js.map → open-DZ2Z5a7z.js.map} +1 -1
- package/dist/esm/{orientation-BzQXB0-V.js → orientation-BptN6AOK.js} +3 -3
- package/dist/esm/{orientation-BzQXB0-V.js.map → orientation-BptN6AOK.js.map} +1 -1
- package/dist/esm/{placeholder-CSgrK1Zh.js → placeholder-B4wceSsL.js} +3 -3
- package/dist/esm/{placeholder-CSgrK1Zh.js.map → placeholder-B4wceSsL.js.map} +1 -1
- package/dist/esm/{read-only-DyuIPHMt.js → read-only-DIC7Vhiy.js} +3 -3
- package/dist/esm/{read-only-DyuIPHMt.js.map → read-only-DIC7Vhiy.js.map} +1 -1
- package/dist/esm/{required-DAsW5lI1.js → required-By197yB9.js} +3 -3
- package/dist/esm/{required-DAsW5lI1.js.map → required-By197yB9.js.map} +1 -1
- package/dist/esm/{rows-Bdp885AQ.js → rows-BwZCT-gJ.js} +3 -3
- package/dist/esm/{rows-Bdp885AQ.js.map → rows-BwZCT-gJ.js.map} +1 -1
- package/dist/esm/{spell-check-CSnDB95u.js → spell-check-CKvoSTJE.js} +3 -3
- package/dist/esm/{spell-check-CSnDB95u.js.map → spell-check-CKvoSTJE.js.map} +1 -1
- package/dist/esm/{src-C8dP-FLK.js → src-DH5c0A9H.js} +3 -3
- package/dist/esm/{src-C8dP-FLK.js.map → src-DH5c0A9H.js.map} +1 -1
- package/dist/esm/{suggestions-Cnn1r8zc.js → suggestions-C2o-U3UR.js} +3 -3
- package/dist/esm/{suggestions-Cnn1r8zc.js.map → suggestions-C2o-U3UR.js.map} +1 -1
- package/dist/esm/{table-selection-DlaNrAWM.js → table-selection-G45AEZGP.js} +3 -3
- package/dist/esm/{table-selection-DlaNrAWM.js.map → table-selection-G45AEZGP.js.map} +1 -1
- package/dist/esm/test-component.entry.js +2 -2
- package/dist/esm/{tooltip-align-DzHPWEpv.js → tooltip-align-BZrIplzz.js} +4 -4
- package/dist/esm/{tooltip-align-DzHPWEpv.js.map → tooltip-align-BZrIplzz.js.map} +1 -1
- package/dist/esm/{unique-nav-labels-7ifGcuBZ.js → unique-nav-labels-OKhw3uEq.js} +3 -3
- package/dist/esm/{unique-nav-labels-7ifGcuBZ.js.map → unique-nav-labels-OKhw3uEq.js.map} +1 -1
- package/dist/esm/{validation-B8MhupBp.js → validation-DFynMQYA.js} +3 -3
- package/dist/esm/{validation-B8MhupBp.js.map → validation-DFynMQYA.js.map} +1 -1
- package/dist/esm/{validation-VhuthteS.js → validation-D_PYegRV.js} +4 -4
- package/dist/esm/{validation-VhuthteS.js.map → validation-D_PYegRV.js.map} +1 -1
- package/dist/esm/{value-number-clamped-BQ9jw4HR.js → value-number-clamped-eznLHU11.js} +3 -3
- package/dist/esm/{value-number-clamped-BQ9jw4HR.js.map → value-number-clamped-eznLHU11.js.map} +1 -1
- package/dist/esm/{variant-class-name-CkfE8oGZ.js → variant-class-name-B1jsQGPM.js} +3 -3
- package/dist/esm/{variant-class-name-CkfE8oGZ.js.map → variant-class-name-B1jsQGPM.js.map} +1 -1
- package/dist/kolibri/Alert-LeFfZ8Oj.js +5 -0
- package/dist/{esm/Alert-COvq80W3.js.map → kolibri/Alert-LeFfZ8Oj.js.map} +1 -1
- package/dist/kolibri/Collapsible-BG8kZny4.js +5 -0
- package/dist/{esm/Collapsible-7IQAII4d.js.map → kolibri/Collapsible-BG8kZny4.js.map} +1 -1
- package/dist/kolibri/CustomSuggestionsOptionsGroup--3PdjAdp.js +5 -0
- package/dist/{esm/CustomSuggestionsOptionsGroup-CUxWnoxh.js.map → kolibri/CustomSuggestionsOptionsGroup--3PdjAdp.js.map} +1 -1
- package/dist/kolibri/FieldControlStateWrapper-BJghqA8K.js +5 -0
- package/dist/{esm/FieldControlStateWrapper-CCrS0kX3.js.map → kolibri/FieldControlStateWrapper-BJghqA8K.js.map} +1 -1
- package/dist/kolibri/FormFieldStateWrapper-D1Q6Lpff.js +5 -0
- package/dist/kolibri/FormFieldStateWrapper-D1Q6Lpff.js.map +1 -0
- package/dist/kolibri/Heading-uCdB_mbH.js +5 -0
- package/dist/kolibri/{Heading-Hh3eykel.js.map → Heading-uCdB_mbH.js.map} +1 -1
- package/dist/kolibri/Input-Cu811opH.js +5 -0
- package/dist/{esm/Input-Chj5JCQv.js.map → kolibri/Input-Cu811opH.js.map} +1 -1
- package/dist/kolibri/InputStateWrapper-Cl_V9Vuo.js +5 -0
- package/dist/kolibri/{InputStateWrapper-DA1rfFPc.js.map → InputStateWrapper-Cl_V9Vuo.js.map} +1 -1
- package/dist/kolibri/{access-and-short-key-CnWGdP5U.js → access-and-short-key-C7QS_Tel.js} +2 -2
- package/dist/kolibri/{access-and-short-key-CnWGdP5U.js.map → access-and-short-key-C7QS_Tel.js.map} +1 -1
- package/dist/kolibri/{align-ChLoh-Dq.js → align-DdWzcKWR.js} +2 -2
- package/dist/kolibri/{align-ChLoh-Dq.js.map → align-DdWzcKWR.js.map} +1 -1
- package/dist/kolibri/{align-floating-elements-DTTpkCAK.js → align-floating-elements-CqZdcuwL.js} +2 -2
- package/dist/{esm/align-floating-elements-DTTpkCAK.js.map → kolibri/align-floating-elements-CqZdcuwL.js.map} +1 -1
- package/dist/kolibri/app-globals-DMlUA9Gw.js +5 -0
- package/dist/kolibri/{app-globals-CpkHeTen.js.map → app-globals-DMlUA9Gw.js.map} +1 -1
- package/dist/kolibri/aria-details-CG4GFq8t.js +5 -0
- package/dist/kolibri/aria-details-CG4GFq8t.js.map +1 -0
- package/dist/kolibri/aria-expanded-BwKOdsiZ.js +5 -0
- package/dist/{esm/aria-expanded--y6Ce39-.js.map → kolibri/aria-expanded-BwKOdsiZ.js.map} +1 -1
- package/dist/kolibri/aria-labelledby-6-ki3akM.js +5 -0
- package/dist/kolibri/aria-labelledby-6-ki3akM.js.map +1 -0
- package/dist/kolibri/aria-labelledby-BuvPnlu7.js +5 -0
- package/dist/kolibri/aria-labelledby-BuvPnlu7.js.map +1 -0
- package/dist/kolibri/associated.controller-Da2zylzp.js +5 -0
- package/dist/kolibri/associated.controller-Da2zylzp.js.map +1 -0
- package/dist/kolibri/{auto-complete-CrQJr3SH.js → auto-complete-p-8iouPy.js} +2 -2
- package/dist/kolibri/{auto-complete-CrQJr3SH.js.map → auto-complete-p-8iouPy.js.map} +1 -1
- package/dist/kolibri/base-web-component-CArCAUxk.js +5 -0
- package/dist/kolibri/base-web-component-CArCAUxk.js.map +1 -0
- package/dist/kolibri/bem-registry-CqAKWtWY.js +5 -0
- package/dist/kolibri/bem-registry-CqAKWtWY.js.map +1 -0
- package/dist/kolibri/{bootstrap-UOb6OarC.js → bootstrap-C2nJoN6K.js} +2 -2
- package/dist/{esm/bootstrap-UOb6OarC.js.map → kolibri/bootstrap-C2nJoN6K.js.map} +1 -1
- package/dist/kolibri/{color-Df2awjVY.js → color-CftCtla8.js} +2 -2
- package/dist/{esm/color-Df2awjVY.js.map → kolibri/color-CftCtla8.js.map} +1 -1
- package/dist/kolibri/{common-DEEjER7G.js → common-DyILLof-.js} +2 -2
- package/dist/kolibri/{common-DEEjER7G.js.map → common-DyILLof-.js.map} +1 -1
- package/dist/kolibri/component-2ImIjrdm.js +5 -0
- package/dist/{esm/component-DohIJBPw.js.map → kolibri/component-2ImIjrdm.js.map} +1 -1
- package/dist/kolibri/component-DI3pO3QY.js +5 -0
- package/dist/kolibri/{component-DHo2YdSx.js.map → component-DI3pO3QY.js.map} +1 -1
- package/dist/kolibri/{component-CQaxTS4u.js → component-DbrY6RW_.js} +2 -2
- package/dist/{esm/component-CQaxTS4u.js.map → kolibri/component-DbrY6RW_.js.map} +1 -1
- package/dist/kolibri/{component-DTx6ZVqq.js → component-fsnfw59D.js} +2 -2
- package/dist/kolibri/{component-DTx6ZVqq.js.map → component-fsnfw59D.js.map} +1 -1
- package/dist/kolibri/{contrast-C0oqtcfU.js → contrast-D1msrkD4.js} +2 -2
- package/dist/kolibri/{contrast-C0oqtcfU.js.map → contrast-D1msrkD4.js.map} +1 -1
- package/dist/kolibri/{controller-D0y9uwX0.js → controller-B21n_zqt.js} +2 -2
- package/dist/kolibri/{controller-D0y9uwX0.js.map → controller-B21n_zqt.js.map} +1 -1
- package/dist/kolibri/controller-B2Qb2oqz.js +5 -0
- package/dist/{esm/controller-DNx_ULdZ.js.map → kolibri/controller-B2Qb2oqz.js.map} +1 -1
- package/dist/kolibri/controller-BuikHDKh.js +5 -0
- package/dist/{esm/controller-DR9zGh9W.js.map → kolibri/controller-BuikHDKh.js.map} +1 -1
- package/dist/kolibri/controller-CJs4fTO0.js +5 -0
- package/dist/kolibri/controller-CJs4fTO0.js.map +1 -0
- package/dist/kolibri/{controller-eoW_d0fK.js → controller-DiWO-Gw_.js} +2 -2
- package/dist/{esm/controller-eoW_d0fK.js.map → kolibri/controller-DiWO-Gw_.js.map} +1 -1
- package/dist/kolibri/{controller-icon-ClFIXmW5.js → controller-icon-DaBPXypo.js} +2 -2
- package/dist/kolibri/{controller-icon-ClFIXmW5.js.map → controller-icon-DaBPXypo.js.map} +1 -1
- package/dist/kolibri/custom-class-DRA8ZYTU.js +5 -0
- package/dist/kolibri/{custom-class-RTVG26D_.js.map → custom-class-DRA8ZYTU.js.map} +1 -1
- package/dist/kolibri/dev.utils-Ce_5C3Pe.js +5 -0
- package/dist/{esm/dev.utils-HhhlYW_9.js.map → kolibri/dev.utils-Ce_5C3Pe.js.map} +1 -1
- package/dist/kolibri/devtools-yLGw7QsN.js +5 -0
- package/dist/{esm/devtools-CnPiO1UI.js.map → kolibri/devtools-yLGw7QsN.js.map} +1 -1
- package/dist/kolibri/{disabled-CtaJsBT2.js → disabled-DzYBnXfG.js} +2 -2
- package/dist/kolibri/{disabled-CtaJsBT2.js.map → disabled-DzYBnXfG.js.map} +1 -1
- package/dist/kolibri/element-focus-BQXzaLL9.js.map +1 -1
- package/dist/kolibri/has-closer-COzVY-FT.js +5 -0
- package/dist/kolibri/{has-closer-GBI76y-L.js.map → has-closer-COzVY-FT.js.map} +1 -1
- package/dist/kolibri/hide-label-jbOZNqJV.js +5 -0
- package/dist/kolibri/{hide-label-CWFMK5Iz.js.map → hide-label-jbOZNqJV.js.map} +1 -1
- package/dist/kolibri/href-CMm8l_Io.js +5 -0
- package/dist/kolibri/{href-yQN98Z4F.js.map → href-CMm8l_Io.js.map} +1 -1
- package/dist/kolibri/i18n-BkwRYsvE.js +5 -0
- package/dist/kolibri/{i18n-CaL2ODdQ.js.map → i18n-BkwRYsvE.js.map} +1 -1
- package/dist/kolibri/i18n-CMA39edx.js +5 -0
- package/dist/kolibri/i18n-CMA39edx.js.map +1 -0
- package/dist/kolibri/{icons-DOGnS2Iv.js → icons-BfxrxChI.js} +2 -2
- package/dist/kolibri/{icons-DOGnS2Iv.js.map → icons-BfxrxChI.js.map} +1 -1
- package/dist/kolibri/{index-Brmny3Vg.js → index-CwtGN7ID.js} +3 -3
- package/dist/kolibri/{index-Brmny3Vg.js.map → index-CwtGN7ID.js.map} +1 -1
- package/dist/kolibri/index.esm.js +1 -1
- package/dist/kolibri/inline-CIEtzpMz.js +5 -0
- package/dist/kolibri/{inline-D3v7pifU.js.map → inline-CIEtzpMz.js.map} +1 -1
- package/dist/kolibri/kol-abbr.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-abbr.entry.js +1 -1
- package/dist/kolibri/kol-abbr.entry.js.map +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.esm.js.map +1 -1
- package/dist/kolibri/kol-alert.entry.js +1 -1
- package/dist/kolibri/kol-alert.entry.js.map +1 -1
- package/dist/kolibri/kol-avatar.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-avatar.entry.js +1 -1
- package/dist/kolibri/kol-avatar.entry.js.map +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.esm.js.map +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js.map +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-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-card.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-card.entry.js +1 -1
- package/dist/kolibri/kol-card.entry.js.map +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.esm.js.map +1 -1
- package/dist/kolibri/kol-dialog.entry.js +1 -1
- package/dist/kolibri/kol-dialog.entry.js.map +1 -1
- package/dist/kolibri/kol-drawer.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-drawer.entry.js +1 -1
- package/dist/kolibri/kol-drawer.entry.js.map +1 -1
- package/dist/kolibri/kol-form.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-form.entry.js +1 -1
- package/dist/kolibri/kol-form.entry.js.map +1 -1
- package/dist/kolibri/kol-heading.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-heading.entry.js +1 -1
- package/dist/kolibri/kol-heading.entry.js.map +1 -1
- package/dist/kolibri/kol-icon.entry.js +1 -1
- package/dist/kolibri/kol-icon.entry.js.map +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.esm.js.map +1 -1
- package/dist/kolibri/kol-kolibri.entry.js +1 -1
- package/dist/kolibri/kol-kolibri.entry.js.map +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.esm.js.map +1 -1
- package/dist/kolibri/kol-modal.entry.js +1 -1
- package/dist/kolibri/kol-modal.entry.js.map +1 -1
- package/dist/kolibri/kol-nav.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-nav.entry.js +1 -1
- package/dist/kolibri/kol-nav.entry.js.map +1 -1
- package/dist/kolibri/kol-pagination-wc.entry.js +1 -1
- package/dist/kolibri/kol-pagination.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-pagination.entry.js +1 -1
- package/dist/kolibri/kol-pagination.entry.js.map +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.esm.js.map +1 -1
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js.map +1 -1
- package/dist/kolibri/kol-quote.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-quote.entry.js +1 -1
- package/dist/kolibri/kol-quote.entry.js.map +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.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.esm.js.map +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-spin.entry.js.map +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.esm.js.map +1 -1
- package/dist/kolibri/kol-table-settings-wc.entry.js +1 -1
- package/dist/kolibri/kol-table-settings-wc.entry.js.map +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-tooltip-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-tree-item-wc.entry.js +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.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.esm.js.map +1 -1
- package/dist/kolibri/kol-version.entry.js +1 -1
- package/dist/kolibri/kol-version.entry.js.map +1 -1
- package/dist/kolibri/kolibri.esm.js +1 -1
- package/dist/kolibri/{label-DPd4-fag.js → label-BT-6lb8r.js} +2 -2
- package/dist/kolibri/{label-DPd4-fag.js.map → label-BT-6lb8r.js.map} +1 -1
- package/dist/kolibri/label-BiOix5de.js +5 -0
- package/dist/{esm/label-Cg7TG_7b.js.map → kolibri/label-BiOix5de.js.map} +1 -1
- package/dist/kolibri/{level-CfQolHx4.js → level-Kr0RFikR.js} +2 -2
- package/dist/kolibri/{level-CfQolHx4.js.map → level-Kr0RFikR.js.map} +1 -1
- package/dist/kolibri/max-length-behavior-CRJOkECl.js +5 -0
- package/dist/kolibri/{max-length-behavior-426q5CU6.js.map → max-length-behavior-CRJOkECl.js.map} +1 -1
- package/dist/kolibri/multiple-hxH51udE.js +5 -0
- package/dist/kolibri/{multiple-LEiooHN4.js.map → multiple-hxH51udE.js.map} +1 -1
- package/dist/kolibri/{normalizers-pgU77mXp.js → normalizers-B5NKuJgN.js} +2 -2
- package/dist/kolibri/{normalizers-pgU77mXp.js.map → normalizers-B5NKuJgN.js.map} +1 -1
- package/dist/kolibri/open-DZ2Z5a7z.js +5 -0
- package/dist/kolibri/{open-Djbpz6kg.js.map → open-DZ2Z5a7z.js.map} +1 -1
- package/dist/kolibri/{orientation-BzQXB0-V.js → orientation-BptN6AOK.js} +2 -2
- package/dist/kolibri/{orientation-BzQXB0-V.js.map → orientation-BptN6AOK.js.map} +1 -1
- package/dist/kolibri/placeholder-B4wceSsL.js +5 -0
- package/dist/kolibri/{placeholder-CSgrK1Zh.js.map → placeholder-B4wceSsL.js.map} +1 -1
- package/dist/kolibri/read-only-DIC7Vhiy.js +5 -0
- package/dist/kolibri/{read-only-DyuIPHMt.js.map → read-only-DIC7Vhiy.js.map} +1 -1
- package/dist/kolibri/required-By197yB9.js +5 -0
- package/dist/kolibri/{required-DAsW5lI1.js.map → required-By197yB9.js.map} +1 -1
- package/dist/kolibri/rows-BwZCT-gJ.js +5 -0
- package/dist/kolibri/{rows-Bdp885AQ.js.map → rows-BwZCT-gJ.js.map} +1 -1
- package/dist/kolibri/spell-check-CKvoSTJE.js +5 -0
- package/dist/kolibri/{spell-check-CSnDB95u.js.map → spell-check-CKvoSTJE.js.map} +1 -1
- package/dist/kolibri/src-DH5c0A9H.js +5 -0
- package/dist/kolibri/{src-C8dP-FLK.js.map → src-DH5c0A9H.js.map} +1 -1
- package/dist/kolibri/suggestions-C2o-U3UR.js +5 -0
- package/dist/kolibri/{suggestions-Cnn1r8zc.js.map → suggestions-C2o-U3UR.js.map} +1 -1
- package/dist/kolibri/{table-selection-DlaNrAWM.js → table-selection-G45AEZGP.js} +2 -2
- package/dist/kolibri/{table-selection-DlaNrAWM.js.map → table-selection-G45AEZGP.js.map} +1 -1
- package/dist/kolibri/test-component.entry.js +1 -1
- package/dist/kolibri/tooltip-align-BZrIplzz.js +5 -0
- package/dist/kolibri/{tooltip-align-DzHPWEpv.js.map → tooltip-align-BZrIplzz.js.map} +1 -1
- package/dist/kolibri/unique-nav-labels-OKhw3uEq.js +5 -0
- package/dist/kolibri/{unique-nav-labels-7ifGcuBZ.js.map → unique-nav-labels-OKhw3uEq.js.map} +1 -1
- package/dist/kolibri/validation-DFynMQYA.js +5 -0
- package/dist/kolibri/{validation-B8MhupBp.js.map → validation-DFynMQYA.js.map} +1 -1
- package/dist/kolibri/validation-D_PYegRV.js +5 -0
- package/dist/kolibri/{validation-VhuthteS.js.map → validation-D_PYegRV.js.map} +1 -1
- package/dist/kolibri/value-number-clamped-eznLHU11.js +5 -0
- package/dist/kolibri/{value-number-clamped-BQ9jw4HR.js.map → value-number-clamped-eznLHU11.js.map} +1 -1
- package/dist/kolibri/{variant-class-name-CkfE8oGZ.js → variant-class-name-B1jsQGPM.js} +2 -2
- package/dist/kolibri/{variant-class-name-CkfE8oGZ.js.map → variant-class-name-B1jsQGPM.js.map} +1 -1
- package/dist/types/components/@deprecated/input/controller.d.ts +5 -4
- package/dist/types/components/abbr/component.d.ts +17 -0
- package/dist/types/components/accordion/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 +4 -2
- package/dist/types/components/component-list.d.ts +1 -1
- package/dist/types/components/details/shadow.d.ts +2 -2
- package/dist/types/components/form/shadow.d.ts +3 -2
- package/dist/types/components/input-adapter-leanup/associated.controller.d.ts +3 -0
- package/dist/types/components/input-checkbox/shadow.d.ts +4 -2
- package/dist/types/components/input-color/shadow.d.ts +4 -2
- package/dist/types/components/input-date/controller.d.ts +1 -1
- package/dist/types/components/input-date/shadow.d.ts +4 -2
- package/dist/types/components/input-email/shadow.d.ts +4 -2
- package/dist/types/components/input-file/shadow.d.ts +4 -2
- package/dist/types/components/input-number/shadow.d.ts +4 -2
- package/dist/types/components/input-password/shadow.d.ts +4 -2
- package/dist/types/components/input-radio/shadow.d.ts +4 -2
- package/dist/types/components/input-range/shadow.d.ts +4 -2
- package/dist/types/components/input-text/shadow.d.ts +4 -2
- package/dist/types/components/link/component.d.ts +2 -2
- package/dist/types/components/link/shadow.d.ts +1 -1
- package/dist/types/components/link-button/shadow.d.ts +2 -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 +4 -2
- package/dist/types/components/select/shadow.d.ts +4 -2
- package/dist/types/components/single-select/shadow.d.ts +4 -2
- package/dist/types/components/skip-nav/shadow.d.ts +1 -1
- package/dist/types/components/split-button/shadow.d.ts +2 -2
- package/dist/types/components/tabs/shadow.d.ts +2 -2
- package/dist/types/components/textarea/shadow.d.ts +4 -2
- package/dist/types/components/toolbar/shadow.d.ts +2 -2
- package/dist/types/components/tree/component.d.ts +1 -1
- package/dist/types/components/tree/shadow.d.ts +1 -1
- package/dist/types/components.d.ts +123 -3
- package/dist/types/e2e/index.d.ts +0 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/internal/functional-components/abbr/api.d.ts +9 -0
- package/dist/types/internal/functional-components/abbr/component.d.ts +4 -0
- package/dist/types/internal/functional-components/abbr/controller.d.ts +8 -0
- package/dist/types/internal/functional-components/meter/controller.d.ts +2 -1
- package/dist/types/internal/functional-components/progress/controller.d.ts +2 -1
- package/dist/types/internal/functional-components/spin/api.d.ts +0 -4
- package/dist/types/internal/functional-components/spin/controller.d.ts +2 -5
- package/dist/types/locales/de.d.ts +1 -0
- package/dist/types/locales/en.d.ts +1 -0
- package/dist/types/schema/bem-registry.d.ts +3 -0
- package/dist/types/schema/components/combobox.d.ts +2 -2
- package/dist/types/schema/components/input-checkbox.d.ts +2 -2
- package/dist/types/schema/components/input-color.d.ts +2 -2
- package/dist/types/schema/components/input-date.d.ts +2 -2
- package/dist/types/schema/components/input-email.d.ts +2 -2
- package/dist/types/schema/components/input-file.d.ts +2 -2
- package/dist/types/schema/components/input-number.d.ts +2 -2
- package/dist/types/schema/components/input-password.d.ts +2 -2
- package/dist/types/schema/components/input-radio.d.ts +2 -2
- package/dist/types/schema/components/input-range.d.ts +2 -2
- package/dist/types/schema/components/input-text.d.ts +3 -3
- package/dist/types/schema/components/select.d.ts +3 -3
- package/dist/types/schema/components/single-select.d.ts +2 -2
- package/dist/types/schema/components/textarea.d.ts +2 -2
- package/dist/types/schema/interfaces/ClickableElement.d.ts +3 -0
- package/dist/types/schema/interfaces/index.d.ts +1 -0
- package/dist/types/schema/props/aria-details.d.ts +6 -0
- package/dist/types/schema/props/error-list.d.ts +2 -0
- package/dist/types/schema/props/index.d.ts +1 -0
- package/dist/types/utils/aria-labelledby.d.ts +3 -2
- package/dist/types/utils/element-click.d.ts +0 -3
- package/doc/combobox.md +1 -0
- package/doc/form.md +7 -1
- package/doc/input-checkbox.md +22 -21
- package/doc/input-color.md +21 -20
- package/doc/input-date.md +27 -26
- package/doc/input-email.md +29 -28
- package/doc/input-file.md +21 -20
- package/doc/input-number.md +27 -26
- package/doc/input-password.md +28 -27
- package/doc/input-radio.md +18 -17
- package/doc/input-range.md +23 -22
- package/doc/input-text.md +1 -0
- package/doc/select.md +1 -0
- package/doc/single-select.md +23 -22
- package/doc/textarea.md +1 -0
- package/package.json +12 -14
- package/vscode-custom-data.json +56 -0
- package/dist/cjs/FormFieldStateWrapper-C93KLp60.js.map +0 -1
- package/dist/cjs/aria-labelledby-BhnM3OnL.js.map +0 -1
- package/dist/cjs/associated.controller-CUvZCmFF.js.map +0 -1
- package/dist/cjs/bem-registry-D9uDM1GJ.js.map +0 -1
- package/dist/cjs/controller-DHsc-8t1.js.map +0 -1
- package/dist/cjs/i18n-CgUN6lev.js.map +0 -1
- package/dist/cjs/variant-quote-DUWZtljE.js.map +0 -1
- package/dist/collection/components/abbr/shadow.js.map +0 -1
- package/dist/collection/e2e/input-callbacks-and-events.js +0 -56
- package/dist/collection/e2e/input-callbacks-and-events.js.map +0 -1
- package/dist/components/variant-quote.js.map +0 -1
- package/dist/esm/FormFieldStateWrapper-DCXQnRBu.js.map +0 -1
- package/dist/esm/aria-labelledby-BUOJRaGL.js.map +0 -1
- package/dist/esm/associated.controller-D55JWKjs.js.map +0 -1
- package/dist/esm/bem-registry-B9CzNnO1.js.map +0 -1
- package/dist/esm/controller-oT8Y98Yc.js.map +0 -1
- package/dist/esm/i18n-B2d_exHc.js.map +0 -1
- package/dist/esm/variant-quote-BMV8GZX8.js.map +0 -1
- package/dist/kolibri/Alert-COvq80W3.js +0 -5
- package/dist/kolibri/Collapsible-7IQAII4d.js +0 -5
- package/dist/kolibri/CustomSuggestionsOptionsGroup-CUxWnoxh.js +0 -5
- package/dist/kolibri/FieldControlStateWrapper-CCrS0kX3.js +0 -5
- package/dist/kolibri/FormFieldStateWrapper-DCXQnRBu.js +0 -5
- package/dist/kolibri/FormFieldStateWrapper-DCXQnRBu.js.map +0 -1
- package/dist/kolibri/Heading-Hh3eykel.js +0 -5
- package/dist/kolibri/Input-Chj5JCQv.js +0 -5
- package/dist/kolibri/InputStateWrapper-DA1rfFPc.js +0 -5
- package/dist/kolibri/app-globals-CpkHeTen.js +0 -5
- package/dist/kolibri/aria-expanded--y6Ce39-.js +0 -5
- package/dist/kolibri/aria-labelledby-BUOJRaGL.js +0 -5
- package/dist/kolibri/aria-labelledby-BUOJRaGL.js.map +0 -1
- package/dist/kolibri/associated.controller-D55JWKjs.js +0 -5
- package/dist/kolibri/associated.controller-D55JWKjs.js.map +0 -1
- package/dist/kolibri/bem-registry-B9CzNnO1.js +0 -5
- package/dist/kolibri/bem-registry-B9CzNnO1.js.map +0 -1
- package/dist/kolibri/component-DHo2YdSx.js +0 -5
- package/dist/kolibri/component-DohIJBPw.js +0 -5
- package/dist/kolibri/controller-DNx_ULdZ.js +0 -5
- package/dist/kolibri/controller-DR9zGh9W.js +0 -5
- package/dist/kolibri/controller-oT8Y98Yc.js +0 -5
- package/dist/kolibri/controller-oT8Y98Yc.js.map +0 -1
- package/dist/kolibri/custom-class-RTVG26D_.js +0 -5
- package/dist/kolibri/dev.utils-HhhlYW_9.js +0 -5
- package/dist/kolibri/devtools-CnPiO1UI.js +0 -5
- package/dist/kolibri/has-closer-GBI76y-L.js +0 -5
- package/dist/kolibri/hide-label-CWFMK5Iz.js +0 -5
- package/dist/kolibri/href-yQN98Z4F.js +0 -5
- package/dist/kolibri/i18n-B2d_exHc.js +0 -5
- package/dist/kolibri/i18n-B2d_exHc.js.map +0 -1
- package/dist/kolibri/i18n-CaL2ODdQ.js +0 -5
- package/dist/kolibri/inline-D3v7pifU.js +0 -5
- package/dist/kolibri/label-Cg7TG_7b.js +0 -5
- package/dist/kolibri/max-length-behavior-426q5CU6.js +0 -5
- package/dist/kolibri/multiple-LEiooHN4.js +0 -5
- package/dist/kolibri/open-Djbpz6kg.js +0 -5
- package/dist/kolibri/placeholder-CSgrK1Zh.js +0 -5
- package/dist/kolibri/read-only-DyuIPHMt.js +0 -5
- package/dist/kolibri/required-DAsW5lI1.js +0 -5
- package/dist/kolibri/rows-Bdp885AQ.js +0 -5
- package/dist/kolibri/spell-check-CSnDB95u.js +0 -5
- package/dist/kolibri/src-C8dP-FLK.js +0 -5
- package/dist/kolibri/suggestions-Cnn1r8zc.js +0 -5
- package/dist/kolibri/tooltip-align-DzHPWEpv.js +0 -5
- package/dist/kolibri/unique-nav-labels-7ifGcuBZ.js +0 -5
- package/dist/kolibri/validation-B8MhupBp.js +0 -5
- package/dist/kolibri/validation-VhuthteS.js +0 -5
- package/dist/kolibri/value-number-clamped-BQ9jw4HR.js +0 -5
- package/dist/kolibri/variant-quote-BMV8GZX8.js +0 -5
- package/dist/kolibri/variant-quote-BMV8GZX8.js.map +0 -1
- package/dist/types/components/abbr/shadow.d.ts +0 -14
- package/dist/types/e2e/input-callbacks-and-events.d.ts +0 -19
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-settings.js","sourceRoot":"","sources":["../../../src/components/table-stateless/table-settings.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { JSX } from '@stencil/core';\nimport { Component, Element, h, Prop, State, Watch } from '@stencil/core';\nimport { KolAlertWcTag, KolButtonWcTag, KolHeadingTag, KolInputCheckboxTag, KolInputNumberTag, KolPopoverButtonWcTag } from '../../core/component-names';\nimport { translate } from '../../i18n';\nimport type { KoliBriTableHeaderCell } from '../../schema';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\nimport { parseColumnWidth } from './controller';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-table-settings-wc',\n\tshadow: false,\n})\nexport class KolTableSettings {\n\t@Element() private readonly host?: HTMLKolTableSettingsWcElement;\n\t@State() headerCells: KoliBriTableHeaderCell[][] = [];\n\t@State() editingHeaderCells: KoliBriTableHeaderCell[][] = [];\n\t@State() errorMessage: string | null = null;\n\tprivate readonly translateTableSettings = translate('kol-table-settings');\n\tprivate readonly translateTableSettingsCancel = translate('kol-table-settings-cancel');\n\tprivate readonly translateTableSettingsApply = translate('kol-table-settings-apply');\n\tprivate readonly translateErrorAllInvisible = translate('kol-table-settings-error-all-invisible');\n\tprivate readonly translateColumnNotHidable = translate('kol-table-settings-column-not-hidable');\n\n\t/**\n\t * The horizontal header cells configuration for the table.\n\t */\n\t@Prop() _horizontalHeaderCells: KoliBriTableHeaderCell[][] = [];\n\n\t@Watch('_horizontalHeaderCells')\n\thandleHeaderCellsChange(newValue: KoliBriTableHeaderCell[][]) {\n\t\tthis.headerCells = newValue.map((row) => [...row]);\n\t\tthis.editingHeaderCells = newValue.map((row) => row.map((cell) => ({ ...cell })));\n\t}\n\n\tpublic componentWillLoad() {\n\t\tthis.handleHeaderCellsChange(this._horizontalHeaderCells);\n\t}\n\n\tprivate popoverRef: HTMLKolPopoverButtonWcElement | undefined;\n\n\tprivate getPrimaryRow(): KoliBriTableHeaderCell[] {\n\t\treturn this.editingHeaderCells[this.editingHeaderCells.length - 1] ?? [];\n\t}\n\n\tprivate updatePrimaryRow(newRow: KoliBriTableHeaderCell[]): void {\n\t\tthis.editingHeaderCells = this.editingHeaderCells.map((row, index, arr) => (index === arr.length - 1 ? newRow : row));\n\t}\n\n\tprivate moveColumn(columnId: string, direction: 'up' | 'down'): void {\n\t\tconst row = [...this.getPrimaryRow()];\n\t\tconst sourceIndex = row.findIndex((col) => col.key === columnId);\n\t\tif (sourceIndex === -1) return;\n\n\t\tlet targetIndex: number;\n\t\tif (direction === 'up') {\n\t\t\tif (sourceIndex === 0) return; // Cannot move first column up\n\t\t\ttargetIndex = sourceIndex - 1;\n\t\t} else {\n\t\t\tif (sourceIndex === row.length - 1) return; // Cannot move last column down\n\t\t\ttargetIndex = sourceIndex + 1;\n\t\t}\n\n\t\t// Swap with target\n\t\tconst [source] = row.splice(sourceIndex, 1);\n\t\trow.splice(targetIndex, 0, source);\n\t\tthis.updatePrimaryRow(row);\n\t}\n\n\tprivate handleVisibilityChange(key: string, visible: unknown): void {\n\t\tconst row = this.getPrimaryRow().map((col) => (col.key === key && col.hidable !== false ? { ...col, visible: Boolean(visible) } : col));\n\t\tthis.updatePrimaryRow(row);\n\t}\n\n\tprivate handleWidthChange(key: string, width: unknown): void {\n\t\tconst row = this.getPrimaryRow().map((col) => (col.key === key && col.resizable !== false ? { ...col, width: Number(width) } : col));\n\t\tthis.updatePrimaryRow(row);\n\t}\n\n\tprivate handleCancel() {\n\t\tthis.editingHeaderCells = this.headerCells.map((row) => [...row]);\n\t\tthis.errorMessage = null;\n\t\tvoid this.popoverRef?.hidePopover();\n\t}\n\n\tprivate handleSubmit(event: Event): void {\n\t\tevent.preventDefault();\n\n\t\tconst primaryRow = this.getPrimaryRow();\n\t\tconst hasVisibleColumn = primaryRow.some((column) => column.visible !== false);\n\n\t\tif (!hasVisibleColumn) {\n\t\t\tthis.errorMessage = this.translateErrorAllInvisible;\n\t\t\treturn;\n\t\t} else if (this.host) {\n\t\t\tthis.errorMessage = null;\n\t\t\t// Update headerCells with the edited values\n\t\t\tthis.headerCells = this.editingHeaderCells.map((row) => row.map((cell) => ({ ...cell })));\n\n\t\t\t// Type for sanitized cells where optional properties are truly omitted\n\t\t\ttype SanitizedHeaderCell = Omit<KoliBriTableHeaderCell, 'hidable' | 'position' | 'resizable' | 'sortable' | 'visible' | 'width'> &\n\t\t\t\tPartial<Pick<KoliBriTableHeaderCell, 'hidable' | 'resizable' | 'sortable' | 'visible' | 'width'>>;\n\n\t\t\tconst sanitizedHeaderCells = this.editingHeaderCells.map((row) =>\n\t\t\t\trow.map((column): SanitizedHeaderCell => {\n\t\t\t\t\tconst { hidable, resizable, sortable, visible, width, ...rest } = column as KoliBriTableHeaderCell & { position?: unknown };\n\t\t\t\t\tconst cell: SanitizedHeaderCell = { ...rest };\n\n\t\t\t\t\tif (visible !== undefined) cell.visible = visible;\n\t\t\t\t\tif (hidable !== undefined) cell.hidable = hidable;\n\t\t\t\t\tif (sortable !== undefined) cell.sortable = sortable;\n\t\t\t\t\tif (resizable !== undefined) cell.resizable = resizable;\n\t\t\t\t\tif (width !== undefined && width !== null) cell.width = width;\n\n\t\t\t\t\treturn cell;\n\t\t\t\t}),\n\t\t\t);\n\t\t\tdispatchDomEvent(this.host, KolEvent.changeHeaderCells, sanitizedHeaderCells);\n\t\t\tvoid this.popoverRef?.hidePopover();\n\t\t}\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tconst columns = this.getPrimaryRow();\n\n\t\treturn (\n\t\t\t<KolPopoverButtonWcTag\n\t\t\t\tref={(el) => (this.popoverRef = el)}\n\t\t\t\tclass=\"kol-table-settings\"\n\t\t\t\t_icons=\"kolicon-settings\"\n\t\t\t\t_label={this.translateTableSettings}\n\t\t\t\t_popoverAlign=\"top\"\n\t\t\t\t_hideLabel\n\t\t\t>\n\t\t\t\t<div class=\"kol-table-settings__content\">\n\t\t\t\t\t<KolHeadingTag _label={this.translateTableSettings} _level={0} />\n\n\t\t\t\t\t{this.errorMessage && <KolAlertWcTag _type=\"error\" _label={this.errorMessage} _variant=\"msg\" class=\"kol-table-settings__error-message\" />}\n\n\t\t\t\t\t<form onSubmit={this.handleSubmit.bind(this)}>\n\t\t\t\t\t\t<div class=\"kol-table-settings__columns-container\">\n\t\t\t\t\t\t\t<div class=\"kol-table-settings__columns\">\n\t\t\t\t\t\t\t\t{columns.map((column, index) => (\n\t\t\t\t\t\t\t\t\t<div key={column.key} class=\"kol-table-settings__column\">\n\t\t\t\t\t\t\t\t\t\t<KolInputCheckboxTag\n\t\t\t\t\t\t\t\t\t\t\t_checked={column.visible !== false}\n\t\t\t\t\t\t\t\t\t\t\t_label={`${column.label}${column.hidable === false ? ` (${this.translateColumnNotHidable})` : ''}`}\n\t\t\t\t\t\t\t\t\t\t\t_value={true}\n\t\t\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t\t\t_disabled={column.hidable === false}\n\t\t\t\t\t\t\t\t\t\t\t_on={{ onInput: (_, value: unknown) => this.handleVisibilityChange(column.key ?? '', value) }}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<span class=\"kol-table-settings__column-label\">{column.label}</span>\n\t\t\t\t\t\t\t\t\t\t<KolInputNumberTag\n\t\t\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t\t\t_value={parseColumnWidth(column.width)}\n\t\t\t\t\t\t\t\t\t\t\t_label={translate('kol-table-settings-column-width', { placeholders: { column: column.label } })}\n\t\t\t\t\t\t\t\t\t\t\t_min={1}\n\t\t\t\t\t\t\t\t\t\t\t_disabled={column.resizable === false}\n\t\t\t\t\t\t\t\t\t\t\t_on={{ onInput: (_, value: unknown) => this.handleWidthChange(column.key ?? '', value) }}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\t\t\t_icons=\"kolicon-chevron-up\"\n\t\t\t\t\t\t\t\t\t\t\t_label={translate('kol-table-settings-move-up', { placeholders: { column: column.label } })}\n\t\t\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\t_on={{ onClick: () => this.moveColumn(column.key ?? '', 'up') }}\n\t\t\t\t\t\t\t\t\t\t\t_disabled={column.sortable === false || index === 0}\n\t\t\t\t\t\t\t\t\t\t\tdata-testid=\"table-settings-move-up\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\t\t\t_icons=\"kolicon-chevron-down\"\n\t\t\t\t\t\t\t\t\t\t\t_label={translate('kol-table-settings-move-down', { placeholders: { column: column.label } })}\n\t\t\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\t_on={{ onClick: () => this.moveColumn(column.key ?? '', 'down') }}\n\t\t\t\t\t\t\t\t\t\t\t_disabled={column.sortable === false || index === columns.length - 1}\n\t\t\t\t\t\t\t\t\t\t\tdata-testid=\"table-settings-move-down\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div class=\"kol-table-settings__actions\">\n\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t_label={this.translateTableSettingsCancel}\n\t\t\t\t\t\t\t\t_variant=\"secondary\"\n\t\t\t\t\t\t\t\t_on={{ onClick: () => this.handleCancel() }}\n\t\t\t\t\t\t\t\tdata-testid=\"table-settings-cancel\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<KolButtonWcTag _label={this.translateTableSettingsApply} _variant=\"primary\" _type=\"submit\" data-testid=\"table-settings-apply\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t</KolPopoverButtonWcTag>\n\t\t);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"table-settings.js","sourceRoot":"","sources":["../../../src/components/table-stateless/table-settings.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { JSX } from '@stencil/core';\nimport { Component, Element, h, Prop, State, Watch } from '@stencil/core';\nimport { KolAlertWcTag, KolButtonWcTag, KolHeadingTag, KolInputCheckboxTag, KolInputNumberTag, KolPopoverButtonWcTag } from '../../core/component-names';\nimport { translate } from '../../i18n';\nimport type { KoliBriTableHeaderCell } from '../../schema';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\nimport { parseColumnWidth } from './controller';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-table-settings-wc',\n\tshadow: false,\n})\nexport class KolTableSettings {\n\t@Element() private readonly host?: HTMLKolTableSettingsWcElement;\n\t@State() headerCells: KoliBriTableHeaderCell[][] = [];\n\t@State() editingHeaderCells: KoliBriTableHeaderCell[][] = [];\n\t@State() errorMessage: string | null = null;\n\tprivate readonly translateTableSettings = translate('kol-table-settings');\n\tprivate readonly translateTableSettingsCancel = translate('kol-table-settings-cancel');\n\tprivate readonly translateTableSettingsApply = translate('kol-table-settings-apply');\n\tprivate readonly translateErrorAllInvisible = translate('kol-table-settings-error-all-invisible');\n\tprivate readonly translateColumnNotHidable = translate('kol-table-settings-column-not-hidable');\n\n\t/**\n\t * The horizontal header cells configuration for the table.\n\t */\n\t@Prop() _horizontalHeaderCells: KoliBriTableHeaderCell[][] = [];\n\n\t@Watch('_horizontalHeaderCells')\n\thandleHeaderCellsChange(newValue: KoliBriTableHeaderCell[][]) {\n\t\tthis.headerCells = newValue.map((row) => [...row]);\n\t\tthis.editingHeaderCells = newValue.map((row) => row.map((cell) => ({ ...cell })));\n\t}\n\n\tpublic componentWillLoad() {\n\t\tthis.handleHeaderCellsChange(this._horizontalHeaderCells);\n\t}\n\n\tprivate popoverRef: HTMLKolPopoverButtonWcElement | undefined;\n\n\tprivate getPrimaryRow(): KoliBriTableHeaderCell[] {\n\t\treturn this.editingHeaderCells[this.editingHeaderCells.length - 1] ?? [];\n\t}\n\n\tprivate updatePrimaryRow(newRow: KoliBriTableHeaderCell[]): void {\n\t\tthis.editingHeaderCells = this.editingHeaderCells.map((row, index, arr) => (index === arr.length - 1 ? newRow : row));\n\t}\n\n\tprivate moveColumn(columnId: string, direction: 'up' | 'down'): void {\n\t\tconst row = [...this.getPrimaryRow()];\n\t\tconst sourceIndex = row.findIndex((col) => col.key === columnId);\n\t\tif (sourceIndex === -1) return;\n\n\t\tlet targetIndex: number;\n\t\tif (direction === 'up') {\n\t\t\tif (sourceIndex === 0) return; // Cannot move first column up\n\t\t\ttargetIndex = sourceIndex - 1;\n\t\t} else {\n\t\t\tif (sourceIndex === row.length - 1) return; // Cannot move last column down\n\t\t\ttargetIndex = sourceIndex + 1;\n\t\t}\n\n\t\t// Swap with target\n\t\tconst [source] = row.splice(sourceIndex, 1);\n\t\trow.splice(targetIndex, 0, source);\n\t\tthis.updatePrimaryRow(row);\n\t}\n\n\tprivate handleVisibilityChange(key: string, visible: unknown): void {\n\t\tconst row = this.getPrimaryRow().map((col) => (col.key === key && col.hidable !== false ? { ...col, visible: Boolean(visible) } : col));\n\t\tthis.updatePrimaryRow(row);\n\t}\n\n\tprivate handleWidthChange(key: string, width: unknown): void {\n\t\t// Clearing/invalid input must not collapse the column: parseColumnWidth maps\n\t\t// non-positive or non-finite values (e.g. an emptied field => 0) back to undefined,\n\t\t// which renders as an auto-width column instead of a 0px/1px sliver.\n\t\tconst parsedWidth = parseColumnWidth(Number(width));\n\t\tconst row = this.getPrimaryRow().map((col) => (col.key === key && col.resizable !== false ? { ...col, width: parsedWidth } : col));\n\t\tthis.updatePrimaryRow(row);\n\t}\n\n\tprivate handleCancel() {\n\t\tthis.editingHeaderCells = this.headerCells.map((row) => [...row]);\n\t\tthis.errorMessage = null;\n\t\tvoid this.popoverRef?.hidePopover();\n\t}\n\n\tprivate handleSubmit(event: Event): void {\n\t\tevent.preventDefault();\n\n\t\tconst primaryRow = this.getPrimaryRow();\n\t\tconst hasVisibleColumn = primaryRow.some((column) => column.visible !== false);\n\n\t\tif (!hasVisibleColumn) {\n\t\t\tthis.errorMessage = this.translateErrorAllInvisible;\n\t\t\treturn;\n\t\t} else if (this.host) {\n\t\t\tthis.errorMessage = null;\n\t\t\t// Update headerCells with the edited values\n\t\t\tthis.headerCells = this.editingHeaderCells.map((row) => row.map((cell) => ({ ...cell })));\n\n\t\t\t// Type for sanitized cells where optional properties are truly omitted\n\t\t\ttype SanitizedHeaderCell = Omit<KoliBriTableHeaderCell, 'hidable' | 'position' | 'resizable' | 'sortable' | 'visible' | 'width'> &\n\t\t\t\tPartial<Pick<KoliBriTableHeaderCell, 'hidable' | 'resizable' | 'sortable' | 'visible' | 'width'>>;\n\n\t\t\tconst sanitizedHeaderCells = this.editingHeaderCells.map((row) =>\n\t\t\t\trow.map((column): SanitizedHeaderCell => {\n\t\t\t\t\tconst { hidable, resizable, sortable, visible, width, ...rest } = column as KoliBriTableHeaderCell & { position?: unknown };\n\t\t\t\t\tconst cell: SanitizedHeaderCell = { ...rest };\n\n\t\t\t\t\tif (visible !== undefined) cell.visible = visible;\n\t\t\t\t\tif (hidable !== undefined) cell.hidable = hidable;\n\t\t\t\t\tif (sortable !== undefined) cell.sortable = sortable;\n\t\t\t\t\tif (resizable !== undefined) cell.resizable = resizable;\n\t\t\t\t\tif (width !== undefined && width !== null) cell.width = width;\n\n\t\t\t\t\treturn cell;\n\t\t\t\t}),\n\t\t\t);\n\t\t\tdispatchDomEvent(this.host, KolEvent.changeHeaderCells, sanitizedHeaderCells);\n\t\t\tvoid this.popoverRef?.hidePopover();\n\t\t}\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tconst columns = this.getPrimaryRow();\n\n\t\treturn (\n\t\t\t<KolPopoverButtonWcTag\n\t\t\t\tref={(el) => (this.popoverRef = el)}\n\t\t\t\tclass=\"kol-table-settings\"\n\t\t\t\t_icons=\"kolicon-settings\"\n\t\t\t\t_label={this.translateTableSettings}\n\t\t\t\t_popoverAlign=\"top\"\n\t\t\t\t_hideLabel\n\t\t\t>\n\t\t\t\t<div class=\"kol-table-settings__content\">\n\t\t\t\t\t<KolHeadingTag _label={this.translateTableSettings} _level={0} />\n\n\t\t\t\t\t{this.errorMessage && <KolAlertWcTag _type=\"error\" _label={this.errorMessage} _variant=\"msg\" class=\"kol-table-settings__error-message\" />}\n\n\t\t\t\t\t<form onSubmit={this.handleSubmit.bind(this)}>\n\t\t\t\t\t\t<div class=\"kol-table-settings__columns-container\">\n\t\t\t\t\t\t\t<div class=\"kol-table-settings__columns\">\n\t\t\t\t\t\t\t\t{columns.map((column, index) => (\n\t\t\t\t\t\t\t\t\t<div key={column.key} class=\"kol-table-settings__column\">\n\t\t\t\t\t\t\t\t\t\t<KolInputCheckboxTag\n\t\t\t\t\t\t\t\t\t\t\t_checked={column.visible !== false}\n\t\t\t\t\t\t\t\t\t\t\t_label={`${column.label}${column.hidable === false ? ` (${this.translateColumnNotHidable})` : ''}`}\n\t\t\t\t\t\t\t\t\t\t\t_value={true}\n\t\t\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t\t\t_disabled={column.hidable === false}\n\t\t\t\t\t\t\t\t\t\t\t_on={{ onInput: (_, value: unknown) => this.handleVisibilityChange(column.key ?? '', value) }}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<span class=\"kol-table-settings__column-label\">{column.label}</span>\n\t\t\t\t\t\t\t\t\t\t<KolInputNumberTag\n\t\t\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t\t\t_value={parseColumnWidth(column.width)}\n\t\t\t\t\t\t\t\t\t\t\t_label={translate('kol-table-settings-column-width', { placeholders: { column: column.label } })}\n\t\t\t\t\t\t\t\t\t\t\t_min={1}\n\t\t\t\t\t\t\t\t\t\t\t_disabled={column.resizable === false}\n\t\t\t\t\t\t\t\t\t\t\t_on={{ onInput: (_, value: unknown) => this.handleWidthChange(column.key ?? '', value) }}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\t\t\t_icons=\"kolicon-chevron-up\"\n\t\t\t\t\t\t\t\t\t\t\t_label={translate('kol-table-settings-move-up', { placeholders: { column: column.label } })}\n\t\t\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\t_on={{ onClick: () => this.moveColumn(column.key ?? '', 'up') }}\n\t\t\t\t\t\t\t\t\t\t\t_disabled={column.sortable === false || index === 0}\n\t\t\t\t\t\t\t\t\t\t\tdata-testid=\"table-settings-move-up\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\t\t\t_icons=\"kolicon-chevron-down\"\n\t\t\t\t\t\t\t\t\t\t\t_label={translate('kol-table-settings-move-down', { placeholders: { column: column.label } })}\n\t\t\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t\t_on={{ onClick: () => this.moveColumn(column.key ?? '', 'down') }}\n\t\t\t\t\t\t\t\t\t\t\t_disabled={column.sortable === false || index === columns.length - 1}\n\t\t\t\t\t\t\t\t\t\t\tdata-testid=\"table-settings-move-down\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div class=\"kol-table-settings__actions\">\n\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t_label={this.translateTableSettingsCancel}\n\t\t\t\t\t\t\t\t_variant=\"secondary\"\n\t\t\t\t\t\t\t\t_on={{ onClick: () => this.handleCancel() }}\n\t\t\t\t\t\t\t\tdata-testid=\"table-settings-cancel\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<KolButtonWcTag _label={this.translateTableSettingsApply} _variant=\"primary\" _type=\"submit\" data-testid=\"table-settings-apply\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</form>\n\t\t\t\t</div>\n\t\t\t</KolPopoverButtonWcTag>\n\t\t);\n\t}\n}\n"]}
|
|
@@ -212,9 +212,9 @@ export class KolTabs {
|
|
|
212
212
|
}, _icons: "kolicon-plus", "data-testid": "tabs-create-button" }))));
|
|
213
213
|
}
|
|
214
214
|
render() {
|
|
215
|
-
return (h("div", { key: '
|
|
215
|
+
return (h("div", { key: '0122ff1b3c1cd55bcc3f2f692d1f0e691458dedc', ref: (el) => {
|
|
216
216
|
this.tabPanelsElement = el;
|
|
217
|
-
}, class: clsx('kol-tabs', `kol-tabs--align-${this.state._align}`) }, this.renderButtonGroup(), h("div", { key: '
|
|
217
|
+
}, class: clsx('kol-tabs', `kol-tabs--align-${this.state._align}`) }, this.renderButtonGroup(), h("div", { key: '67d6ed1262de72a3954176170c8359d7658af5c8', class: "kol-tabs__content", ref: this.catchTabPanelHost })));
|
|
218
218
|
}
|
|
219
219
|
validateAlign(value) {
|
|
220
220
|
validateAlign(this, value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../../src/components/tabs/shadow.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { JSX } from '@stencil/core';\nimport { Component, Element, h, Method, Prop, State, Watch } from '@stencil/core';\nimport type {\n\tAlignPropType,\n\tButtonCallbacksPropType,\n\tFocusableElement,\n\tKolFocusOptions,\n\tKoliBriTabsCallbacks,\n\tLabelPropType,\n\tStencilUnknown,\n\tStringified,\n\tTabBehaviorPropType,\n\tTabButtonProps,\n\tTabsAPI,\n\tTabsStates,\n} from '../../schema';\nimport {\n\tdevHint,\n\tkoliBriQuerySelector,\n\tsetState,\n\tuiUxHintMillerscheZahl,\n\tvalidateAlign,\n\tvalidateLabel,\n\tvalidateTabBehavior,\n\twatchJsonArrayString,\n\twatchNumber,\n} from '../../schema';\n\nimport type { Generic } from 'adopted-style-sheets';\nimport { KolButtonWcTag } from '../../core/component-names';\nimport { translate } from '../../i18n';\nimport { KeyboardKey } from '../../schema/enums';\nimport type { HasCreateButtonPropType } from '../../schema/props/has-create-button';\nimport { validateHasCreateButton } from '../../schema/props/has-create-button';\nimport clsx from '../../utils/clsx';\nimport { createCtaRef, delegateClick, delegateFocus } from '../../utils/element-interaction';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\n// https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-2/tabs.html\n\n/**\n * The **Tabs** component is used to organize related content on the same page and navigate between them. Tabs ensure that large amounts of content can be more easily organized for users.\n */\n@Component({\n\ttag: 'kol-tabs',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolTabs implements TabsAPI, FocusableElement {\n\t@Element() protected readonly host?: HTMLKolTabsElement;\n\tprivate tabPanelsElement?: HTMLElement;\n\tprivate onCreateLabel = `${translate('kol-new')} …`;\n\tprivate currentFocusIndex: number | undefined;\n\tprotected readonly ctaRef = createCtaRef<HTMLKolButtonWcElement>();\n\n\tprivate nextPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step = 1): number => {\n\t\tconst nextOffset = offset + step;\n\n\t\tif (nextOffset < tabs.length) {\n\t\t\tif (tabs[nextOffset]._disabled) {\n\t\t\t\treturn this.nextPossibleTabIndex(tabs, offset, step + 1);\n\t\t\t}\n\t\t\treturn nextOffset;\n\t\t}\n\n\t\treturn offset;\n\t};\n\n\tprivate prevPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step = 1): number => {\n\t\tconst nextOffset = offset - step;\n\n\t\tif (nextOffset >= 0) {\n\t\t\tif (tabs[nextOffset]._disabled) {\n\t\t\t\treturn this.prevPossibleTabIndex(tabs, offset, step + 1);\n\t\t\t}\n\t\t\treturn nextOffset;\n\t\t}\n\n\t\treturn offset;\n\t};\n\n\tprivate onKeyDown = (event: KeyboardEvent) => {\n\t\tswitch (event.key as KeyboardKey) {\n\t\t\tcase KeyboardKey.ArrowRight:\n\t\t\t\tthis.goToNextTab(event);\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.ArrowLeft:\n\t\t\t\tthis.goToPreviousTab(event);\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.Space:\n\t\t\tcase KeyboardKey.Enter:\n\t\t\t\tthis.activateFocusedTab(event);\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tprivate getCurrentFocusIndex(): number {\n\t\tif (typeof this.currentFocusIndex === 'number') {\n\t\t\treturn this.currentFocusIndex;\n\t\t}\n\n\t\treturn this.state._selected;\n\t}\n\n\tprivate getKeyboardTabChangeMode(): 'selectFocusOnly' | 'activateCompletely' {\n\t\tif (this._behavior === 'select-manual') {\n\t\t\treturn 'selectFocusOnly';\n\t\t}\n\n\t\treturn 'activateCompletely';\n\t}\n\n\tprivate goToNextTab(event: KeyboardEvent) {\n\t\tconst nextFocusIndex = this.nextPossibleTabIndex(this.state._tabs, this.getCurrentFocusIndex());\n\t\tthis.selectNextTabEvent(event, nextFocusIndex, this.getKeyboardTabChangeMode());\n\t}\n\n\tprivate goToPreviousTab(event: KeyboardEvent) {\n\t\tconst nextFocusIndex = this.prevPossibleTabIndex(this.state._tabs, this.getCurrentFocusIndex());\n\t\tthis.selectNextTabEvent(event, nextFocusIndex, this.getKeyboardTabChangeMode());\n\t}\n\n\tprivate activateFocusedTab(event: KeyboardEvent) {\n\t\tif (typeof this.currentFocusIndex === 'number') {\n\t\t\tthis.onSelect(event, this.currentFocusIndex);\n\t\t}\n\t}\n\n\tprivate readonly onClickSelect = (event: MouseEvent, index: number): void => {\n\t\tthis.selectNextTabEvent(event, index);\n\t};\n\n\tprivate selectNextTabEvent(\n\t\tevent: KeyboardEvent | MouseEvent,\n\t\tnextTabIndex: number,\n\t\tchangeMode: 'selectFocusOnly' | 'activateCompletely' = 'activateCompletely',\n\t): void {\n\t\tthis.currentFocusIndex = nextTabIndex;\n\n\t\tthis.focusTabById(nextTabIndex);\n\n\t\tif (changeMode === 'activateCompletely') {\n\t\t\tthis._selected = nextTabIndex;\n\n\t\t\tconst tab = this.state._tabs[nextTabIndex];\n\t\t\ttab._on?.onSelect?.(event, nextTabIndex);\n\n\t\t\tthis.onSelect(event, nextTabIndex);\n\t\t}\n\t}\n\n\tprivate readonly onMouseDown = (event: Event): void => {\n\t\tevent.preventDefault();\n\t};\n\n\tprivate readonly callbacks: ButtonCallbacksPropType<number> = {\n\t\tonClick: this.onClickSelect,\n\t\tonMouseDown: this.onMouseDown,\n\t};\n\n\t/**\n\t * Sets focus on the current tab button.\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\t/**\n\t * Triggers a click on the currently selected tab.\n\t */\n\t@Method()\n\t@delegateClick('ctaRef')\n\tpublic async click(): Promise<void> {}\n\n\tprivate renderButtonGroup() {\n\t\treturn (\n\t\t\t// Rule is disabled, because KolButtonWc is focusable.\n\t\t\t// eslint-disable-next-line jsx-a11y/interactive-supports-focus\n\t\t\t<div aria-label={this.state._label} class=\"kol-tabs__button-group\" role=\"tablist\" onKeyDown={this.onKeyDown} onBlur={this.onBlur}>\n\t\t\t\t{this.state._tabs.map((button: TabButtonProps, index: number) => (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\tref={this.state._selected === index ? this.ctaRef : undefined}\n\t\t\t\t\t\t_disabled={button._disabled}\n\t\t\t\t\t\t_icons={button._icons}\n\t\t\t\t\t\t_hideLabel={button._hideLabel}\n\t\t\t\t\t\t_label={button._label} // TODO: ariaLabel-Konzept prüfen\n\t\t\t\t\t\t_on={this.callbacks as ButtonCallbacksPropType<StencilUnknown>}\n\t\t\t\t\t\t_tabIndex={this.state._selected === index ? 0 : -1}\n\t\t\t\t\t\t_tooltipAlign={button._tooltipAlign}\n\t\t\t\t\t\t_variant={this.state._selected === index ? 'custom' : undefined}\n\t\t\t\t\t\t_customClass={this.state._selected === index ? 'selected' : ''}\n\t\t\t\t\t\t_ariaControls={`tabpanel-${index}`}\n\t\t\t\t\t\t_ariaSelected={this.state._selected === index}\n\t\t\t\t\t\t_id={`${this.state._label.replace(/\\s/g, '-')}-tab-${index}`}\n\t\t\t\t\t\t_role=\"tab\"\n\t\t\t\t\t\t_value={index}\n\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t))}\n\t\t\t\t{this.state._hasCreateButton && (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\tclass=\"kol-tabs__button-create\"\n\t\t\t\t\t\t_label={this.onCreateLabel}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonClick: this.onCreate,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t_icons=\"kolicon-plus\"\n\t\t\t\t\t\tdata-testid=\"tabs-create-button\"\n\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate tabPanelHost?: HTMLDivElement;\n\n\tprivate readonly catchTabPanelHost = (el?: HTMLDivElement) => {\n\t\tthis.tabPanelHost = el;\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={(el) => {\n\t\t\t\t\tthis.tabPanelsElement = el;\n\t\t\t\t}}\n\t\t\t\tclass={clsx('kol-tabs', `kol-tabs--align-${this.state._align}`)}\n\t\t\t>\n\t\t\t\t{this.renderButtonGroup()}\n\t\t\t\t<div class=\"kol-tabs__content\" ref={this.catchTabPanelHost}>\n\t\t\t\t\t{/* <slot /> */}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the visual orientation of the component.\n\t */\n\t@Prop() public _align?: AlignPropType = 'top';\n\n\t/**\n\t * Defines which behavior is active.\n\t */\n\t@Prop() public _behavior?: TabBehaviorPropType;\n\n\t/**\n\t * Defines whether the element has a create button.\n\t */\n\t@Prop() public _hasCreateButton?: HasCreateButtonPropType = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Gibt die Liste der Callback-Funktionen an, die auf Events aufgerufen werden sollen.\n\t */\n\t@Prop() public _on?: KoliBriTabsCallbacks;\n\n\t/**\n\t * Defines which tab is active.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _selected?: number = 0;\n\n\t/**\n\t * Defines the tab captions.\n\t */\n\t@Prop() public _tabs!: Stringified<TabButtonProps[]>;\n\n\t@State() public state: TabsStates = {\n\t\t_align: 'top',\n\t\t_label: '', // ⚠ required\n\t\t_selected: 0,\n\t\t_tabs: [],\n\t};\n\n\tprivate selectNextNotDisabledTab = (selected: number, tabs: TabButtonProps[], upOrDown = true, initialSelected?: number): number => {\n\t\tif (selected > tabs.length - 1) {\n\t\t\tselected = tabs.length - 1;\n\t\t}\n\t\tif (selected < 0) {\n\t\t\tselected = 0;\n\t\t}\n\t\tif (Array.isArray(tabs) && tabs[selected]) {\n\t\t\tif (tabs[selected]._disabled) {\n\t\t\t\tif (upOrDown === true) {\n\t\t\t\t\tif (selected < tabs.length - 1) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected + 1, tabs, true, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tselected = initialSelected || selected;\n\t\t\t\t\t\tupOrDown = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (upOrDown === false) {\n\t\t\t\t\tif (selected > 0) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected - 1, tabs, false, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdevHint(`[KolTabs] All tabs are disabled, and therefore no tab can be displayed.`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn selected;\n\t};\n\n\tprivate syncSelectedAndTabs = (nextValue: unknown, nextState: Map<string, unknown>, _component: Generic.Element.Component, key: string) => {\n\t\tlet selected: number;\n\t\tif (key === '_selected') {\n\t\t\tselected = nextValue as number;\n\t\t} else {\n\t\t\tselected = this.state._selected;\n\t\t}\n\t\tlet tabs: TabButtonProps[];\n\t\tif (key === '_tabs') {\n\t\t\ttabs = nextValue as TabButtonProps[];\n\t\t} else {\n\t\t\ttabs = this.state._tabs;\n\t\t}\n\t\tif (tabs.length > 0) {\n\t\t\tnextState.set('_selected', this.selectNextNotDisabledTab(selected, tabs));\n\t\t}\n\t};\n\n\t@Watch('_align')\n\tpublic validateAlign(value?: AlignPropType) {\n\t\tvalidateAlign(this, value);\n\t}\n\n\t@Watch('_behavior')\n\tpublic validateBehavior(value?: TabBehaviorPropType) {\n\t\tvalidateTabBehavior(this, value);\n\t}\n\n\t@Watch('_hasCreateButton')\n\tpublic validateHasCreateButton(value?: HasCreateButtonPropType) {\n\t\tvalidateHasCreateButton(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriTabsCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tconst callbacks: KoliBriTabsCallbacks = {};\n\t\t\tif (typeof value.onCreate === 'function') {\n\t\t\t\tcallbacks.onCreate = value.onCreate;\n\t\t\t}\n\t\t\tif (typeof value.onSelect === 'function') {\n\t\t\t\tcallbacks.onSelect = value.onSelect;\n\t\t\t}\n\t\t\tsetState<KoliBriTabsCallbacks>(this, '_on', callbacks);\n\t\t}\n\t}\n\n\t@Watch('_selected')\n\tpublic validateSelected(value?: number): void {\n\t\twatchNumber(this, '_selected', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.syncSelectedAndTabs,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_tabs')\n\tpublic validateTabs(value?: Stringified<TabButtonProps[]>): void {\n\t\twatchJsonArrayString(\n\t\t\tthis,\n\t\t\t'_tabs',\n\t\t\t(item: TabButtonProps) => typeof item === 'object' && item !== null && typeof item._label === 'string' && item._label.length > 0,\n\t\t\tvalue,\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: this.syncSelectedAndTabs,\n\t\t\t\t\tafterPatch: this.refreshTabPanels,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t\tuiUxHintMillerscheZahl('KolTabs', this.state._tabs.length);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlign(this._align);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateSelected(this._selected);\n\t\tthis.validateTabs(this._tabs);\n\t\tthis.validateBehavior(this._behavior);\n\t\tthis.validateHasCreateButton(this._hasCreateButton);\n\t}\n\n\tprivate refreshTabPanels = () => {\n\t\tif (!this.tabPanelHost) return;\n\t\t// Clear existing panels\n\t\twhile (this.tabPanelHost.firstChild) {\n\t\t\tthis.tabPanelHost.removeChild(this.tabPanelHost.firstChild);\n\t\t}\n\t\tfor (let i = 0; i < this.state._tabs?.length; i++) {\n\t\t\tconst div = document.createElement('div');\n\t\t\tdiv.setAttribute('aria-labelledby', `${this.state._label.replace(/\\s/g, '-')}-tab-${i}`);\n\t\t\tdiv.setAttribute('id', `tabpanel-${i}`);\n\t\t\tdiv.setAttribute('role', 'tabpanel');\n\t\t\tdiv.setAttribute('hidden', '');\n\t\t\tdiv.setAttribute('tabindex', '0');\n\t\t\tconst slot = document.createElement('slot');\n\t\t\tslot.setAttribute('name', `tabpanel-slot-${i}`);\n\t\t\tdiv.appendChild(slot);\n\t\t\tthis.tabPanelHost?.appendChild(div);\n\n\t\t\tif (typeof HTMLCollection !== 'undefined' && this.host?.children instanceof HTMLCollection && this.host?.children[i] /* SSR instanceof HTMLElement */) {\n\t\t\t\tthis.host.children[i].setAttribute('slot', `tabpanel-slot-${i}`);\n\t\t\t}\n\t\t}\n\t\tthis.updateVisiblePanel();\n\t};\n\n\tprivate updateVisiblePanel = () => {\n\t\tif (!this.tabPanelHost) return;\n\t\tArray.from(this.tabPanelHost.children).forEach((child, i) => {\n\t\t\tif (i === this.state._selected) {\n\t\t\t\tchild.removeAttribute('hidden');\n\t\t\t} else {\n\t\t\t\tchild.setAttribute('hidden', '');\n\t\t\t}\n\t\t});\n\t};\n\n\tpublic componentDidRender(): void {\n\t\tthis.refreshTabPanels();\n\t}\n\n\tprivate focusTabById(index: number): void {\n\t\tif (this.tabPanelsElement /* SSR instanceof HTMLElement */) {\n\t\t\tconst button: HTMLElement | null = koliBriQuerySelector(`button#${this.state._label.replace(/\\s/g, '-')}-tab-${index}`, this.tabPanelsElement);\n\t\t\tbutton?.focus();\n\t\t}\n\t}\n\n\tprivate onSelect(event: CustomEvent | KeyboardEvent | MouseEvent | PointerEvent, index: number): void {\n\t\tthis._on?.onSelect?.(event, index);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.select, index);\n\t\t}\n\n\t\tthis.focusTabById(index);\n\t}\n\n\tprivate onCreate = (event: Event) => {\n\t\tevent.preventDefault();\n\t\tthis.state._on?.onCreate?.(event);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.create);\n\t\t}\n\t};\n\n\tprivate onBlur = () => {\n\t\tthis.currentFocusIndex = undefined;\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../../src/components/tabs/shadow.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { JSX } from '@stencil/core';\nimport { Component, Element, h, Method, Prop, State, Watch } from '@stencil/core';\nimport type {\n\tAlignPropType,\n\tButtonCallbacksPropType,\n\tClickableElement,\n\tFocusableElement,\n\tKolFocusOptions,\n\tKoliBriTabsCallbacks,\n\tLabelPropType,\n\tStencilUnknown,\n\tStringified,\n\tTabBehaviorPropType,\n\tTabButtonProps,\n\tTabsAPI,\n\tTabsStates,\n} from '../../schema';\nimport {\n\tdevHint,\n\tkoliBriQuerySelector,\n\tsetState,\n\tuiUxHintMillerscheZahl,\n\tvalidateAlign,\n\tvalidateLabel,\n\tvalidateTabBehavior,\n\twatchJsonArrayString,\n\twatchNumber,\n} from '../../schema';\n\nimport type { Generic } from 'adopted-style-sheets';\nimport { KolButtonWcTag } from '../../core/component-names';\nimport { translate } from '../../i18n';\nimport { KeyboardKey } from '../../schema/enums';\nimport type { HasCreateButtonPropType } from '../../schema/props/has-create-button';\nimport { validateHasCreateButton } from '../../schema/props/has-create-button';\nimport clsx from '../../utils/clsx';\nimport { createCtaRef, delegateClick, delegateFocus } from '../../utils/element-interaction';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\n// https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-2/tabs.html\n\n/**\n * The **Tabs** component is used to organize related content on the same page and navigate between them. Tabs ensure that large amounts of content can be more easily organized for users.\n */\n@Component({\n\ttag: 'kol-tabs',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolTabs implements ClickableElement, FocusableElement, TabsAPI {\n\t@Element() protected readonly host?: HTMLKolTabsElement;\n\tprivate tabPanelsElement?: HTMLElement;\n\tprivate onCreateLabel = `${translate('kol-new')} …`;\n\tprivate currentFocusIndex: number | undefined;\n\tprotected readonly ctaRef = createCtaRef<HTMLKolButtonWcElement>();\n\n\tprivate nextPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step = 1): number => {\n\t\tconst nextOffset = offset + step;\n\n\t\tif (nextOffset < tabs.length) {\n\t\t\tif (tabs[nextOffset]._disabled) {\n\t\t\t\treturn this.nextPossibleTabIndex(tabs, offset, step + 1);\n\t\t\t}\n\t\t\treturn nextOffset;\n\t\t}\n\n\t\treturn offset;\n\t};\n\n\tprivate prevPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step = 1): number => {\n\t\tconst nextOffset = offset - step;\n\n\t\tif (nextOffset >= 0) {\n\t\t\tif (tabs[nextOffset]._disabled) {\n\t\t\t\treturn this.prevPossibleTabIndex(tabs, offset, step + 1);\n\t\t\t}\n\t\t\treturn nextOffset;\n\t\t}\n\n\t\treturn offset;\n\t};\n\n\tprivate onKeyDown = (event: KeyboardEvent) => {\n\t\tswitch (event.key as KeyboardKey) {\n\t\t\tcase KeyboardKey.ArrowRight:\n\t\t\t\tthis.goToNextTab(event);\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.ArrowLeft:\n\t\t\t\tthis.goToPreviousTab(event);\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.Space:\n\t\t\tcase KeyboardKey.Enter:\n\t\t\t\tthis.activateFocusedTab(event);\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tprivate getCurrentFocusIndex(): number {\n\t\tif (typeof this.currentFocusIndex === 'number') {\n\t\t\treturn this.currentFocusIndex;\n\t\t}\n\n\t\treturn this.state._selected;\n\t}\n\n\tprivate getKeyboardTabChangeMode(): 'selectFocusOnly' | 'activateCompletely' {\n\t\tif (this._behavior === 'select-manual') {\n\t\t\treturn 'selectFocusOnly';\n\t\t}\n\n\t\treturn 'activateCompletely';\n\t}\n\n\tprivate goToNextTab(event: KeyboardEvent) {\n\t\tconst nextFocusIndex = this.nextPossibleTabIndex(this.state._tabs, this.getCurrentFocusIndex());\n\t\tthis.selectNextTabEvent(event, nextFocusIndex, this.getKeyboardTabChangeMode());\n\t}\n\n\tprivate goToPreviousTab(event: KeyboardEvent) {\n\t\tconst nextFocusIndex = this.prevPossibleTabIndex(this.state._tabs, this.getCurrentFocusIndex());\n\t\tthis.selectNextTabEvent(event, nextFocusIndex, this.getKeyboardTabChangeMode());\n\t}\n\n\tprivate activateFocusedTab(event: KeyboardEvent) {\n\t\tif (typeof this.currentFocusIndex === 'number') {\n\t\t\tthis.onSelect(event, this.currentFocusIndex);\n\t\t}\n\t}\n\n\tprivate readonly onClickSelect = (event: MouseEvent, index: number): void => {\n\t\tthis.selectNextTabEvent(event, index);\n\t};\n\n\tprivate selectNextTabEvent(\n\t\tevent: KeyboardEvent | MouseEvent,\n\t\tnextTabIndex: number,\n\t\tchangeMode: 'selectFocusOnly' | 'activateCompletely' = 'activateCompletely',\n\t): void {\n\t\tthis.currentFocusIndex = nextTabIndex;\n\n\t\tthis.focusTabById(nextTabIndex);\n\n\t\tif (changeMode === 'activateCompletely') {\n\t\t\tthis._selected = nextTabIndex;\n\n\t\t\tconst tab = this.state._tabs[nextTabIndex];\n\t\t\ttab._on?.onSelect?.(event, nextTabIndex);\n\n\t\t\tthis.onSelect(event, nextTabIndex);\n\t\t}\n\t}\n\n\tprivate readonly onMouseDown = (event: Event): void => {\n\t\tevent.preventDefault();\n\t};\n\n\tprivate readonly callbacks: ButtonCallbacksPropType<number> = {\n\t\tonClick: this.onClickSelect,\n\t\tonMouseDown: this.onMouseDown,\n\t};\n\n\t/**\n\t * Sets focus on the current tab button.\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\t/**\n\t * Triggers a click on the currently selected tab.\n\t */\n\t@Method()\n\t@delegateClick('ctaRef')\n\tpublic async click(): Promise<void> {}\n\n\tprivate renderButtonGroup() {\n\t\treturn (\n\t\t\t// Rule is disabled, because KolButtonWc is focusable.\n\t\t\t// eslint-disable-next-line jsx-a11y/interactive-supports-focus\n\t\t\t<div aria-label={this.state._label} class=\"kol-tabs__button-group\" role=\"tablist\" onKeyDown={this.onKeyDown} onBlur={this.onBlur}>\n\t\t\t\t{this.state._tabs.map((button: TabButtonProps, index: number) => (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\tref={this.state._selected === index ? this.ctaRef : undefined}\n\t\t\t\t\t\t_disabled={button._disabled}\n\t\t\t\t\t\t_icons={button._icons}\n\t\t\t\t\t\t_hideLabel={button._hideLabel}\n\t\t\t\t\t\t_label={button._label} // TODO: ariaLabel-Konzept prüfen\n\t\t\t\t\t\t_on={this.callbacks as ButtonCallbacksPropType<StencilUnknown>}\n\t\t\t\t\t\t_tabIndex={this.state._selected === index ? 0 : -1}\n\t\t\t\t\t\t_tooltipAlign={button._tooltipAlign}\n\t\t\t\t\t\t_variant={this.state._selected === index ? 'custom' : undefined}\n\t\t\t\t\t\t_customClass={this.state._selected === index ? 'selected' : ''}\n\t\t\t\t\t\t_ariaControls={`tabpanel-${index}`}\n\t\t\t\t\t\t_ariaSelected={this.state._selected === index}\n\t\t\t\t\t\t_id={`${this.state._label.replace(/\\s/g, '-')}-tab-${index}`}\n\t\t\t\t\t\t_role=\"tab\"\n\t\t\t\t\t\t_value={index}\n\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t))}\n\t\t\t\t{this.state._hasCreateButton && (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\tclass=\"kol-tabs__button-create\"\n\t\t\t\t\t\t_label={this.onCreateLabel}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonClick: this.onCreate,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t_icons=\"kolicon-plus\"\n\t\t\t\t\t\tdata-testid=\"tabs-create-button\"\n\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate tabPanelHost?: HTMLDivElement;\n\n\tprivate readonly catchTabPanelHost = (el?: HTMLDivElement) => {\n\t\tthis.tabPanelHost = el;\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={(el) => {\n\t\t\t\t\tthis.tabPanelsElement = el;\n\t\t\t\t}}\n\t\t\t\tclass={clsx('kol-tabs', `kol-tabs--align-${this.state._align}`)}\n\t\t\t>\n\t\t\t\t{this.renderButtonGroup()}\n\t\t\t\t<div class=\"kol-tabs__content\" ref={this.catchTabPanelHost}>\n\t\t\t\t\t{/* <slot /> */}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the visual orientation of the component.\n\t */\n\t@Prop() public _align?: AlignPropType = 'top';\n\n\t/**\n\t * Defines which behavior is active.\n\t */\n\t@Prop() public _behavior?: TabBehaviorPropType;\n\n\t/**\n\t * Defines whether the element has a create button.\n\t */\n\t@Prop() public _hasCreateButton?: HasCreateButtonPropType = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Gibt die Liste der Callback-Funktionen an, die auf Events aufgerufen werden sollen.\n\t */\n\t@Prop() public _on?: KoliBriTabsCallbacks;\n\n\t/**\n\t * Defines which tab is active.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _selected?: number = 0;\n\n\t/**\n\t * Defines the tab captions.\n\t */\n\t@Prop() public _tabs!: Stringified<TabButtonProps[]>;\n\n\t@State() public state: TabsStates = {\n\t\t_align: 'top',\n\t\t_label: '', // ⚠ required\n\t\t_selected: 0,\n\t\t_tabs: [],\n\t};\n\n\tprivate selectNextNotDisabledTab = (selected: number, tabs: TabButtonProps[], upOrDown = true, initialSelected?: number): number => {\n\t\tif (selected > tabs.length - 1) {\n\t\t\tselected = tabs.length - 1;\n\t\t}\n\t\tif (selected < 0) {\n\t\t\tselected = 0;\n\t\t}\n\t\tif (Array.isArray(tabs) && tabs[selected]) {\n\t\t\tif (tabs[selected]._disabled) {\n\t\t\t\tif (upOrDown === true) {\n\t\t\t\t\tif (selected < tabs.length - 1) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected + 1, tabs, true, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tselected = initialSelected || selected;\n\t\t\t\t\t\tupOrDown = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (upOrDown === false) {\n\t\t\t\t\tif (selected > 0) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected - 1, tabs, false, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdevHint(`[KolTabs] All tabs are disabled, and therefore no tab can be displayed.`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn selected;\n\t};\n\n\tprivate syncSelectedAndTabs = (nextValue: unknown, nextState: Map<string, unknown>, _component: Generic.Element.Component, key: string) => {\n\t\tlet selected: number;\n\t\tif (key === '_selected') {\n\t\t\tselected = nextValue as number;\n\t\t} else {\n\t\t\tselected = this.state._selected;\n\t\t}\n\t\tlet tabs: TabButtonProps[];\n\t\tif (key === '_tabs') {\n\t\t\ttabs = nextValue as TabButtonProps[];\n\t\t} else {\n\t\t\ttabs = this.state._tabs;\n\t\t}\n\t\tif (tabs.length > 0) {\n\t\t\tnextState.set('_selected', this.selectNextNotDisabledTab(selected, tabs));\n\t\t}\n\t};\n\n\t@Watch('_align')\n\tpublic validateAlign(value?: AlignPropType) {\n\t\tvalidateAlign(this, value);\n\t}\n\n\t@Watch('_behavior')\n\tpublic validateBehavior(value?: TabBehaviorPropType) {\n\t\tvalidateTabBehavior(this, value);\n\t}\n\n\t@Watch('_hasCreateButton')\n\tpublic validateHasCreateButton(value?: HasCreateButtonPropType) {\n\t\tvalidateHasCreateButton(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriTabsCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tconst callbacks: KoliBriTabsCallbacks = {};\n\t\t\tif (typeof value.onCreate === 'function') {\n\t\t\t\tcallbacks.onCreate = value.onCreate;\n\t\t\t}\n\t\t\tif (typeof value.onSelect === 'function') {\n\t\t\t\tcallbacks.onSelect = value.onSelect;\n\t\t\t}\n\t\t\tsetState<KoliBriTabsCallbacks>(this, '_on', callbacks);\n\t\t}\n\t}\n\n\t@Watch('_selected')\n\tpublic validateSelected(value?: number): void {\n\t\twatchNumber(this, '_selected', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.syncSelectedAndTabs,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_tabs')\n\tpublic validateTabs(value?: Stringified<TabButtonProps[]>): void {\n\t\twatchJsonArrayString(\n\t\t\tthis,\n\t\t\t'_tabs',\n\t\t\t(item: TabButtonProps) => typeof item === 'object' && item !== null && typeof item._label === 'string' && item._label.length > 0,\n\t\t\tvalue,\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: this.syncSelectedAndTabs,\n\t\t\t\t\tafterPatch: this.refreshTabPanels,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t\tuiUxHintMillerscheZahl('KolTabs', this.state._tabs.length);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlign(this._align);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateSelected(this._selected);\n\t\tthis.validateTabs(this._tabs);\n\t\tthis.validateBehavior(this._behavior);\n\t\tthis.validateHasCreateButton(this._hasCreateButton);\n\t}\n\n\tprivate refreshTabPanels = () => {\n\t\tif (!this.tabPanelHost) return;\n\t\t// Clear existing panels\n\t\twhile (this.tabPanelHost.firstChild) {\n\t\t\tthis.tabPanelHost.removeChild(this.tabPanelHost.firstChild);\n\t\t}\n\t\tfor (let i = 0; i < this.state._tabs?.length; i++) {\n\t\t\tconst div = document.createElement('div');\n\t\t\tdiv.setAttribute('aria-labelledby', `${this.state._label.replace(/\\s/g, '-')}-tab-${i}`);\n\t\t\tdiv.setAttribute('id', `tabpanel-${i}`);\n\t\t\tdiv.setAttribute('role', 'tabpanel');\n\t\t\tdiv.setAttribute('hidden', '');\n\t\t\tdiv.setAttribute('tabindex', '0');\n\t\t\tconst slot = document.createElement('slot');\n\t\t\tslot.setAttribute('name', `tabpanel-slot-${i}`);\n\t\t\tdiv.appendChild(slot);\n\t\t\tthis.tabPanelHost?.appendChild(div);\n\n\t\t\tif (typeof HTMLCollection !== 'undefined' && this.host?.children instanceof HTMLCollection && this.host?.children[i] /* SSR instanceof HTMLElement */) {\n\t\t\t\tthis.host.children[i].setAttribute('slot', `tabpanel-slot-${i}`);\n\t\t\t}\n\t\t}\n\t\tthis.updateVisiblePanel();\n\t};\n\n\tprivate updateVisiblePanel = () => {\n\t\tif (!this.tabPanelHost) return;\n\t\tArray.from(this.tabPanelHost.children).forEach((child, i) => {\n\t\t\tif (i === this.state._selected) {\n\t\t\t\tchild.removeAttribute('hidden');\n\t\t\t} else {\n\t\t\t\tchild.setAttribute('hidden', '');\n\t\t\t}\n\t\t});\n\t};\n\n\tpublic componentDidRender(): void {\n\t\tthis.refreshTabPanels();\n\t}\n\n\tprivate focusTabById(index: number): void {\n\t\tif (this.tabPanelsElement /* SSR instanceof HTMLElement */) {\n\t\t\tconst button: HTMLElement | null = koliBriQuerySelector(`button#${this.state._label.replace(/\\s/g, '-')}-tab-${index}`, this.tabPanelsElement);\n\t\t\tbutton?.focus();\n\t\t}\n\t}\n\n\tprivate onSelect(event: CustomEvent | KeyboardEvent | MouseEvent | PointerEvent, index: number): void {\n\t\tthis._on?.onSelect?.(event, index);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.select, index);\n\t\t}\n\n\t\tthis.focusTabById(index);\n\t}\n\n\tprivate onCreate = (event: Event) => {\n\t\tevent.preventDefault();\n\t\tthis.state._on?.onCreate?.(event);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.create);\n\t\t}\n\t};\n\n\tprivate onBlur = () => {\n\t\tthis.currentFocusIndex = undefined;\n\t};\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
1
2
|
/* forward the rem function */
|
|
2
3
|
/*
|
|
3
4
|
* This file defines the layer order for all CSS layers used in KoliBri.
|
|
@@ -17,9 +18,14 @@
|
|
|
17
18
|
@layer kol-a11y {
|
|
18
19
|
:host {
|
|
19
20
|
/*
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
* Minimum size of interactive elements.
|
|
22
|
+
*
|
|
23
|
+
* The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:
|
|
24
|
+
* `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose
|
|
25
|
+
* sub-pixel precision and resolve to e.g. 43.99px depending on the browser's
|
|
26
|
+
* rounding, dropping just below the required minimum.
|
|
27
|
+
*/
|
|
28
|
+
--a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);
|
|
23
29
|
/*
|
|
24
30
|
* No element should be used without verifying the contrast ratio of its background and font colors.
|
|
25
31
|
* By initially setting the background color to white and the font color to black,
|
|
@@ -206,8 +212,8 @@
|
|
|
206
212
|
}
|
|
207
213
|
@font-face {
|
|
208
214
|
font-family: "kolicons";
|
|
209
|
-
src: url("kolicons.eot?t=
|
|
210
|
-
src: url("kolicons.eot?t=
|
|
215
|
+
src: url("kolicons.eot?t=1782311579243"); /* IE9*/
|
|
216
|
+
src: url("kolicons.eot?t=1782311579243#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1782311579243") format("woff2"), url("kolicons.woff?t=1782311579243") format("woff"), url("kolicons.ttf?t=1782311579243") format("truetype"), url("kolicons.svg?t=1782311579243#kolicons") format("svg"); /* iOS 4.1- */
|
|
211
217
|
}
|
|
212
218
|
@layer kol-component {
|
|
213
219
|
[class^=kolicon-], [class*=" kolicon-"] {
|
|
@@ -50,7 +50,10 @@ export class KolTextarea {
|
|
|
50
50
|
} });
|
|
51
51
|
}
|
|
52
52
|
render() {
|
|
53
|
-
return (h(KolFormFieldStateWrapperFc, Object.assign({ key: '
|
|
53
|
+
return (h(KolFormFieldStateWrapperFc, Object.assign({ key: '24e29e18b88fe756f4cb2bd44044c95194042fad' }, this.getFormFieldProps()), h(KolInputContainerStateWrapperFc, { key: '510945913640229aeff1d513917f74c3f69ccb78', state: this.state }, h(KolTextAreaStateWrapperFc, Object.assign({ key: '2a712ce4f0865675d9ca762f1bf43be486952810' }, this.getTextAreaProps())))));
|
|
54
|
+
}
|
|
55
|
+
validateAriaDetails(value) {
|
|
56
|
+
this.controller.validateAriaDetails(value);
|
|
54
57
|
}
|
|
55
58
|
constructor() {
|
|
56
59
|
this.ctaRef = createCtaRef();
|
|
@@ -178,6 +181,7 @@ export class KolTextarea {
|
|
|
178
181
|
});
|
|
179
182
|
}
|
|
180
183
|
componentWillLoad() {
|
|
184
|
+
this.validateAriaDetails(this._ariaDetails);
|
|
181
185
|
this._touched = this._touched === true;
|
|
182
186
|
this.controller.componentWillLoad();
|
|
183
187
|
this.state._hasValue = !!this.state._value;
|
|
@@ -239,6 +243,31 @@ export class KolTextarea {
|
|
|
239
243
|
"attribute": "_adjust-height",
|
|
240
244
|
"defaultValue": "false"
|
|
241
245
|
},
|
|
246
|
+
"_ariaDetails": {
|
|
247
|
+
"type": "string",
|
|
248
|
+
"mutable": false,
|
|
249
|
+
"complexType": {
|
|
250
|
+
"original": "AriaDetailsPropType",
|
|
251
|
+
"resolved": "string | undefined",
|
|
252
|
+
"references": {
|
|
253
|
+
"AriaDetailsPropType": {
|
|
254
|
+
"location": "import",
|
|
255
|
+
"path": "../../schema",
|
|
256
|
+
"id": "src/schema/index.ts::AriaDetailsPropType"
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
"required": false,
|
|
261
|
+
"optional": true,
|
|
262
|
+
"docs": {
|
|
263
|
+
"tags": [],
|
|
264
|
+
"text": "References an external element by ID that provides accessible details for this textarea."
|
|
265
|
+
},
|
|
266
|
+
"getter": false,
|
|
267
|
+
"setter": false,
|
|
268
|
+
"reflect": false,
|
|
269
|
+
"attribute": "_aria-details"
|
|
270
|
+
},
|
|
242
271
|
"_disabled": {
|
|
243
272
|
"type": "boolean",
|
|
244
273
|
"mutable": false,
|
|
@@ -883,6 +912,9 @@ export class KolTextarea {
|
|
|
883
912
|
static get elementRef() { return "host"; }
|
|
884
913
|
static get watchers() {
|
|
885
914
|
return [{
|
|
915
|
+
"propName": "_ariaDetails",
|
|
916
|
+
"methodName": "validateAriaDetails"
|
|
917
|
+
}, {
|
|
886
918
|
"propName": "_accessKey",
|
|
887
919
|
"methodName": "validateAccessKey"
|
|
888
920
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../../src/components/textarea/shadow.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { JSX } from '@stencil/core';\nimport { Component, Element, h, Method, Prop, State, Watch } from '@stencil/core';\nimport clsx from '../../utils/clsx';\n\nimport type {\n\tAdjustHeightPropType,\n\tDisabledPropType,\n\tFocusableElement,\n\tHasCounterPropType,\n\tHideLabelPropType,\n\tHideMsgPropType,\n\tHintPropType,\n\tIconsHorizontalPropType,\n\tInputTypeOnDefault,\n\tKolFocusOptions,\n\tLabelWithExpertSlotPropType,\n\tMaxLengthBehaviorPropType,\n\tMsgPropType,\n\tNamePropType,\n\tPlaceholderPropType,\n\tReadOnlyPropType,\n\tRequiredPropType,\n\tRowsPropType,\n\tShortKeyPropType,\n\tSpellCheckPropType,\n\tStringified,\n\tSyncValueBySelectorPropType,\n\tTextareaAPI,\n\tTextareaResizePropType,\n\tTextareaStates,\n\tTooltipAlignPropType,\n\tVariantClassNamePropType,\n} from '../../schema';\n\nimport KolFormFieldStateWrapperFc, { type FormFieldStateWrapperProps } from '../../functional-component-wrappers/FormFieldStateWrapper/FormFieldStateWrapper';\nimport KolInputContainerStateWrapperFc from '../../functional-component-wrappers/InputContainerStateWrapper/InputContainerStateWrapper';\nimport KolTextAreaStateWrapperFc, { type TextAreaStateWrapperProps } from '../../functional-component-wrappers/TextAreaStateWrapper/TextAreaStateWrapper';\nimport { createRelatedUniqueId, createUniqueId } from '../../utils/dev.utils';\nimport { createCtaRef, delegateClick, delegateFocus } from '../../utils/element-interaction';\nimport { TextareaController } from './controller';\n\n/**\n * https://stackoverflow.com/questions/17772260/textarea-auto-height\n */\nconst increaseTextareaHeight = (el: HTMLTextAreaElement): number => {\n\tel.style.overflow = 'hidden'; // verhindert, dass ein Scrollbalken kurz angezeigt wird\n\tconst currentRows = el.rows;\n\tconst rowHeight = el.clientHeight / currentRows;\n\tel.rows = 1;\n\tconst nextRows = Math.round(el.scrollHeight / rowHeight);\n\tel.rows = currentRows;\n\treturn nextRows;\n};\n\n/**\n * The **Textarea** component provides a larger input field for content. Unlike InputText, it also allows extensive content to be entered, including line breaks.\n *\n * @slot - The label of the input field.\n */\n@Component({\n\ttag: 'kol-textarea',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolTextarea implements TextareaAPI, FocusableElement {\n\t@Element() protected readonly host?: HTMLKolTextareaElement;\n\tprotected readonly ctaRef = createCtaRef<HTMLTextAreaElement>();\n\n\t/**\n\t * Returns the current value.\n\t */\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async getValue(): Promise<string | undefined> {\n\t\treturn this.ctaRef.el?.value;\n\t}\n\n\t/**\n\t * Sets focus on the internal element.\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\t/**\n\t * Clicks the primary interactive element inside this component.\n\t */\n\t@Method()\n\t@delegateClick('ctaRef')\n\tpublic async click(): Promise<void> {}\n\n\tprivate getFormFieldProps(): FormFieldStateWrapperProps {\n\t\treturn {\n\t\t\tstate: this.state,\n\t\t\tclass: clsx('kol-form-field-textarea', {\n\t\t\t\t'kol-form-field--has-value': this.state._hasValue,\n\t\t\t\t'kol-form-field--has-counter': this.controller.hasSoftCharacterLimit() || this.controller.hasCounter(),\n\t\t\t}),\n\t\t\ttooltipAlign: this._tooltipAlign,\n\t\t\talert: this.showAsAlert(),\n\t\t};\n\t}\n\n\tprivate getTextAreaProps(): TextAreaStateWrapperProps {\n\t\tconst ariaDescribedBy = typeof this.state._maxLength === 'number' ? [createRelatedUniqueId(this.state._id, 'character-limit-hint')] : undefined; // When a character limit is defined, we provide an additional hint referenced by aria-describedby.\n\n\t\treturn {\n\t\t\tref: this.ctaRef,\n\t\t\tstate: this.state,\n\t\t\tstyle: {\n\t\t\t\tresize: this.state._resize,\n\t\t\t},\n\t\t\tariaDescribedBy,\n\t\t\t...this.controller.onFacade,\n\t\t\tonInput: this.onInput,\n\t\t\tonFocus: (event: Event) => {\n\t\t\t\tthis.controller.onFacade.onFocus(event);\n\t\t\t\tthis.inputHasFocus = true;\n\t\t\t},\n\t\t\tonBlur: (event: Event) => {\n\t\t\t\tthis.controller.onFacade.onBlur(event);\n\t\t\t\tthis.inputHasFocus = false;\n\t\t\t},\n\t\t};\n\t}\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<KolFormFieldStateWrapperFc {...this.getFormFieldProps()}>\n\t\t\t\t<KolInputContainerStateWrapperFc state={this.state}>\n\t\t\t\t\t<KolTextAreaStateWrapperFc {...this.getTextAreaProps()} />\n\t\t\t\t</KolInputContainerStateWrapperFc>\n\t\t\t</KolFormFieldStateWrapperFc>\n\t\t);\n\t}\n\n\tprivate readonly controller: TextareaController;\n\n\t/**\n\t * Defines the key combination that can be used to trigger or focus the component's interactive element.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Adjusts the height of the element to its content.\n\t * @TODO: change back to AdjustHeightPropType after stencil #4663 has been resolved\n\t */\n\t@Prop() public _adjustHeight?: boolean = false;\n\n\t/**\n\t * Makes the element not focusable and ignore all events.\n\t * @TODO: Change type back to `DisabledPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Hides the error message but leaves it in the DOM for the input's aria-describedby.\n\t * @TODO: Change type back to `HideMsgPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideMsg?: boolean = false;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Defines the hint text.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: IconsHorizontalPropType;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Defines the maximum number of input characters.\n\t */\n\t@Prop() public _maxLength?: number;\n\n\t/**\n\t * Shows a character counter for the input element.\n\t */\n\t@Prop() public _hasCounter?: boolean = false;\n\n\t/**\n\t * Defines the behavior when maxLength is set. 'hard' sets the maxlength attribute, 'soft' shows a character counter without preventing input.\n\t */\n\t@Prop() public _maxLengthBehavior?: MaxLengthBehaviorPropType = 'hard';\n\n\t/**\n\t * Defines the properties for a message rendered as Alert component.\n\t */\n\t@Prop() public _msg?: Stringified<MsgPropType>;\n\n\t/**\n\t * Defines the technical name of an input field.\n\t */\n\t@Prop() public _name?: NamePropType;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Defines the placeholder for input field. To be shown when there's no value.\n\t */\n\t@Prop() public _placeholder?: string;\n\n\t/**\n\t * Makes the input element read only.\n\t * @TODO: Change type back to `ReadOnlyPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _readOnly?: boolean = false;\n\n\t/**\n\t * Defines whether and in which direction the size of the input can be changed by the user. (https://developer.mozilla.org/de/docs/Web/CSS/resize)\n\t * In version 3 (v3), horizontal resizing is abolished. The corresponding property is then reduced to the properties `vertical` (default) and `none`.\n\t */\n\t@Prop() public _resize?: TextareaResizePropType = 'vertical';\n\n\t/**\n\t * Makes the input element required.\n\t * @TODO: Change type back to `RequiredPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _required?: boolean = false;\n\n\t/**\n\t * Maximum number of visible rows of the element.\n\t */\n\t@Prop({ mutable: true, reflect: false }) public _rows?: RowsPropType;\n\n\t/**\n\t * Adds a visual shortcut hint after the label and instructs the screen reader to read the shortcut aloud.\n\t */\n\t@Prop() public _shortKey?: ShortKeyPropType;\n\n\t/**\n\t * Defines whether the browser should check the spelling and grammar.\n\t */\n\t@Prop() public _spellCheck?: SpellCheckPropType;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: SyncValueBySelectorPropType;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'top';\n\n\t/**\n\t * Shows if the input was touched by a user.\n\t * @TODO: Change type back to `TouchedPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Defines the value of the element.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _value?: string;\n\n\t/**\n\t * Defines which variant should be used for presentation.\n\t */\n\t@Prop() public _variant?: VariantClassNamePropType;\n\n\t@State() public state: TextareaStates = {\n\t\t_adjustHeight: false,\n\t\t_currentLength: 0,\n\t\t_currentLengthDebounced: 0,\n\t\t_hasValue: false,\n\t\t_hideMsg: false,\n\t\t_id: createUniqueId('textarea'),\n\t\t_label: '', // ⚠ required\n\t\t_resize: 'vertical',\n\t};\n\n\t@State() private inputHasFocus = false;\n\n\tpublic constructor() {\n\t\tthis.controller = new TextareaController(this, 'textarea', this.host);\n\t}\n\n\tprivate showAsAlert(): boolean {\n\t\treturn Boolean(this.state._touched) && !this.inputHasFocus;\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_adjustHeight')\n\tpublic validateAdjustHeight(value?: AdjustHeightPropType): void {\n\t\tthis.controller.validateAdjustHeight(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: DisabledPropType): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_hideMsg')\n\tpublic validateHideMsg(value?: HideMsgPropType): void {\n\t\tthis.controller.validateHideMsg(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: HideLabelPropType): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hasCounter')\n\tpublic validateHasCounter(value?: HasCounterPropType): void {\n\t\tthis.controller.validateHasCounter(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: HintPropType): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: IconsHorizontalPropType): void {\n\t\tthis.controller.validateIcons(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_maxLength')\n\tpublic validateMaxLength(value?: number): void {\n\t\tthis.controller.validateMaxLength(value);\n\t}\n\n\t@Watch('_maxLengthBehavior')\n\tpublic validateMaxLengthBehavior(value?: MaxLengthBehaviorPropType): void {\n\t\tthis.controller.validateMaxLengthBehavior(value);\n\t}\n\n\t@Watch('_msg')\n\tpublic validateMsg(value?: Stringified<MsgPropType>): void {\n\t\tthis.controller.validateMsg(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: PlaceholderPropType): void {\n\t\tthis.controller.validatePlaceholder(value);\n\t}\n\n\t@Watch('_readOnly')\n\tpublic validateReadOnly(value?: ReadOnlyPropType): void {\n\t\tthis.controller.validateReadOnly(value);\n\t}\n\n\t@Watch('_resize')\n\tpublic validateResize(value?: TextareaResizePropType): void {\n\t\tthis.controller.validateResize(value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: RequiredPropType): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t@Watch('_rows')\n\tpublic validateRows(value?: RowsPropType): void {\n\t\tthis.controller.validateRows(value);\n\t}\n\n\t@Watch('_shortKey')\n\tpublic validateShortKey(value?: ShortKeyPropType): void {\n\t\tthis.controller.validateShortKey(value);\n\t}\n\n\t@Watch('_spellCheck')\n\tpublic validateSpellCheck(value?: SpellCheckPropType): void {\n\t\tthis.controller.validateSpellCheck(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: VariantClassNamePropType): void {\n\t\tthis.controller.validateVariant(value);\n\t}\n\n\tpublic componentDidLoad(): void {\n\t\tsetTimeout(() => {\n\t\t\tif (this._adjustHeight === true && this.ctaRef.el /* SSR instanceof HTMLTextAreaElement */) {\n\t\t\t\tthis._rows = this.state?._rows && this.state._rows > increaseTextareaHeight(this.ctaRef.el) ? this.state._rows : increaseTextareaHeight(this.ctaRef.el);\n\t\t\t} else if (!this._rows) {\n\t\t\t\tthis._rows = 1;\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\t\tthis.state._hasValue = !!this.state._value;\n\t\tthis.controller.addValueChangeListener((v) => (this.state._hasValue = !!v));\n\t}\n\n\tprivate readonly onInput = (event: InputEvent) => {\n\t\tif (this.ctaRef.el instanceof HTMLTextAreaElement) {\n\t\t\tthis._value = this.ctaRef.el.value;\n\t\t\tif (this.state._adjustHeight) {\n\t\t\t\tthis._rows = increaseTextareaHeight(this.ctaRef.el);\n\t\t\t}\n\t\t\tthis.controller.onFacade.onInput(event);\n\t\t}\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../../src/components/textarea/shadow.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { JSX } from '@stencil/core';\nimport { Component, Element, h, Method, Prop, State, Watch } from '@stencil/core';\nimport clsx from '../../utils/clsx';\n\nimport KolFormFieldStateWrapperFc, { type FormFieldStateWrapperProps } from '../../functional-component-wrappers/FormFieldStateWrapper/FormFieldStateWrapper';\nimport KolInputContainerStateWrapperFc from '../../functional-component-wrappers/InputContainerStateWrapper/InputContainerStateWrapper';\nimport KolTextAreaStateWrapperFc, { type TextAreaStateWrapperProps } from '../../functional-component-wrappers/TextAreaStateWrapper/TextAreaStateWrapper';\nimport type {\n\tAdjustHeightPropType,\n\tAriaDetailsPropType,\n\tClickableElement,\n\tDisabledPropType,\n\tFocusableElement,\n\tHasCounterPropType,\n\tHideLabelPropType,\n\tHideMsgPropType,\n\tHintPropType,\n\tIconsHorizontalPropType,\n\tInputTypeOnDefault,\n\tKolFocusOptions,\n\tLabelWithExpertSlotPropType,\n\tMaxLengthBehaviorPropType,\n\tMsgPropType,\n\tNamePropType,\n\tPlaceholderPropType,\n\tReadOnlyPropType,\n\tRequiredPropType,\n\tRowsPropType,\n\tShortKeyPropType,\n\tSpellCheckPropType,\n\tStringified,\n\tSyncValueBySelectorPropType,\n\tTextareaAPI,\n\tTextareaResizePropType,\n\tTextareaStates,\n\tTooltipAlignPropType,\n\tVariantClassNamePropType,\n} from '../../schema';\nimport { createRelatedUniqueId, createUniqueId } from '../../utils/dev.utils';\nimport { createCtaRef, delegateClick, delegateFocus } from '../../utils/element-interaction';\nimport { TextareaController } from './controller';\n\n/**\n * https://stackoverflow.com/questions/17772260/textarea-auto-height\n */\nconst increaseTextareaHeight = (el: HTMLTextAreaElement): number => {\n\tel.style.overflow = 'hidden'; // verhindert, dass ein Scrollbalken kurz angezeigt wird\n\tconst currentRows = el.rows;\n\tconst rowHeight = el.clientHeight / currentRows;\n\tel.rows = 1;\n\tconst nextRows = Math.round(el.scrollHeight / rowHeight);\n\tel.rows = currentRows;\n\treturn nextRows;\n};\n\n/**\n * The **Textarea** component provides a larger input field for content. Unlike InputText, it also allows extensive content to be entered, including line breaks.\n *\n * @slot - The label of the input field.\n */\n@Component({\n\ttag: 'kol-textarea',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolTextarea implements ClickableElement, FocusableElement, TextareaAPI {\n\t@Element() protected readonly host?: HTMLKolTextareaElement;\n\tprotected readonly ctaRef = createCtaRef<HTMLTextAreaElement>();\n\n\t/**\n\t * Returns the current value.\n\t */\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async getValue(): Promise<string | undefined> {\n\t\treturn this.ctaRef.el?.value;\n\t}\n\n\t/**\n\t * Sets focus on the internal element.\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\t/**\n\t * Clicks the primary interactive element inside this component.\n\t */\n\t@Method()\n\t@delegateClick('ctaRef')\n\tpublic async click(): Promise<void> {}\n\n\tprivate getFormFieldProps(): FormFieldStateWrapperProps {\n\t\treturn {\n\t\t\tstate: this.state,\n\t\t\tclass: clsx('kol-form-field-textarea', {\n\t\t\t\t'kol-form-field--has-value': this.state._hasValue,\n\t\t\t\t'kol-form-field--has-counter': this.controller.hasSoftCharacterLimit() || this.controller.hasCounter(),\n\t\t\t}),\n\t\t\ttooltipAlign: this._tooltipAlign,\n\t\t\talert: this.showAsAlert(),\n\t\t};\n\t}\n\n\tprivate getTextAreaProps(): TextAreaStateWrapperProps {\n\t\tconst ariaDescribedBy = typeof this.state._maxLength === 'number' ? [createRelatedUniqueId(this.state._id, 'character-limit-hint')] : undefined; // When a character limit is defined, we provide an additional hint referenced by aria-describedby.\n\n\t\treturn {\n\t\t\tref: this.ctaRef,\n\t\t\tstate: this.state,\n\t\t\tstyle: {\n\t\t\t\tresize: this.state._resize,\n\t\t\t},\n\t\t\tariaDescribedBy,\n\t\t\t...this.controller.onFacade,\n\t\t\tonInput: this.onInput,\n\t\t\tonFocus: (event: FocusEvent) => {\n\t\t\t\tthis.controller.onFacade.onFocus(event);\n\t\t\t\tthis.inputHasFocus = true;\n\t\t\t},\n\t\t\tonBlur: (event: FocusEvent) => {\n\t\t\t\tthis.controller.onFacade.onBlur(event);\n\t\t\t\tthis.inputHasFocus = false;\n\t\t\t},\n\t\t};\n\t}\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<KolFormFieldStateWrapperFc {...this.getFormFieldProps()}>\n\t\t\t\t<KolInputContainerStateWrapperFc state={this.state}>\n\t\t\t\t\t<KolTextAreaStateWrapperFc {...this.getTextAreaProps()} />\n\t\t\t\t</KolInputContainerStateWrapperFc>\n\t\t\t</KolFormFieldStateWrapperFc>\n\t\t);\n\t}\n\n\tprivate readonly controller: TextareaController;\n\n\t/**\n\t * Defines the key combination that can be used to trigger or focus the component's interactive element.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Adjusts the height of the element to its content.\n\t * @TODO: change back to AdjustHeightPropType after stencil #4663 has been resolved\n\t */\n\t@Prop() public _adjustHeight?: boolean = false;\n\n\t/**\n\t * References an external element by ID that provides accessible details for this textarea.\n\t */\n\t@Prop() public _ariaDetails?: AriaDetailsPropType;\n\n\t@Watch('_ariaDetails')\n\tpublic validateAriaDetails(value?: AriaDetailsPropType): void {\n\t\tthis.controller.validateAriaDetails(value);\n\t}\n\n\t/**\n\t * Makes the element not focusable and ignore all events.\n\t * @TODO: Change type back to `DisabledPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Hides the error message but leaves it in the DOM for the input's aria-describedby.\n\t * @TODO: Change type back to `HideMsgPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideMsg?: boolean = false;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Defines the hint text.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: IconsHorizontalPropType;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Defines the maximum number of input characters.\n\t */\n\t@Prop() public _maxLength?: number;\n\n\t/**\n\t * Shows a character counter for the input element.\n\t */\n\t@Prop() public _hasCounter?: boolean = false;\n\n\t/**\n\t * Defines the behavior when maxLength is set. 'hard' sets the maxlength attribute, 'soft' shows a character counter without preventing input.\n\t */\n\t@Prop() public _maxLengthBehavior?: MaxLengthBehaviorPropType = 'hard';\n\n\t/**\n\t * Defines the properties for a message rendered as Alert component.\n\t */\n\t@Prop() public _msg?: Stringified<MsgPropType>;\n\n\t/**\n\t * Defines the technical name of an input field.\n\t */\n\t@Prop() public _name?: NamePropType;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Defines the placeholder for input field. To be shown when there's no value.\n\t */\n\t@Prop() public _placeholder?: string;\n\n\t/**\n\t * Makes the input element read only.\n\t * @TODO: Change type back to `ReadOnlyPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _readOnly?: boolean = false;\n\n\t/**\n\t * Defines whether and in which direction the size of the input can be changed by the user. (https://developer.mozilla.org/de/docs/Web/CSS/resize)\n\t * In version 3 (v3), horizontal resizing is abolished. The corresponding property is then reduced to the properties `vertical` (default) and `none`.\n\t */\n\t@Prop() public _resize?: TextareaResizePropType = 'vertical';\n\n\t/**\n\t * Makes the input element required.\n\t * @TODO: Change type back to `RequiredPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _required?: boolean = false;\n\n\t/**\n\t * Maximum number of visible rows of the element.\n\t */\n\t@Prop({ mutable: true, reflect: false }) public _rows?: RowsPropType;\n\n\t/**\n\t * Adds a visual shortcut hint after the label and instructs the screen reader to read the shortcut aloud.\n\t */\n\t@Prop() public _shortKey?: ShortKeyPropType;\n\n\t/**\n\t * Defines whether the browser should check the spelling and grammar.\n\t */\n\t@Prop() public _spellCheck?: SpellCheckPropType;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: SyncValueBySelectorPropType;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'top';\n\n\t/**\n\t * Shows if the input was touched by a user.\n\t * @TODO: Change type back to `TouchedPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Defines the value of the element.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _value?: string;\n\n\t/**\n\t * Defines which variant should be used for presentation.\n\t */\n\t@Prop() public _variant?: VariantClassNamePropType;\n\n\t@State() public state: TextareaStates = {\n\t\t_adjustHeight: false,\n\t\t_currentLength: 0,\n\t\t_currentLengthDebounced: 0,\n\t\t_hasValue: false,\n\t\t_hideMsg: false,\n\t\t_id: createUniqueId('textarea'),\n\t\t_label: '', // ⚠ required\n\t\t_resize: 'vertical',\n\t};\n\n\t@State() private inputHasFocus = false;\n\n\tpublic constructor() {\n\t\tthis.controller = new TextareaController(this, 'textarea', this.host);\n\t}\n\n\tprivate showAsAlert(): boolean {\n\t\treturn Boolean(this.state._touched) && !this.inputHasFocus;\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_adjustHeight')\n\tpublic validateAdjustHeight(value?: AdjustHeightPropType): void {\n\t\tthis.controller.validateAdjustHeight(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: DisabledPropType): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_hideMsg')\n\tpublic validateHideMsg(value?: HideMsgPropType): void {\n\t\tthis.controller.validateHideMsg(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: HideLabelPropType): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hasCounter')\n\tpublic validateHasCounter(value?: HasCounterPropType): void {\n\t\tthis.controller.validateHasCounter(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: HintPropType): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: IconsHorizontalPropType): void {\n\t\tthis.controller.validateIcons(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_maxLength')\n\tpublic validateMaxLength(value?: number): void {\n\t\tthis.controller.validateMaxLength(value);\n\t}\n\n\t@Watch('_maxLengthBehavior')\n\tpublic validateMaxLengthBehavior(value?: MaxLengthBehaviorPropType): void {\n\t\tthis.controller.validateMaxLengthBehavior(value);\n\t}\n\n\t@Watch('_msg')\n\tpublic validateMsg(value?: Stringified<MsgPropType>): void {\n\t\tthis.controller.validateMsg(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: PlaceholderPropType): void {\n\t\tthis.controller.validatePlaceholder(value);\n\t}\n\n\t@Watch('_readOnly')\n\tpublic validateReadOnly(value?: ReadOnlyPropType): void {\n\t\tthis.controller.validateReadOnly(value);\n\t}\n\n\t@Watch('_resize')\n\tpublic validateResize(value?: TextareaResizePropType): void {\n\t\tthis.controller.validateResize(value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: RequiredPropType): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t@Watch('_rows')\n\tpublic validateRows(value?: RowsPropType): void {\n\t\tthis.controller.validateRows(value);\n\t}\n\n\t@Watch('_shortKey')\n\tpublic validateShortKey(value?: ShortKeyPropType): void {\n\t\tthis.controller.validateShortKey(value);\n\t}\n\n\t@Watch('_spellCheck')\n\tpublic validateSpellCheck(value?: SpellCheckPropType): void {\n\t\tthis.controller.validateSpellCheck(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: VariantClassNamePropType): void {\n\t\tthis.controller.validateVariant(value);\n\t}\n\n\tpublic componentDidLoad(): void {\n\t\tsetTimeout(() => {\n\t\t\tif (this._adjustHeight === true && this.ctaRef.el /* SSR instanceof HTMLTextAreaElement */) {\n\t\t\t\tthis._rows = this.state?._rows && this.state._rows > increaseTextareaHeight(this.ctaRef.el) ? this.state._rows : increaseTextareaHeight(this.ctaRef.el);\n\t\t\t} else if (!this._rows) {\n\t\t\t\tthis._rows = 1;\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaDetails(this._ariaDetails);\n\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\t\tthis.state._hasValue = !!this.state._value;\n\t\tthis.controller.addValueChangeListener((v) => (this.state._hasValue = !!v));\n\t}\n\n\tprivate readonly onInput = (event: InputEvent) => {\n\t\tif (this.ctaRef.el instanceof HTMLTextAreaElement) {\n\t\t\tthis._value = this.ctaRef.el.value;\n\t\t\tif (this.state._adjustHeight) {\n\t\t\t\tthis._rows = increaseTextareaHeight(this.ctaRef.el);\n\t\t\t}\n\t\t\tthis.controller.onFacade.onInput(event);\n\t\t}\n\t};\n}\n"]}
|
|
@@ -18,9 +18,14 @@
|
|
|
18
18
|
@layer kol-a11y {
|
|
19
19
|
:host {
|
|
20
20
|
/*
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
* Minimum size of interactive elements.
|
|
22
|
+
*
|
|
23
|
+
* The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:
|
|
24
|
+
* `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose
|
|
25
|
+
* sub-pixel precision and resolve to e.g. 43.99px depending on the browser's
|
|
26
|
+
* rounding, dropping just below the required minimum.
|
|
27
|
+
*/
|
|
28
|
+
--a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);
|
|
24
29
|
/*
|
|
25
30
|
* No element should be used without verifying the contrast ratio of its background and font colors.
|
|
26
31
|
* By initially setting the background color to white and the font color to black,
|
|
@@ -207,8 +212,8 @@
|
|
|
207
212
|
}
|
|
208
213
|
@font-face {
|
|
209
214
|
font-family: "kolicons";
|
|
210
|
-
src: url("kolicons.eot?t=
|
|
211
|
-
src: url("kolicons.eot?t=
|
|
215
|
+
src: url("kolicons.eot?t=1782311579243"); /* IE9*/
|
|
216
|
+
src: url("kolicons.eot?t=1782311579243#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1782311579243") format("woff2"), url("kolicons.woff?t=1782311579243") format("woff"), url("kolicons.ttf?t=1782311579243") format("truetype"), url("kolicons.svg?t=1782311579243#kolicons") format("svg"); /* iOS 4.1- */
|
|
212
217
|
}
|
|
213
218
|
@layer kol-component {
|
|
214
219
|
[class^=kolicon-], [class*=" kolicon-"] {
|
|
@@ -420,7 +425,7 @@
|
|
|
420
425
|
justify-content: flex-start;
|
|
421
426
|
}
|
|
422
427
|
.kol-form-field--required .kol-form-field__label-text:has(.kol-span__slot[hidden])::after,
|
|
423
|
-
.kol-form-field--required .kol-tooltip__content .kol-span__label::after {
|
|
428
|
+
.kol-form-field--required .kol-form-field .kol-tooltip__content .kol-span__label::after {
|
|
424
429
|
content: "*"/"";
|
|
425
430
|
}
|
|
426
431
|
.kol-input-container {
|
|
@@ -76,7 +76,7 @@ export class KolToastContainer {
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
render() {
|
|
79
|
-
return (h(Host, { key: '
|
|
79
|
+
return (h(Host, { key: '41ab46ff3582bcf5059887ddff7b4e74efe22aed', class: "kol-toast-container" }, this.state._toastStates.length > 1 && (h(KolButtonTag, { key: '67638c26d8d0c8a9b1255069aec40f90ab32ff0e', _label: this.translateToastCloseAll, class: "kol-toast-container__button-close-all", _on: {
|
|
80
80
|
onClick: () => {
|
|
81
81
|
void this.closeAll();
|
|
82
82
|
},
|
|
@@ -18,9 +18,14 @@
|
|
|
18
18
|
@layer kol-a11y {
|
|
19
19
|
:host {
|
|
20
20
|
/*
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
* Minimum size of interactive elements.
|
|
22
|
+
*
|
|
23
|
+
* The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:
|
|
24
|
+
* `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose
|
|
25
|
+
* sub-pixel precision and resolve to e.g. 43.99px depending on the browser's
|
|
26
|
+
* rounding, dropping just below the required minimum.
|
|
27
|
+
*/
|
|
28
|
+
--a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);
|
|
24
29
|
/*
|
|
25
30
|
* No element should be used without verifying the contrast ratio of its background and font colors.
|
|
26
31
|
* By initially setting the background color to white and the font color to black,
|
|
@@ -207,8 +212,8 @@
|
|
|
207
212
|
}
|
|
208
213
|
@font-face {
|
|
209
214
|
font-family: "kolicons";
|
|
210
|
-
src: url("kolicons.eot?t=
|
|
211
|
-
src: url("kolicons.eot?t=
|
|
215
|
+
src: url("kolicons.eot?t=1782311579243"); /* IE9*/
|
|
216
|
+
src: url("kolicons.eot?t=1782311579243#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1782311579243") format("woff2"), url("kolicons.woff?t=1782311579243") format("woff"), url("kolicons.ttf?t=1782311579243") format("truetype"), url("kolicons.svg?t=1782311579243#kolicons") format("svg"); /* iOS 4.1- */
|
|
212
217
|
}
|
|
213
218
|
@layer kol-component {
|
|
214
219
|
[class^=kolicon-], [class*=" kolicon-"] {
|
|
@@ -50,7 +50,7 @@ export class KolToolbar {
|
|
|
50
50
|
return Object.assign(Object.assign({}, rest), { _icons, _disabled });
|
|
51
51
|
}
|
|
52
52
|
render() {
|
|
53
|
-
return (h("div", { key: '
|
|
53
|
+
return (h("div", { key: '620bd0c219c8e3425d7fc04be129c7ef9e993a84', class: `kol-toolbar kol-toolbar--orientation-${this.state._orientation}`, role: "toolbar", "aria-label": this.state._label }, this.state._items.map(this.renderItem)));
|
|
54
54
|
}
|
|
55
55
|
validateLabel(value) {
|
|
56
56
|
validateLabel(this, value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../../src/components/toolbar/shadow.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { JSX } from '@stencil/core';\nimport { Component, Element, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { KolButtonWcTag, KolLinkWcTag } from '../../core/component-names';\nimport type { FocusableElement, KolFocusOptions, LabelPropType, ToolbarAPI, ToolbarItemPropType, ToolbarItemsPropType, ToolbarStates } from '../../schema';\nimport { validateLabel, validateToolbarItems } from '../../schema';\nimport { KeyboardKey } from '../../schema/enums';\nimport type { OrientationPropType } from '../../schema/props/orientation';\nimport { validateOrientation } from '../../schema/props/orientation';\nimport { delegateClick, setClick } from '../../utils/element-click';\nimport { delegateFocus, setFocus } from '../../utils/element-focus';\n\n@Component({\n\ttag: 'kol-toolbar',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolToolbar implements ToolbarAPI, FocusableElement {\n\t@Element() private readonly host?: HTMLElement;\n\n\t@State() public state: ToolbarStates = {\n\t\t_label: '',\n\t\t_items: [],\n\t};\n\n\t@State() private currentIndex: number = 0;\n\n\tprivate indexToElement = new Map<number, HTMLKolLinkWcElement | HTMLKolButtonWcElement>();\n\n\t/**\n\t * Sets focus on the currently active toolbar item.\n\t */\n\t@Method()\n\tpublic async focus(options?: KolFocusOptions): Promise<void> {\n\t\tconst firstEnabledItem = this.indexToElement.get(this.currentIndex);\n\t\tif (firstEnabledItem) {\n\t\t\treturn delegateFocus(this.host!, () => setFocus(firstEnabledItem, options));\n\t\t}\n\t}\n\n\t/**\n\t * Triggers a click on the currently active toolbar item.\n\t */\n\t@Method()\n\tpublic async click(): Promise<void> {\n\t\tconst currentItem = this.indexToElement.get(this.currentIndex);\n\t\tif (currentItem) {\n\t\t\treturn delegateClick(this.host!, async () => setClick(currentItem));\n\t\t}\n\t}\n\n\tprivate normalizeItem(item: ToolbarItemPropType): ToolbarItemPropType {\n\t\tconst { _icons, _disabled, ...rest } = item;\n\t\treturn { ...rest, _icons, _disabled };\n\t}\n\tprivate renderItem = (raw: ToolbarItemPropType, index: number): JSX.Element => {\n\t\tconst element = this.normalizeItem(raw);\n\t\tconst tabIndex = index === this.currentIndex && !element?._disabled ? 0 : -1;\n\n\t\tconst props = {\n\t\t\tkey: index,\n\t\t\tclass: 'button normal kol-toolbar__item',\n\t\t\t_tabIndex: tabIndex,\n\t\t\t_variant: 'normal',\n\t\t};\n\t\tconst catchRef = (el?: HTMLKolLinkWcElement | HTMLKolButtonWcElement) => {\n\t\t\tif (el) this.indexToElement.set(index, el);\n\t\t};\n\t\treturn element.type === 'link' ? (\n\t\t\t<KolLinkWcTag {...props} {...element} ref={catchRef}></KolLinkWcTag>\n\t\t) : (\n\t\t\t<KolButtonWcTag {...props} {...element} ref={catchRef}></KolButtonWcTag>\n\t\t);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<div class={`kol-toolbar kol-toolbar--orientation-${this.state._orientation}`} role=\"toolbar\" aria-label={this.state._label}>\n\t\t\t\t{this.state._items.map(this.renderItem)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: string;\n\n\t/**\n\t * Defines the functional elements of toolbar to render (e.g. kol-link, kol-button).\n\t */\n\t@Prop() public _items!: ToolbarItemsPropType;\n\n\t/**\n\t * Defines whether the orientation of the component is horizontal or vertical.\n\t */\n\t@Prop() public _orientation?: OrientationPropType;\n\n\t@Watch('_label') validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value);\n\t}\n\n\t@Watch('_items')\n\tpublic validateItems(value?: ToolbarItemsPropType): void {\n\t\tvalidateToolbarItems(this, value);\n\t\tthis.indexToElement.clear();\n\t\tthis.setFirstEnabledItemIndex();\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: OrientationPropType): void {\n\t\tvalidateOrientation(this, value);\n\t}\n\n\t/**\n\t * Retrieves the toolbar item by index if defined.\n\t * If not it use the current index of state.\n\t *\n\t * @returns An array of HTMLElements representing the toolbar items.\n\t */\n\tprivate getCurrentToolbarItem(index?: number): HTMLKolLinkWcElement | HTMLKolButtonWcElement | undefined {\n\t\treturn typeof index === 'number' ? this.indexToElement.get(index) : undefined;\n\t}\n\n\t/**\n\t * Sets the index of the first enabled toolbar item.\n\t */\n\tprivate setFirstEnabledItemIndex() {\n\t\tthis.currentIndex = this.state._items?.findIndex((item) => !item._disabled);\n\t}\n\n\t@Listen('keydown')\n\tpublic handleKeyDown(event: KeyboardEvent) {\n\t\tconst pressedKey = event.code as KeyboardKey;\n\t\tconst isArrowKey = [KeyboardKey.ArrowUp, KeyboardKey.ArrowDown, KeyboardKey.ArrowRight, KeyboardKey.ArrowLeft].includes(pressedKey);\n\t\tif (!isArrowKey) return;\n\t\tevent.preventDefault();\n\n\t\tconst lastItemIndex = (this._items?.length ?? 0) - 1;\n\t\tif (lastItemIndex < 0) return;\n\t\tconst currentIndex = this.currentIndex;\n\t\tlet nextIndex = currentIndex;\n\n\t\tswitch (pressedKey) {\n\t\t\tcase KeyboardKey.ArrowUp:\n\t\t\tcase KeyboardKey.ArrowLeft:\n\t\t\t\tnextIndex = currentIndex > 0 ? currentIndex - 1 : lastItemIndex;\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.ArrowDown:\n\t\t\tcase KeyboardKey.ArrowRight:\n\t\t\t\tnextIndex = currentIndex < lastItemIndex ? currentIndex + 1 : 0;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (currentIndex === nextIndex) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.state._items?.[nextIndex]?._disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.currentIndex = nextIndex;\n\t\tconst item = this.getCurrentToolbarItem(nextIndex);\n\t\tif (this.host) {\n\t\t\tvoid item?.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Resets the tabIndexes of the toolbar to default.\n\t */\n\t@Listen('focusout', { capture: true })\n\tpublic handleFocusout(event: FocusEvent) {\n\t\tif (event.target === this.host) this.setFirstEnabledItemIndex();\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateItems(this._items);\n\t\tthis.validateOrientation(this._orientation);\n\t\tthis.setFirstEnabledItemIndex();\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"shadow.js","sourceRoot":"","sources":["../../../src/components/toolbar/shadow.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { JSX } from '@stencil/core';\nimport { Component, Element, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { KolButtonWcTag, KolLinkWcTag } from '../../core/component-names';\nimport type {\n\tClickableElement,\n\tFocusableElement,\n\tKolFocusOptions,\n\tLabelPropType,\n\tToolbarAPI,\n\tToolbarItemPropType,\n\tToolbarItemsPropType,\n\tToolbarStates,\n} from '../../schema';\nimport { validateLabel, validateToolbarItems } from '../../schema';\nimport { KeyboardKey } from '../../schema/enums';\nimport type { OrientationPropType } from '../../schema/props/orientation';\nimport { validateOrientation } from '../../schema/props/orientation';\nimport { delegateClick, setClick } from '../../utils/element-click';\nimport { delegateFocus, setFocus } from '../../utils/element-focus';\n\n@Component({\n\ttag: 'kol-toolbar',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolToolbar implements ClickableElement, FocusableElement, ToolbarAPI {\n\t@Element() private readonly host?: HTMLElement;\n\n\t@State() public state: ToolbarStates = {\n\t\t_label: '',\n\t\t_items: [],\n\t};\n\n\t@State() private currentIndex: number = 0;\n\n\tprivate indexToElement = new Map<number, HTMLKolLinkWcElement | HTMLKolButtonWcElement>();\n\n\t/**\n\t * Sets focus on the currently active toolbar item.\n\t */\n\t@Method()\n\tpublic async focus(options?: KolFocusOptions): Promise<void> {\n\t\tconst firstEnabledItem = this.indexToElement.get(this.currentIndex);\n\t\tif (firstEnabledItem) {\n\t\t\treturn delegateFocus(this.host!, () => setFocus(firstEnabledItem, options));\n\t\t}\n\t}\n\n\t/**\n\t * Triggers a click on the currently active toolbar item.\n\t */\n\t@Method()\n\tpublic async click(): Promise<void> {\n\t\tconst currentItem = this.indexToElement.get(this.currentIndex);\n\t\tif (currentItem) {\n\t\t\treturn delegateClick(this.host!, async () => setClick(currentItem));\n\t\t}\n\t}\n\n\tprivate normalizeItem(item: ToolbarItemPropType): ToolbarItemPropType {\n\t\tconst { _icons, _disabled, ...rest } = item;\n\t\treturn { ...rest, _icons, _disabled };\n\t}\n\tprivate renderItem = (raw: ToolbarItemPropType, index: number): JSX.Element => {\n\t\tconst element = this.normalizeItem(raw);\n\t\tconst tabIndex = index === this.currentIndex && !element?._disabled ? 0 : -1;\n\n\t\tconst props = {\n\t\t\tkey: index,\n\t\t\tclass: 'button normal kol-toolbar__item',\n\t\t\t_tabIndex: tabIndex,\n\t\t\t_variant: 'normal',\n\t\t};\n\t\tconst catchRef = (el?: HTMLKolLinkWcElement | HTMLKolButtonWcElement) => {\n\t\t\tif (el) this.indexToElement.set(index, el);\n\t\t};\n\t\treturn element.type === 'link' ? (\n\t\t\t<KolLinkWcTag {...props} {...element} ref={catchRef}></KolLinkWcTag>\n\t\t) : (\n\t\t\t<KolButtonWcTag {...props} {...element} ref={catchRef}></KolButtonWcTag>\n\t\t);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<div class={`kol-toolbar kol-toolbar--orientation-${this.state._orientation}`} role=\"toolbar\" aria-label={this.state._label}>\n\t\t\t\t{this.state._items.map(this.renderItem)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: string;\n\n\t/**\n\t * Defines the functional elements of toolbar to render (e.g. kol-link, kol-button).\n\t */\n\t@Prop() public _items!: ToolbarItemsPropType;\n\n\t/**\n\t * Defines whether the orientation of the component is horizontal or vertical.\n\t */\n\t@Prop() public _orientation?: OrientationPropType;\n\n\t@Watch('_label') validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value);\n\t}\n\n\t@Watch('_items')\n\tpublic validateItems(value?: ToolbarItemsPropType): void {\n\t\tvalidateToolbarItems(this, value);\n\t\tthis.indexToElement.clear();\n\t\tthis.setFirstEnabledItemIndex();\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: OrientationPropType): void {\n\t\tvalidateOrientation(this, value);\n\t}\n\n\t/**\n\t * Retrieves the toolbar item by index if defined.\n\t * If not it use the current index of state.\n\t *\n\t * @returns An array of HTMLElements representing the toolbar items.\n\t */\n\tprivate getCurrentToolbarItem(index?: number): HTMLKolLinkWcElement | HTMLKolButtonWcElement | undefined {\n\t\treturn typeof index === 'number' ? this.indexToElement.get(index) : undefined;\n\t}\n\n\t/**\n\t * Sets the index of the first enabled toolbar item.\n\t */\n\tprivate setFirstEnabledItemIndex() {\n\t\tthis.currentIndex = this.state._items?.findIndex((item) => !item._disabled);\n\t}\n\n\t@Listen('keydown')\n\tpublic handleKeyDown(event: KeyboardEvent) {\n\t\tconst pressedKey = event.code as KeyboardKey;\n\t\tconst isArrowKey = [KeyboardKey.ArrowUp, KeyboardKey.ArrowDown, KeyboardKey.ArrowRight, KeyboardKey.ArrowLeft].includes(pressedKey);\n\t\tif (!isArrowKey) return;\n\t\tevent.preventDefault();\n\n\t\tconst lastItemIndex = (this._items?.length ?? 0) - 1;\n\t\tif (lastItemIndex < 0) return;\n\t\tconst currentIndex = this.currentIndex;\n\t\tlet nextIndex = currentIndex;\n\n\t\tswitch (pressedKey) {\n\t\t\tcase KeyboardKey.ArrowUp:\n\t\t\tcase KeyboardKey.ArrowLeft:\n\t\t\t\tnextIndex = currentIndex > 0 ? currentIndex - 1 : lastItemIndex;\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.ArrowDown:\n\t\t\tcase KeyboardKey.ArrowRight:\n\t\t\t\tnextIndex = currentIndex < lastItemIndex ? currentIndex + 1 : 0;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (currentIndex === nextIndex) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.state._items?.[nextIndex]?._disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.currentIndex = nextIndex;\n\t\tconst item = this.getCurrentToolbarItem(nextIndex);\n\t\tif (this.host) {\n\t\t\tvoid item?.focus();\n\t\t}\n\t}\n\n\t/**\n\t * Resets the tabIndexes of the toolbar to default.\n\t */\n\t@Listen('focusout', { capture: true })\n\tpublic handleFocusout(event: FocusEvent) {\n\t\tif (event.target === this.host) this.setFirstEnabledItemIndex();\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateItems(this._items);\n\t\tthis.validateOrientation(this._orientation);\n\t\tthis.setFirstEnabledItemIndex();\n\t}\n}\n"]}
|