@public-ui/components 4.2.1 → 4.3.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/kolicons/kolicons.eot +0 -0
- package/assets/kolicons/kolicons.ttf +0 -0
- package/assets/kolicons/kolicons.woff +0 -0
- package/assets/kolicons/kolicons.woff2 +0 -0
- package/assets/kolicons/style.css +6 -6
- package/custom-elements.json +30 -30
- package/dist/cjs/Alert-DGeuWGwx.js +93 -0
- package/dist/cjs/Alert-DGeuWGwx.js.map +1 -0
- package/dist/cjs/Collapsible-D5MJpSsb.js +27 -0
- package/dist/cjs/Collapsible-D5MJpSsb.js.map +1 -0
- package/dist/cjs/CustomSuggestionsOptionsGroup-CXqRxSlV.js +31 -0
- package/dist/cjs/CustomSuggestionsOptionsGroup-CXqRxSlV.js.map +1 -0
- package/dist/cjs/FieldControlStateWrapper-9AbnJdJw.js +123 -0
- package/dist/cjs/FieldControlStateWrapper-9AbnJdJw.js.map +1 -0
- package/dist/cjs/FormFieldStateWrapper-D8PA3SkL.js +848 -0
- package/dist/cjs/FormFieldStateWrapper-D8PA3SkL.js.map +1 -0
- package/dist/cjs/Heading-D9SmGbfD.js +41 -0
- package/dist/cjs/Heading-D9SmGbfD.js.map +1 -0
- package/dist/cjs/Input-7dreufF0.js +29 -0
- package/dist/cjs/Input-7dreufF0.js.map +1 -0
- package/dist/cjs/InputStateWrapper-ntE05AJl.js +86 -0
- package/dist/cjs/InputStateWrapper-ntE05AJl.js.map +1 -0
- package/dist/cjs/access-and-short-key-B_Jn8UfN.js +41 -0
- package/dist/cjs/access-and-short-key-B_Jn8UfN.js.map +1 -0
- package/dist/cjs/align-e4FQ7dUp.js +26 -0
- package/dist/cjs/align-e4FQ7dUp.js.map +1 -0
- package/dist/cjs/align-floating-elements-DfUaAAqe.js +1672 -0
- package/dist/cjs/align-floating-elements-DfUaAAqe.js.map +1 -0
- package/dist/cjs/app-globals-DS0A1y3l.js +36 -0
- package/dist/cjs/app-globals-DS0A1y3l.js.map +1 -0
- package/dist/cjs/aria-expanded-DVEjetkn.js +31 -0
- package/dist/cjs/aria-expanded-DVEjetkn.js.map +1 -0
- package/dist/cjs/aria-labelledby-BhnM3OnL.js +60 -0
- package/dist/cjs/aria-labelledby-BhnM3OnL.js.map +1 -0
- package/dist/cjs/associated.controller-CUvZCmFF.js +190 -0
- package/dist/cjs/associated.controller-CUvZCmFF.js.map +1 -0
- package/dist/cjs/auto-complete-ByyIPPbm.js +18 -0
- package/dist/cjs/auto-complete-ByyIPPbm.js.map +1 -0
- package/dist/cjs/bem-registry-D9uDM1GJ.js +163 -0
- package/dist/cjs/bem-registry-D9uDM1GJ.js.map +1 -0
- package/dist/cjs/bootstrap-De2npoa_.js +36 -0
- package/dist/cjs/bootstrap-De2npoa_.js.map +1 -0
- package/dist/cjs/color-1N4YnPDO.js +101 -0
- package/dist/cjs/color-1N4YnPDO.js.map +1 -0
- package/dist/cjs/common-DAAt5YQ7.js +1769 -0
- package/dist/cjs/common-DAAt5YQ7.js.map +1 -0
- package/dist/cjs/component-BEcrKHc2.js +9153 -0
- package/dist/cjs/component-BEcrKHc2.js.map +1 -0
- package/dist/cjs/component-BpTg8PCv.js +23 -0
- package/dist/cjs/component-BpTg8PCv.js.map +1 -0
- package/dist/cjs/component-DA5ZXmFP.js +16 -0
- package/dist/cjs/component-DA5ZXmFP.js.map +1 -0
- package/dist/cjs/component-U7UWIKdR.js +17 -0
- package/dist/cjs/component-U7UWIKdR.js.map +1 -0
- package/dist/cjs/contrast-CWF2pSYV.js +100 -0
- package/dist/cjs/contrast-CWF2pSYV.js.map +1 -0
- package/dist/cjs/controller-Br37uto2.js +55 -0
- package/dist/cjs/controller-Br37uto2.js.map +1 -0
- package/dist/cjs/controller-CWTdHXvg.js +93 -0
- package/dist/cjs/controller-CWTdHXvg.js.map +1 -0
- package/dist/cjs/controller-DHsc-8t1.js +241 -0
- package/dist/cjs/controller-DHsc-8t1.js.map +1 -0
- package/dist/cjs/controller-DNlov9_q.js +99 -0
- package/dist/cjs/controller-DNlov9_q.js.map +1 -0
- package/dist/cjs/controller-DmoMYYzy.js +126 -0
- package/dist/cjs/controller-DmoMYYzy.js.map +1 -0
- package/dist/cjs/controller-icon-CdwPO8hD.js +169 -0
- package/dist/cjs/controller-icon-CdwPO8hD.js.map +1 -0
- package/dist/cjs/custom-class-C8GDf7By.js +17 -0
- package/dist/cjs/custom-class-C8GDf7By.js.map +1 -0
- package/dist/cjs/dev.utils-BaRzDChI.js +86 -0
- package/dist/cjs/dev.utils-BaRzDChI.js.map +1 -0
- package/dist/cjs/devtools-Ch90JQxx.js +103 -0
- package/dist/cjs/devtools-Ch90JQxx.js.map +1 -0
- package/dist/cjs/disabled-D8jGjcwY.js +23 -0
- package/dist/cjs/disabled-D8jGjcwY.js.map +1 -0
- package/dist/cjs/element-focus-B4BhAkh_.js +164 -0
- package/dist/cjs/element-focus-B4BhAkh_.js.map +1 -0
- package/dist/cjs/element-interaction-CmOQWzhR.js +70 -0
- package/dist/cjs/element-interaction-CmOQWzhR.js.map +1 -0
- package/dist/cjs/events-DN9qldnr.js +45 -0
- package/dist/cjs/events-DN9qldnr.js.map +1 -0
- package/dist/cjs/has-closer-CuErOOct.js +15 -0
- package/dist/cjs/has-closer-CuErOOct.js.map +1 -0
- package/dist/cjs/hide-label-CO4GBDgf.js +15 -0
- package/dist/cjs/hide-label-CO4GBDgf.js.map +1 -0
- package/dist/cjs/href-DoBpb9Pl.js +15 -0
- package/dist/cjs/href-DoBpb9Pl.js.map +1 -0
- package/dist/cjs/i18n-DL7vJXNn.js +19 -0
- package/dist/cjs/i18n-DL7vJXNn.js.map +1 -0
- package/dist/cjs/icons-D80xUBDS.js +86 -0
- package/dist/cjs/icons-D80xUBDS.js.map +1 -0
- package/dist/cjs/index-Dk00HcEs.js +2908 -0
- package/dist/cjs/index-Dk00HcEs.js.map +1 -0
- package/dist/cjs/index.cjs.js +4 -4
- package/dist/cjs/inline-1X3ssV6v.js +15 -0
- package/dist/cjs/inline-1X3ssV6v.js.map +1 -0
- package/dist/cjs/kol-abbr.cjs.entry.js +14 -14
- package/dist/cjs/kol-accordion.cjs.entry.js +17 -17
- package/dist/cjs/kol-accordion.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-alert-wc.cjs.entry.js +13 -13
- package/dist/cjs/kol-alert.cjs.entry.js +3 -3
- package/dist/cjs/kol-avatar.cjs.entry.js +9 -9
- package/dist/cjs/kol-badge.cjs.entry.js +15 -15
- package/dist/cjs/kol-badge.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +8 -8
- package/dist/cjs/kol-button-link.cjs.entry.js +7 -7
- package/dist/cjs/kol-button-link.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-button-wc.cjs.entry.js +31 -31
- package/dist/cjs/kol-button-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-button.cjs.entry.js +7 -7
- package/dist/cjs/kol-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-card-wc.cjs.entry.js +16 -16
- package/dist/cjs/kol-card.cjs.entry.js +3 -3
- package/dist/cjs/kol-click-button.cjs.entry.js +40 -13
- package/dist/cjs/kol-click-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-combobox.cjs.entry.js +48 -42
- package/dist/cjs/kol-combobox.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-details.cjs.entry.js +17 -17
- package/dist/cjs/kol-details.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-dialog-wc.cjs.entry.js +8 -8
- package/dist/cjs/kol-dialog.cjs.entry.js +3 -3
- package/dist/cjs/kol-drawer.cjs.entry.js +12 -12
- package/dist/cjs/kol-form.cjs.entry.js +9 -9
- package/dist/cjs/kol-heading.cjs.entry.js +5 -5
- package/dist/cjs/kol-icon.cjs.entry.js +8 -8
- package/dist/cjs/kol-image.cjs.entry.js +24 -8
- package/dist/cjs/kol-image.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js +37 -37
- package/dist/cjs/kol-input-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js +37 -37
- package/dist/cjs/kol-input-color.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js +40 -40
- package/dist/cjs/kol-input-date.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js +46 -46
- package/dist/cjs/kol-input-email.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js +37 -37
- package/dist/cjs/kol-input-file.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js +41 -41
- package/dist/cjs/kol-input-number.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js +42 -42
- package/dist/cjs/kol-input-password.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js +38 -37
- package/dist/cjs/kol-input-radio.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js +38 -38
- package/dist/cjs/kol-input-range.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js +45 -45
- package/dist/cjs/kol-input-text.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js +5 -5
- package/dist/cjs/kol-link-button.cjs.entry.js +7 -7
- package/dist/cjs/kol-link-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js +30 -30
- package/dist/cjs/kol-link-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-link.cjs.entry.js +7 -7
- package/dist/cjs/kol-link.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-meter.cjs.entry.js +10 -35
- package/dist/cjs/kol-meter.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js +3 -3
- package/dist/cjs/kol-nav.cjs.entry.js +9 -9
- package/dist/cjs/kol-pagination-wc.cjs.entry.js +10 -10
- package/dist/cjs/kol-pagination.cjs.entry.js +3 -3
- package/dist/cjs/kol-popover-button-wc.cjs.entry.js +11 -11
- package/dist/cjs/kol-popover-button-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-popover-button.cjs.entry.js +7 -7
- package/dist/cjs/kol-popover-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js +7 -7
- package/dist/cjs/kol-quote.cjs.entry.js +6 -6
- package/dist/cjs/kol-select-wc.cjs.entry.js +39 -39
- package/dist/cjs/kol-select-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-select.cjs.entry.js +7 -7
- package/dist/cjs/kol-select.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-single-select.cjs.entry.js +42 -42
- package/dist/cjs/kol-single-select.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-skeleton.cjs.entry.js +23 -19
- package/dist/cjs/kol-skeleton.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js +10 -10
- package/dist/cjs/kol-skip-nav.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +6 -6
- package/dist/cjs/kol-split-button.cjs.entry.js +9 -9
- package/dist/cjs/kol-split-button.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-table-settings-wc.cjs.entry.js +4 -4
- package/dist/cjs/kol-table-stateful.cjs.entry.js +71 -14
- package/dist/cjs/kol-table-stateful.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-table-stateless-wc.cjs.entry.js +45 -58
- package/dist/cjs/kol-table-stateless-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-table-stateless.cjs.entry.js +4 -4
- package/dist/cjs/kol-table-stateless.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js +12 -12
- package/dist/cjs/kol-tabs.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js +39 -39
- package/dist/cjs/kol-textarea.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-toast-container.cjs.entry.js +25 -19
- package/dist/cjs/kol-toast-container.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-toolbar.cjs.entry.js +9 -9
- package/dist/cjs/kol-toolbar.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tooltip-wc.cjs.entry.js +12 -12
- package/dist/cjs/kol-tree-item-wc.cjs.entry.js +13 -13
- package/dist/cjs/kol-tree-item-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tree-item.cjs.entry.js +6 -6
- package/dist/cjs/kol-tree-item.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tree-wc.cjs.entry.js +6 -6
- package/dist/cjs/kol-tree-wc.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-tree.cjs.entry.js +6 -6
- package/dist/cjs/kol-tree.entry.cjs.js.map +1 -1
- package/dist/cjs/kol-version.cjs.entry.js +4 -4
- package/dist/cjs/kolibri.cjs.js +4 -4
- package/dist/cjs/label-CrUhy8f0.js +13 -0
- package/dist/cjs/label-CrUhy8f0.js.map +1 -0
- package/dist/cjs/label-VzToxIES.js +50 -0
- package/dist/cjs/label-VzToxIES.js.map +1 -0
- package/dist/cjs/level-VjfppjxT.js +15 -0
- package/dist/cjs/level-VjfppjxT.js.map +1 -0
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/max-length-behavior-BjqOHcK6.js +26 -0
- package/dist/cjs/max-length-behavior-BjqOHcK6.js.map +1 -0
- package/dist/cjs/multiple-_6n58n0B.js +15 -0
- package/dist/cjs/multiple-_6n58n0B.js.map +1 -0
- package/dist/cjs/normalizers-R90MJyQR.js +648 -0
- package/dist/cjs/normalizers-R90MJyQR.js.map +1 -0
- package/dist/cjs/open-CLOzqgir.js +15 -0
- package/dist/cjs/open-CLOzqgir.js.map +1 -0
- package/dist/cjs/orientation-BUQ3VvMw.js +18 -0
- package/dist/cjs/orientation-BUQ3VvMw.js.map +1 -0
- package/dist/cjs/placeholder-B7I3KNtq.js +15 -0
- package/dist/cjs/placeholder-B7I3KNtq.js.map +1 -0
- package/dist/cjs/read-only-BFoDOTZu.js +15 -0
- package/dist/cjs/read-only-BFoDOTZu.js.map +1 -0
- package/dist/cjs/required-QyEHP_gi.js +15 -0
- package/dist/cjs/required-QyEHP_gi.js.map +1 -0
- package/dist/cjs/rows-BT28uo_I.js +15 -0
- package/dist/cjs/rows-BT28uo_I.js.map +1 -0
- package/dist/cjs/spell-check-CnmPp0It.js +17 -0
- package/dist/cjs/spell-check-CnmPp0It.js.map +1 -0
- package/dist/cjs/src-oMcBX9Z5.js +13 -0
- package/dist/cjs/src-oMcBX9Z5.js.map +1 -0
- package/dist/cjs/suggestions-hTUeCecL.js +23 -0
- package/dist/cjs/suggestions-hTUeCecL.js.map +1 -0
- package/dist/cjs/table-selection-BzjiHUz6.js +93 -0
- package/dist/cjs/table-selection-BzjiHUz6.js.map +1 -0
- package/dist/cjs/test-component.cjs.entry.js +2 -2
- package/dist/cjs/tooltip-align-C2v_joNk.js +16 -0
- package/dist/cjs/tooltip-align-C2v_joNk.js.map +1 -0
- package/dist/cjs/unique-nav-labels-ZxWa1D5d.js +25 -0
- package/dist/cjs/unique-nav-labels-ZxWa1D5d.js.map +1 -0
- package/dist/cjs/validation-D2EuAues.js +16 -0
- package/dist/cjs/validation-D2EuAues.js.map +1 -0
- package/dist/cjs/validation-DwarFcC9.js +19 -0
- package/dist/cjs/validation-DwarFcC9.js.map +1 -0
- package/dist/cjs/value-number-clamped-B6AfADe2.js +28 -0
- package/dist/cjs/value-number-clamped-B6AfADe2.js.map +1 -0
- package/dist/cjs/variant-class-name-DsZdGPeK.js +18 -0
- package/dist/cjs/variant-class-name-DsZdGPeK.js.map +1 -0
- package/dist/cjs/variant-quote-DUWZtljE.js +41 -0
- package/dist/cjs/variant-quote-DUWZtljE.js.map +1 -0
- package/dist/collection/components/_skeleton/web-components/click-button/component.js +19 -6
- package/dist/collection/components/_skeleton/web-components/click-button/component.js.map +1 -1
- package/dist/collection/components/_skeleton/web-components/skeleton/component.js +22 -6
- package/dist/collection/components/_skeleton/web-components/skeleton/component.js.map +1 -1
- package/dist/collection/components/abbr/style.css +2 -2
- package/dist/collection/components/accordion/shadow.js +13 -4
- package/dist/collection/components/accordion/shadow.js.map +1 -1
- package/dist/collection/components/accordion/style.css +2 -2
- package/dist/collection/components/alert/style.css +2 -2
- package/dist/collection/components/badge/shadow.js +14 -5
- package/dist/collection/components/badge/shadow.js.map +1 -1
- package/dist/collection/components/badge/style.css +2 -2
- package/dist/collection/components/breadcrumb/style.css +2 -2
- package/dist/collection/components/button/component.js +14 -5
- package/dist/collection/components/button/component.js.map +1 -1
- package/dist/collection/components/button/shadow.js +13 -4
- package/dist/collection/components/button/shadow.js.map +1 -1
- package/dist/collection/components/button/style.css +2 -2
- package/dist/collection/components/button-link/shadow.js +13 -4
- package/dist/collection/components/button-link/shadow.js.map +1 -1
- package/dist/collection/components/button-link/style.css +2 -2
- package/dist/collection/components/card/style.css +2 -2
- package/dist/collection/components/combobox/shadow.js +22 -7
- package/dist/collection/components/combobox/shadow.js.map +1 -1
- package/dist/collection/components/combobox/style.css +2 -2
- package/dist/collection/components/details/shadow.js +13 -4
- package/dist/collection/components/details/shadow.js.map +1 -1
- package/dist/collection/components/details/style.css +2 -2
- package/dist/collection/components/dialog/style.css +2 -2
- package/dist/collection/components/drawer/style.css +2 -2
- package/dist/collection/components/form/style.css +2 -2
- package/dist/collection/components/icon/style.css +2 -2
- package/dist/collection/components/image/component.js +40 -1
- package/dist/collection/components/image/component.js.map +1 -1
- package/dist/collection/components/input-adapter-leanup/associated.controller.js +6 -3
- package/dist/collection/components/input-adapter-leanup/associated.controller.js.map +1 -1
- package/dist/collection/components/input-checkbox/shadow.js +13 -4
- package/dist/collection/components/input-checkbox/shadow.js.map +1 -1
- package/dist/collection/components/input-checkbox/style.css +2 -2
- package/dist/collection/components/input-color/shadow.js +13 -4
- package/dist/collection/components/input-color/shadow.js.map +1 -1
- package/dist/collection/components/input-color/style.css +2 -2
- package/dist/collection/components/input-date/shadow.js +13 -4
- package/dist/collection/components/input-date/shadow.js.map +1 -1
- package/dist/collection/components/input-date/style.css +2 -2
- package/dist/collection/components/input-email/shadow.js +13 -4
- package/dist/collection/components/input-email/shadow.js.map +1 -1
- package/dist/collection/components/input-email/style.css +2 -2
- package/dist/collection/components/input-file/shadow.js +13 -4
- package/dist/collection/components/input-file/shadow.js.map +1 -1
- package/dist/collection/components/input-file/style.css +2 -2
- package/dist/collection/components/input-number/shadow.js +13 -4
- package/dist/collection/components/input-number/shadow.js.map +1 -1
- package/dist/collection/components/input-number/style.css +2 -2
- package/dist/collection/components/input-password/shadow.js +13 -4
- package/dist/collection/components/input-password/shadow.js.map +1 -1
- package/dist/collection/components/input-password/style.css +2 -2
- package/dist/collection/components/input-radio/shadow.js +15 -5
- package/dist/collection/components/input-radio/shadow.js.map +1 -1
- package/dist/collection/components/input-radio/style.css +2 -2
- package/dist/collection/components/input-range/shadow.js +13 -4
- package/dist/collection/components/input-range/shadow.js.map +1 -1
- package/dist/collection/components/input-range/style.css +2 -2
- package/dist/collection/components/input-text/shadow.js +13 -4
- package/dist/collection/components/input-text/shadow.js.map +1 -1
- package/dist/collection/components/input-text/style.css +2 -2
- package/dist/collection/components/link/component.js +14 -5
- package/dist/collection/components/link/component.js.map +1 -1
- package/dist/collection/components/link/shadow.js +13 -4
- package/dist/collection/components/link/shadow.js.map +1 -1
- package/dist/collection/components/link/style.css +2 -2
- package/dist/collection/components/link-button/shadow.js +13 -4
- package/dist/collection/components/link-button/shadow.js.map +1 -1
- package/dist/collection/components/link-button/style.css +2 -2
- package/dist/collection/components/meter/component.js +1 -10
- package/dist/collection/components/meter/component.js.map +1 -1
- package/dist/collection/components/modal/style.css +2 -2
- package/dist/collection/components/nav/style.css +2 -2
- package/dist/collection/components/pagination/style.css +2 -2
- package/dist/collection/components/popover-button/component.js +14 -5
- package/dist/collection/components/popover-button/component.js.map +1 -1
- package/dist/collection/components/popover-button/shadow.js +13 -4
- package/dist/collection/components/popover-button/shadow.js.map +1 -1
- package/dist/collection/components/popover-button/style.css +2 -2
- package/dist/collection/components/select/component.js +14 -5
- package/dist/collection/components/select/component.js.map +1 -1
- package/dist/collection/components/select/shadow.js +13 -4
- package/dist/collection/components/select/shadow.js.map +1 -1
- package/dist/collection/components/select/style.css +2 -2
- package/dist/collection/components/single-select/shadow.js +15 -6
- package/dist/collection/components/single-select/shadow.js.map +1 -1
- package/dist/collection/components/single-select/style.css +2 -2
- package/dist/collection/components/skip-nav/shadow.js +13 -4
- package/dist/collection/components/skip-nav/shadow.js.map +1 -1
- package/dist/collection/components/skip-nav/style.css +2 -2
- package/dist/collection/components/split-button/shadow.js +14 -5
- package/dist/collection/components/split-button/shadow.js.map +1 -1
- package/dist/collection/components/split-button/style.css +2 -2
- package/dist/collection/components/table-stateful/shadow.js +64 -6
- package/dist/collection/components/table-stateful/shadow.js.map +1 -1
- package/dist/collection/components/table-stateful/style.css +6 -2
- package/dist/collection/components/table-stateless/component.js +33 -46
- package/dist/collection/components/table-stateless/component.js.map +1 -1
- package/dist/collection/components/table-stateless/style.css +6 -2
- package/dist/collection/components/tabs/shadow.js +14 -5
- package/dist/collection/components/tabs/shadow.js.map +1 -1
- package/dist/collection/components/tabs/style.css +11 -2
- package/dist/collection/components/textarea/shadow.js +13 -4
- package/dist/collection/components/textarea/shadow.js.map +1 -1
- package/dist/collection/components/textarea/style.css +2 -2
- package/dist/collection/components/toaster/shadow.js +13 -7
- package/dist/collection/components/toaster/shadow.js.map +1 -1
- package/dist/collection/components/toaster/style.css +2 -2
- package/dist/collection/components/toolbar/shadow.js +14 -5
- package/dist/collection/components/toolbar/shadow.js.map +1 -1
- package/dist/collection/components/toolbar/style.css +2 -2
- package/dist/collection/components/tree/component.js +14 -5
- package/dist/collection/components/tree/component.js.map +1 -1
- package/dist/collection/components/tree/shadow.js +13 -4
- package/dist/collection/components/tree/shadow.js.map +1 -1
- package/dist/collection/components/tree-item/component.js +16 -7
- package/dist/collection/components/tree-item/component.js.map +1 -1
- package/dist/collection/components/tree-item/shadow.js +14 -5
- package/dist/collection/components/tree-item/shadow.js.map +1 -1
- package/dist/collection/components/tree-item/style.css +2 -2
- package/dist/collection/internal/functional-components/click-button/controller.js +1 -8
- package/dist/collection/internal/functional-components/click-button/controller.js.map +1 -1
- package/dist/collection/internal/functional-components/generic-types.js.map +1 -1
- package/dist/collection/internal/functional-components/image/component.js +2 -2
- package/dist/collection/internal/functional-components/image/component.js.map +1 -1
- package/dist/collection/internal/functional-components/meter/api.js.map +1 -1
- package/dist/collection/internal/functional-components/meter/component.js +2 -7
- package/dist/collection/internal/functional-components/meter/component.js.map +1 -1
- package/dist/collection/internal/functional-components/meter/controller.js +0 -16
- package/dist/collection/internal/functional-components/meter/controller.js.map +1 -1
- package/dist/collection/internal/functional-components/skeleton/api.js.map +1 -1
- package/dist/collection/internal/functional-components/skeleton/controller.js +6 -9
- package/dist/collection/internal/functional-components/skeleton/controller.js.map +1 -1
- package/dist/collection/schema/components/image.js.map +1 -1
- package/dist/collection/schema/components/input-password.js.map +1 -1
- package/dist/collection/schema/interfaces/FocusableElement.js.map +1 -1
- package/dist/collection/schema/utils/prop.validators.js +21 -32
- package/dist/collection/schema/utils/prop.validators.js.map +1 -1
- package/dist/collection/utils/element-focus.js +65 -2
- package/dist/collection/utils/element-focus.js.map +1 -1
- package/dist/collection/utils/element-interaction.js +29 -7
- package/dist/collection/utils/element-interaction.js.map +1 -1
- package/dist/collection/utils/events.js +2 -0
- package/dist/collection/utils/events.js.map +1 -1
- package/dist/components/FieldControlStateWrapper.js +1 -1
- package/dist/components/Input.js +1 -1
- package/dist/components/InputStateWrapper.js +1 -1
- package/dist/components/associated.controller.js +6 -3
- package/dist/components/associated.controller.js.map +1 -1
- package/dist/components/component4.js +15 -0
- package/dist/components/component4.js.map +1 -0
- package/dist/components/controller-icon.js +1 -1
- package/dist/components/controller3.js +825 -34
- package/dist/components/controller3.js.map +1 -1
- package/dist/components/controller4.js +77 -796
- package/dist/components/controller4.js.map +1 -1
- package/dist/components/controller5.js +22 -90
- package/dist/components/controller5.js.map +1 -1
- package/dist/components/controller6.js +67 -28
- package/dist/components/controller6.js.map +1 -1
- package/dist/components/element-focus.js +67 -3
- package/dist/components/element-focus.js.map +1 -1
- package/dist/components/element-interaction.js +23 -8
- package/dist/components/element-interaction.js.map +1 -1
- package/dist/components/events.js +2 -0
- package/dist/components/events.js.map +1 -1
- package/dist/components/kol-abbr.js +1 -1
- package/dist/components/kol-accordion.js +3 -3
- package/dist/components/kol-accordion.js.map +1 -1
- package/dist/components/kol-alert.js +1 -1
- package/dist/components/kol-badge.js +4 -4
- package/dist/components/kol-badge.js.map +1 -1
- package/dist/components/kol-breadcrumb.js +1 -1
- package/dist/components/kol-button-link.js +3 -3
- package/dist/components/kol-button-link.js.map +1 -1
- package/dist/components/kol-button-wc.js +3 -3
- package/dist/components/kol-button-wc.js.map +1 -1
- package/dist/components/kol-button.js +3 -3
- package/dist/components/kol-button.js.map +1 -1
- package/dist/components/kol-card.js +1 -1
- package/dist/components/kol-click-button.js +35 -5
- package/dist/components/kol-click-button.js.map +1 -1
- package/dist/components/kol-combobox.js +13 -7
- package/dist/components/kol-combobox.js.map +1 -1
- package/dist/components/kol-details.js +3 -3
- package/dist/components/kol-details.js.map +1 -1
- package/dist/components/kol-dialog.js +1 -1
- package/dist/components/kol-drawer.js +1 -1
- package/dist/components/kol-form.js +1 -1
- package/dist/components/kol-icon.js +1 -1
- package/dist/components/kol-image.js +21 -4
- package/dist/components/kol-image.js.map +1 -1
- package/dist/components/kol-input-checkbox.js +5 -5
- package/dist/components/kol-input-checkbox.js.map +1 -1
- package/dist/components/kol-input-color.js +4 -4
- package/dist/components/kol-input-color.js.map +1 -1
- package/dist/components/kol-input-date.js +4 -4
- package/dist/components/kol-input-date.js.map +1 -1
- package/dist/components/kol-input-email.js +5 -5
- package/dist/components/kol-input-email.js.map +1 -1
- package/dist/components/kol-input-file.js +4 -4
- package/dist/components/kol-input-file.js.map +1 -1
- package/dist/components/kol-input-number.js +4 -4
- package/dist/components/kol-input-number.js.map +1 -1
- package/dist/components/kol-input-password.js +5 -5
- package/dist/components/kol-input-password.js.map +1 -1
- package/dist/components/kol-input-radio.js +8 -7
- package/dist/components/kol-input-radio.js.map +1 -1
- package/dist/components/kol-input-range.js +4 -4
- package/dist/components/kol-input-range.js.map +1 -1
- package/dist/components/kol-input-text.js +5 -5
- package/dist/components/kol-input-text.js.map +1 -1
- package/dist/components/kol-link-button.js +3 -3
- package/dist/components/kol-link-button.js.map +1 -1
- package/dist/components/kol-link-wc.js +3 -3
- package/dist/components/kol-link-wc.js.map +1 -1
- package/dist/components/kol-link.js +3 -3
- package/dist/components/kol-link.js.map +1 -1
- package/dist/components/kol-meter.js +4 -30
- package/dist/components/kol-meter.js.map +1 -1
- package/dist/components/kol-modal.js +1 -1
- package/dist/components/kol-nav.js +1 -1
- package/dist/components/kol-pagination.js +1 -1
- package/dist/components/kol-popover-button-wc.js +3 -3
- package/dist/components/kol-popover-button-wc.js.map +1 -1
- package/dist/components/kol-popover-button.js +3 -3
- package/dist/components/kol-popover-button.js.map +1 -1
- package/dist/components/kol-select-wc.js +5 -5
- package/dist/components/kol-select-wc.js.map +1 -1
- package/dist/components/kol-select.js +3 -3
- package/dist/components/kol-select.js.map +1 -1
- package/dist/components/kol-single-select.js +7 -7
- package/dist/components/kol-single-select.js.map +1 -1
- package/dist/components/kol-skeleton.js +17 -12
- package/dist/components/kol-skeleton.js.map +1 -1
- package/dist/components/kol-skip-nav.js +3 -3
- package/dist/components/kol-skip-nav.js.map +1 -1
- package/dist/components/kol-split-button.js +4 -4
- package/dist/components/kol-split-button.js.map +1 -1
- package/dist/components/kol-table-stateful.js +65 -7
- package/dist/components/kol-table-stateful.js.map +1 -1
- package/dist/components/kol-table-stateless-wc.js +33 -46
- package/dist/components/kol-table-stateless-wc.js.map +1 -1
- package/dist/components/kol-table-stateless.js +1 -1
- package/dist/components/kol-table-stateless.js.map +1 -1
- package/dist/components/kol-tabs.js +4 -4
- package/dist/components/kol-tabs.js.map +1 -1
- package/dist/components/kol-textarea.js +4 -4
- package/dist/components/kol-textarea.js.map +1 -1
- package/dist/components/kol-toast-container.js +14 -8
- package/dist/components/kol-toast-container.js.map +1 -1
- package/dist/components/kol-toolbar.js +5 -5
- package/dist/components/kol-toolbar.js.map +1 -1
- package/dist/components/kol-tree-item-wc.js +5 -5
- package/dist/components/kol-tree-item-wc.js.map +1 -1
- package/dist/components/kol-tree-item.js +4 -4
- package/dist/components/kol-tree-item.js.map +1 -1
- package/dist/components/kol-tree-wc.js +3 -3
- package/dist/components/kol-tree-wc.js.map +1 -1
- package/dist/components/kol-tree.js +2 -2
- package/dist/components/kol-tree.js.map +1 -1
- package/dist/components/prop.validators.js +21 -32
- package/dist/components/prop.validators.js.map +1 -1
- package/dist/esm/Alert-2bYvhb8i.js +91 -0
- package/dist/esm/Alert-2bYvhb8i.js.map +1 -0
- package/dist/esm/Collapsible-OjK6lDr2.js +25 -0
- package/dist/esm/Collapsible-OjK6lDr2.js.map +1 -0
- package/dist/esm/CustomSuggestionsOptionsGroup-Cw_y_smw.js +28 -0
- package/dist/esm/CustomSuggestionsOptionsGroup-Cw_y_smw.js.map +1 -0
- package/dist/esm/FieldControlStateWrapper-CU6OjlrU.js +121 -0
- package/dist/esm/FieldControlStateWrapper-CU6OjlrU.js.map +1 -0
- package/dist/esm/FormFieldStateWrapper-C31luuWs.js +839 -0
- package/dist/esm/FormFieldStateWrapper-C31luuWs.js.map +1 -0
- package/dist/esm/Heading-C9p_CRv4.js +39 -0
- package/dist/esm/Heading-C9p_CRv4.js.map +1 -0
- package/dist/esm/Input-CwcyFZhB.js +27 -0
- package/dist/esm/Input-CwcyFZhB.js.map +1 -0
- package/dist/esm/InputStateWrapper-CcDZH7W5.js +83 -0
- package/dist/esm/InputStateWrapper-CcDZH7W5.js.map +1 -0
- package/dist/esm/access-and-short-key-CnWGdP5U.js +36 -0
- package/dist/esm/access-and-short-key-CnWGdP5U.js.map +1 -0
- package/dist/esm/align-ChLoh-Dq.js +22 -0
- package/dist/esm/align-ChLoh-Dq.js.map +1 -0
- package/dist/esm/align-floating-elements-DTTpkCAK.js +1669 -0
- package/dist/esm/align-floating-elements-DTTpkCAK.js.map +1 -0
- package/dist/esm/app-globals-Cwf240Bw.js +34 -0
- package/dist/esm/app-globals-Cwf240Bw.js.map +1 -0
- package/dist/esm/aria-expanded--y6Ce39-.js +26 -0
- package/dist/esm/aria-expanded--y6Ce39-.js.map +1 -0
- package/dist/esm/aria-labelledby-BUOJRaGL.js +57 -0
- package/dist/esm/aria-labelledby-BUOJRaGL.js.map +1 -0
- package/dist/esm/associated.controller-D55JWKjs.js +188 -0
- package/dist/esm/associated.controller-D55JWKjs.js.map +1 -0
- package/dist/esm/auto-complete-CrQJr3SH.js +16 -0
- package/dist/esm/auto-complete-CrQJr3SH.js.map +1 -0
- package/dist/esm/bem-registry-B9CzNnO1.js +160 -0
- package/dist/esm/bem-registry-B9CzNnO1.js.map +1 -0
- package/dist/esm/bootstrap-UOb6OarC.js +31 -0
- package/dist/esm/bootstrap-UOb6OarC.js.map +1 -0
- package/dist/esm/color-Df2awjVY.js +98 -0
- package/dist/esm/color-Df2awjVY.js.map +1 -0
- package/dist/esm/common-DEEjER7G.js +1715 -0
- package/dist/esm/common-DEEjER7G.js.map +1 -0
- package/dist/esm/component-4RtkhTfb.js +9148 -0
- package/dist/esm/component-4RtkhTfb.js.map +1 -0
- package/dist/esm/component-BFsdrctP.js +14 -0
- package/dist/esm/component-BFsdrctP.js.map +1 -0
- package/dist/esm/component-ijX_kUom.js +21 -0
- package/dist/esm/component-ijX_kUom.js.map +1 -0
- package/dist/esm/component-j5NhcleS.js +15 -0
- package/dist/esm/component-j5NhcleS.js.map +1 -0
- package/dist/esm/contrast-C0oqtcfU.js +97 -0
- package/dist/esm/contrast-C0oqtcfU.js.map +1 -0
- package/dist/esm/controller-B4DO-yV0.js +52 -0
- package/dist/esm/controller-B4DO-yV0.js.map +1 -0
- package/dist/esm/controller-CcrsrzWi.js +91 -0
- package/dist/esm/controller-CcrsrzWi.js.map +1 -0
- package/dist/esm/controller-D0y9uwX0.js +96 -0
- package/dist/esm/controller-D0y9uwX0.js.map +1 -0
- package/dist/esm/controller-DvdfA2RR.js +120 -0
- package/dist/esm/controller-DvdfA2RR.js.map +1 -0
- package/dist/esm/controller-icon-D3_aQk9W.js +165 -0
- package/dist/esm/controller-icon-D3_aQk9W.js.map +1 -0
- package/dist/esm/controller-oT8Y98Yc.js +239 -0
- package/dist/esm/controller-oT8Y98Yc.js.map +1 -0
- package/dist/esm/custom-class-RTVG26D_.js +15 -0
- package/dist/esm/custom-class-RTVG26D_.js.map +1 -0
- package/dist/esm/dev.utils-Cv9uCwkA.js +81 -0
- package/dist/esm/dev.utils-Cv9uCwkA.js.map +1 -0
- package/dist/esm/devtools-BOWjtOAI.js +101 -0
- package/dist/esm/devtools-BOWjtOAI.js.map +1 -0
- package/dist/esm/disabled-CtaJsBT2.js +21 -0
- package/dist/esm/disabled-CtaJsBT2.js.map +1 -0
- package/dist/esm/element-focus-BQXzaLL9.js +159 -0
- package/dist/esm/element-focus-BQXzaLL9.js.map +1 -0
- package/dist/esm/element-interaction-C5-6aPzz.js +64 -0
- package/dist/esm/element-interaction-C5-6aPzz.js.map +1 -0
- package/dist/esm/events-BhfZTW2e.js +43 -0
- package/dist/esm/events-BhfZTW2e.js.map +1 -0
- package/dist/esm/has-closer-GBI76y-L.js +13 -0
- package/dist/esm/has-closer-GBI76y-L.js.map +1 -0
- package/dist/esm/hide-label-CWFMK5Iz.js +13 -0
- package/dist/esm/hide-label-CWFMK5Iz.js.map +1 -0
- package/dist/esm/href-yQN98Z4F.js +13 -0
- package/dist/esm/href-yQN98Z4F.js.map +1 -0
- package/dist/esm/i18n-CaL2ODdQ.js +19 -0
- package/dist/esm/i18n-CaL2ODdQ.js.map +1 -0
- package/dist/esm/icons-DOGnS2Iv.js +84 -0
- package/dist/esm/icons-DOGnS2Iv.js.map +1 -0
- package/dist/esm/index-DqvPZ16l.js +2878 -0
- package/dist/esm/index-DqvPZ16l.js.map +1 -0
- package/dist/esm/index.js +6 -6
- package/dist/esm/inline-D3v7pifU.js +13 -0
- package/dist/esm/inline-D3v7pifU.js.map +1 -0
- package/dist/esm/kol-abbr.entry.js +14 -14
- package/dist/esm/kol-accordion.entry.js +17 -17
- package/dist/esm/kol-accordion.entry.js.map +1 -1
- package/dist/esm/kol-alert-wc.entry.js +13 -13
- package/dist/esm/kol-alert.entry.js +3 -3
- package/dist/esm/kol-avatar.entry.js +9 -9
- package/dist/esm/kol-badge.entry.js +15 -15
- package/dist/esm/kol-badge.entry.js.map +1 -1
- package/dist/esm/kol-breadcrumb.entry.js +8 -8
- package/dist/esm/kol-button-link.entry.js +7 -7
- package/dist/esm/kol-button-link.entry.js.map +1 -1
- package/dist/esm/kol-button-wc.entry.js +31 -31
- package/dist/esm/kol-button-wc.entry.js.map +1 -1
- package/dist/esm/kol-button.entry.js +7 -7
- package/dist/esm/kol-button.entry.js.map +1 -1
- package/dist/esm/kol-card-wc.entry.js +16 -16
- package/dist/esm/kol-card.entry.js +3 -3
- package/dist/esm/kol-click-button.entry.js +39 -12
- package/dist/esm/kol-click-button.entry.js.map +1 -1
- package/dist/esm/kol-combobox.entry.js +48 -42
- package/dist/esm/kol-combobox.entry.js.map +1 -1
- package/dist/esm/kol-details.entry.js +17 -17
- package/dist/esm/kol-details.entry.js.map +1 -1
- package/dist/esm/kol-dialog-wc.entry.js +8 -8
- package/dist/esm/kol-dialog.entry.js +3 -3
- package/dist/esm/kol-drawer.entry.js +12 -12
- package/dist/esm/kol-form.entry.js +9 -9
- package/dist/esm/kol-heading.entry.js +5 -5
- package/dist/esm/kol-icon.entry.js +8 -8
- package/dist/esm/kol-image.entry.js +24 -8
- package/dist/esm/kol-image.entry.js.map +1 -1
- package/dist/esm/kol-input-checkbox.entry.js +37 -37
- package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
- package/dist/esm/kol-input-color.entry.js +37 -37
- package/dist/esm/kol-input-color.entry.js.map +1 -1
- package/dist/esm/kol-input-date.entry.js +40 -40
- package/dist/esm/kol-input-date.entry.js.map +1 -1
- package/dist/esm/kol-input-email.entry.js +46 -46
- package/dist/esm/kol-input-email.entry.js.map +1 -1
- package/dist/esm/kol-input-file.entry.js +37 -37
- package/dist/esm/kol-input-file.entry.js.map +1 -1
- package/dist/esm/kol-input-number.entry.js +41 -41
- package/dist/esm/kol-input-number.entry.js.map +1 -1
- package/dist/esm/kol-input-password.entry.js +42 -42
- package/dist/esm/kol-input-password.entry.js.map +1 -1
- package/dist/esm/kol-input-radio.entry.js +38 -37
- package/dist/esm/kol-input-radio.entry.js.map +1 -1
- package/dist/esm/kol-input-range.entry.js +38 -38
- package/dist/esm/kol-input-range.entry.js.map +1 -1
- package/dist/esm/kol-input-text.entry.js +45 -45
- package/dist/esm/kol-input-text.entry.js.map +1 -1
- package/dist/esm/kol-kolibri.entry.js +5 -5
- package/dist/esm/kol-link-button.entry.js +7 -7
- package/dist/esm/kol-link-button.entry.js.map +1 -1
- package/dist/esm/kol-link-wc.entry.js +30 -30
- package/dist/esm/kol-link-wc.entry.js.map +1 -1
- package/dist/esm/kol-link.entry.js +7 -7
- package/dist/esm/kol-link.entry.js.map +1 -1
- package/dist/esm/kol-meter.entry.js +10 -35
- package/dist/esm/kol-meter.entry.js.map +1 -1
- package/dist/esm/kol-modal.entry.js +3 -3
- package/dist/esm/kol-nav.entry.js +9 -9
- package/dist/esm/kol-pagination-wc.entry.js +10 -10
- package/dist/esm/kol-pagination.entry.js +3 -3
- package/dist/esm/kol-popover-button-wc.entry.js +11 -11
- package/dist/esm/kol-popover-button-wc.entry.js.map +1 -1
- package/dist/esm/kol-popover-button.entry.js +7 -7
- package/dist/esm/kol-popover-button.entry.js.map +1 -1
- package/dist/esm/kol-progress.entry.js +7 -7
- package/dist/esm/kol-quote.entry.js +6 -6
- package/dist/esm/kol-select-wc.entry.js +39 -39
- package/dist/esm/kol-select-wc.entry.js.map +1 -1
- package/dist/esm/kol-select.entry.js +7 -7
- package/dist/esm/kol-select.entry.js.map +1 -1
- package/dist/esm/kol-single-select.entry.js +42 -42
- package/dist/esm/kol-single-select.entry.js.map +1 -1
- package/dist/esm/kol-skeleton.entry.js +22 -18
- package/dist/esm/kol-skeleton.entry.js.map +1 -1
- package/dist/esm/kol-skip-nav.entry.js +10 -10
- package/dist/esm/kol-skip-nav.entry.js.map +1 -1
- package/dist/esm/kol-spin.entry.js +6 -6
- package/dist/esm/kol-split-button.entry.js +9 -9
- package/dist/esm/kol-split-button.entry.js.map +1 -1
- package/dist/esm/kol-table-settings-wc.entry.js +4 -4
- package/dist/esm/kol-table-stateful.entry.js +71 -14
- package/dist/esm/kol-table-stateful.entry.js.map +1 -1
- package/dist/esm/kol-table-stateless-wc.entry.js +45 -58
- package/dist/esm/kol-table-stateless-wc.entry.js.map +1 -1
- package/dist/esm/kol-table-stateless.entry.js +4 -4
- package/dist/esm/kol-table-stateless.entry.js.map +1 -1
- package/dist/esm/kol-tabs.entry.js +12 -12
- package/dist/esm/kol-tabs.entry.js.map +1 -1
- package/dist/esm/kol-textarea.entry.js +39 -39
- package/dist/esm/kol-textarea.entry.js.map +1 -1
- package/dist/esm/kol-toast-container.entry.js +25 -19
- package/dist/esm/kol-toast-container.entry.js.map +1 -1
- package/dist/esm/kol-toolbar.entry.js +9 -9
- package/dist/esm/kol-toolbar.entry.js.map +1 -1
- package/dist/esm/kol-tooltip-wc.entry.js +12 -12
- package/dist/esm/kol-tree-item-wc.entry.js +13 -13
- package/dist/esm/kol-tree-item-wc.entry.js.map +1 -1
- package/dist/esm/kol-tree-item.entry.js +6 -6
- package/dist/esm/kol-tree-item.entry.js.map +1 -1
- package/dist/esm/kol-tree-wc.entry.js +6 -6
- package/dist/esm/kol-tree-wc.entry.js.map +1 -1
- package/dist/esm/kol-tree.entry.js +6 -6
- package/dist/esm/kol-tree.entry.js.map +1 -1
- package/dist/esm/kol-version.entry.js +4 -4
- package/dist/esm/kolibri.js +5 -5
- package/dist/esm/label-Cg7TG_7b.js +45 -0
- package/dist/esm/label-Cg7TG_7b.js.map +1 -0
- package/dist/esm/label-DPd4-fag.js +11 -0
- package/dist/esm/label-DPd4-fag.js.map +1 -0
- package/dist/esm/level-CfQolHx4.js +12 -0
- package/dist/esm/level-CfQolHx4.js.map +1 -0
- package/dist/esm/loader.js +5 -5
- package/dist/esm/max-length-behavior-426q5CU6.js +22 -0
- package/dist/esm/max-length-behavior-426q5CU6.js.map +1 -0
- package/dist/esm/multiple-LEiooHN4.js +13 -0
- package/dist/esm/multiple-LEiooHN4.js.map +1 -0
- package/dist/esm/normalizers-pgU77mXp.js +641 -0
- package/dist/esm/normalizers-pgU77mXp.js.map +1 -0
- package/dist/esm/open-Djbpz6kg.js +13 -0
- package/dist/esm/open-Djbpz6kg.js.map +1 -0
- package/dist/esm/orientation-BzQXB0-V.js +16 -0
- package/dist/esm/orientation-BzQXB0-V.js.map +1 -0
- package/dist/esm/placeholder-CSgrK1Zh.js +13 -0
- package/dist/esm/placeholder-CSgrK1Zh.js.map +1 -0
- package/dist/esm/read-only-DyuIPHMt.js +13 -0
- package/dist/esm/read-only-DyuIPHMt.js.map +1 -0
- package/dist/esm/required-DAsW5lI1.js +13 -0
- package/dist/esm/required-DAsW5lI1.js.map +1 -0
- package/dist/esm/rows-Bdp885AQ.js +13 -0
- package/dist/esm/rows-Bdp885AQ.js.map +1 -0
- package/dist/esm/spell-check-CSnDB95u.js +15 -0
- package/dist/esm/spell-check-CSnDB95u.js.map +1 -0
- package/dist/esm/src-C8dP-FLK.js +11 -0
- package/dist/esm/src-C8dP-FLK.js.map +1 -0
- package/dist/esm/suggestions-Cnn1r8zc.js +21 -0
- package/dist/esm/suggestions-Cnn1r8zc.js.map +1 -0
- package/dist/esm/table-selection-DlaNrAWM.js +85 -0
- package/dist/esm/table-selection-DlaNrAWM.js.map +1 -0
- package/dist/esm/test-component.entry.js +2 -2
- package/dist/esm/tooltip-align-DzHPWEpv.js +14 -0
- package/dist/esm/tooltip-align-DzHPWEpv.js.map +1 -0
- package/dist/esm/unique-nav-labels-7ifGcuBZ.js +22 -0
- package/dist/esm/unique-nav-labels-7ifGcuBZ.js.map +1 -0
- package/dist/esm/validation-B8MhupBp.js +14 -0
- package/dist/esm/validation-B8MhupBp.js.map +1 -0
- package/dist/esm/validation-VhuthteS.js +17 -0
- package/dist/esm/validation-VhuthteS.js.map +1 -0
- package/dist/esm/value-number-clamped-BQ9jw4HR.js +24 -0
- package/dist/esm/value-number-clamped-BQ9jw4HR.js.map +1 -0
- package/dist/esm/variant-class-name-CkfE8oGZ.js +16 -0
- package/dist/esm/variant-class-name-CkfE8oGZ.js.map +1 -0
- package/dist/esm/variant-quote-BMV8GZX8.js +37 -0
- package/dist/esm/variant-quote-BMV8GZX8.js.map +1 -0
- package/dist/kolibri/Alert-2bYvhb8i.js +5 -0
- package/dist/kolibri/Alert-2bYvhb8i.js.map +1 -0
- package/dist/kolibri/Collapsible-OjK6lDr2.js +5 -0
- package/dist/kolibri/Collapsible-OjK6lDr2.js.map +1 -0
- package/dist/kolibri/CustomSuggestionsOptionsGroup-Cw_y_smw.js +5 -0
- package/dist/kolibri/CustomSuggestionsOptionsGroup-Cw_y_smw.js.map +1 -0
- package/dist/kolibri/FieldControlStateWrapper-CU6OjlrU.js +5 -0
- package/dist/kolibri/FieldControlStateWrapper-CU6OjlrU.js.map +1 -0
- package/dist/kolibri/FormFieldStateWrapper-C31luuWs.js +5 -0
- package/dist/kolibri/FormFieldStateWrapper-C31luuWs.js.map +1 -0
- package/dist/kolibri/Heading-C9p_CRv4.js +5 -0
- package/dist/kolibri/Heading-C9p_CRv4.js.map +1 -0
- package/dist/kolibri/Input-CwcyFZhB.js +5 -0
- package/dist/kolibri/Input-CwcyFZhB.js.map +1 -0
- package/dist/kolibri/InputStateWrapper-CcDZH7W5.js +5 -0
- package/dist/kolibri/InputStateWrapper-CcDZH7W5.js.map +1 -0
- package/dist/kolibri/access-and-short-key-CnWGdP5U.js +5 -0
- package/dist/kolibri/access-and-short-key-CnWGdP5U.js.map +1 -0
- package/dist/kolibri/align-ChLoh-Dq.js +5 -0
- package/dist/kolibri/align-ChLoh-Dq.js.map +1 -0
- package/dist/kolibri/align-floating-elements-DTTpkCAK.js +5 -0
- package/dist/kolibri/align-floating-elements-DTTpkCAK.js.map +1 -0
- package/dist/kolibri/app-globals-Cwf240Bw.js +5 -0
- package/dist/kolibri/app-globals-Cwf240Bw.js.map +1 -0
- package/dist/kolibri/aria-expanded--y6Ce39-.js +5 -0
- package/dist/kolibri/aria-expanded--y6Ce39-.js.map +1 -0
- package/dist/kolibri/aria-labelledby-BUOJRaGL.js +5 -0
- package/dist/kolibri/aria-labelledby-BUOJRaGL.js.map +1 -0
- package/dist/kolibri/associated.controller-D55JWKjs.js +5 -0
- package/dist/kolibri/associated.controller-D55JWKjs.js.map +1 -0
- package/dist/kolibri/auto-complete-CrQJr3SH.js +5 -0
- package/dist/kolibri/auto-complete-CrQJr3SH.js.map +1 -0
- package/dist/kolibri/bem-registry-B9CzNnO1.js +5 -0
- package/dist/kolibri/bem-registry-B9CzNnO1.js.map +1 -0
- package/dist/kolibri/bootstrap-UOb6OarC.js +5 -0
- package/dist/kolibri/bootstrap-UOb6OarC.js.map +1 -0
- package/dist/kolibri/color-Df2awjVY.js +5 -0
- package/dist/kolibri/color-Df2awjVY.js.map +1 -0
- package/dist/kolibri/common-DEEjER7G.js +5 -0
- package/dist/kolibri/common-DEEjER7G.js.map +1 -0
- package/dist/kolibri/component-4RtkhTfb.js +5 -0
- package/dist/kolibri/component-4RtkhTfb.js.map +1 -0
- package/dist/kolibri/component-BFsdrctP.js +5 -0
- package/dist/kolibri/component-BFsdrctP.js.map +1 -0
- package/dist/kolibri/component-ijX_kUom.js +5 -0
- package/dist/kolibri/component-ijX_kUom.js.map +1 -0
- package/dist/kolibri/component-j5NhcleS.js +5 -0
- package/dist/kolibri/component-j5NhcleS.js.map +1 -0
- package/dist/kolibri/contrast-C0oqtcfU.js +5 -0
- package/dist/kolibri/contrast-C0oqtcfU.js.map +1 -0
- package/dist/kolibri/controller-B4DO-yV0.js +5 -0
- package/dist/kolibri/controller-B4DO-yV0.js.map +1 -0
- package/dist/kolibri/controller-CcrsrzWi.js +5 -0
- package/dist/kolibri/controller-CcrsrzWi.js.map +1 -0
- package/dist/kolibri/controller-D0y9uwX0.js +5 -0
- package/dist/kolibri/controller-D0y9uwX0.js.map +1 -0
- package/dist/kolibri/controller-DvdfA2RR.js +5 -0
- package/dist/kolibri/controller-DvdfA2RR.js.map +1 -0
- package/dist/kolibri/controller-icon-D3_aQk9W.js +5 -0
- package/dist/kolibri/controller-icon-D3_aQk9W.js.map +1 -0
- package/dist/kolibri/controller-oT8Y98Yc.js +5 -0
- package/dist/kolibri/controller-oT8Y98Yc.js.map +1 -0
- package/dist/kolibri/custom-class-RTVG26D_.js +5 -0
- package/dist/kolibri/custom-class-RTVG26D_.js.map +1 -0
- package/dist/kolibri/dev.utils-Cv9uCwkA.js +5 -0
- package/dist/kolibri/dev.utils-Cv9uCwkA.js.map +1 -0
- package/dist/kolibri/devtools-BOWjtOAI.js +5 -0
- package/dist/kolibri/devtools-BOWjtOAI.js.map +1 -0
- package/dist/kolibri/disabled-CtaJsBT2.js +5 -0
- package/dist/kolibri/disabled-CtaJsBT2.js.map +1 -0
- package/dist/kolibri/element-focus-BQXzaLL9.js +5 -0
- package/dist/kolibri/element-focus-BQXzaLL9.js.map +1 -0
- package/dist/kolibri/element-interaction-C5-6aPzz.js +5 -0
- package/dist/kolibri/element-interaction-C5-6aPzz.js.map +1 -0
- package/dist/kolibri/events-BhfZTW2e.js +5 -0
- package/dist/kolibri/events-BhfZTW2e.js.map +1 -0
- package/dist/kolibri/has-closer-GBI76y-L.js +5 -0
- package/dist/kolibri/has-closer-GBI76y-L.js.map +1 -0
- package/dist/kolibri/hide-label-CWFMK5Iz.js +5 -0
- package/dist/kolibri/hide-label-CWFMK5Iz.js.map +1 -0
- package/dist/kolibri/href-yQN98Z4F.js +5 -0
- package/dist/kolibri/href-yQN98Z4F.js.map +1 -0
- package/dist/kolibri/i18n-CaL2ODdQ.js +5 -0
- package/dist/kolibri/i18n-CaL2ODdQ.js.map +1 -0
- package/dist/kolibri/icons-DOGnS2Iv.js +5 -0
- package/dist/kolibri/icons-DOGnS2Iv.js.map +1 -0
- package/dist/kolibri/index-DqvPZ16l.js +6 -0
- package/dist/kolibri/index-DqvPZ16l.js.map +1 -0
- package/dist/kolibri/index.esm.js +1 -1
- package/dist/kolibri/inline-D3v7pifU.js +5 -0
- package/dist/kolibri/inline-D3v7pifU.js.map +1 -0
- package/dist/kolibri/kol-abbr.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-accordion.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.js.map +1 -1
- package/dist/kolibri/kol-alert-wc.entry.js +1 -1
- package/dist/kolibri/kol-alert.entry.js +1 -1
- package/dist/kolibri/kol-avatar.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-badge.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js.map +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-button-link.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.js.map +1 -1
- package/dist/kolibri/kol-button-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-button-wc.entry.js +1 -1
- package/dist/kolibri/kol-button-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-button.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-button.entry.js +1 -1
- package/dist/kolibri/kol-button.entry.js.map +1 -1
- package/dist/kolibri/kol-card-wc.entry.js +1 -1
- package/dist/kolibri/kol-card.entry.js +1 -1
- package/dist/kolibri/kol-click-button.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-click-button.entry.js +1 -1
- package/dist/kolibri/kol-click-button.entry.js.map +1 -1
- package/dist/kolibri/kol-combobox.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-combobox.entry.js +1 -1
- package/dist/kolibri/kol-combobox.entry.js.map +1 -1
- package/dist/kolibri/kol-details.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-details.entry.js +1 -1
- package/dist/kolibri/kol-details.entry.js.map +1 -1
- package/dist/kolibri/kol-dialog-wc.entry.js +1 -1
- package/dist/kolibri/kol-dialog.entry.js +1 -1
- package/dist/kolibri/kol-drawer.entry.js +1 -1
- package/dist/kolibri/kol-form.entry.js +1 -1
- package/dist/kolibri/kol-heading.entry.js +1 -1
- package/dist/kolibri/kol-icon.entry.js +1 -1
- package/dist/kolibri/kol-image.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-image.entry.js +1 -1
- package/dist/kolibri/kol-image.entry.js.map +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
- package/dist/kolibri/kol-input-color.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-color.entry.js +1 -1
- package/dist/kolibri/kol-input-color.entry.js.map +1 -1
- package/dist/kolibri/kol-input-date.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-date.entry.js +1 -1
- package/dist/kolibri/kol-input-date.entry.js.map +1 -1
- package/dist/kolibri/kol-input-email.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-email.entry.js +1 -1
- package/dist/kolibri/kol-input-email.entry.js.map +1 -1
- package/dist/kolibri/kol-input-file.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-file.entry.js +1 -1
- package/dist/kolibri/kol-input-file.entry.js.map +1 -1
- package/dist/kolibri/kol-input-number.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-number.entry.js +1 -1
- package/dist/kolibri/kol-input-number.entry.js.map +1 -1
- package/dist/kolibri/kol-input-password.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-password.entry.js +1 -1
- package/dist/kolibri/kol-input-password.entry.js.map +1 -1
- package/dist/kolibri/kol-input-radio.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-radio.entry.js +1 -1
- package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
- package/dist/kolibri/kol-input-range.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-range.entry.js +1 -1
- package/dist/kolibri/kol-input-range.entry.js.map +1 -1
- package/dist/kolibri/kol-input-text.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-input-text.entry.js +1 -1
- package/dist/kolibri/kol-input-text.entry.js.map +1 -1
- package/dist/kolibri/kol-kolibri.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-link-button.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.js.map +1 -1
- package/dist/kolibri/kol-link-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-link-wc.entry.js +1 -1
- package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-link.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-link.entry.js +1 -1
- package/dist/kolibri/kol-link.entry.js.map +1 -1
- package/dist/kolibri/kol-meter.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-meter.entry.js +1 -1
- package/dist/kolibri/kol-meter.entry.js.map +1 -1
- package/dist/kolibri/kol-modal.entry.js +1 -1
- package/dist/kolibri/kol-nav.entry.js +1 -1
- package/dist/kolibri/kol-pagination-wc.entry.js +1 -1
- package/dist/kolibri/kol-pagination.entry.js +1 -1
- package/dist/kolibri/kol-popover-button-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-popover-button-wc.entry.js +1 -1
- package/dist/kolibri/kol-popover-button-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-popover-button.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-popover-button.entry.js +1 -1
- package/dist/kolibri/kol-popover-button.entry.js.map +1 -1
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-quote.entry.js +1 -1
- package/dist/kolibri/kol-select-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-select-wc.entry.js +1 -1
- package/dist/kolibri/kol-select-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-select.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-select.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.js.map +1 -1
- package/dist/kolibri/kol-single-select.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-single-select.entry.js +1 -1
- package/dist/kolibri/kol-single-select.entry.js.map +1 -1
- package/dist/kolibri/kol-skeleton.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-skeleton.entry.js +1 -1
- package/dist/kolibri/kol-skeleton.entry.js.map +1 -1
- package/dist/kolibri/kol-skip-nav.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-split-button.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-split-button.entry.js +1 -1
- package/dist/kolibri/kol-split-button.entry.js.map +1 -1
- package/dist/kolibri/kol-table-settings-wc.entry.js +1 -1
- package/dist/kolibri/kol-table-stateful.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-table-stateful.entry.js +1 -1
- package/dist/kolibri/kol-table-stateful.entry.js.map +1 -1
- package/dist/kolibri/kol-table-stateless-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-table-stateless-wc.entry.js +1 -1
- package/dist/kolibri/kol-table-stateless-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-table-stateless.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-table-stateless.entry.js +1 -1
- package/dist/kolibri/kol-table-stateless.entry.js.map +1 -1
- package/dist/kolibri/kol-tabs.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-tabs.entry.js +1 -1
- package/dist/kolibri/kol-tabs.entry.js.map +1 -1
- package/dist/kolibri/kol-textarea.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-textarea.entry.js +1 -1
- package/dist/kolibri/kol-textarea.entry.js.map +1 -1
- package/dist/kolibri/kol-toast-container.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-toast-container.entry.js +1 -1
- package/dist/kolibri/kol-toast-container.entry.js.map +1 -1
- package/dist/kolibri/kol-toolbar.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-toolbar.entry.js +1 -1
- package/dist/kolibri/kol-toolbar.entry.js.map +1 -1
- package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
- package/dist/kolibri/kol-tree-item-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-tree-item-wc.entry.js +1 -1
- package/dist/kolibri/kol-tree-item-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-tree-item.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-tree-item.entry.js +1 -1
- package/dist/kolibri/kol-tree-item.entry.js.map +1 -1
- package/dist/kolibri/kol-tree-wc.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-tree-wc.entry.js +1 -1
- package/dist/kolibri/kol-tree-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-tree.entry.esm.js.map +1 -1
- package/dist/kolibri/kol-tree.entry.js +1 -1
- package/dist/kolibri/kol-tree.entry.js.map +1 -1
- package/dist/kolibri/kol-version.entry.js +1 -1
- package/dist/kolibri/kolibri.esm.js +1 -1
- package/dist/kolibri/label-Cg7TG_7b.js +5 -0
- package/dist/kolibri/label-Cg7TG_7b.js.map +1 -0
- package/dist/kolibri/label-DPd4-fag.js +5 -0
- package/dist/kolibri/label-DPd4-fag.js.map +1 -0
- package/dist/kolibri/level-CfQolHx4.js +5 -0
- package/dist/kolibri/level-CfQolHx4.js.map +1 -0
- package/dist/kolibri/max-length-behavior-426q5CU6.js +5 -0
- package/dist/kolibri/max-length-behavior-426q5CU6.js.map +1 -0
- package/dist/kolibri/multiple-LEiooHN4.js +5 -0
- package/dist/kolibri/multiple-LEiooHN4.js.map +1 -0
- package/dist/kolibri/normalizers-pgU77mXp.js +5 -0
- package/dist/kolibri/normalizers-pgU77mXp.js.map +1 -0
- package/dist/kolibri/open-Djbpz6kg.js +5 -0
- package/dist/kolibri/open-Djbpz6kg.js.map +1 -0
- package/dist/kolibri/orientation-BzQXB0-V.js +5 -0
- package/dist/kolibri/orientation-BzQXB0-V.js.map +1 -0
- package/dist/kolibri/placeholder-CSgrK1Zh.js +5 -0
- package/dist/kolibri/placeholder-CSgrK1Zh.js.map +1 -0
- package/dist/kolibri/read-only-DyuIPHMt.js +5 -0
- package/dist/kolibri/read-only-DyuIPHMt.js.map +1 -0
- package/dist/kolibri/required-DAsW5lI1.js +5 -0
- package/dist/kolibri/required-DAsW5lI1.js.map +1 -0
- package/dist/kolibri/rows-Bdp885AQ.js +5 -0
- package/dist/kolibri/rows-Bdp885AQ.js.map +1 -0
- package/dist/kolibri/spell-check-CSnDB95u.js +5 -0
- package/dist/kolibri/spell-check-CSnDB95u.js.map +1 -0
- package/dist/kolibri/src-C8dP-FLK.js +5 -0
- package/dist/kolibri/src-C8dP-FLK.js.map +1 -0
- package/dist/kolibri/suggestions-Cnn1r8zc.js +5 -0
- package/dist/kolibri/suggestions-Cnn1r8zc.js.map +1 -0
- package/dist/kolibri/table-selection-DlaNrAWM.js +5 -0
- package/dist/kolibri/table-selection-DlaNrAWM.js.map +1 -0
- package/dist/kolibri/test-component.entry.js +1 -1
- package/dist/kolibri/tooltip-align-DzHPWEpv.js +5 -0
- package/dist/kolibri/tooltip-align-DzHPWEpv.js.map +1 -0
- package/dist/kolibri/unique-nav-labels-7ifGcuBZ.js +5 -0
- package/dist/kolibri/unique-nav-labels-7ifGcuBZ.js.map +1 -0
- package/dist/kolibri/validation-B8MhupBp.js +5 -0
- package/dist/kolibri/validation-B8MhupBp.js.map +1 -0
- package/dist/kolibri/validation-VhuthteS.js +5 -0
- package/dist/kolibri/validation-VhuthteS.js.map +1 -0
- package/dist/kolibri/value-number-clamped-BQ9jw4HR.js +5 -0
- package/dist/kolibri/value-number-clamped-BQ9jw4HR.js.map +1 -0
- package/dist/kolibri/variant-class-name-CkfE8oGZ.js +5 -0
- package/dist/kolibri/variant-class-name-CkfE8oGZ.js.map +1 -0
- package/dist/kolibri/variant-quote-BMV8GZX8.js +5 -0
- package/dist/kolibri/variant-quote-BMV8GZX8.js.map +1 -0
- package/dist/types/components/_skeleton/web-components/click-button/component.d.ts +3 -1
- package/dist/types/components/_skeleton/web-components/skeleton/component.d.ts +3 -1
- package/dist/types/components/accordion/shadow.d.ts +2 -2
- package/dist/types/components/badge/shadow.d.ts +2 -2
- package/dist/types/components/button/component.d.ts +2 -2
- package/dist/types/components/button/shadow.d.ts +2 -2
- package/dist/types/components/button-link/shadow.d.ts +2 -2
- package/dist/types/components/combobox/shadow.d.ts +2 -2
- package/dist/types/components/details/shadow.d.ts +2 -2
- package/dist/types/components/image/component.d.ts +5 -0
- package/dist/types/components/input-adapter-leanup/associated.controller.d.ts +2 -2
- package/dist/types/components/input-checkbox/shadow.d.ts +2 -2
- package/dist/types/components/input-color/shadow.d.ts +2 -2
- package/dist/types/components/input-date/shadow.d.ts +2 -2
- package/dist/types/components/input-email/shadow.d.ts +2 -2
- package/dist/types/components/input-file/shadow.d.ts +2 -2
- package/dist/types/components/input-number/shadow.d.ts +2 -2
- package/dist/types/components/input-password/shadow.d.ts +2 -2
- package/dist/types/components/input-radio/shadow.d.ts +2 -2
- package/dist/types/components/input-range/shadow.d.ts +2 -2
- package/dist/types/components/input-text/shadow.d.ts +2 -2
- package/dist/types/components/link/component.d.ts +2 -2
- package/dist/types/components/link/shadow.d.ts +2 -2
- package/dist/types/components/link-button/shadow.d.ts +2 -2
- package/dist/types/components/meter/component.d.ts +0 -2
- package/dist/types/components/popover-button/component.d.ts +2 -2
- package/dist/types/components/popover-button/shadow.d.ts +2 -2
- package/dist/types/components/select/component.d.ts +2 -2
- package/dist/types/components/select/shadow.d.ts +2 -2
- package/dist/types/components/single-select/shadow.d.ts +2 -2
- package/dist/types/components/skip-nav/shadow.d.ts +2 -2
- package/dist/types/components/split-button/shadow.d.ts +2 -2
- package/dist/types/components/table-stateful/shadow.d.ts +5 -0
- package/dist/types/components/table-stateless/component.d.ts +5 -0
- package/dist/types/components/tabs/shadow.d.ts +2 -2
- package/dist/types/components/textarea/shadow.d.ts +2 -2
- package/dist/types/components/toolbar/shadow.d.ts +2 -2
- package/dist/types/components/tree/component.d.ts +2 -2
- package/dist/types/components/tree/shadow.d.ts +2 -2
- package/dist/types/components/tree-item/component.d.ts +2 -2
- package/dist/types/components/tree-item/shadow.d.ts +2 -2
- package/dist/types/components.d.ts +84 -74
- package/dist/types/internal/functional-components/click-button/controller.d.ts +0 -3
- package/dist/types/internal/functional-components/generic-types.d.ts +1 -4
- package/dist/types/internal/functional-components/image/component.d.ts +12 -3
- package/dist/types/internal/functional-components/meter/api.d.ts +0 -3
- package/dist/types/internal/functional-components/meter/controller.d.ts +0 -3
- package/dist/types/internal/functional-components/skeleton/api.d.ts +2 -1
- package/dist/types/internal/functional-components/skeleton/controller.d.ts +3 -2
- package/dist/types/schema/components/image.d.ts +5 -10
- package/dist/types/schema/components/input-password.d.ts +1 -1
- package/dist/types/schema/interfaces/FocusableElement.d.ts +7 -1
- package/dist/types/utils/element-focus.d.ts +2 -1
- package/dist/types/utils/element-interaction.d.ts +1 -0
- package/dist/types/utils/events.d.ts +3 -1
- package/doc/accordion.md +7 -1
- package/doc/badge.md +7 -1
- package/doc/button-link.md +7 -1
- package/doc/button.md +7 -1
- package/doc/combobox.md +7 -1
- package/doc/details.md +7 -1
- package/doc/image.md +8 -7
- package/doc/input-checkbox.md +7 -1
- package/doc/input-color.md +7 -1
- package/doc/input-date.md +7 -1
- package/doc/input-email.md +7 -1
- package/doc/input-file.md +7 -1
- package/doc/input-number.md +7 -1
- package/doc/input-password.md +7 -1
- package/doc/input-radio.md +7 -1
- package/doc/input-range.md +7 -1
- package/doc/input-text.md +7 -1
- package/doc/link-button.md +7 -1
- package/doc/link.md +7 -1
- package/doc/popover-button.md +7 -1
- package/doc/select.md +7 -1
- package/doc/single-select.md +7 -1
- package/doc/skeleton.md +7 -1
- package/doc/skip-nav.md +7 -1
- package/doc/split-button.md +7 -1
- package/doc/tabs.md +7 -1
- package/doc/textarea.md +7 -1
- package/doc/toolbar.md +7 -1
- package/doc/tree-item.md +7 -1
- package/doc/tree.md +7 -1
- package/package.json +2 -2
- package/dist/cjs/Alert-C5eDyNdi.js +0 -93
- package/dist/cjs/Alert-C5eDyNdi.js.map +0 -1
- package/dist/cjs/Collapsible-CdgPKZnW.js +0 -27
- package/dist/cjs/Collapsible-CdgPKZnW.js.map +0 -1
- package/dist/cjs/CustomSuggestionsOptionsGroup-CStgu1WD.js +0 -31
- package/dist/cjs/CustomSuggestionsOptionsGroup-CStgu1WD.js.map +0 -1
- package/dist/cjs/FieldControlStateWrapper-C3gnJYdM.js +0 -123
- package/dist/cjs/FieldControlStateWrapper-C3gnJYdM.js.map +0 -1
- package/dist/cjs/FormFieldStateWrapper-BZsSDU0S.js +0 -848
- package/dist/cjs/FormFieldStateWrapper-BZsSDU0S.js.map +0 -1
- package/dist/cjs/Heading-Zb8_ekSw.js +0 -41
- package/dist/cjs/Heading-Zb8_ekSw.js.map +0 -1
- package/dist/cjs/Input-CJWa5Pws.js +0 -29
- package/dist/cjs/Input-CJWa5Pws.js.map +0 -1
- package/dist/cjs/InputStateWrapper-DsAJ4d2N.js +0 -86
- package/dist/cjs/InputStateWrapper-DsAJ4d2N.js.map +0 -1
- package/dist/cjs/access-and-short-key-CspEpGOV.js +0 -41
- package/dist/cjs/access-and-short-key-CspEpGOV.js.map +0 -1
- package/dist/cjs/align-B8NMKvjk.js +0 -26
- package/dist/cjs/align-B8NMKvjk.js.map +0 -1
- package/dist/cjs/align-floating-elements-BkrTeMF3.js +0 -1672
- package/dist/cjs/align-floating-elements-BkrTeMF3.js.map +0 -1
- package/dist/cjs/app-globals-CZOtDmo2.js +0 -36
- package/dist/cjs/app-globals-CZOtDmo2.js.map +0 -1
- package/dist/cjs/aria-expanded-CVaHNiQi.js +0 -31
- package/dist/cjs/aria-expanded-CVaHNiQi.js.map +0 -1
- package/dist/cjs/aria-labelledby-DdlFZwyS.js +0 -60
- package/dist/cjs/aria-labelledby-DdlFZwyS.js.map +0 -1
- package/dist/cjs/associated.controller-DLy6rpeW.js +0 -187
- package/dist/cjs/associated.controller-DLy6rpeW.js.map +0 -1
- package/dist/cjs/auto-complete-DkzHjXc-.js +0 -18
- package/dist/cjs/auto-complete-DkzHjXc-.js.map +0 -1
- package/dist/cjs/bem-registry-DevvgGUu.js +0 -163
- package/dist/cjs/bem-registry-DevvgGUu.js.map +0 -1
- package/dist/cjs/bootstrap-ByVQ9oF5.js +0 -36
- package/dist/cjs/bootstrap-ByVQ9oF5.js.map +0 -1
- package/dist/cjs/color-BVcCYLDJ.js +0 -101
- package/dist/cjs/color-BVcCYLDJ.js.map +0 -1
- package/dist/cjs/common-DPb6NWR4.js +0 -1780
- package/dist/cjs/common-DPb6NWR4.js.map +0 -1
- package/dist/cjs/component-BUJSMbIY.js +0 -9153
- package/dist/cjs/component-BUJSMbIY.js.map +0 -1
- package/dist/cjs/component-CuHGwo27.js +0 -23
- package/dist/cjs/component-CuHGwo27.js.map +0 -1
- package/dist/cjs/component-kXVnT0Wy.js +0 -16
- package/dist/cjs/component-kXVnT0Wy.js.map +0 -1
- package/dist/cjs/contrast-BdZHneMx.js +0 -100
- package/dist/cjs/contrast-BdZHneMx.js.map +0 -1
- package/dist/cjs/controller-B6zjPE-P.js +0 -93
- package/dist/cjs/controller-B6zjPE-P.js.map +0 -1
- package/dist/cjs/controller-BMDxsRHs.js +0 -99
- package/dist/cjs/controller-BMDxsRHs.js.map +0 -1
- package/dist/cjs/controller-CHDjVlC1.js +0 -51
- package/dist/cjs/controller-CHDjVlC1.js.map +0 -1
- package/dist/cjs/controller-DLDmoPss.js +0 -55
- package/dist/cjs/controller-DLDmoPss.js.map +0 -1
- package/dist/cjs/controller-DiB9pVnb.js +0 -241
- package/dist/cjs/controller-DiB9pVnb.js.map +0 -1
- package/dist/cjs/controller-TgxV2kV0.js +0 -126
- package/dist/cjs/controller-TgxV2kV0.js.map +0 -1
- package/dist/cjs/controller-icon-j62graYQ.js +0 -169
- package/dist/cjs/controller-icon-j62graYQ.js.map +0 -1
- package/dist/cjs/custom-class-6BetCmYR.js +0 -17
- package/dist/cjs/custom-class-6BetCmYR.js.map +0 -1
- package/dist/cjs/dev.utils-BeTuwcHU.js +0 -86
- package/dist/cjs/dev.utils-BeTuwcHU.js.map +0 -1
- package/dist/cjs/devtools-ZghKOdoO.js +0 -103
- package/dist/cjs/devtools-ZghKOdoO.js.map +0 -1
- package/dist/cjs/disabled-GY6LfYNH.js +0 -23
- package/dist/cjs/disabled-GY6LfYNH.js.map +0 -1
- package/dist/cjs/element-focus-DeVevBcF.js +0 -100
- package/dist/cjs/element-focus-DeVevBcF.js.map +0 -1
- package/dist/cjs/element-interaction-CXkAVgKs.js +0 -55
- package/dist/cjs/element-interaction-CXkAVgKs.js.map +0 -1
- package/dist/cjs/events-Jc2wxPjR.js +0 -43
- package/dist/cjs/events-Jc2wxPjR.js.map +0 -1
- package/dist/cjs/has-closer-DdfOvOk6.js +0 -15
- package/dist/cjs/has-closer-DdfOvOk6.js.map +0 -1
- package/dist/cjs/hide-label-BnMTmbm4.js +0 -15
- package/dist/cjs/hide-label-BnMTmbm4.js.map +0 -1
- package/dist/cjs/href-D8FMmJ7i.js +0 -15
- package/dist/cjs/href-D8FMmJ7i.js.map +0 -1
- package/dist/cjs/i18n-Cjy0vgJA.js +0 -19
- package/dist/cjs/i18n-Cjy0vgJA.js.map +0 -1
- package/dist/cjs/icons-C4O3H4TU.js +0 -86
- package/dist/cjs/icons-C4O3H4TU.js.map +0 -1
- package/dist/cjs/index-BrhW8s5h.js +0 -2908
- package/dist/cjs/index-BrhW8s5h.js.map +0 -1
- package/dist/cjs/inline-D-XZg3UD.js +0 -15
- package/dist/cjs/inline-D-XZg3UD.js.map +0 -1
- package/dist/cjs/label-8vcJJEVI.js +0 -50
- package/dist/cjs/label-8vcJJEVI.js.map +0 -1
- package/dist/cjs/label-DRrPbj-j.js +0 -13
- package/dist/cjs/label-DRrPbj-j.js.map +0 -1
- package/dist/cjs/level-DmIt1w-r.js +0 -15
- package/dist/cjs/level-DmIt1w-r.js.map +0 -1
- package/dist/cjs/max-length-behavior-CqAwfrV8.js +0 -26
- package/dist/cjs/max-length-behavior-CqAwfrV8.js.map +0 -1
- package/dist/cjs/multiple-BEGQDyov.js +0 -15
- package/dist/cjs/multiple-BEGQDyov.js.map +0 -1
- package/dist/cjs/normalizers-BCLslVaT.js +0 -648
- package/dist/cjs/normalizers-BCLslVaT.js.map +0 -1
- package/dist/cjs/open-D-HUKrqZ.js +0 -15
- package/dist/cjs/open-D-HUKrqZ.js.map +0 -1
- package/dist/cjs/orientation-CZeybVrr.js +0 -18
- package/dist/cjs/orientation-CZeybVrr.js.map +0 -1
- package/dist/cjs/placeholder-DrjxGUF5.js +0 -15
- package/dist/cjs/placeholder-DrjxGUF5.js.map +0 -1
- package/dist/cjs/read-only-Dwp456Yc.js +0 -15
- package/dist/cjs/read-only-Dwp456Yc.js.map +0 -1
- package/dist/cjs/required-DriHzqmx.js +0 -15
- package/dist/cjs/required-DriHzqmx.js.map +0 -1
- package/dist/cjs/rows-DS0wBUTI.js +0 -15
- package/dist/cjs/rows-DS0wBUTI.js.map +0 -1
- package/dist/cjs/spell-check-DIEJiRbq.js +0 -17
- package/dist/cjs/spell-check-DIEJiRbq.js.map +0 -1
- package/dist/cjs/src-q91473CI.js +0 -13
- package/dist/cjs/src-q91473CI.js.map +0 -1
- package/dist/cjs/suggestions-CjIs1OMC.js +0 -23
- package/dist/cjs/suggestions-CjIs1OMC.js.map +0 -1
- package/dist/cjs/table-selection-B0zvrQJg.js +0 -93
- package/dist/cjs/table-selection-B0zvrQJg.js.map +0 -1
- package/dist/cjs/tooltip-align-BeYhiCq6.js +0 -16
- package/dist/cjs/tooltip-align-BeYhiCq6.js.map +0 -1
- package/dist/cjs/unique-nav-labels-DEtWDagf.js +0 -25
- package/dist/cjs/unique-nav-labels-DEtWDagf.js.map +0 -1
- package/dist/cjs/validation-4QVpAFd9.js +0 -19
- package/dist/cjs/validation-4QVpAFd9.js.map +0 -1
- package/dist/cjs/validation-DvL99Z_V.js +0 -16
- package/dist/cjs/validation-DvL99Z_V.js.map +0 -1
- package/dist/cjs/value-number-clamped-Ahfs15Fl.js +0 -28
- package/dist/cjs/value-number-clamped-Ahfs15Fl.js.map +0 -1
- package/dist/cjs/variant-class-name-BCWuCRd0.js +0 -18
- package/dist/cjs/variant-class-name-BCWuCRd0.js.map +0 -1
- package/dist/cjs/variant-quote-DpNzmCtr.js +0 -41
- package/dist/cjs/variant-quote-DpNzmCtr.js.map +0 -1
- package/dist/components/controller7.js +0 -92
- package/dist/components/controller7.js.map +0 -1
- package/dist/esm/Alert-BP_7bRZF.js +0 -91
- package/dist/esm/Alert-BP_7bRZF.js.map +0 -1
- package/dist/esm/Collapsible-BpaQSoeN.js +0 -25
- package/dist/esm/Collapsible-BpaQSoeN.js.map +0 -1
- package/dist/esm/CustomSuggestionsOptionsGroup-86r-pE0e.js +0 -28
- package/dist/esm/CustomSuggestionsOptionsGroup-86r-pE0e.js.map +0 -1
- package/dist/esm/FieldControlStateWrapper-DF2tVpwY.js +0 -121
- package/dist/esm/FieldControlStateWrapper-DF2tVpwY.js.map +0 -1
- package/dist/esm/FormFieldStateWrapper-BWTMRKXT.js +0 -839
- package/dist/esm/FormFieldStateWrapper-BWTMRKXT.js.map +0 -1
- package/dist/esm/Heading-q2Ue3Ixd.js +0 -39
- package/dist/esm/Heading-q2Ue3Ixd.js.map +0 -1
- package/dist/esm/Input-DQJln-L5.js +0 -27
- package/dist/esm/Input-DQJln-L5.js.map +0 -1
- package/dist/esm/InputStateWrapper-CDDIvfo0.js +0 -83
- package/dist/esm/InputStateWrapper-CDDIvfo0.js.map +0 -1
- package/dist/esm/access-and-short-key-D734WtlX.js +0 -36
- package/dist/esm/access-and-short-key-D734WtlX.js.map +0 -1
- package/dist/esm/align-DxZmRFcp.js +0 -22
- package/dist/esm/align-DxZmRFcp.js.map +0 -1
- package/dist/esm/align-floating-elements-D5XJiLiU.js +0 -1669
- package/dist/esm/align-floating-elements-D5XJiLiU.js.map +0 -1
- package/dist/esm/app-globals-UWioL0AL.js +0 -34
- package/dist/esm/app-globals-UWioL0AL.js.map +0 -1
- package/dist/esm/aria-expanded-hGdEA1jy.js +0 -26
- package/dist/esm/aria-expanded-hGdEA1jy.js.map +0 -1
- package/dist/esm/aria-labelledby-CEzR68x-.js +0 -57
- package/dist/esm/aria-labelledby-CEzR68x-.js.map +0 -1
- package/dist/esm/associated.controller-Bagx9pCw.js +0 -185
- package/dist/esm/associated.controller-Bagx9pCw.js.map +0 -1
- package/dist/esm/auto-complete-BbMivzAV.js +0 -16
- package/dist/esm/auto-complete-BbMivzAV.js.map +0 -1
- package/dist/esm/bem-registry-CWvl2xho.js +0 -160
- package/dist/esm/bem-registry-CWvl2xho.js.map +0 -1
- package/dist/esm/bootstrap-DPKvOz00.js +0 -31
- package/dist/esm/bootstrap-DPKvOz00.js.map +0 -1
- package/dist/esm/color-CAVnI0e-.js +0 -98
- package/dist/esm/color-CAVnI0e-.js.map +0 -1
- package/dist/esm/common-Cx_AGO_M.js +0 -1726
- package/dist/esm/common-Cx_AGO_M.js.map +0 -1
- package/dist/esm/component-Dh0cPCxF.js +0 -14
- package/dist/esm/component-Dh0cPCxF.js.map +0 -1
- package/dist/esm/component-DvjvBJeK.js +0 -9148
- package/dist/esm/component-DvjvBJeK.js.map +0 -1
- package/dist/esm/component-DzaT2WlJ.js +0 -21
- package/dist/esm/component-DzaT2WlJ.js.map +0 -1
- package/dist/esm/contrast-DlURrMX4.js +0 -97
- package/dist/esm/contrast-DlURrMX4.js.map +0 -1
- package/dist/esm/controller-Bdve6A-Q.js +0 -239
- package/dist/esm/controller-Bdve6A-Q.js.map +0 -1
- package/dist/esm/controller-CJmWOqQQ.js +0 -91
- package/dist/esm/controller-CJmWOqQQ.js.map +0 -1
- package/dist/esm/controller-DKPaX3Tu.js +0 -120
- package/dist/esm/controller-DKPaX3Tu.js.map +0 -1
- package/dist/esm/controller-DRE7PRMK.js +0 -96
- package/dist/esm/controller-DRE7PRMK.js.map +0 -1
- package/dist/esm/controller-icon-DekcIBGR.js +0 -165
- package/dist/esm/controller-icon-DekcIBGR.js.map +0 -1
- package/dist/esm/controller-osuRO7S2.js +0 -48
- package/dist/esm/controller-osuRO7S2.js.map +0 -1
- package/dist/esm/controller-xXHYiOzQ.js +0 -52
- package/dist/esm/controller-xXHYiOzQ.js.map +0 -1
- package/dist/esm/custom-class-DlT-QmWF.js +0 -15
- package/dist/esm/custom-class-DlT-QmWF.js.map +0 -1
- package/dist/esm/dev.utils-02Sl9bQo.js +0 -81
- package/dist/esm/dev.utils-02Sl9bQo.js.map +0 -1
- package/dist/esm/devtools-CTlVZVnW.js +0 -101
- package/dist/esm/devtools-CTlVZVnW.js.map +0 -1
- package/dist/esm/disabled-gyBUQRnY.js +0 -21
- package/dist/esm/disabled-gyBUQRnY.js.map +0 -1
- package/dist/esm/element-focus-CRwW4N4R.js +0 -95
- package/dist/esm/element-focus-CRwW4N4R.js.map +0 -1
- package/dist/esm/element-interaction-Bv-mPSBn.js +0 -49
- package/dist/esm/element-interaction-Bv-mPSBn.js.map +0 -1
- package/dist/esm/events-VVvk1win.js +0 -41
- package/dist/esm/events-VVvk1win.js.map +0 -1
- package/dist/esm/has-closer-B8w7bVjx.js +0 -13
- package/dist/esm/has-closer-B8w7bVjx.js.map +0 -1
- package/dist/esm/hide-label-6Bx1MH20.js +0 -13
- package/dist/esm/hide-label-6Bx1MH20.js.map +0 -1
- package/dist/esm/href-Dp4go7zq.js +0 -13
- package/dist/esm/href-Dp4go7zq.js.map +0 -1
- package/dist/esm/i18n-Br16IAnY.js +0 -19
- package/dist/esm/i18n-Br16IAnY.js.map +0 -1
- package/dist/esm/icons-oAzMYWgV.js +0 -84
- package/dist/esm/icons-oAzMYWgV.js.map +0 -1
- package/dist/esm/index-BQlHOxik.js +0 -2878
- package/dist/esm/index-BQlHOxik.js.map +0 -1
- package/dist/esm/inline-DnwpECF8.js +0 -13
- package/dist/esm/inline-DnwpECF8.js.map +0 -1
- package/dist/esm/label-Fyi30H9j.js +0 -45
- package/dist/esm/label-Fyi30H9j.js.map +0 -1
- package/dist/esm/label-KTv-zMW0.js +0 -11
- package/dist/esm/label-KTv-zMW0.js.map +0 -1
- package/dist/esm/level-1jyaYIAE.js +0 -12
- package/dist/esm/level-1jyaYIAE.js.map +0 -1
- package/dist/esm/max-length-behavior-CpaNmMus.js +0 -22
- package/dist/esm/max-length-behavior-CpaNmMus.js.map +0 -1
- package/dist/esm/multiple-DqCQ-txe.js +0 -13
- package/dist/esm/multiple-DqCQ-txe.js.map +0 -1
- package/dist/esm/normalizers-m3s9sgmq.js +0 -641
- package/dist/esm/normalizers-m3s9sgmq.js.map +0 -1
- package/dist/esm/open-Dw4Y2dzo.js +0 -13
- package/dist/esm/open-Dw4Y2dzo.js.map +0 -1
- package/dist/esm/orientation-CjNmUJp-.js +0 -16
- package/dist/esm/orientation-CjNmUJp-.js.map +0 -1
- package/dist/esm/placeholder-DTOUrN5s.js +0 -13
- package/dist/esm/placeholder-DTOUrN5s.js.map +0 -1
- package/dist/esm/read-only-DUMeby7s.js +0 -13
- package/dist/esm/read-only-DUMeby7s.js.map +0 -1
- package/dist/esm/required-DFzRSWky.js +0 -13
- package/dist/esm/required-DFzRSWky.js.map +0 -1
- package/dist/esm/rows-htbnIG9G.js +0 -13
- package/dist/esm/rows-htbnIG9G.js.map +0 -1
- package/dist/esm/spell-check-BtaQyLZc.js +0 -15
- package/dist/esm/spell-check-BtaQyLZc.js.map +0 -1
- package/dist/esm/src-DkLxm4tr.js +0 -11
- package/dist/esm/src-DkLxm4tr.js.map +0 -1
- package/dist/esm/suggestions-DEcHprcz.js +0 -21
- package/dist/esm/suggestions-DEcHprcz.js.map +0 -1
- package/dist/esm/table-selection-DmmUo33G.js +0 -85
- package/dist/esm/table-selection-DmmUo33G.js.map +0 -1
- package/dist/esm/tooltip-align-mwhvx9nK.js +0 -14
- package/dist/esm/tooltip-align-mwhvx9nK.js.map +0 -1
- package/dist/esm/unique-nav-labels-ZepmMUSu.js +0 -22
- package/dist/esm/unique-nav-labels-ZepmMUSu.js.map +0 -1
- package/dist/esm/validation-D6nATCh8.js +0 -17
- package/dist/esm/validation-D6nATCh8.js.map +0 -1
- package/dist/esm/validation-DGQ9Zja2.js +0 -14
- package/dist/esm/validation-DGQ9Zja2.js.map +0 -1
- package/dist/esm/value-number-clamped-47tM199y.js +0 -24
- package/dist/esm/value-number-clamped-47tM199y.js.map +0 -1
- package/dist/esm/variant-class-name-BCcQYpIV.js +0 -16
- package/dist/esm/variant-class-name-BCcQYpIV.js.map +0 -1
- package/dist/esm/variant-quote-y0Z1TRdz.js +0 -37
- package/dist/esm/variant-quote-y0Z1TRdz.js.map +0 -1
- package/dist/kolibri/Alert-BP_7bRZF.js +0 -5
- package/dist/kolibri/Alert-BP_7bRZF.js.map +0 -1
- package/dist/kolibri/Collapsible-BpaQSoeN.js +0 -5
- package/dist/kolibri/Collapsible-BpaQSoeN.js.map +0 -1
- package/dist/kolibri/CustomSuggestionsOptionsGroup-86r-pE0e.js +0 -5
- package/dist/kolibri/CustomSuggestionsOptionsGroup-86r-pE0e.js.map +0 -1
- package/dist/kolibri/FieldControlStateWrapper-DF2tVpwY.js +0 -5
- package/dist/kolibri/FieldControlStateWrapper-DF2tVpwY.js.map +0 -1
- package/dist/kolibri/FormFieldStateWrapper-BWTMRKXT.js +0 -5
- package/dist/kolibri/FormFieldStateWrapper-BWTMRKXT.js.map +0 -1
- package/dist/kolibri/Heading-q2Ue3Ixd.js +0 -5
- package/dist/kolibri/Heading-q2Ue3Ixd.js.map +0 -1
- package/dist/kolibri/Input-DQJln-L5.js +0 -5
- package/dist/kolibri/Input-DQJln-L5.js.map +0 -1
- package/dist/kolibri/InputStateWrapper-CDDIvfo0.js +0 -5
- package/dist/kolibri/InputStateWrapper-CDDIvfo0.js.map +0 -1
- package/dist/kolibri/access-and-short-key-D734WtlX.js +0 -5
- package/dist/kolibri/access-and-short-key-D734WtlX.js.map +0 -1
- package/dist/kolibri/align-DxZmRFcp.js +0 -5
- package/dist/kolibri/align-DxZmRFcp.js.map +0 -1
- package/dist/kolibri/align-floating-elements-D5XJiLiU.js +0 -5
- package/dist/kolibri/align-floating-elements-D5XJiLiU.js.map +0 -1
- package/dist/kolibri/app-globals-UWioL0AL.js +0 -5
- package/dist/kolibri/app-globals-UWioL0AL.js.map +0 -1
- package/dist/kolibri/aria-expanded-hGdEA1jy.js +0 -5
- package/dist/kolibri/aria-expanded-hGdEA1jy.js.map +0 -1
- package/dist/kolibri/aria-labelledby-CEzR68x-.js +0 -5
- package/dist/kolibri/aria-labelledby-CEzR68x-.js.map +0 -1
- package/dist/kolibri/associated.controller-Bagx9pCw.js +0 -5
- package/dist/kolibri/associated.controller-Bagx9pCw.js.map +0 -1
- package/dist/kolibri/auto-complete-BbMivzAV.js +0 -5
- package/dist/kolibri/auto-complete-BbMivzAV.js.map +0 -1
- package/dist/kolibri/bem-registry-CWvl2xho.js +0 -5
- package/dist/kolibri/bem-registry-CWvl2xho.js.map +0 -1
- package/dist/kolibri/bootstrap-DPKvOz00.js +0 -5
- package/dist/kolibri/bootstrap-DPKvOz00.js.map +0 -1
- package/dist/kolibri/color-CAVnI0e-.js +0 -5
- package/dist/kolibri/color-CAVnI0e-.js.map +0 -1
- package/dist/kolibri/common-Cx_AGO_M.js +0 -5
- package/dist/kolibri/common-Cx_AGO_M.js.map +0 -1
- package/dist/kolibri/component-Dh0cPCxF.js +0 -5
- package/dist/kolibri/component-Dh0cPCxF.js.map +0 -1
- package/dist/kolibri/component-DvjvBJeK.js +0 -5
- package/dist/kolibri/component-DvjvBJeK.js.map +0 -1
- package/dist/kolibri/component-DzaT2WlJ.js +0 -5
- package/dist/kolibri/component-DzaT2WlJ.js.map +0 -1
- package/dist/kolibri/contrast-DlURrMX4.js +0 -5
- package/dist/kolibri/contrast-DlURrMX4.js.map +0 -1
- package/dist/kolibri/controller-Bdve6A-Q.js +0 -5
- package/dist/kolibri/controller-Bdve6A-Q.js.map +0 -1
- package/dist/kolibri/controller-CJmWOqQQ.js +0 -5
- package/dist/kolibri/controller-CJmWOqQQ.js.map +0 -1
- package/dist/kolibri/controller-DKPaX3Tu.js +0 -5
- package/dist/kolibri/controller-DKPaX3Tu.js.map +0 -1
- package/dist/kolibri/controller-DRE7PRMK.js +0 -5
- package/dist/kolibri/controller-DRE7PRMK.js.map +0 -1
- package/dist/kolibri/controller-icon-DekcIBGR.js +0 -5
- package/dist/kolibri/controller-icon-DekcIBGR.js.map +0 -1
- package/dist/kolibri/controller-osuRO7S2.js +0 -5
- package/dist/kolibri/controller-osuRO7S2.js.map +0 -1
- package/dist/kolibri/controller-xXHYiOzQ.js +0 -5
- package/dist/kolibri/controller-xXHYiOzQ.js.map +0 -1
- package/dist/kolibri/custom-class-DlT-QmWF.js +0 -5
- package/dist/kolibri/custom-class-DlT-QmWF.js.map +0 -1
- package/dist/kolibri/dev.utils-02Sl9bQo.js +0 -5
- package/dist/kolibri/dev.utils-02Sl9bQo.js.map +0 -1
- package/dist/kolibri/devtools-CTlVZVnW.js +0 -5
- package/dist/kolibri/devtools-CTlVZVnW.js.map +0 -1
- package/dist/kolibri/disabled-gyBUQRnY.js +0 -5
- package/dist/kolibri/disabled-gyBUQRnY.js.map +0 -1
- package/dist/kolibri/element-focus-CRwW4N4R.js +0 -5
- package/dist/kolibri/element-focus-CRwW4N4R.js.map +0 -1
- package/dist/kolibri/element-interaction-Bv-mPSBn.js +0 -5
- package/dist/kolibri/element-interaction-Bv-mPSBn.js.map +0 -1
- package/dist/kolibri/events-VVvk1win.js +0 -5
- package/dist/kolibri/events-VVvk1win.js.map +0 -1
- package/dist/kolibri/has-closer-B8w7bVjx.js +0 -5
- package/dist/kolibri/has-closer-B8w7bVjx.js.map +0 -1
- package/dist/kolibri/hide-label-6Bx1MH20.js +0 -5
- package/dist/kolibri/hide-label-6Bx1MH20.js.map +0 -1
- package/dist/kolibri/href-Dp4go7zq.js +0 -5
- package/dist/kolibri/href-Dp4go7zq.js.map +0 -1
- package/dist/kolibri/i18n-Br16IAnY.js +0 -5
- package/dist/kolibri/i18n-Br16IAnY.js.map +0 -1
- package/dist/kolibri/icons-oAzMYWgV.js +0 -5
- package/dist/kolibri/icons-oAzMYWgV.js.map +0 -1
- package/dist/kolibri/index-BQlHOxik.js +0 -6
- package/dist/kolibri/index-BQlHOxik.js.map +0 -1
- package/dist/kolibri/inline-DnwpECF8.js +0 -5
- package/dist/kolibri/inline-DnwpECF8.js.map +0 -1
- package/dist/kolibri/label-Fyi30H9j.js +0 -5
- package/dist/kolibri/label-Fyi30H9j.js.map +0 -1
- package/dist/kolibri/label-KTv-zMW0.js +0 -5
- package/dist/kolibri/label-KTv-zMW0.js.map +0 -1
- package/dist/kolibri/level-1jyaYIAE.js +0 -5
- package/dist/kolibri/level-1jyaYIAE.js.map +0 -1
- package/dist/kolibri/max-length-behavior-CpaNmMus.js +0 -5
- package/dist/kolibri/max-length-behavior-CpaNmMus.js.map +0 -1
- package/dist/kolibri/multiple-DqCQ-txe.js +0 -5
- package/dist/kolibri/multiple-DqCQ-txe.js.map +0 -1
- package/dist/kolibri/normalizers-m3s9sgmq.js +0 -5
- package/dist/kolibri/normalizers-m3s9sgmq.js.map +0 -1
- package/dist/kolibri/open-Dw4Y2dzo.js +0 -5
- package/dist/kolibri/open-Dw4Y2dzo.js.map +0 -1
- package/dist/kolibri/orientation-CjNmUJp-.js +0 -5
- package/dist/kolibri/orientation-CjNmUJp-.js.map +0 -1
- package/dist/kolibri/placeholder-DTOUrN5s.js +0 -5
- package/dist/kolibri/placeholder-DTOUrN5s.js.map +0 -1
- package/dist/kolibri/read-only-DUMeby7s.js +0 -5
- package/dist/kolibri/read-only-DUMeby7s.js.map +0 -1
- package/dist/kolibri/required-DFzRSWky.js +0 -5
- package/dist/kolibri/required-DFzRSWky.js.map +0 -1
- package/dist/kolibri/rows-htbnIG9G.js +0 -5
- package/dist/kolibri/rows-htbnIG9G.js.map +0 -1
- package/dist/kolibri/spell-check-BtaQyLZc.js +0 -5
- package/dist/kolibri/spell-check-BtaQyLZc.js.map +0 -1
- package/dist/kolibri/src-DkLxm4tr.js +0 -5
- package/dist/kolibri/src-DkLxm4tr.js.map +0 -1
- package/dist/kolibri/suggestions-DEcHprcz.js +0 -5
- package/dist/kolibri/suggestions-DEcHprcz.js.map +0 -1
- package/dist/kolibri/table-selection-DmmUo33G.js +0 -5
- package/dist/kolibri/table-selection-DmmUo33G.js.map +0 -1
- package/dist/kolibri/tooltip-align-mwhvx9nK.js +0 -5
- package/dist/kolibri/tooltip-align-mwhvx9nK.js.map +0 -1
- package/dist/kolibri/unique-nav-labels-ZepmMUSu.js +0 -5
- package/dist/kolibri/unique-nav-labels-ZepmMUSu.js.map +0 -1
- package/dist/kolibri/validation-D6nATCh8.js +0 -5
- package/dist/kolibri/validation-D6nATCh8.js.map +0 -1
- package/dist/kolibri/validation-DGQ9Zja2.js +0 -5
- package/dist/kolibri/validation-DGQ9Zja2.js.map +0 -1
- package/dist/kolibri/value-number-clamped-47tM199y.js +0 -5
- package/dist/kolibri/value-number-clamped-47tM199y.js.map +0 -1
- package/dist/kolibri/variant-class-name-BCcQYpIV.js +0 -5
- package/dist/kolibri/variant-class-name-BCcQYpIV.js.map +0 -1
- package/dist/kolibri/variant-quote-y0Z1TRdz.js +0 -5
- package/dist/kolibri/variant-quote-y0Z1TRdz.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kol-tabs.entry.esm.js","sources":["src/schema/props/tab-behavior.ts","src/schema/props/has-create-button.ts","src/components/tabs/style.scss?tag=kol-tabs&mode=default&encapsulation=shadow","src/components/tabs/shadow.tsx"],"sourcesContent":["/* types */\nimport type { Generic } from 'adopted-style-sheets';\nimport { watchValidator } from '../utils';\n\nconst tabBehaviorPropTypeOptions = ['select-automatic', 'select-manual'] as const;\nexport type TabBehaviorPropType = (typeof tabBehaviorPropTypeOptions)[number];\n\n/**\n * Defines which behavior is active.\n */\nexport type PropTabBehavior = {\n\tbehavior: TabBehaviorPropType;\n};\n\n/* validator */\nexport const validateTabBehavior = (component: Generic.Element.Component, value?: TabBehaviorPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t`_behavior`,\n\t\t(value) => typeof value === 'string' && tabBehaviorPropTypeOptions.includes(value),\n\t\tnew Set([`KoliBriTabBehavior {${tabBehaviorPropTypeOptions.join(', ')}`]),\n\t\tvalue,\n\t);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../utils';\n\n/* types */\nexport type HasCreateButtonPropType = boolean;\n\n/**\n * Defines whether the element has a create button.\n */\nexport type PropHasCreateButton = {\n\thasCreateButton: HasCreateButtonPropType;\n};\n\n/* validator */\nexport const validateHasCreateButton = (component: Generic.Element.Component, value?: HasCreateButtonPropType): void => {\n\twatchBoolean(component, '_hasCreateButton', value);\n};\n","@use '../@shared/mixins' as *;\n@use '../@shared/global' as *;\n@use '../host-display-block' as *;\n@use '../tooltip/style.scss' as *;\n@use '../@shared/icon.mixin' as *;\n\n@layer kol-component {\n\t@include kol-icon-styles();\n\t.kol-tabs {\n\t\tdisplay: var(--display);\n\t\tgrid-template-columns: var(--grid-template-columns);\n\t\tgrid-template-rows: var(--grid-template-rows);\n\n\t\t&--align-right {\n\t\t\t--display: grid;\n\t\t\t--grid-template-columns: 1fr auto;\n\n\t\t\t--button-group-flex-direction: column;\n\t\t\t--button-group-order: 2;\n\t\t}\n\n\t\t&--align-left {\n\t\t\t--display: grid;\n\t\t\t--grid-template-columns: auto 1fr;\n\n\t\t\t--button-group-flex-direction: column;\n\t\t\t--button-group-order: 0;\n\t\t}\n\n\t\t&--align-bottom {\n\t\t\t--display: grid;\n\t\t\t--grid-template-rows: 1fr auto;\n\n\t\t\t--button-group-order: 2;\n\t\t}\n\n\t\t&__tabs-align-top {\n\t\t\t--display: grid;\n\t\t\t--grid-template-rows: auto 1fr;\n\n\t\t\t--button-group-order: 0;\n\t\t}\n\n\t\t&__button-group {\n\t\t\tdisplay: flex;\n\t\t\torder: var(--button-group-order);\n\n\t\t\tflex-direction: var(--button-group-flex-direction);\n\t\t\tflex-wrap: wrap;\n\n\t\t\t.kol-button {\n\t\t\t\tborder-bottom-color: transparent;\n\t\t\t\tdisplay: block;\n\t\t\t\tborder-bottom-style: solid;\n\t\t\t}\n\t\t}\n\n\t\t&__panel {\n\t\t\theight: 100%;\n\t\t}\n\t}\n}\n","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\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\tpublic async focus(): 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"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kol-tabs.entry.esm.js","sources":["src/schema/props/tab-behavior.ts","src/schema/props/has-create-button.ts","src/components/tabs/style.scss?tag=kol-tabs&mode=default&encapsulation=shadow","src/components/tabs/shadow.tsx"],"sourcesContent":["/* types */\nimport type { Generic } from 'adopted-style-sheets';\nimport { watchValidator } from '../utils';\n\nconst tabBehaviorPropTypeOptions = ['select-automatic', 'select-manual'] as const;\nexport type TabBehaviorPropType = (typeof tabBehaviorPropTypeOptions)[number];\n\n/**\n * Defines which behavior is active.\n */\nexport type PropTabBehavior = {\n\tbehavior: TabBehaviorPropType;\n};\n\n/* validator */\nexport const validateTabBehavior = (component: Generic.Element.Component, value?: TabBehaviorPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t`_behavior`,\n\t\t(value) => typeof value === 'string' && tabBehaviorPropTypeOptions.includes(value),\n\t\tnew Set([`KoliBriTabBehavior {${tabBehaviorPropTypeOptions.join(', ')}`]),\n\t\tvalue,\n\t);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../utils';\n\n/* types */\nexport type HasCreateButtonPropType = boolean;\n\n/**\n * Defines whether the element has a create button.\n */\nexport type PropHasCreateButton = {\n\thasCreateButton: HasCreateButtonPropType;\n};\n\n/* validator */\nexport const validateHasCreateButton = (component: Generic.Element.Component, value?: HasCreateButtonPropType): void => {\n\twatchBoolean(component, '_hasCreateButton', value);\n};\n","@use '../@shared/mixins' as *;\n@use '../@shared/global' as *;\n@use '../host-display-block' as *;\n@use '../tooltip/style.scss' as *;\n@use '../@shared/icon.mixin' as *;\n\n@layer kol-component {\n\t@include kol-icon-styles();\n\t.kol-tabs {\n\t\tdisplay: var(--display);\n\t\tgrid-template-columns: var(--grid-template-columns);\n\t\tgrid-template-rows: var(--grid-template-rows);\n\n\t\t&--align-right {\n\t\t\t--display: grid;\n\t\t\t--grid-template-columns: 1fr auto;\n\n\t\t\t--button-group-flex-direction: column;\n\t\t\t--button-group-order: 2;\n\t\t}\n\n\t\t&--align-left {\n\t\t\t--display: grid;\n\t\t\t--grid-template-columns: auto 1fr;\n\n\t\t\t--button-group-flex-direction: column;\n\t\t\t--button-group-order: 0;\n\t\t}\n\n\t\t&--align-bottom {\n\t\t\t--display: grid;\n\t\t\t--grid-template-rows: 1fr auto;\n\n\t\t\t--button-group-order: 2;\n\t\t}\n\n\t\t&__tabs-align-top {\n\t\t\t--display: grid;\n\t\t\t--grid-template-rows: auto 1fr;\n\n\t\t\t--button-group-order: 0;\n\t\t}\n\n\t\t&__button-group {\n\t\t\tdisplay: flex;\n\t\t\torder: var(--button-group-order);\n\n\t\t\tflex-direction: var(--button-group-flex-direction);\n\t\t\tflex-wrap: wrap;\n\n\t\t\t.kol-button {\n\t\t\t\tborder-bottom-color: transparent;\n\t\t\t\tdisplay: block;\n\t\t\t\tborder-bottom-style: solid;\n\n\t\t\t\t@media (forced-colors: active) {\n\t\t\t\t\t&.selected {\n\t\t\t\t\t\toutline: 3px solid Highlight;\n\t\t\t\t\t\toutline-offset: -3px;\n\n\t\t\t\t\t\t&:focus-visible {\n\t\t\t\t\t\t\toutline-style: dashed;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&__panel {\n\t\t\theight: 100%;\n\t\t}\n\t}\n}\n","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"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{r as n,h as t,g as e}from"./index-BQlHOxik.js";import{_ as o}from"./tslib.es6-QNbPBOk5.js";import{b as i,e as a,j as s,s as l,N as r,H as c,I as h,Q as d}from"./common-Cx_AGO_M.js";import{v as f}from"./align-DxZmRFcp.js";import{v as b}from"./label-Fyi30H9j.js";import{b as u}from"./component-names-Dy77vq43.js";import{t as p}from"./i18n-Br16IAnY.js";import{K as m}from"./keyboard-DNd73LVa.js";import{c as k}from"./clsx-COFh-Vc8.js";import{d as g,a as y,c as v}from"./element-interaction-Bv-mPSBn.js";import{d as w,K as _}from"./events-VVvk1win.js";import"./i18n-B2d_exHc.js";import"./element-focus-CRwW4N4R.js";const x=["select-automatic","select-manual"];const T=(n,t)=>{i(n,`_behavior`,(n=>typeof n==="string"&&x.includes(n)),new Set([`KoliBriTabBehavior {${x.join(", ")}`]),t)};const z=(n,t)=>{a(n,"_hasCreateButton",t)};const C='/* forward the rem function */\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type=\'checkbox\'], [type=\'radio\'], [type=\'range\']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don\'t want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: white;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@font-face {\n font-family: "kolicons";\n src: url("kolicons.eot?t=1780571516250"); /* IE9*/\n src: url("kolicons.eot?t=1780571516250#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1780571516250") format("woff2"), url("kolicons.woff?t=1780571516250") format("woff"), url("kolicons.ttf?t=1780571516250") format("truetype"), url("kolicons.svg?t=1780571516250#kolicons") format("svg"); /* iOS 4.1- */\n}\n@layer kol-component {\n [class^=kolicon-], [class*=" kolicon-"] {\n font-family: "kolicons";\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .kolicon-alert-error::before {\n content: "\\ea01";\n }\n .kolicon-alert-info::before {\n content: "\\ea02";\n }\n .kolicon-alert-success::before {\n content: "\\ea03";\n }\n .kolicon-alert-warning::before {\n content: "\\ea04";\n }\n .kolicon-check::before {\n content: "\\ea05";\n }\n .kolicon-chevron-double-left::before {\n content: "\\ea06";\n }\n .kolicon-chevron-double-right::before {\n content: "\\ea07";\n }\n .kolicon-chevron-down::before {\n content: "\\ea08";\n }\n .kolicon-chevron-left::before {\n content: "\\ea09";\n }\n .kolicon-chevron-right::before {\n content: "\\ea0a";\n }\n .kolicon-chevron-up::before {\n content: "\\ea0b";\n }\n .kolicon-cogwheel::before {\n content: "\\ea0c";\n }\n .kolicon-cross::before {\n content: "\\ea0d";\n }\n .kolicon-eye-closed::before {\n content: "\\ea0e";\n }\n .kolicon-eye::before {\n content: "\\ea0f";\n }\n .kolicon-house::before {\n content: "\\ea10";\n }\n .kolicon-kolibri::before {\n content: "\\ea11";\n }\n .kolicon-link-external::before {\n content: "\\ea12";\n }\n .kolicon-link::before {\n content: "\\ea13";\n }\n .kolicon-minus::before {\n content: "\\ea14";\n }\n .kolicon-plus::before {\n content: "\\ea15";\n }\n .kolicon-settings::before {\n content: "\\ea16";\n }\n .kolicon-sort-asc::before {\n content: "\\ea17";\n }\n .kolicon-sort-desc::before {\n content: "\\ea18";\n }\n .kolicon-sort-neutral::before {\n content: "\\ea19";\n }\n .kolicon-up::before {\n content: "\\ea1a";\n }\n .kolicon-version::before {\n content: "\\ea1b";\n }\n}\n@layer kol-component {\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: black;\n background-color: white;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: black;\n background-color: white;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-tabs {\n display: var(--display);\n grid-template-columns: var(--grid-template-columns);\n grid-template-rows: var(--grid-template-rows);\n }\n .kol-tabs--align-right {\n --display: grid;\n --grid-template-columns: 1fr auto;\n --button-group-flex-direction: column;\n --button-group-order: 2;\n }\n .kol-tabs--align-left {\n --display: grid;\n --grid-template-columns: auto 1fr;\n --button-group-flex-direction: column;\n --button-group-order: 0;\n }\n .kol-tabs--align-bottom {\n --display: grid;\n --grid-template-rows: 1fr auto;\n --button-group-order: 2;\n }\n .kol-tabs__tabs-align-top {\n --display: grid;\n --grid-template-rows: auto 1fr;\n --button-group-order: 0;\n }\n .kol-tabs__button-group {\n display: flex;\n order: var(--button-group-order);\n flex-direction: var(--button-group-flex-direction);\n flex-wrap: wrap;\n }\n .kol-tabs__button-group .kol-button {\n border-bottom-color: transparent;\n display: block;\n border-bottom-style: solid;\n }\n .kol-tabs__panel {\n height: 100%;\n }\n}';const j=class{constructor(t){n(this,t);this.onCreateLabel=`${p("kol-new")} …`;this.ctaRef=v();this.nextPossibleTabIndex=(n,t,e=1)=>{const o=t+e;if(o<n.length){if(n[o]._disabled){return this.nextPossibleTabIndex(n,t,e+1)}return o}return t};this.prevPossibleTabIndex=(n,t,e=1)=>{const o=t-e;if(o>=0){if(n[o]._disabled){return this.prevPossibleTabIndex(n,t,e+1)}return o}return t};this.onKeyDown=n=>{switch(n.key){case m.ArrowRight:this.goToNextTab(n);break;case m.ArrowLeft:this.goToPreviousTab(n);break;case m.Space:case m.Enter:this.activateFocusedTab(n);break}};this.onClickSelect=(n,t)=>{this.selectNextTabEvent(n,t)};this.onMouseDown=n=>{n.preventDefault()};this.callbacks={onClick:this.onClickSelect,onMouseDown:this.onMouseDown};this.catchTabPanelHost=n=>{this.tabPanelHost=n};this._align="top";this._hasCreateButton=false;this._selected=0;this.state={_align:"top",_label:"",_selected:0,_tabs:[]};this.selectNextNotDisabledTab=(n,t,e=true,o)=>{if(n>t.length-1){n=t.length-1}if(n<0){n=0}if(Array.isArray(t)&&t[n]){if(t[n]._disabled){if(e===true){if(n<t.length-1){return this.selectNextNotDisabledTab(n+1,t,true,o||n)}else{n=o||n;e=false}}if(e===false){if(n>0){return this.selectNextNotDisabledTab(n-1,t,false,o||n)}else{s(`[KolTabs] All tabs are disabled, and therefore no tab can be displayed.`)}}}}return n};this.syncSelectedAndTabs=(n,t,e,o)=>{let i;if(o==="_selected"){i=n}else{i=this.state._selected}let a;if(o==="_tabs"){a=n}else{a=this.state._tabs}if(a.length>0){t.set("_selected",this.selectNextNotDisabledTab(i,a))}};this.refreshTabPanels=()=>{var n,t,e,o;if(!this.tabPanelHost)return;while(this.tabPanelHost.firstChild){this.tabPanelHost.removeChild(this.tabPanelHost.firstChild)}for(let i=0;i<((n=this.state._tabs)===null||n===void 0?void 0:n.length);i++){const n=document.createElement("div");n.setAttribute("aria-labelledby",`${this.state._label.replace(/\s/g,"-")}-tab-${i}`);n.setAttribute("id",`tabpanel-${i}`);n.setAttribute("role","tabpanel");n.setAttribute("hidden","");n.setAttribute("tabindex","0");const a=document.createElement("slot");a.setAttribute("name",`tabpanel-slot-${i}`);n.appendChild(a);(t=this.tabPanelHost)===null||t===void 0?void 0:t.appendChild(n);if(typeof HTMLCollection!=="undefined"&&((e=this.host)===null||e===void 0?void 0:e.children)instanceof HTMLCollection&&((o=this.host)===null||o===void 0?void 0:o.children[i])){this.host.children[i].setAttribute("slot",`tabpanel-slot-${i}`)}}this.updateVisiblePanel()};this.updateVisiblePanel=()=>{if(!this.tabPanelHost)return;Array.from(this.tabPanelHost.children).forEach(((n,t)=>{if(t===this.state._selected){n.removeAttribute("hidden")}else{n.setAttribute("hidden","")}}))};this.onCreate=n=>{var t,e;n.preventDefault();(e=(t=this.state._on)===null||t===void 0?void 0:t.onCreate)===null||e===void 0?void 0:e.call(t,n);if(this.host){w(this.host,_.create)}};this.onBlur=()=>{this.currentFocusIndex=undefined}}getCurrentFocusIndex(){if(typeof this.currentFocusIndex==="number"){return this.currentFocusIndex}return this.state._selected}getKeyboardTabChangeMode(){if(this._behavior==="select-manual"){return"selectFocusOnly"}return"activateCompletely"}goToNextTab(n){const t=this.nextPossibleTabIndex(this.state._tabs,this.getCurrentFocusIndex());this.selectNextTabEvent(n,t,this.getKeyboardTabChangeMode())}goToPreviousTab(n){const t=this.prevPossibleTabIndex(this.state._tabs,this.getCurrentFocusIndex());this.selectNextTabEvent(n,t,this.getKeyboardTabChangeMode())}activateFocusedTab(n){if(typeof this.currentFocusIndex==="number"){this.onSelect(n,this.currentFocusIndex)}}selectNextTabEvent(n,t,e="activateCompletely"){var o,i;this.currentFocusIndex=t;this.focusTabById(t);if(e==="activateCompletely"){this._selected=t;const e=this.state._tabs[t];(i=(o=e._on)===null||o===void 0?void 0:o.onSelect)===null||i===void 0?void 0:i.call(o,n,t);this.onSelect(n,t)}}async focus(){}async click(){}renderButtonGroup(){return t("div",{"aria-label":this.state._label,class:"kol-tabs__button-group",role:"tablist",onKeyDown:this.onKeyDown,onBlur:this.onBlur},this.state._tabs.map(((n,e)=>t(u,{ref:this.state._selected===e?this.ctaRef:undefined,_disabled:n._disabled,_icons:n._icons,_hideLabel:n._hideLabel,_label:n._label,_on:this.callbacks,_tabIndex:this.state._selected===e?0:-1,_tooltipAlign:n._tooltipAlign,_variant:this.state._selected===e?"custom":undefined,_customClass:this.state._selected===e?"selected":"",_ariaControls:`tabpanel-${e}`,_ariaSelected:this.state._selected===e,_id:`${this.state._label.replace(/\s/g,"-")}-tab-${e}`,_role:"tab",_value:e}))),this.state._hasCreateButton&&t(u,{class:"kol-tabs__button-create",_label:this.onCreateLabel,_on:{onClick:this.onCreate},_icons:"kolicon-plus","data-testid":"tabs-create-button"}))}render(){return t("div",{key:"03faa28ca436d156581f60b422a46eca57ff9d48",ref:n=>{this.tabPanelsElement=n},class:k("kol-tabs",`kol-tabs--align-${this.state._align}`)},this.renderButtonGroup(),t("div",{key:"61e93a5f157c7d31a60ec9fef085422955cb7311",class:"kol-tabs__content",ref:this.catchTabPanelHost}))}validateAlign(n){f(this,n)}validateBehavior(n){T(this,n)}validateHasCreateButton(n){z(this,n)}validateLabel(n){b(this,n,{required:true})}validateOn(n){if(typeof n==="object"&&n!==null){const t={};if(typeof n.onCreate==="function"){t.onCreate=n.onCreate}if(typeof n.onSelect==="function"){t.onSelect=n.onSelect}l(this,"_on",t)}}validateSelected(n){r(this,"_selected",n,{hooks:{beforePatch:this.syncSelectedAndTabs}})}validateTabs(n){c(this,"_tabs",(n=>typeof n==="object"&&n!==null&&typeof n._label==="string"&&n._label.length>0),n,undefined,{hooks:{beforePatch:this.syncSelectedAndTabs,afterPatch:this.refreshTabPanels}});h("KolTabs",this.state._tabs.length)}componentWillLoad(){this.validateAlign(this._align);this.validateLabel(this._label);this.validateOn(this._on);this.validateSelected(this._selected);this.validateTabs(this._tabs);this.validateBehavior(this._behavior);this.validateHasCreateButton(this._hasCreateButton)}componentDidRender(){this.refreshTabPanels()}focusTabById(n){if(this.tabPanelsElement){const t=d(`button#${this.state._label.replace(/\s/g,"-")}-tab-${n}`,this.tabPanelsElement);t===null||t===void 0?void 0:t.focus()}}onSelect(n,t){var e,o;(o=(e=this._on)===null||e===void 0?void 0:e.onSelect)===null||o===void 0?void 0:o.call(e,n,t);if(this.host){w(this.host,_.select,t)}this.focusTabById(t)}get host(){return e(this)}static get watchers(){return{_align:["validateAlign"],_behavior:["validateBehavior"],_hasCreateButton:["validateHasCreateButton"],_label:["validateLabel"],_on:["validateOn"],_selected:["validateSelected"],_tabs:["validateTabs"]}}};o([g("ctaRef")],j.prototype,"focus",null);o([y("ctaRef")],j.prototype,"click",null);j.style={default:C};export{j as kol_tabs};
|
|
4
|
+
import{r as n,h as t,g as e}from"./index-DqvPZ16l.js";import{_ as o}from"./tslib.es6-QNbPBOk5.js";import{b as i,e as a,j as s,s as l,N as r,H as c,I as h,Q as d}from"./common-DEEjER7G.js";import{v as f}from"./align-ChLoh-Dq.js";import{v as b}from"./label-Cg7TG_7b.js";import{b as u}from"./component-names-Dy77vq43.js";import{t as p}from"./i18n-CaL2ODdQ.js";import{K as m}from"./keyboard-DNd73LVa.js";import{c as k}from"./clsx-COFh-Vc8.js";import{d as g,a as y,c as v}from"./element-interaction-C5-6aPzz.js";import{d as w,K as _}from"./events-BhfZTW2e.js";import"./i18n-B2d_exHc.js";import"./element-focus-BQXzaLL9.js";const x=["select-automatic","select-manual"];const T=(n,t)=>{i(n,`_behavior`,(n=>typeof n==="string"&&x.includes(n)),new Set([`KoliBriTabBehavior {${x.join(", ")}`]),t)};const z=(n,t)=>{a(n,"_hasCreateButton",t)};const C='/* forward the rem function */\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type=\'checkbox\'], [type=\'radio\'], [type=\'range\']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don\'t want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: white;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@font-face {\n font-family: "kolicons";\n src: url("kolicons.eot?t=1780919027063"); /* IE9*/\n src: url("kolicons.eot?t=1780919027063#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1780919027063") format("woff2"), url("kolicons.woff?t=1780919027063") format("woff"), url("kolicons.ttf?t=1780919027063") format("truetype"), url("kolicons.svg?t=1780919027063#kolicons") format("svg"); /* iOS 4.1- */\n}\n@layer kol-component {\n [class^=kolicon-], [class*=" kolicon-"] {\n font-family: "kolicons";\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .kolicon-alert-error::before {\n content: "\\ea01";\n }\n .kolicon-alert-info::before {\n content: "\\ea02";\n }\n .kolicon-alert-success::before {\n content: "\\ea03";\n }\n .kolicon-alert-warning::before {\n content: "\\ea04";\n }\n .kolicon-check::before {\n content: "\\ea05";\n }\n .kolicon-chevron-double-left::before {\n content: "\\ea06";\n }\n .kolicon-chevron-double-right::before {\n content: "\\ea07";\n }\n .kolicon-chevron-down::before {\n content: "\\ea08";\n }\n .kolicon-chevron-left::before {\n content: "\\ea09";\n }\n .kolicon-chevron-right::before {\n content: "\\ea0a";\n }\n .kolicon-chevron-up::before {\n content: "\\ea0b";\n }\n .kolicon-cogwheel::before {\n content: "\\ea0c";\n }\n .kolicon-cross::before {\n content: "\\ea0d";\n }\n .kolicon-eye-closed::before {\n content: "\\ea0e";\n }\n .kolicon-eye::before {\n content: "\\ea0f";\n }\n .kolicon-house::before {\n content: "\\ea10";\n }\n .kolicon-kolibri::before {\n content: "\\ea11";\n }\n .kolicon-link-external::before {\n content: "\\ea12";\n }\n .kolicon-link::before {\n content: "\\ea13";\n }\n .kolicon-minus::before {\n content: "\\ea14";\n }\n .kolicon-plus::before {\n content: "\\ea15";\n }\n .kolicon-settings::before {\n content: "\\ea16";\n }\n .kolicon-sort-asc::before {\n content: "\\ea17";\n }\n .kolicon-sort-desc::before {\n content: "\\ea18";\n }\n .kolicon-sort-neutral::before {\n content: "\\ea19";\n }\n .kolicon-up::before {\n content: "\\ea1a";\n }\n .kolicon-version::before {\n content: "\\ea1b";\n }\n}\n@layer kol-component {\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: black;\n background-color: white;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: black;\n background-color: white;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-tabs {\n display: var(--display);\n grid-template-columns: var(--grid-template-columns);\n grid-template-rows: var(--grid-template-rows);\n }\n .kol-tabs--align-right {\n --display: grid;\n --grid-template-columns: 1fr auto;\n --button-group-flex-direction: column;\n --button-group-order: 2;\n }\n .kol-tabs--align-left {\n --display: grid;\n --grid-template-columns: auto 1fr;\n --button-group-flex-direction: column;\n --button-group-order: 0;\n }\n .kol-tabs--align-bottom {\n --display: grid;\n --grid-template-rows: 1fr auto;\n --button-group-order: 2;\n }\n .kol-tabs__tabs-align-top {\n --display: grid;\n --grid-template-rows: auto 1fr;\n --button-group-order: 0;\n }\n .kol-tabs__button-group {\n display: flex;\n order: var(--button-group-order);\n flex-direction: var(--button-group-flex-direction);\n flex-wrap: wrap;\n }\n .kol-tabs__button-group .kol-button {\n border-bottom-color: transparent;\n display: block;\n border-bottom-style: solid;\n }\n @media (forced-colors: active) {\n .kol-tabs__button-group .kol-button.selected {\n outline: 3px solid Highlight;\n outline-offset: -3px;\n }\n .kol-tabs__button-group .kol-button.selected:focus-visible {\n outline-style: dashed;\n }\n }\n .kol-tabs__panel {\n height: 100%;\n }\n}';const j=class{constructor(t){n(this,t);this.onCreateLabel=`${p("kol-new")} …`;this.ctaRef=v();this.nextPossibleTabIndex=(n,t,e=1)=>{const o=t+e;if(o<n.length){if(n[o]._disabled){return this.nextPossibleTabIndex(n,t,e+1)}return o}return t};this.prevPossibleTabIndex=(n,t,e=1)=>{const o=t-e;if(o>=0){if(n[o]._disabled){return this.prevPossibleTabIndex(n,t,e+1)}return o}return t};this.onKeyDown=n=>{switch(n.key){case m.ArrowRight:this.goToNextTab(n);break;case m.ArrowLeft:this.goToPreviousTab(n);break;case m.Space:case m.Enter:this.activateFocusedTab(n);break}};this.onClickSelect=(n,t)=>{this.selectNextTabEvent(n,t)};this.onMouseDown=n=>{n.preventDefault()};this.callbacks={onClick:this.onClickSelect,onMouseDown:this.onMouseDown};this.catchTabPanelHost=n=>{this.tabPanelHost=n};this._align="top";this._hasCreateButton=false;this._selected=0;this.state={_align:"top",_label:"",_selected:0,_tabs:[]};this.selectNextNotDisabledTab=(n,t,e=true,o)=>{if(n>t.length-1){n=t.length-1}if(n<0){n=0}if(Array.isArray(t)&&t[n]){if(t[n]._disabled){if(e===true){if(n<t.length-1){return this.selectNextNotDisabledTab(n+1,t,true,o||n)}else{n=o||n;e=false}}if(e===false){if(n>0){return this.selectNextNotDisabledTab(n-1,t,false,o||n)}else{s(`[KolTabs] All tabs are disabled, and therefore no tab can be displayed.`)}}}}return n};this.syncSelectedAndTabs=(n,t,e,o)=>{let i;if(o==="_selected"){i=n}else{i=this.state._selected}let a;if(o==="_tabs"){a=n}else{a=this.state._tabs}if(a.length>0){t.set("_selected",this.selectNextNotDisabledTab(i,a))}};this.refreshTabPanels=()=>{var n,t,e,o;if(!this.tabPanelHost)return;while(this.tabPanelHost.firstChild){this.tabPanelHost.removeChild(this.tabPanelHost.firstChild)}for(let i=0;i<((n=this.state._tabs)===null||n===void 0?void 0:n.length);i++){const n=document.createElement("div");n.setAttribute("aria-labelledby",`${this.state._label.replace(/\s/g,"-")}-tab-${i}`);n.setAttribute("id",`tabpanel-${i}`);n.setAttribute("role","tabpanel");n.setAttribute("hidden","");n.setAttribute("tabindex","0");const a=document.createElement("slot");a.setAttribute("name",`tabpanel-slot-${i}`);n.appendChild(a);(t=this.tabPanelHost)===null||t===void 0?void 0:t.appendChild(n);if(typeof HTMLCollection!=="undefined"&&((e=this.host)===null||e===void 0?void 0:e.children)instanceof HTMLCollection&&((o=this.host)===null||o===void 0?void 0:o.children[i])){this.host.children[i].setAttribute("slot",`tabpanel-slot-${i}`)}}this.updateVisiblePanel()};this.updateVisiblePanel=()=>{if(!this.tabPanelHost)return;Array.from(this.tabPanelHost.children).forEach(((n,t)=>{if(t===this.state._selected){n.removeAttribute("hidden")}else{n.setAttribute("hidden","")}}))};this.onCreate=n=>{var t,e;n.preventDefault();(e=(t=this.state._on)===null||t===void 0?void 0:t.onCreate)===null||e===void 0?void 0:e.call(t,n);if(this.host){w(this.host,_.create)}};this.onBlur=()=>{this.currentFocusIndex=undefined}}getCurrentFocusIndex(){if(typeof this.currentFocusIndex==="number"){return this.currentFocusIndex}return this.state._selected}getKeyboardTabChangeMode(){if(this._behavior==="select-manual"){return"selectFocusOnly"}return"activateCompletely"}goToNextTab(n){const t=this.nextPossibleTabIndex(this.state._tabs,this.getCurrentFocusIndex());this.selectNextTabEvent(n,t,this.getKeyboardTabChangeMode())}goToPreviousTab(n){const t=this.prevPossibleTabIndex(this.state._tabs,this.getCurrentFocusIndex());this.selectNextTabEvent(n,t,this.getKeyboardTabChangeMode())}activateFocusedTab(n){if(typeof this.currentFocusIndex==="number"){this.onSelect(n,this.currentFocusIndex)}}selectNextTabEvent(n,t,e="activateCompletely"){var o,i;this.currentFocusIndex=t;this.focusTabById(t);if(e==="activateCompletely"){this._selected=t;const e=this.state._tabs[t];(i=(o=e._on)===null||o===void 0?void 0:o.onSelect)===null||i===void 0?void 0:i.call(o,n,t);this.onSelect(n,t)}}async focus(n){}async click(){}renderButtonGroup(){return t("div",{"aria-label":this.state._label,class:"kol-tabs__button-group",role:"tablist",onKeyDown:this.onKeyDown,onBlur:this.onBlur},this.state._tabs.map(((n,e)=>t(u,{ref:this.state._selected===e?this.ctaRef:undefined,_disabled:n._disabled,_icons:n._icons,_hideLabel:n._hideLabel,_label:n._label,_on:this.callbacks,_tabIndex:this.state._selected===e?0:-1,_tooltipAlign:n._tooltipAlign,_variant:this.state._selected===e?"custom":undefined,_customClass:this.state._selected===e?"selected":"",_ariaControls:`tabpanel-${e}`,_ariaSelected:this.state._selected===e,_id:`${this.state._label.replace(/\s/g,"-")}-tab-${e}`,_role:"tab",_value:e}))),this.state._hasCreateButton&&t(u,{class:"kol-tabs__button-create",_label:this.onCreateLabel,_on:{onClick:this.onCreate},_icons:"kolicon-plus","data-testid":"tabs-create-button"}))}render(){return t("div",{key:"cbac3f2cf4f389e4bdcd4a83c463a339a4f587c4",ref:n=>{this.tabPanelsElement=n},class:k("kol-tabs",`kol-tabs--align-${this.state._align}`)},this.renderButtonGroup(),t("div",{key:"cd0aa9f1a4e1e5dc5facdf0d1d6e58013bf4bc40",class:"kol-tabs__content",ref:this.catchTabPanelHost}))}validateAlign(n){f(this,n)}validateBehavior(n){T(this,n)}validateHasCreateButton(n){z(this,n)}validateLabel(n){b(this,n,{required:true})}validateOn(n){if(typeof n==="object"&&n!==null){const t={};if(typeof n.onCreate==="function"){t.onCreate=n.onCreate}if(typeof n.onSelect==="function"){t.onSelect=n.onSelect}l(this,"_on",t)}}validateSelected(n){r(this,"_selected",n,{hooks:{beforePatch:this.syncSelectedAndTabs}})}validateTabs(n){c(this,"_tabs",(n=>typeof n==="object"&&n!==null&&typeof n._label==="string"&&n._label.length>0),n,undefined,{hooks:{beforePatch:this.syncSelectedAndTabs,afterPatch:this.refreshTabPanels}});h("KolTabs",this.state._tabs.length)}componentWillLoad(){this.validateAlign(this._align);this.validateLabel(this._label);this.validateOn(this._on);this.validateSelected(this._selected);this.validateTabs(this._tabs);this.validateBehavior(this._behavior);this.validateHasCreateButton(this._hasCreateButton)}componentDidRender(){this.refreshTabPanels()}focusTabById(n){if(this.tabPanelsElement){const t=d(`button#${this.state._label.replace(/\s/g,"-")}-tab-${n}`,this.tabPanelsElement);t===null||t===void 0?void 0:t.focus()}}onSelect(n,t){var e,o;(o=(e=this._on)===null||e===void 0?void 0:e.onSelect)===null||o===void 0?void 0:o.call(e,n,t);if(this.host){w(this.host,_.select,t)}this.focusTabById(t)}get host(){return e(this)}static get watchers(){return{_align:["validateAlign"],_behavior:["validateBehavior"],_hasCreateButton:["validateHasCreateButton"],_label:["validateLabel"],_on:["validateOn"],_selected:["validateSelected"],_tabs:["validateTabs"]}}};o([g("ctaRef")],j.prototype,"focus",null);o([y("ctaRef")],j.prototype,"click",null);j.style={default:C};export{j as kol_tabs};
|
|
5
5
|
//# sourceMappingURL=kol-tabs.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["registerInstance","h","getElement","__decorate","watchValidator","watchBoolean","devHint","setState","watchNumber","watchJsonArrayString","uiUxHintMillerscheZahl","koliBriQuerySelector","validateAlign","validateLabel","KolButtonWcTag","translate","KeyboardKey","clsx","delegateFocus","delegateClick","createCtaRef","dispatchDomEvent","KolEvent","tabBehaviorPropTypeOptions","validateTabBehavior","component","value","includes","Set","join","validateHasCreateButton","defaultStyleCss","KolTabs","constructor","hostRef","this","onCreateLabel","ctaRef","nextPossibleTabIndex","tabs","offset","step","nextOffset","length","_disabled","prevPossibleTabIndex","onKeyDown","event","key","ArrowRight","goToNextTab","ArrowLeft","goToPreviousTab","Space","Enter","activateFocusedTab","onClickSelect","index","selectNextTabEvent","onMouseDown","preventDefault","callbacks","onClick","catchTabPanelHost","el","tabPanelHost","_align","_hasCreateButton","_selected","state","_label","_tabs","selectNextNotDisabledTab","selected","upOrDown","initialSelected","Array","isArray","syncSelectedAndTabs","nextValue","nextState","_component","set","refreshTabPanels","_a","_b","_c","_d","firstChild","removeChild","i","div","document","createElement","setAttribute","replace","slot","appendChild","HTMLCollection","host","children","updateVisiblePanel","from","forEach","child","removeAttribute","onCreate","_on","call","create","onBlur","currentFocusIndex","undefined","getCurrentFocusIndex","getKeyboardTabChangeMode","_behavior","nextFocusIndex","onSelect","nextTabIndex","changeMode","focusTabById","tab","focus","click","renderButtonGroup","class","role","map","button","ref","_icons","_hideLabel","_tabIndex","_tooltipAlign","_variant","_customClass","_ariaControls","_ariaSelected","_id","_role","_value","render","tabPanelsElement","validateBehavior","required","validateOn","validateSelected","hooks","beforePatch","validateTabs","item","afterPatch","componentWillLoad","componentDidRender","select","watchers","prototype","style","default"],"sources":["0"],"mappings":";;;YAGcA,OAAkBC,OAAQC,MAAkB,kCAC5CC,MAAkB,sCAClBC,OAAqBC,OAAmBC,OAAcC,OAAeC,OAAkBC,OAA2BC,OAA6BC,MAA4B,mCAC3KC,MAAqB,kCACrBC,MAAqB,kCACrBC,MAAsB,4CACtBC,MAAiB,iCACjBC,MAAmB,qCACnBC,MAAY,iCACZC,OAAoBC,OAAoBC,MAAoB,gDAC5DC,OAAuBC,MAAgB,6BAC9C,2BACA,8BAEP,MAAMC,EAA6B,CAAC,mBAAoB,iBACxD,MAAMC,EAAsB,CAACC,EAAWC,KACpCtB,EAAeqB,EAAW,aAAcC,UAAiBA,IAAU,UAAYH,EAA2BI,SAASD,IAAQ,IAAIE,IAAI,CAAC,uBAAuBL,EAA2BM,KAAK,UAAWH,EAAM,EAGhN,MAAMI,EAA0B,CAACL,EAAWC,KACxCrB,EAAaoB,EAAW,mBAAoBC,EAAM,EAGtD,MAAMK,EAAkB,
|
|
1
|
+
{"version":3,"names":["registerInstance","h","getElement","__decorate","watchValidator","watchBoolean","devHint","setState","watchNumber","watchJsonArrayString","uiUxHintMillerscheZahl","koliBriQuerySelector","validateAlign","validateLabel","KolButtonWcTag","translate","KeyboardKey","clsx","delegateFocus","delegateClick","createCtaRef","dispatchDomEvent","KolEvent","tabBehaviorPropTypeOptions","validateTabBehavior","component","value","includes","Set","join","validateHasCreateButton","defaultStyleCss","KolTabs","constructor","hostRef","this","onCreateLabel","ctaRef","nextPossibleTabIndex","tabs","offset","step","nextOffset","length","_disabled","prevPossibleTabIndex","onKeyDown","event","key","ArrowRight","goToNextTab","ArrowLeft","goToPreviousTab","Space","Enter","activateFocusedTab","onClickSelect","index","selectNextTabEvent","onMouseDown","preventDefault","callbacks","onClick","catchTabPanelHost","el","tabPanelHost","_align","_hasCreateButton","_selected","state","_label","_tabs","selectNextNotDisabledTab","selected","upOrDown","initialSelected","Array","isArray","syncSelectedAndTabs","nextValue","nextState","_component","set","refreshTabPanels","_a","_b","_c","_d","firstChild","removeChild","i","div","document","createElement","setAttribute","replace","slot","appendChild","HTMLCollection","host","children","updateVisiblePanel","from","forEach","child","removeAttribute","onCreate","_on","call","create","onBlur","currentFocusIndex","undefined","getCurrentFocusIndex","getKeyboardTabChangeMode","_behavior","nextFocusIndex","onSelect","nextTabIndex","changeMode","focusTabById","tab","focus","options","click","renderButtonGroup","class","role","map","button","ref","_icons","_hideLabel","_tabIndex","_tooltipAlign","_variant","_customClass","_ariaControls","_ariaSelected","_id","_role","_value","render","tabPanelsElement","validateBehavior","required","validateOn","validateSelected","hooks","beforePatch","validateTabs","item","afterPatch","componentWillLoad","componentDidRender","select","watchers","prototype","style","default"],"sources":["0"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kol-textarea.entry.esm.js","sources":["src/schema/props/resize-textarea.ts","src/functional-components/inputs/TextArea/TextArea.tsx","src/functional-component-wrappers/TextAreaStateWrapper/TextAreaStateWrapper.tsx","src/components/textarea/controller.ts","src/components/textarea/style.scss?tag=kol-textarea&mode=default&encapsulation=shadow","src/components/textarea/shadow.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchValidator } from '../utils';\n\nexport const textareaResizeOptions = ['vertical', 'none'] as const;\nexport type TextareaResizePropType = (typeof textareaResizeOptions)[number];\n\n/**\n * Defines how the textarea can be resized by the user.\n */\nexport type PropResizeTextarea = {\n\tresize: TextareaResizePropType;\n};\n\nconst isTextareaResizePropType = (value: unknown): value is TextareaResizePropType => {\n\treturn typeof value === 'string' && textareaResizeOptions.includes(value as TextareaResizePropType);\n};\n\nexport const validateResizeTextarea = (component: Generic.Element.Component, value?: TextareaResizePropType): void => {\n\twatchValidator(component, '_resize', isTextareaResizePropType, new Set(textareaResizeOptions), value, {\n\t\tdefaultValue: 'vertical',\n\t});\n};\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport { getMsgType, isMsgDefinedAndInputTouched, type MsgPropType, type Stringified } from '../../../schema';\nimport clsx from '../../../utils/clsx';\nimport { getDefaultProps } from '../_helpers/getDefaultProps';\nimport type { DefaultInputProps } from '../_types';\n\nexport type TextAreaProps = DefaultInputProps<JSXBase.TextareaHTMLAttributes<HTMLTextAreaElement>> & {\n\tvalue: string;\n\ttouched?: boolean;\n\tmsg?: Stringified<MsgPropType>;\n} & {\n\t[key: `aria-${string}`]: unknown;\n\t[key: `data-${string}`]: unknown;\n};\n\nconst TextAreaFc: FC<TextAreaProps> = (props) => {\n\tconst { class: classNames, msg, touched, readonly, disabled, required, ariaDescribedBy, hideLabel, label, ...other } = props;\n\n\tconst stateCssClasses = {\n\t\t['kol-textarea--disabled']: Boolean(disabled),\n\t\t['kol-textarea--required']: Boolean(required),\n\t\t['kol-textarea--touched']: Boolean(touched),\n\t\t['kol-textarea--readonly']: Boolean(readonly),\n\t\t[`kol-textarea--${getMsgType(msg)}`]: isMsgDefinedAndInputTouched(msg, touched),\n\t};\n\n\tconst inputProps: JSXBase.TextareaHTMLAttributes<HTMLTextAreaElement> = {\n\t\tclass: clsx('kol-textarea', stateCssClasses, classNames),\n\t\trequired: required,\n\t\tdisabled: disabled,\n\t\treadonly: readonly,\n\t\t...getDefaultProps({ ariaDescribedBy, hideLabel, label }),\n\t\t...other,\n\t};\n\n\treturn <textarea {...inputProps} />;\n};\n\nexport default TextAreaFc;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport KolTextAreaFc, { type TextAreaProps } from '../../functional-components/inputs/TextArea';\n\nimport { type MsgPropType, type TextareaStates } from '../../schema';\nimport { getRenderStates } from '../_helpers/getRenderStates';\n\nexport type TextAreaStateWrapperProps = Partial<TextAreaProps> & {\n\tstate: TextareaStates;\n};\n\nfunction getTextAreaProps(state: TextareaStates, other: Partial<TextAreaProps>): TextAreaProps {\n\tconst renderStates = getRenderStates(state);\n\tconst ariaDescribedBy = [...renderStates.ariaDescribedBy, ...(other.ariaDescribedBy ?? [])];\n\n\tconst props: TextAreaProps = {\n\t\tid: state._id,\n\t\thideLabel: state._hideLabel,\n\t\tlabel: state._label,\n\t\tvalue: state._value as string,\n\t\taccessKey: state._accessKey,\n\t\tdisabled: state._disabled,\n\t\tname: state._name,\n\t\trows: state._rows,\n\t\treadonly: state._readOnly,\n\t\trequired: state._required,\n\t\tplaceholder: state._placeholder,\n\t\ttouched: state._touched,\n\t\tmsg: state._msg as MsgPropType,\n\t\t...other,\n\t\tariaDescribedBy,\n\t};\n\n\tif ('_maxLength' in state && '_maxLengthBehavior' in state && state._maxLengthBehavior === 'hard') {\n\t\tprops.maxLength = state._maxLength;\n\t}\n\tif ('_shortKey' in state) props['aria-keyshortcuts'] = state._shortKey;\n\n\treturn props;\n}\n\nconst TextAreaStateWrapper: FC<TextAreaStateWrapperProps> = ({ state, ...other }) => {\n\treturn <KolTextAreaFc {...getTextAreaProps(state, other)} />;\n};\n\nexport default TextAreaStateWrapper;\n","import type {\n\tHasCounterPropType,\n\tMaxLengthBehaviorPropType,\n\tPlaceholderPropType,\n\tReadOnlyPropType,\n\tRequiredPropType,\n\tRowsPropType,\n\tSpellCheckPropType,\n\tTextareaProps,\n\tTextareaResizePropType,\n\tTextareaWatches,\n} from '../../schema';\nimport {\n\tvalidateHasCounter,\n\tvalidateMaxLength,\n\tvalidateMaxLengthBehavior,\n\tvalidatePlaceholder,\n\tvalidateReadOnly,\n\tvalidateRequired,\n\tvalidateResizeTextarea,\n\tvalidateRows,\n\tvalidateSpellCheck,\n\twatchString,\n} from '../../schema';\n\nimport { InputIconController } from '../@deprecated/input/controller-icon';\n\nimport type { Generic } from 'adopted-style-sheets';\n\nexport class TextareaController extends InputIconController implements TextareaWatches {\n\tprotected readonly component: Generic.Element.Component & TextareaProps;\n\n\tpublic constructor(component: Generic.Element.Component & TextareaProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tprivate afterSyncCharCounter = () => {\n\t\tif (typeof this.component._value === 'string') {\n\t\t\tthis.component.state._currentLength = this.component._value.length;\n\t\t\tthis.updateCurrentLengthDebounced(this.component._value.length);\n\t\t}\n\t};\n\n\tpublic validateHasCounter(value?: HasCounterPropType): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic validateMaxLengthBehavior(value?: MaxLengthBehaviorPropType): void {\n\t\tvalidateMaxLengthBehavior(this.component, value);\n\t}\n\n\tpublic validateMaxLength(value?: number): void {\n\t\tvalidateMaxLength(this.component, value, {\n\t\t\thooks: { afterPatch: this.afterSyncCharCounter },\n\t\t});\n\t}\n\n\tpublic validatePlaceholder(value?: PlaceholderPropType): void {\n\t\tvalidatePlaceholder(this.component, value);\n\t}\n\n\tpublic validateReadOnly(value?: ReadOnlyPropType): void {\n\t\tvalidateReadOnly(this.component, value);\n\t}\n\n\tpublic validateResize(value?: TextareaResizePropType): void {\n\t\tvalidateResizeTextarea(this.component, value);\n\t}\n\n\tpublic validateRequired(value?: RequiredPropType): void {\n\t\tvalidateRequired(this.component, value);\n\t}\n\n\tpublic validateRows(value?: RowsPropType): void {\n\t\tvalidateRows(this.component, value);\n\t}\n\n\tpublic validateSpellCheck(value?: SpellCheckPropType): void {\n\t\tvalidateSpellCheck(this.component, value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(this.component, '_value', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterSyncCharCounter,\n\t\t\t},\n\t\t});\n\t\tthis.setFormAssociatedValue(this.component._value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t\tthis.validateMaxLengthBehavior(this.component._maxLengthBehavior);\n\t\tthis.validateMaxLength(this.component._maxLength);\n\t\tthis.validatePlaceholder(this.component._placeholder);\n\t\tthis.validateReadOnly(this.component._readOnly);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateResize(this.component._resize);\n\t\tthis.validateRows(this.component._rows);\n\t\tthis.validateSpellCheck(this.component._spellCheck);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n","@use '../@shared/global' as *;\n@use '../@shared/alert.mixin' as *;\n@use '../@shared/form-field.mixin' as *;\n@use '../@shared/input-container.mixin' as *;\n@use '../@shared/mixins' as *;\n@use '../host-display-block' as *;\n\n@layer kol-component {\n\t@include kol-alert;\n\t@include kol-form-field;\n\t@include kol-input-container;\n\n\t.kol-textarea {\n\t\twidth: 100%;\n\n\t\t&:focus {\n\t\t\toutline: none;\n\t\t}\n\t}\n}\n","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\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\tpublic async focus(): 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"],"names":["KolTextAreaFc","KolFormFieldStateWrapperFc","KolInputContainerStateWrapperFc","KolTextAreaStateWrapperFc"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kol-textarea.entry.esm.js","sources":["src/schema/props/resize-textarea.ts","src/functional-components/inputs/TextArea/TextArea.tsx","src/functional-component-wrappers/TextAreaStateWrapper/TextAreaStateWrapper.tsx","src/components/textarea/controller.ts","src/components/textarea/style.scss?tag=kol-textarea&mode=default&encapsulation=shadow","src/components/textarea/shadow.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchValidator } from '../utils';\n\nexport const textareaResizeOptions = ['vertical', 'none'] as const;\nexport type TextareaResizePropType = (typeof textareaResizeOptions)[number];\n\n/**\n * Defines how the textarea can be resized by the user.\n */\nexport type PropResizeTextarea = {\n\tresize: TextareaResizePropType;\n};\n\nconst isTextareaResizePropType = (value: unknown): value is TextareaResizePropType => {\n\treturn typeof value === 'string' && textareaResizeOptions.includes(value as TextareaResizePropType);\n};\n\nexport const validateResizeTextarea = (component: Generic.Element.Component, value?: TextareaResizePropType): void => {\n\twatchValidator(component, '_resize', isTextareaResizePropType, new Set(textareaResizeOptions), value, {\n\t\tdefaultValue: 'vertical',\n\t});\n};\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport { getMsgType, isMsgDefinedAndInputTouched, type MsgPropType, type Stringified } from '../../../schema';\nimport clsx from '../../../utils/clsx';\nimport { getDefaultProps } from '../_helpers/getDefaultProps';\nimport type { DefaultInputProps } from '../_types';\n\nexport type TextAreaProps = DefaultInputProps<JSXBase.TextareaHTMLAttributes<HTMLTextAreaElement>> & {\n\tvalue: string;\n\ttouched?: boolean;\n\tmsg?: Stringified<MsgPropType>;\n} & {\n\t[key: `aria-${string}`]: unknown;\n\t[key: `data-${string}`]: unknown;\n};\n\nconst TextAreaFc: FC<TextAreaProps> = (props) => {\n\tconst { class: classNames, msg, touched, readonly, disabled, required, ariaDescribedBy, hideLabel, label, ...other } = props;\n\n\tconst stateCssClasses = {\n\t\t['kol-textarea--disabled']: Boolean(disabled),\n\t\t['kol-textarea--required']: Boolean(required),\n\t\t['kol-textarea--touched']: Boolean(touched),\n\t\t['kol-textarea--readonly']: Boolean(readonly),\n\t\t[`kol-textarea--${getMsgType(msg)}`]: isMsgDefinedAndInputTouched(msg, touched),\n\t};\n\n\tconst inputProps: JSXBase.TextareaHTMLAttributes<HTMLTextAreaElement> = {\n\t\tclass: clsx('kol-textarea', stateCssClasses, classNames),\n\t\trequired: required,\n\t\tdisabled: disabled,\n\t\treadonly: readonly,\n\t\t...getDefaultProps({ ariaDescribedBy, hideLabel, label }),\n\t\t...other,\n\t};\n\n\treturn <textarea {...inputProps} />;\n};\n\nexport default TextAreaFc;\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport KolTextAreaFc, { type TextAreaProps } from '../../functional-components/inputs/TextArea';\n\nimport { type MsgPropType, type TextareaStates } from '../../schema';\nimport { getRenderStates } from '../_helpers/getRenderStates';\n\nexport type TextAreaStateWrapperProps = Partial<TextAreaProps> & {\n\tstate: TextareaStates;\n};\n\nfunction getTextAreaProps(state: TextareaStates, other: Partial<TextAreaProps>): TextAreaProps {\n\tconst renderStates = getRenderStates(state);\n\tconst ariaDescribedBy = [...renderStates.ariaDescribedBy, ...(other.ariaDescribedBy ?? [])];\n\n\tconst props: TextAreaProps = {\n\t\tid: state._id,\n\t\thideLabel: state._hideLabel,\n\t\tlabel: state._label,\n\t\tvalue: state._value as string,\n\t\taccessKey: state._accessKey,\n\t\tdisabled: state._disabled,\n\t\tname: state._name,\n\t\trows: state._rows,\n\t\treadonly: state._readOnly,\n\t\trequired: state._required,\n\t\tplaceholder: state._placeholder,\n\t\ttouched: state._touched,\n\t\tmsg: state._msg as MsgPropType,\n\t\t...other,\n\t\tariaDescribedBy,\n\t};\n\n\tif ('_maxLength' in state && '_maxLengthBehavior' in state && state._maxLengthBehavior === 'hard') {\n\t\tprops.maxLength = state._maxLength;\n\t}\n\tif ('_shortKey' in state) props['aria-keyshortcuts'] = state._shortKey;\n\n\treturn props;\n}\n\nconst TextAreaStateWrapper: FC<TextAreaStateWrapperProps> = ({ state, ...other }) => {\n\treturn <KolTextAreaFc {...getTextAreaProps(state, other)} />;\n};\n\nexport default TextAreaStateWrapper;\n","import type {\n\tHasCounterPropType,\n\tMaxLengthBehaviorPropType,\n\tPlaceholderPropType,\n\tReadOnlyPropType,\n\tRequiredPropType,\n\tRowsPropType,\n\tSpellCheckPropType,\n\tTextareaProps,\n\tTextareaResizePropType,\n\tTextareaWatches,\n} from '../../schema';\nimport {\n\tvalidateHasCounter,\n\tvalidateMaxLength,\n\tvalidateMaxLengthBehavior,\n\tvalidatePlaceholder,\n\tvalidateReadOnly,\n\tvalidateRequired,\n\tvalidateResizeTextarea,\n\tvalidateRows,\n\tvalidateSpellCheck,\n\twatchString,\n} from '../../schema';\n\nimport { InputIconController } from '../@deprecated/input/controller-icon';\n\nimport type { Generic } from 'adopted-style-sheets';\n\nexport class TextareaController extends InputIconController implements TextareaWatches {\n\tprotected readonly component: Generic.Element.Component & TextareaProps;\n\n\tpublic constructor(component: Generic.Element.Component & TextareaProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tprivate afterSyncCharCounter = () => {\n\t\tif (typeof this.component._value === 'string') {\n\t\t\tthis.component.state._currentLength = this.component._value.length;\n\t\t\tthis.updateCurrentLengthDebounced(this.component._value.length);\n\t\t}\n\t};\n\n\tpublic validateHasCounter(value?: HasCounterPropType): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic validateMaxLengthBehavior(value?: MaxLengthBehaviorPropType): void {\n\t\tvalidateMaxLengthBehavior(this.component, value);\n\t}\n\n\tpublic validateMaxLength(value?: number): void {\n\t\tvalidateMaxLength(this.component, value, {\n\t\t\thooks: { afterPatch: this.afterSyncCharCounter },\n\t\t});\n\t}\n\n\tpublic validatePlaceholder(value?: PlaceholderPropType): void {\n\t\tvalidatePlaceholder(this.component, value);\n\t}\n\n\tpublic validateReadOnly(value?: ReadOnlyPropType): void {\n\t\tvalidateReadOnly(this.component, value);\n\t}\n\n\tpublic validateResize(value?: TextareaResizePropType): void {\n\t\tvalidateResizeTextarea(this.component, value);\n\t}\n\n\tpublic validateRequired(value?: RequiredPropType): void {\n\t\tvalidateRequired(this.component, value);\n\t}\n\n\tpublic validateRows(value?: RowsPropType): void {\n\t\tvalidateRows(this.component, value);\n\t}\n\n\tpublic validateSpellCheck(value?: SpellCheckPropType): void {\n\t\tvalidateSpellCheck(this.component, value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(this.component, '_value', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterSyncCharCounter,\n\t\t\t},\n\t\t});\n\t\tthis.setFormAssociatedValue(this.component._value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t\tthis.validateMaxLengthBehavior(this.component._maxLengthBehavior);\n\t\tthis.validateMaxLength(this.component._maxLength);\n\t\tthis.validatePlaceholder(this.component._placeholder);\n\t\tthis.validateReadOnly(this.component._readOnly);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateResize(this.component._resize);\n\t\tthis.validateRows(this.component._rows);\n\t\tthis.validateSpellCheck(this.component._spellCheck);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n","@use '../@shared/global' as *;\n@use '../@shared/alert.mixin' as *;\n@use '../@shared/form-field.mixin' as *;\n@use '../@shared/input-container.mixin' as *;\n@use '../@shared/mixins' as *;\n@use '../host-display-block' as *;\n\n@layer kol-component {\n\t@include kol-alert;\n\t@include kol-form-field;\n\t@include kol-input-container;\n\n\t.kol-textarea {\n\t\twidth: 100%;\n\n\t\t&:focus {\n\t\t\toutline: none;\n\t\t}\n\t}\n}\n","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"],"names":["KolTextAreaFc","KolFormFieldStateWrapperFc","KolInputContainerStateWrapperFc","KolTextAreaStateWrapperFc"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{h as e,r as n,g as t}from"./index-BQlHOxik.js";import{a as i,_ as o}from"./tslib.es6-QNbPBOk5.js";import{c as a}from"./clsx-COFh-Vc8.js";import{g as l,i as s,c as r,a as c,F as h}from"./FormFieldStateWrapper-BWTMRKXT.js";import{I as d,a as m}from"./controller-icon-DekcIBGR.js";import{b as f,g as p}from"./common-Cx_AGO_M.js";import{a as u,c as b}from"./dev.utils-02Sl9bQo.js";import{d as k,a as v,c as y}from"./element-interaction-Bv-mPSBn.js";import{a as g,v as x,b as _}from"./max-length-behavior-CpaNmMus.js";import{v as w}from"./placeholder-DTOUrN5s.js";import{v as j}from"./read-only-DUMeby7s.js";import{v as z}from"./required-DFzRSWky.js";import{v as B}from"./rows-htbnIG9G.js";import{v as L}from"./spell-check-BtaQyLZc.js";import"./access-and-short-key-D734WtlX.js";import"./disabled-gyBUQRnY.js";import"./hide-label-6Bx1MH20.js";import"./label-Fyi30H9j.js";import"./tooltip-align-mwhvx9nK.js";import"./align-DxZmRFcp.js";import"./variant-class-name-BCcQYpIV.js";import"./events-VVvk1win.js";import"./associated.controller-Bagx9pCw.js";import"./bootstrap-DPKvOz00.js";import"./component-names-Dy77vq43.js";import"./i18n-B2d_exHc.js";import"./_Uint8Array-kJHDjtoP.js";import"./isArray-CcrBs4JM.js";import"./variant-quote-y0Z1TRdz.js";import"./normalizers-m3s9sgmq.js";import"./component-Dh0cPCxF.js";import"./component-DvjvBJeK.js";import"./bem-registry-CWvl2xho.js";import"./component-DzaT2WlJ.js";import"./controller-Bdve6A-Q.js";import"./align-floating-elements-D5XJiLiU.js";import"./tooltip-open-tracking-D3tCiiGP.js";import"./label-KTv-zMW0.js";import"./base-controller-CXhqh4cR.js";import"./i18n-Br16IAnY.js";import"./Alert-BP_7bRZF.js";import"./Heading-q2Ue3Ixd.js";import"./icons-oAzMYWgV.js";import"./element-focus-CRwW4N4R.js";const T=["vertical","none"];const R=e=>typeof e==="string"&&T.includes(e);const S=(e,n)=>{f(e,"_resize",R,new Set(T),n,{defaultValue:"vertical"})};const C=n=>{const{class:t,msg:o,touched:c,readonly:h,disabled:d,required:m,ariaDescribedBy:f,hideLabel:p,label:u}=n,b=i(n,["class","msg","touched","readonly","disabled","required","ariaDescribedBy","hideLabel","label"]);const k={["kol-textarea--disabled"]:Boolean(d),["kol-textarea--required"]:Boolean(m),["kol-textarea--touched"]:Boolean(c),["kol-textarea--readonly"]:Boolean(h),[`kol-textarea--${l(o)}`]:s(o,c)};const v=Object.assign(Object.assign({class:a("kol-textarea",k,t),required:m,disabled:d,readonly:h},r({ariaDescribedBy:f,hideLabel:p,label:u})),b);return e("textarea",Object.assign({},v))};function D(e,n){var t;const i=c(e);const o=[...i.ariaDescribedBy,...(t=n.ariaDescribedBy)!==null&&t!==void 0?t:[]];const a=Object.assign(Object.assign({id:e._id,hideLabel:e._hideLabel,label:e._label,value:e._value,accessKey:e._accessKey,disabled:e._disabled,name:e._name,rows:e._rows,readonly:e._readOnly,required:e._required,placeholder:e._placeholder,touched:e._touched,msg:e._msg},n),{ariaDescribedBy:o});if("_maxLength"in e&&"_maxLengthBehavior"in e&&e._maxLengthBehavior==="hard"){a.maxLength=e._maxLength}if("_shortKey"in e)a["aria-keyshortcuts"]=e._shortKey;return a}const q=n=>{var{state:t}=n,o=i(n,["state"]);return e(C,Object.assign({},D(t,o)))};class A extends d{constructor(e,n,t){super(e,n,t);this.afterSyncCharCounter=()=>{if(typeof this.component._value==="string"){this.component.state._currentLength=this.component._value.length;this.updateCurrentLengthDebounced(this.component._value.length)}};this.component=e}validateHasCounter(e){g(this.component,e)}validateMaxLengthBehavior(e){x(this.component,e)}validateMaxLength(e){_(this.component,e,{hooks:{afterPatch:this.afterSyncCharCounter}})}validatePlaceholder(e){w(this.component,e)}validateReadOnly(e){j(this.component,e)}validateResize(e){S(this.component,e)}validateRequired(e){z(this.component,e)}validateRows(e){B(this.component,e)}validateSpellCheck(e){L(this.component,e)}validateValue(e){p(this.component,"_value",e,{hooks:{afterPatch:this.afterSyncCharCounter}});this.setFormAssociatedValue(this.component._value)}componentWillLoad(){super.componentWillLoad();this.validateHasCounter(this.component._hasCounter);this.validateMaxLengthBehavior(this.component._maxLengthBehavior);this.validateMaxLength(this.component._maxLength);this.validatePlaceholder(this.component._placeholder);this.validateReadOnly(this.component._readOnly);this.validateRequired(this.component._required);this.validateResize(this.component._resize);this.validateRows(this.component._rows);this.validateSpellCheck(this.component._spellCheck);this.validateValue(this.component._value)}}const M='@charset "UTF-8";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/* forward the rem function */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type=\'checkbox\'], [type=\'radio\'], [type=\'range\']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don\'t want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: white;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@font-face {\n font-family: "kolicons";\n src: url("kolicons.eot?t=1780571516250"); /* IE9*/\n src: url("kolicons.eot?t=1780571516250#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1780571516250") format("woff2"), url("kolicons.woff?t=1780571516250") format("woff"), url("kolicons.ttf?t=1780571516250") format("truetype"), url("kolicons.svg?t=1780571516250#kolicons") format("svg"); /* iOS 4.1- */\n}\n@layer kol-component {\n [class^=kolicon-], [class*=" kolicon-"] {\n font-family: "kolicons";\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .kolicon-alert-error::before {\n content: "\\ea01";\n }\n .kolicon-alert-info::before {\n content: "\\ea02";\n }\n .kolicon-alert-success::before {\n content: "\\ea03";\n }\n .kolicon-alert-warning::before {\n content: "\\ea04";\n }\n .kolicon-check::before {\n content: "\\ea05";\n }\n .kolicon-chevron-double-left::before {\n content: "\\ea06";\n }\n .kolicon-chevron-double-right::before {\n content: "\\ea07";\n }\n .kolicon-chevron-down::before {\n content: "\\ea08";\n }\n .kolicon-chevron-left::before {\n content: "\\ea09";\n }\n .kolicon-chevron-right::before {\n content: "\\ea0a";\n }\n .kolicon-chevron-up::before {\n content: "\\ea0b";\n }\n .kolicon-cogwheel::before {\n content: "\\ea0c";\n }\n .kolicon-cross::before {\n content: "\\ea0d";\n }\n .kolicon-eye-closed::before {\n content: "\\ea0e";\n }\n .kolicon-eye::before {\n content: "\\ea0f";\n }\n .kolicon-house::before {\n content: "\\ea10";\n }\n .kolicon-kolibri::before {\n content: "\\ea11";\n }\n .kolicon-link-external::before {\n content: "\\ea12";\n }\n .kolicon-link::before {\n content: "\\ea13";\n }\n .kolicon-minus::before {\n content: "\\ea14";\n }\n .kolicon-plus::before {\n content: "\\ea15";\n }\n .kolicon-settings::before {\n content: "\\ea16";\n }\n .kolicon-sort-asc::before {\n content: "\\ea17";\n }\n .kolicon-sort-desc::before {\n content: "\\ea18";\n }\n .kolicon-sort-neutral::before {\n content: "\\ea19";\n }\n .kolicon-up::before {\n content: "\\ea1a";\n }\n .kolicon-version::before {\n content: "\\ea1b";\n }\n}\n@layer kol-component {\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: black;\n background-color: white;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: black;\n background-color: white;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .kol-alert .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-alert :host {\n display: inline-block;\n }\n .kol-alert .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-alert .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: "";\n }\n .kol-alert .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n display: flex;\n place-items: center;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field__label-text {\n flex-flow: row;\n align-items: flex-start;\n justify-content: flex-start;\n }\n .kol-form-field--required .kol-form-field__label-text:has(.kol-span__slot[hidden])::after,\n .kol-form-field--required .kol-tooltip__content .kol-span__label::after {\n content: "*"/"";\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n position: relative;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n z-index: 1;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n min-height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-textarea {\n width: 100%;\n }\n .kol-textarea:focus {\n outline: none;\n }\n}';const O=e=>{e.style.overflow="hidden";const n=e.rows;const t=e.clientHeight/n;e.rows=1;const i=Math.round(e.scrollHeight/t);e.rows=n;return i};const H=class{async getValue(){var e;return(e=this.ctaRef.el)===null||e===void 0?void 0:e.value}async focus(){}async click(){}getFormFieldProps(){return{state:this.state,class:a("kol-form-field-textarea",{"kol-form-field--has-value":this.state._hasValue,"kol-form-field--has-counter":this.controller.hasSoftCharacterLimit()||this.controller.hasCounter()}),tooltipAlign:this._tooltipAlign,alert:this.showAsAlert()}}getTextAreaProps(){const e=typeof this.state._maxLength==="number"?[u(this.state._id,"character-limit-hint")]:undefined;return Object.assign(Object.assign({ref:this.ctaRef,state:this.state,style:{resize:this.state._resize},ariaDescribedBy:e},this.controller.onFacade),{onInput:this.onInput,onFocus:e=>{this.controller.onFacade.onFocus(e);this.inputHasFocus=true},onBlur:e=>{this.controller.onFacade.onBlur(e);this.inputHasFocus=false}})}render(){return e(h,Object.assign({key:"c35b9c0929d522c0ad02fb0e20510c8ac2434ea4"},this.getFormFieldProps()),e(m,{key:"14b65a21892e945b15e6932e2590ec7eeeb2a626",state:this.state},e(q,Object.assign({key:"eeb210bddef4feac525622a76b1dc58d4dea7a7b"},this.getTextAreaProps()))))}constructor(e){n(this,e);this.ctaRef=y();this._adjustHeight=false;this._disabled=false;this._hideMsg=false;this._hideLabel=false;this._hint="";this._hasCounter=false;this._maxLengthBehavior="hard";this._readOnly=false;this._resize="vertical";this._required=false;this._tooltipAlign="top";this._touched=false;this.state={_adjustHeight:false,_currentLength:0,_currentLengthDebounced:0,_hasValue:false,_hideMsg:false,_id:b("textarea"),_label:"",_resize:"vertical"};this.inputHasFocus=false;this.onInput=e=>{if(this.ctaRef.el instanceof HTMLTextAreaElement){this._value=this.ctaRef.el.value;if(this.state._adjustHeight){this._rows=O(this.ctaRef.el)}this.controller.onFacade.onInput(e)}};this.controller=new A(this,"textarea",this.host)}showAsAlert(){return Boolean(this.state._touched)&&!this.inputHasFocus}validateAccessKey(e){this.controller.validateAccessKey(e)}validateAdjustHeight(e){this.controller.validateAdjustHeight(e)}validateDisabled(e){this.controller.validateDisabled(e)}validateHideMsg(e){this.controller.validateHideMsg(e)}validateHideLabel(e){this.controller.validateHideLabel(e)}validateHasCounter(e){this.controller.validateHasCounter(e)}validateHint(e){this.controller.validateHint(e)}validateIcons(e){this.controller.validateIcons(e)}validateLabel(e){this.controller.validateLabel(e)}validateMaxLength(e){this.controller.validateMaxLength(e)}validateMaxLengthBehavior(e){this.controller.validateMaxLengthBehavior(e)}validateMsg(e){this.controller.validateMsg(e)}validateName(e){this.controller.validateName(e)}validateOn(e){this.controller.validateOn(e)}validatePlaceholder(e){this.controller.validatePlaceholder(e)}validateReadOnly(e){this.controller.validateReadOnly(e)}validateResize(e){this.controller.validateResize(e)}validateRequired(e){this.controller.validateRequired(e)}validateRows(e){this.controller.validateRows(e)}validateShortKey(e){this.controller.validateShortKey(e)}validateSpellCheck(e){this.controller.validateSpellCheck(e)}validateSyncValueBySelector(e){this.controller.validateSyncValueBySelector(e)}validateTouched(e){this.controller.validateTouched(e)}validateValue(e){this.controller.validateValue(e)}validateVariant(e){this.controller.validateVariant(e)}componentDidLoad(){setTimeout((()=>{var e;if(this._adjustHeight===true&&this.ctaRef.el){this._rows=((e=this.state)===null||e===void 0?void 0:e._rows)&&this.state._rows>O(this.ctaRef.el)?this.state._rows:O(this.ctaRef.el)}else if(!this._rows){this._rows=1}}))}componentWillLoad(){this._touched=this._touched===true;this.controller.componentWillLoad();this.state._hasValue=!!this.state._value;this.controller.addValueChangeListener((e=>this.state._hasValue=!!e))}get host(){return t(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_adjustHeight:["validateAdjustHeight"],_disabled:["validateDisabled"],_hideMsg:["validateHideMsg"],_hideLabel:["validateHideLabel"],_hasCounter:["validateHasCounter"],_hint:["validateHint"],_icons:["validateIcons"],_label:["validateLabel"],_maxLength:["validateMaxLength"],_maxLengthBehavior:["validateMaxLengthBehavior"],_msg:["validateMsg"],_name:["validateName"],_on:["validateOn"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_resize:["validateResize"],_required:["validateRequired"],_rows:["validateRows"],_shortKey:["validateShortKey"],_spellCheck:["validateSpellCheck"],_syncValueBySelector:["validateSyncValueBySelector"],_touched:["validateTouched"],_value:["validateValue"],_variant:["validateVariant"]}}};o([k("ctaRef")],H.prototype,"focus",null);o([v("ctaRef")],H.prototype,"click",null);H.style={default:M};export{H as kol_textarea};
|
|
4
|
+
import{h as e,r as n,g as t}from"./index-DqvPZ16l.js";import{a as i,_ as o}from"./tslib.es6-QNbPBOk5.js";import{c as a}from"./clsx-COFh-Vc8.js";import{g as l,i as s,c as r,a as c,F as h}from"./FormFieldStateWrapper-C31luuWs.js";import{I as d,a as f}from"./controller-icon-D3_aQk9W.js";import{b as m,g as p}from"./common-DEEjER7G.js";import{a as u,c as b}from"./dev.utils-Cv9uCwkA.js";import{d as k,a as v,c as y}from"./element-interaction-C5-6aPzz.js";import{a as g,v as _,b as w}from"./max-length-behavior-426q5CU6.js";import{v as x}from"./placeholder-CSgrK1Zh.js";import{v as j}from"./read-only-DyuIPHMt.js";import{v as z}from"./required-DAsW5lI1.js";import{v as C}from"./rows-Bdp885AQ.js";import{v as B}from"./spell-check-CSnDB95u.js";import"./access-and-short-key-CnWGdP5U.js";import"./disabled-CtaJsBT2.js";import"./hide-label-CWFMK5Iz.js";import"./label-Cg7TG_7b.js";import"./tooltip-align-DzHPWEpv.js";import"./align-ChLoh-Dq.js";import"./variant-class-name-CkfE8oGZ.js";import"./events-BhfZTW2e.js";import"./associated.controller-D55JWKjs.js";import"./bootstrap-UOb6OarC.js";import"./component-names-Dy77vq43.js";import"./i18n-B2d_exHc.js";import"./_Uint8Array-kJHDjtoP.js";import"./isArray-CcrBs4JM.js";import"./variant-quote-BMV8GZX8.js";import"./normalizers-pgU77mXp.js";import"./component-BFsdrctP.js";import"./component-4RtkhTfb.js";import"./bem-registry-B9CzNnO1.js";import"./component-ijX_kUom.js";import"./controller-oT8Y98Yc.js";import"./align-floating-elements-DTTpkCAK.js";import"./tooltip-open-tracking-D3tCiiGP.js";import"./label-DPd4-fag.js";import"./base-controller-CXhqh4cR.js";import"./i18n-CaL2ODdQ.js";import"./Alert-2bYvhb8i.js";import"./Heading-C9p_CRv4.js";import"./icons-DOGnS2Iv.js";import"./element-focus-BQXzaLL9.js";const L=["vertical","none"];const T=e=>typeof e==="string"&&L.includes(e);const D=(e,n)=>{m(e,"_resize",T,new Set(L),n,{defaultValue:"vertical"})};const S=n=>{const{class:t,msg:o,touched:c,readonly:h,disabled:d,required:f,ariaDescribedBy:m,hideLabel:p,label:u}=n,b=i(n,["class","msg","touched","readonly","disabled","required","ariaDescribedBy","hideLabel","label"]);const k={["kol-textarea--disabled"]:Boolean(d),["kol-textarea--required"]:Boolean(f),["kol-textarea--touched"]:Boolean(c),["kol-textarea--readonly"]:Boolean(h),[`kol-textarea--${l(o)}`]:s(o,c)};const v=Object.assign(Object.assign({class:a("kol-textarea",k,t),required:f,disabled:d,readonly:h},r({ariaDescribedBy:m,hideLabel:p,label:u})),b);return e("textarea",Object.assign({},v))};function q(e,n){var t;const i=c(e);const o=[...i.ariaDescribedBy,...(t=n.ariaDescribedBy)!==null&&t!==void 0?t:[]];const a=Object.assign(Object.assign({id:e._id,hideLabel:e._hideLabel,label:e._label,value:e._value,accessKey:e._accessKey,disabled:e._disabled,name:e._name,rows:e._rows,readonly:e._readOnly,required:e._required,placeholder:e._placeholder,touched:e._touched,msg:e._msg},n),{ariaDescribedBy:o});if("_maxLength"in e&&"_maxLengthBehavior"in e&&e._maxLengthBehavior==="hard"){a.maxLength=e._maxLength}if("_shortKey"in e)a["aria-keyshortcuts"]=e._shortKey;return a}const O=n=>{var{state:t}=n,o=i(n,["state"]);return e(S,Object.assign({},q(t,o)))};class A extends d{constructor(e,n,t){super(e,n,t);this.afterSyncCharCounter=()=>{if(typeof this.component._value==="string"){this.component.state._currentLength=this.component._value.length;this.updateCurrentLengthDebounced(this.component._value.length)}};this.component=e}validateHasCounter(e){g(this.component,e)}validateMaxLengthBehavior(e){_(this.component,e)}validateMaxLength(e){w(this.component,e,{hooks:{afterPatch:this.afterSyncCharCounter}})}validatePlaceholder(e){x(this.component,e)}validateReadOnly(e){j(this.component,e)}validateResize(e){D(this.component,e)}validateRequired(e){z(this.component,e)}validateRows(e){C(this.component,e)}validateSpellCheck(e){B(this.component,e)}validateValue(e){p(this.component,"_value",e,{hooks:{afterPatch:this.afterSyncCharCounter}});this.setFormAssociatedValue(this.component._value)}componentWillLoad(){super.componentWillLoad();this.validateHasCounter(this.component._hasCounter);this.validateMaxLengthBehavior(this.component._maxLengthBehavior);this.validateMaxLength(this.component._maxLength);this.validatePlaceholder(this.component._placeholder);this.validateReadOnly(this.component._readOnly);this.validateRequired(this.component._required);this.validateResize(this.component._resize);this.validateRows(this.component._rows);this.validateSpellCheck(this.component._spellCheck);this.validateValue(this.component._value)}}const R='@charset "UTF-8";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component;\n/* forward the rem function */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44 * 1rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n color: black;\n background-color: white;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type=\'checkbox\'], [type=\'radio\'], [type=\'range\']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don\'t want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: white;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@font-face {\n font-family: "kolicons";\n src: url("kolicons.eot?t=1780919027063"); /* IE9*/\n src: url("kolicons.eot?t=1780919027063#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1780919027063") format("woff2"), url("kolicons.woff?t=1780919027063") format("woff"), url("kolicons.ttf?t=1780919027063") format("truetype"), url("kolicons.svg?t=1780919027063#kolicons") format("svg"); /* iOS 4.1- */\n}\n@layer kol-component {\n [class^=kolicon-], [class*=" kolicon-"] {\n font-family: "kolicons";\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .kolicon-alert-error::before {\n content: "\\ea01";\n }\n .kolicon-alert-info::before {\n content: "\\ea02";\n }\n .kolicon-alert-success::before {\n content: "\\ea03";\n }\n .kolicon-alert-warning::before {\n content: "\\ea04";\n }\n .kolicon-check::before {\n content: "\\ea05";\n }\n .kolicon-chevron-double-left::before {\n content: "\\ea06";\n }\n .kolicon-chevron-double-right::before {\n content: "\\ea07";\n }\n .kolicon-chevron-down::before {\n content: "\\ea08";\n }\n .kolicon-chevron-left::before {\n content: "\\ea09";\n }\n .kolicon-chevron-right::before {\n content: "\\ea0a";\n }\n .kolicon-chevron-up::before {\n content: "\\ea0b";\n }\n .kolicon-cogwheel::before {\n content: "\\ea0c";\n }\n .kolicon-cross::before {\n content: "\\ea0d";\n }\n .kolicon-eye-closed::before {\n content: "\\ea0e";\n }\n .kolicon-eye::before {\n content: "\\ea0f";\n }\n .kolicon-house::before {\n content: "\\ea10";\n }\n .kolicon-kolibri::before {\n content: "\\ea11";\n }\n .kolicon-link-external::before {\n content: "\\ea12";\n }\n .kolicon-link::before {\n content: "\\ea13";\n }\n .kolicon-minus::before {\n content: "\\ea14";\n }\n .kolicon-plus::before {\n content: "\\ea15";\n }\n .kolicon-settings::before {\n content: "\\ea16";\n }\n .kolicon-sort-asc::before {\n content: "\\ea17";\n }\n .kolicon-sort-desc::before {\n content: "\\ea18";\n }\n .kolicon-sort-neutral::before {\n content: "\\ea19";\n }\n .kolicon-up::before {\n content: "\\ea1a";\n }\n .kolicon-version::before {\n content: "\\ea1b";\n }\n}\n@layer kol-component {\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: black;\n background-color: white;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: black;\n background-color: white;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .kol-alert .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-alert :host {\n display: inline-block;\n }\n .kol-alert .kol-button {\n display: flex;\n min-height: var(--a11y-min-size);\n font-style: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n text-decoration-line: none;\n }\n .kol-alert .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: "";\n }\n .kol-alert .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-alert {\n display: grid;\n }\n .kol-alert__container {\n display: flex;\n place-items: center;\n }\n .kol-alert__container-content {\n flex-grow: 1;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field__label-text {\n flex-flow: row;\n align-items: flex-start;\n justify-content: flex-start;\n }\n .kol-form-field--required .kol-form-field__label-text:has(.kol-span__slot[hidden])::after,\n .kol-form-field--required .kol-tooltip__content .kol-span__label::after {\n content: "*"/"";\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n position: relative;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n z-index: 1;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n min-height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-textarea {\n width: 100%;\n }\n .kol-textarea:focus {\n outline: none;\n }\n}';const H=e=>{e.style.overflow="hidden";const n=e.rows;const t=e.clientHeight/n;e.rows=1;const i=Math.round(e.scrollHeight/t);e.rows=n;return i};const M=class{async getValue(){var e;return(e=this.ctaRef.el)===null||e===void 0?void 0:e.value}async focus(e){}async click(){}getFormFieldProps(){return{state:this.state,class:a("kol-form-field-textarea",{"kol-form-field--has-value":this.state._hasValue,"kol-form-field--has-counter":this.controller.hasSoftCharacterLimit()||this.controller.hasCounter()}),tooltipAlign:this._tooltipAlign,alert:this.showAsAlert()}}getTextAreaProps(){const e=typeof this.state._maxLength==="number"?[u(this.state._id,"character-limit-hint")]:undefined;return Object.assign(Object.assign({ref:this.ctaRef,state:this.state,style:{resize:this.state._resize},ariaDescribedBy:e},this.controller.onFacade),{onInput:this.onInput,onFocus:e=>{this.controller.onFacade.onFocus(e);this.inputHasFocus=true},onBlur:e=>{this.controller.onFacade.onBlur(e);this.inputHasFocus=false}})}render(){return e(h,Object.assign({key:"c82369a69d4ce7d08ee0a63642623afceb4b007b"},this.getFormFieldProps()),e(f,{key:"ef1f50a4f3bc366cddf7b999a11fc9e34b6e9581",state:this.state},e(O,Object.assign({key:"9b89da329cee83168237b2e803e5c386376d89ae"},this.getTextAreaProps()))))}constructor(e){n(this,e);this.ctaRef=y();this._adjustHeight=false;this._disabled=false;this._hideMsg=false;this._hideLabel=false;this._hint="";this._hasCounter=false;this._maxLengthBehavior="hard";this._readOnly=false;this._resize="vertical";this._required=false;this._tooltipAlign="top";this._touched=false;this.state={_adjustHeight:false,_currentLength:0,_currentLengthDebounced:0,_hasValue:false,_hideMsg:false,_id:b("textarea"),_label:"",_resize:"vertical"};this.inputHasFocus=false;this.onInput=e=>{if(this.ctaRef.el instanceof HTMLTextAreaElement){this._value=this.ctaRef.el.value;if(this.state._adjustHeight){this._rows=H(this.ctaRef.el)}this.controller.onFacade.onInput(e)}};this.controller=new A(this,"textarea",this.host)}showAsAlert(){return Boolean(this.state._touched)&&!this.inputHasFocus}validateAccessKey(e){this.controller.validateAccessKey(e)}validateAdjustHeight(e){this.controller.validateAdjustHeight(e)}validateDisabled(e){this.controller.validateDisabled(e)}validateHideMsg(e){this.controller.validateHideMsg(e)}validateHideLabel(e){this.controller.validateHideLabel(e)}validateHasCounter(e){this.controller.validateHasCounter(e)}validateHint(e){this.controller.validateHint(e)}validateIcons(e){this.controller.validateIcons(e)}validateLabel(e){this.controller.validateLabel(e)}validateMaxLength(e){this.controller.validateMaxLength(e)}validateMaxLengthBehavior(e){this.controller.validateMaxLengthBehavior(e)}validateMsg(e){this.controller.validateMsg(e)}validateName(e){this.controller.validateName(e)}validateOn(e){this.controller.validateOn(e)}validatePlaceholder(e){this.controller.validatePlaceholder(e)}validateReadOnly(e){this.controller.validateReadOnly(e)}validateResize(e){this.controller.validateResize(e)}validateRequired(e){this.controller.validateRequired(e)}validateRows(e){this.controller.validateRows(e)}validateShortKey(e){this.controller.validateShortKey(e)}validateSpellCheck(e){this.controller.validateSpellCheck(e)}validateSyncValueBySelector(e){this.controller.validateSyncValueBySelector(e)}validateTouched(e){this.controller.validateTouched(e)}validateValue(e){this.controller.validateValue(e)}validateVariant(e){this.controller.validateVariant(e)}componentDidLoad(){setTimeout((()=>{var e;if(this._adjustHeight===true&&this.ctaRef.el){this._rows=((e=this.state)===null||e===void 0?void 0:e._rows)&&this.state._rows>H(this.ctaRef.el)?this.state._rows:H(this.ctaRef.el)}else if(!this._rows){this._rows=1}}))}componentWillLoad(){this._touched=this._touched===true;this.controller.componentWillLoad();this.state._hasValue=!!this.state._value;this.controller.addValueChangeListener((e=>this.state._hasValue=!!e))}get host(){return t(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_adjustHeight:["validateAdjustHeight"],_disabled:["validateDisabled"],_hideMsg:["validateHideMsg"],_hideLabel:["validateHideLabel"],_hasCounter:["validateHasCounter"],_hint:["validateHint"],_icons:["validateIcons"],_label:["validateLabel"],_maxLength:["validateMaxLength"],_maxLengthBehavior:["validateMaxLengthBehavior"],_msg:["validateMsg"],_name:["validateName"],_on:["validateOn"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_resize:["validateResize"],_required:["validateRequired"],_rows:["validateRows"],_shortKey:["validateShortKey"],_spellCheck:["validateSpellCheck"],_syncValueBySelector:["validateSyncValueBySelector"],_touched:["validateTouched"],_value:["validateValue"],_variant:["validateVariant"]}}};o([k("ctaRef")],M.prototype,"focus",null);o([v("ctaRef")],M.prototype,"click",null);M.style={default:R};export{M as kol_textarea};
|
|
5
5
|
//# sourceMappingURL=kol-textarea.entry.js.map
|