@public-ui/components 2.2.1-e6bb4064f6c9eed624b5929636c056bc0384b2af.0 → 2.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/codicons/codicon.css +54 -1
- package/assets/codicons/codicon.csv +41 -0
- package/assets/codicons/codicon.html +328 -0
- package/assets/codicons/codicon.svg +1 -1
- package/assets/codicons/codicon.ttf +0 -0
- package/custom-elements.json +27 -15
- package/dist/cjs/{Alert-63cb28a3.js → Alert-b82b32f7.js} +1 -1
- package/dist/cjs/{Alert-63cb28a3.js.map → Alert-b82b32f7.js.map} +1 -1
- package/dist/cjs/{Collapsible-ea0f2824.js → Collapsible-b71d85ad.js} +1 -1
- package/dist/cjs/{Collapsible-ea0f2824.js.map → Collapsible-b71d85ad.js.map} +1 -1
- package/dist/cjs/FormFieldMsg-d85a49b7.js +4 -0
- package/dist/cjs/FormFieldMsg-d85a49b7.js.map +1 -0
- package/dist/cjs/{InternalUnderlinedBadgeText-1eed17f9.js → InternalUnderlinedBadgeText-3f1bac6c.js} +1 -1
- package/dist/cjs/{InternalUnderlinedBadgeText-1eed17f9.js.map → InternalUnderlinedBadgeText-3f1bac6c.js.map} +1 -1
- package/dist/cjs/{app-globals-80f65706.js → app-globals-ce3ab1a3.js} +1 -1
- package/dist/cjs/{app-globals-80f65706.js.map → app-globals-ce3ab1a3.js.map} +1 -1
- package/dist/cjs/{controller-b1f3e3bd.js → controller-2355b966.js} +1 -1
- package/dist/cjs/{controller-b1f3e3bd.js.map → controller-2355b966.js.map} +1 -1
- package/dist/cjs/controller-3fc3acb5.js +4 -0
- package/dist/cjs/controller-3fc3acb5.js.map +1 -0
- package/dist/cjs/{controller-5e692d95.js → controller-f5179b00.js} +1 -1
- package/dist/cjs/{controller-5e692d95.js.map → controller-f5179b00.js.map} +1 -1
- package/dist/cjs/controller-fc146c36.js +4 -0
- package/dist/cjs/controller-fc146c36.js.map +1 -0
- package/dist/cjs/{controller-icon-aad1bdb1.js → controller-icon-2b593d47.js} +1 -1
- package/dist/cjs/{controller-icon-aad1bdb1.js.map → controller-icon-2b593d47.js.map} +1 -1
- package/dist/cjs/{dev.utils-0476e439.js → dev.utils-63eaa2fa.js} +1 -1
- package/dist/cjs/{dev.utils-0476e439.js.map → dev.utils-63eaa2fa.js.map} +1 -1
- package/dist/cjs/{devtools-3876c5bc.js → devtools-889449be.js} +1 -1
- package/dist/cjs/{devtools-3876c5bc.js.map → devtools-889449be.js.map} +1 -1
- package/dist/cjs/index-9fd2d494.js +4 -0
- package/dist/cjs/index-9fd2d494.js.map +1 -0
- package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert.cjs.entry.js +1 -1
- package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-group-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-card.cjs.entry.js +1 -1
- package/dist/cjs/kol-combobox.cjs.entry.js +1 -1
- package/dist/cjs/kol-combobox.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-details.cjs.entry.js +1 -1
- package/dist/cjs/kol-drawer.cjs.entry.js +1 -1
- package/dist/cjs/kol-form.cjs.entry.js +1 -1
- package/dist/cjs/kol-heading-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-image.cjs.entry.js +1 -1
- package/dist/cjs/kol-indented-text-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input.cjs.entry.js +1 -1
- package/dist/cjs/kol-input.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-logo.cjs.entry.js +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
- package/dist/cjs/kol-popover-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js +1 -1
- package/dist/cjs/kol-select.cjs.entry.js +1 -1
- package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-single-select.cjs.entry.js +1 -1
- package/dist/cjs/kol-single-select.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-span-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-stateful.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-stateless-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-table-stateless-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-table-stateless.cjs.entry.js +1 -1
- package/dist/cjs/kol-table.cjs.entry.js +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
- package/dist/cjs/kol-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/kol-tooltip-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-tree-item-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-tree-item.cjs.entry.js +1 -1
- package/dist/cjs/kol-tree-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-tree.cjs.entry.js +1 -1
- package/dist/cjs/kol-version.cjs.entry.js +1 -1
- package/dist/cjs/kolibri.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/spell-check-2c944775.js +4 -0
- package/dist/cjs/spell-check-2c944775.js.map +1 -0
- package/dist/cjs/test-component.cjs.entry.js +1 -1
- package/dist/components/FormFieldMsg.js +1 -1
- package/dist/components/FormFieldMsg.js.map +1 -1
- package/dist/components/controller2.js +1 -1
- package/dist/components/controller2.js.map +1 -1
- package/dist/components/controller4.js +1 -1
- package/dist/components/controller4.js.map +1 -1
- package/dist/components/kol-combobox.js +1 -1
- package/dist/components/kol-combobox.js.map +1 -1
- package/dist/components/kol-icon.js +1 -1
- package/dist/components/kol-icon.js.map +1 -1
- package/dist/components/kol-input-color.js +1 -1
- package/dist/components/kol-input-color.js.map +1 -1
- package/dist/components/kol-input-date.js +1 -1
- package/dist/components/kol-input-date.js.map +1 -1
- package/dist/components/kol-input-email.js +1 -1
- package/dist/components/kol-input-email.js.map +1 -1
- package/dist/components/kol-input-file.js +1 -1
- package/dist/components/kol-input-file.js.map +1 -1
- package/dist/components/kol-input-number.js +1 -1
- package/dist/components/kol-input-number.js.map +1 -1
- package/dist/components/kol-input-password.js +1 -1
- package/dist/components/kol-input-password.js.map +1 -1
- package/dist/components/kol-input-range.js +1 -1
- package/dist/components/kol-input-range.js.map +1 -1
- package/dist/components/kol-input-text.js +1 -1
- package/dist/components/kol-input-text.js.map +1 -1
- package/dist/components/kol-input.js +1 -1
- package/dist/components/kol-input.js.map +1 -1
- package/dist/components/kol-select.js +1 -1
- package/dist/components/kol-select.js.map +1 -1
- package/dist/components/kol-single-select.js +1 -1
- package/dist/components/kol-single-select.js.map +1 -1
- package/dist/components/kol-table-stateless-wc.js +1 -1
- package/dist/components/kol-table-stateless-wc.js.map +1 -1
- package/dist/components/kol-textarea.js +1 -1
- package/dist/components/kol-textarea.js.map +1 -1
- package/dist/components/spell-check.js +4 -0
- package/dist/components/spell-check.js.map +1 -0
- package/dist/esm/{Alert-cc205dc0.js → Alert-583d7e81.js} +1 -1
- package/dist/esm/{Alert-cc205dc0.js.map → Alert-583d7e81.js.map} +1 -1
- package/dist/esm/{Collapsible-e02cac97.js → Collapsible-14eb23bf.js} +1 -1
- package/dist/esm/{Collapsible-e02cac97.js.map → Collapsible-14eb23bf.js.map} +1 -1
- package/dist/esm/FormFieldMsg-fc76bea3.js +4 -0
- package/dist/esm/FormFieldMsg-fc76bea3.js.map +1 -0
- package/dist/esm/{InternalUnderlinedBadgeText-2aa5d0ae.js → InternalUnderlinedBadgeText-a4e8e7ee.js} +1 -1
- package/dist/esm/{InternalUnderlinedBadgeText-2aa5d0ae.js.map → InternalUnderlinedBadgeText-a4e8e7ee.js.map} +1 -1
- package/dist/esm/{app-globals-0d933e2b.js → app-globals-ca469008.js} +1 -1
- package/dist/esm/{app-globals-0d933e2b.js.map → app-globals-ca469008.js.map} +1 -1
- package/dist/esm/controller-96fe2d26.js +4 -0
- package/dist/esm/controller-96fe2d26.js.map +1 -0
- package/dist/esm/controller-d1097e06.js +4 -0
- package/dist/esm/controller-d1097e06.js.map +1 -0
- package/dist/esm/{controller-8056c001.js → controller-dacdb561.js} +1 -1
- package/dist/esm/{controller-8056c001.js.map → controller-dacdb561.js.map} +1 -1
- package/dist/esm/{controller-eb4bbc96.js → controller-ff17d912.js} +1 -1
- package/dist/esm/{controller-eb4bbc96.js.map → controller-ff17d912.js.map} +1 -1
- package/dist/esm/{controller-icon-132a914b.js → controller-icon-29af0ac7.js} +1 -1
- package/dist/esm/{controller-icon-132a914b.js.map → controller-icon-29af0ac7.js.map} +1 -1
- package/dist/esm/{dev.utils-46ec66e8.js → dev.utils-cf929f72.js} +1 -1
- package/dist/esm/{dev.utils-46ec66e8.js.map → dev.utils-cf929f72.js.map} +1 -1
- package/dist/esm/{devtools-d6fc9fc5.js → devtools-b140f0eb.js} +1 -1
- package/dist/esm/{devtools-d6fc9fc5.js.map → devtools-b140f0eb.js.map} +1 -1
- package/dist/esm/index-ecad6e72.js +4 -0
- package/dist/esm/index-ecad6e72.js.map +1 -0
- package/dist/esm/kol-abbr.entry.js +1 -1
- package/dist/esm/kol-accordion.entry.js +1 -1
- package/dist/esm/kol-alert-wc.entry.js +1 -1
- package/dist/esm/kol-alert.entry.js +1 -1
- package/dist/esm/kol-avatar-wc.entry.js +1 -1
- package/dist/esm/kol-avatar.entry.js +1 -1
- package/dist/esm/kol-badge.entry.js +1 -1
- package/dist/esm/kol-breadcrumb.entry.js +1 -1
- package/dist/esm/kol-button-group-wc.entry.js +1 -1
- package/dist/esm/kol-button-group.entry.js +1 -1
- package/dist/esm/kol-button-link.entry.js +1 -1
- package/dist/esm/kol-button-wc.entry.js +1 -1
- package/dist/esm/kol-button.entry.js +1 -1
- package/dist/esm/kol-card.entry.js +1 -1
- package/dist/esm/kol-combobox.entry.js +1 -1
- package/dist/esm/kol-combobox.entry.js.map +1 -1
- package/dist/esm/kol-details.entry.js +1 -1
- package/dist/esm/kol-drawer.entry.js +1 -1
- package/dist/esm/kol-form.entry.js +1 -1
- package/dist/esm/kol-heading-wc.entry.js +1 -1
- package/dist/esm/kol-heading.entry.js +1 -1
- package/dist/esm/kol-icon.entry.js +1 -1
- package/dist/esm/kol-icon.entry.js.map +1 -1
- package/dist/esm/kol-image.entry.js +1 -1
- package/dist/esm/kol-indented-text-wc.entry.js +1 -1
- package/dist/esm/kol-indented-text.entry.js +1 -1
- package/dist/esm/kol-input-checkbox.entry.js +1 -1
- package/dist/esm/kol-input-color.entry.js +1 -1
- package/dist/esm/kol-input-color.entry.js.map +1 -1
- package/dist/esm/kol-input-date.entry.js +1 -1
- package/dist/esm/kol-input-date.entry.js.map +1 -1
- package/dist/esm/kol-input-email.entry.js +1 -1
- package/dist/esm/kol-input-email.entry.js.map +1 -1
- package/dist/esm/kol-input-file.entry.js +1 -1
- package/dist/esm/kol-input-file.entry.js.map +1 -1
- package/dist/esm/kol-input-number.entry.js +1 -1
- package/dist/esm/kol-input-number.entry.js.map +1 -1
- package/dist/esm/kol-input-password.entry.js +1 -1
- package/dist/esm/kol-input-password.entry.js.map +1 -1
- package/dist/esm/kol-input-radio.entry.js +1 -1
- package/dist/esm/kol-input-range.entry.js +1 -1
- package/dist/esm/kol-input-range.entry.js.map +1 -1
- package/dist/esm/kol-input-text.entry.js +1 -1
- package/dist/esm/kol-input-text.entry.js.map +1 -1
- package/dist/esm/kol-input.entry.js +1 -1
- package/dist/esm/kol-input.entry.js.map +1 -1
- package/dist/esm/kol-kolibri.entry.js +1 -1
- package/dist/esm/kol-link-button.entry.js +1 -1
- package/dist/esm/kol-link-group.entry.js +1 -1
- package/dist/esm/kol-link-wc.entry.js +1 -1
- package/dist/esm/kol-link.entry.js +1 -1
- package/dist/esm/kol-logo.entry.js +1 -1
- package/dist/esm/kol-modal.entry.js +1 -1
- package/dist/esm/kol-nav.entry.js +1 -1
- package/dist/esm/kol-pagination.entry.js +1 -1
- package/dist/esm/kol-popover-wc.entry.js +1 -1
- package/dist/esm/kol-progress.entry.js +1 -1
- package/dist/esm/kol-quote.entry.js +1 -1
- package/dist/esm/kol-select.entry.js +1 -1
- package/dist/esm/kol-select.entry.js.map +1 -1
- package/dist/esm/kol-single-select.entry.js +1 -1
- package/dist/esm/kol-single-select.entry.js.map +1 -1
- package/dist/esm/kol-skip-nav.entry.js +1 -1
- package/dist/esm/kol-span-wc.entry.js +1 -1
- package/dist/esm/kol-spin.entry.js +1 -1
- package/dist/esm/kol-split-button.entry.js +1 -1
- package/dist/esm/kol-symbol.entry.js +1 -1
- package/dist/esm/kol-table-stateful.entry.js +1 -1
- package/dist/esm/kol-table-stateless-wc.entry.js +1 -1
- package/dist/esm/kol-table-stateless-wc.entry.js.map +1 -1
- package/dist/esm/kol-table-stateless.entry.js +1 -1
- package/dist/esm/kol-table.entry.js +1 -1
- package/dist/esm/kol-tabs.entry.js +1 -1
- package/dist/esm/kol-textarea.entry.js +1 -1
- package/dist/esm/kol-textarea.entry.js.map +1 -1
- package/dist/esm/kol-toast-container.entry.js +1 -1
- package/dist/esm/kol-toolbar.entry.js +1 -1
- package/dist/esm/kol-tooltip-wc.entry.js +1 -1
- package/dist/esm/kol-tree-item-wc.entry.js +1 -1
- package/dist/esm/kol-tree-item.entry.js +1 -1
- package/dist/esm/kol-tree-wc.entry.js +1 -1
- package/dist/esm/kol-tree.entry.js +1 -1
- package/dist/esm/kol-version.entry.js +1 -1
- package/dist/esm/kolibri.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/spell-check-5ac5a135.js +4 -0
- package/dist/esm/spell-check-5ac5a135.js.map +1 -0
- package/dist/esm/test-component.entry.js +1 -1
- package/dist/kolibri/{Alert-cc205dc0.js → Alert-583d7e81.js} +1 -1
- package/dist/kolibri/{Collapsible-e02cac97.js → Collapsible-14eb23bf.js} +1 -1
- package/dist/kolibri/FormFieldMsg-fc76bea3.js +4 -0
- package/dist/kolibri/FormFieldMsg-fc76bea3.js.map +1 -0
- package/dist/kolibri/InternalUnderlinedBadgeText-a4e8e7ee.js +4 -0
- package/dist/kolibri/app-globals-ca469008.js +4 -0
- package/dist/kolibri/assets/codicons/LICENSE +394 -394
- package/dist/kolibri/assets/codicons/LICENSE-CODE +21 -21
- package/dist/kolibri/assets/codicons/codicon.css +65 -1
- package/dist/kolibri/assets/codicons/codicon.csv +48 -2
- package/dist/kolibri/assets/codicons/codicon.html +381 -13
- package/dist/kolibri/assets/codicons/codicon.svg +1 -1
- package/dist/kolibri/assets/codicons/codicon.ttf +0 -0
- package/dist/kolibri/assets/kolibri.ico +0 -0
- package/dist/kolibri/controller-96fe2d26.js +4 -0
- package/dist/kolibri/controller-96fe2d26.js.map +1 -0
- package/dist/kolibri/controller-d1097e06.js +4 -0
- package/dist/kolibri/controller-d1097e06.js.map +1 -0
- package/dist/kolibri/{controller-8056c001.js → controller-dacdb561.js} +1 -1
- package/dist/kolibri/{controller-eb4bbc96.js → controller-ff17d912.js} +1 -1
- package/dist/kolibri/controller-icon-29af0ac7.js +4 -0
- package/dist/kolibri/{dev.utils-46ec66e8.js → dev.utils-cf929f72.js} +1 -1
- package/dist/kolibri/{devtools-d6fc9fc5.js → devtools-b140f0eb.js} +1 -1
- package/dist/kolibri/{index-a51f14b1.js → index-ecad6e72.js} +2 -2
- package/dist/kolibri/index-ecad6e72.js.map +1 -0
- package/dist/kolibri/kol-abbr.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.js +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-wc.entry.js +1 -1
- package/dist/kolibri/kol-avatar.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
- package/dist/kolibri/kol-button-group-wc.entry.js +1 -1
- package/dist/kolibri/kol-button-group.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.js +1 -1
- package/dist/kolibri/kol-button-wc.entry.js +1 -1
- package/dist/kolibri/kol-button.entry.js +1 -1
- package/dist/kolibri/kol-card.entry.js +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.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-wc.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-icon.entry.js.map +1 -1
- package/dist/kolibri/kol-image.entry.js +1 -1
- package/dist/kolibri/kol-indented-text-wc.entry.js +1 -1
- package/dist/kolibri/kol-indented-text.entry.js +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js +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.js +1 -1
- package/dist/kolibri/kol-input-date.entry.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.js +1 -1
- package/dist/kolibri/kol-input-file.entry.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.js +1 -1
- package/dist/kolibri/kol-input-password.entry.js.map +1 -1
- package/dist/kolibri/kol-input-radio.entry.js +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.js +1 -1
- package/dist/kolibri/kol-input-text.entry.js.map +1 -1
- package/dist/kolibri/kol-input.entry.js +1 -1
- package/dist/kolibri/kol-input.entry.js.map +1 -1
- package/dist/kolibri/kol-kolibri.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.js +1 -1
- package/dist/kolibri/kol-link-group.entry.js +1 -1
- package/dist/kolibri/kol-link-wc.entry.js +1 -1
- package/dist/kolibri/kol-link.entry.js +1 -1
- package/dist/kolibri/kol-logo.entry.js +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.entry.js +1 -1
- package/dist/kolibri/kol-popover-wc.entry.js +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.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.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-skip-nav.entry.js +1 -1
- package/dist/kolibri/kol-span-wc.entry.js +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-split-button.entry.js +1 -1
- package/dist/kolibri/kol-symbol.entry.js +1 -1
- package/dist/kolibri/kol-table-stateful.entry.js +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.js +1 -1
- package/dist/kolibri/kol-table.entry.js +1 -1
- package/dist/kolibri/kol-tabs.entry.js +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.js +1 -1
- package/dist/kolibri/kol-toolbar.entry.js +1 -1
- package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
- package/dist/kolibri/kol-tree-item-wc.entry.js +1 -1
- package/dist/kolibri/kol-tree-item.entry.js +1 -1
- package/dist/kolibri/kol-tree-wc.entry.js +1 -1
- package/dist/kolibri/kol-tree.entry.js +1 -1
- package/dist/kolibri/kol-version.entry.js +1 -1
- package/dist/kolibri/kolibri.esm.js +1 -1
- package/dist/kolibri/kolibri.esm.js.map +1 -1
- package/dist/kolibri/spell-check-5ac5a135.js +4 -0
- package/dist/kolibri/spell-check-5ac5a135.js.map +1 -0
- package/dist/kolibri/test-component.entry.js +1 -1
- package/dist/types/components/input-text/controller.d.ts +2 -1
- package/dist/types/components/input-text/shadow.d.ts +3 -1
- package/dist/types/components/table-stateless/component.d.ts +3 -2
- package/dist/types/components/textarea/controller.d.ts +2 -1
- package/dist/types/components/textarea/shadow.d.ts +3 -1
- package/dist/types/components.d.ts +18 -2
- package/dist/types/schema/components/input-text.d.ts +5 -5
- package/dist/types/schema/components/textarea.d.ts +4 -4
- package/dist/types/schema/index.d.ts +1 -1
- package/dist/types/schema/props/index.d.ts +1 -1
- package/dist/types/schema/props/spell-check.d.ts +6 -0
- package/dist/types/utils/transformObjectProperties.d.ts +5 -0
- package/dist/types/utils/transformObjectProperties.test.d.ts +1 -0
- package/doc/combobox.md +1 -1
- package/doc/input-checkbox.md +1 -1
- package/doc/input-color.md +1 -1
- package/doc/input-date.md +1 -1
- package/doc/input-email.md +1 -1
- package/doc/input-file.md +1 -1
- package/doc/input-number.md +1 -1
- package/doc/input-password.md +1 -1
- package/doc/input-radio.md +1 -1
- package/doc/input-range.md +1 -1
- package/doc/input-text.md +2 -1
- package/doc/select.md +1 -1
- package/doc/single-select.md +1 -1
- package/doc/textarea.md +2 -1
- package/doc/toaster.md +1 -1
- package/package.json +1 -1
- package/vscode-custom-data.json +50 -42
- package/dist/cjs/FormFieldMsg-ad544ecd.js +0 -4
- package/dist/cjs/FormFieldMsg-ad544ecd.js.map +0 -1
- package/dist/cjs/controller-0f6bd10c.js +0 -4
- package/dist/cjs/controller-0f6bd10c.js.map +0 -1
- package/dist/cjs/controller-495329b2.js +0 -4
- package/dist/cjs/controller-495329b2.js.map +0 -1
- package/dist/cjs/index-5a438b0f.js +0 -4
- package/dist/cjs/index-5a438b0f.js.map +0 -1
- package/dist/esm/FormFieldMsg-5a7bb123.js +0 -4
- package/dist/esm/FormFieldMsg-5a7bb123.js.map +0 -1
- package/dist/esm/controller-1cabc830.js +0 -4
- package/dist/esm/controller-1cabc830.js.map +0 -1
- package/dist/esm/controller-a977f76e.js +0 -4
- package/dist/esm/controller-a977f76e.js.map +0 -1
- package/dist/esm/index-a51f14b1.js +0 -4
- package/dist/esm/index-a51f14b1.js.map +0 -1
- package/dist/kolibri/FormFieldMsg-5a7bb123.js +0 -4
- package/dist/kolibri/FormFieldMsg-5a7bb123.js.map +0 -1
- package/dist/kolibri/InternalUnderlinedBadgeText-2aa5d0ae.js +0 -4
- package/dist/kolibri/app-globals-0d933e2b.js +0 -4
- package/dist/kolibri/assets/favicon.ico +0 -0
- package/dist/kolibri/assets/images/abgrenzung.jpg +0 -0
- package/dist/kolibri/assets/itzbund.logo.svg +0 -6
- package/dist/kolibri/assets/kolibri.logo.svg +0 -31
- package/dist/kolibri/assets/loader.css +0 -46
- package/dist/kolibri/assets/logo.kolibri.invert.svg +0 -9
- package/dist/kolibri/assets/logo.kolibri.svg +0 -9
- package/dist/kolibri/assets/logo.kolibri.text.invert.svg +0 -9
- package/dist/kolibri/assets/logo.kolibri.text.svg +0 -10
- package/dist/kolibri/assets/simulations/alert-simulation.js +0 -1
- package/dist/kolibri/assets/simulations/button-simulation.js +0 -1
- package/dist/kolibri/assets/simulations/form-simulation.js +0 -1
- package/dist/kolibri/assets/simulations/form-simulation.textarea.js +0 -1
- package/dist/kolibri/assets/simulations/form-simulation.weitere-cases.js +0 -1
- package/dist/kolibri/assets/simulations/modal-simulation.js +0 -1
- package/dist/kolibri/assets/simulations/nav-simulation.js +0 -1
- package/dist/kolibri/assets/simulations/pagination-simulation.js +0 -1
- package/dist/kolibri/assets/simulations/popover-simulation.js +0 -1
- package/dist/kolibri/assets/simulations/progress-simulation.js +0 -1
- package/dist/kolibri/assets/simulations/smart-button-simulation.js +0 -1
- package/dist/kolibri/assets/simulations/spin-simulation.js +0 -1
- package/dist/kolibri/assets/simulations/table-simulation.js +0 -1
- package/dist/kolibri/assets/simulations/tabs-simulation.js +0 -1
- package/dist/kolibri/assets/simulations/toast-simulation.js +0 -1
- package/dist/kolibri/assets/style.css +0 -139
- package/dist/kolibri/controller-1cabc830.js +0 -4
- package/dist/kolibri/controller-1cabc830.js.map +0 -1
- package/dist/kolibri/controller-a977f76e.js +0 -4
- package/dist/kolibri/controller-a977f76e.js.map +0 -1
- package/dist/kolibri/controller-icon-132a914b.js +0 -4
- package/dist/kolibri/index-a51f14b1.js.map +0 -1
- /package/dist/kolibri/{Alert-cc205dc0.js.map → Alert-583d7e81.js.map} +0 -0
- /package/dist/kolibri/{Collapsible-e02cac97.js.map → Collapsible-14eb23bf.js.map} +0 -0
- /package/dist/kolibri/{InternalUnderlinedBadgeText-2aa5d0ae.js.map → InternalUnderlinedBadgeText-a4e8e7ee.js.map} +0 -0
- /package/dist/kolibri/{app-globals-0d933e2b.js.map → app-globals-ca469008.js.map} +0 -0
- /package/dist/kolibri/{controller-8056c001.js.map → controller-dacdb561.js.map} +0 -0
- /package/dist/kolibri/{controller-eb4bbc96.js.map → controller-ff17d912.js.map} +0 -0
- /package/dist/kolibri/{controller-icon-132a914b.js.map → controller-icon-29af0ac7.js.map} +0 -0
- /package/dist/kolibri/{dev.utils-46ec66e8.js.map → dev.utils-cf929f72.js.map} +0 -0
- /package/dist/kolibri/{devtools-d6fc9fc5.js.map → devtools-b140f0eb.js.map} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["SingleSelectController","InputIconController","constructor","component","name","host","super","this","keyOptionMap","Map","afterPatchOptions","value","_state","_component","key","setFormAssociatedValue","beforePatchOptions","_value","nextState","options","has","get","state","_options","Array","isArray","length","clear","fillKeyOptionMap","validateOptions","hooks","afterPatch","beforePatch","validateRequired","watchBoolean","validateValue","watchString","validatePlaceholder","componentWillLoad","_required","_placeholder","defaultStyleCss","KolSingleSelectDefaultStyle0","KolSingleSelect","getValue","kolFocus","_a","refInput","focus","onBlur","some","option","label","_inputValue","find","_filteredOptions","_isOpen","clearSelection","_disabled","_focusedOptionIndex","controller","selectOption","event","onFacade","onChange","onInput","target","setFilteredOptionsByQuery","handleKeyDownDropdown","test","preventDefault","focusSuggestionStartingWith","query","trim","filter","_b","toLowerCase","includes","moveFocus","delta","newIndex","focusOption","index","refOptions","optionElement","char","charLowerCase","findIndex","startsWith","render","hasExpertSlot","showExpertSlot","_label","ariaDescribedBy","getRenderStates","h","Host","class","KolInputTag","_accessKey","_alert","showAsAlert","_hideError","_hideLabel","_hint","_icons","_id","_msg","_shortKey","_tooltipAlign","_touched","role","slot","Fragment","InternalUnderlinedBadgeText","badgeText","buildBadgeTextString","Object","assign","ref","catchRef","type","accessKey","join","undefined","autoCapitalize","autoCorrect","disabled","_name","required","spellcheck","bind","onClick","toggleListbox","onFocus","inputHasFocus","placeholder","KolIconTag","translate","tabindex","clsx","blockSuggestionMouseOver","onKeyDown","map","id","el","tabIndex","onMouseOver","e","checked","htmlFor","handleFocusOut","setTimeout","contains","document","activeElement","handleWindowBlur","handleKeyDown","handleEvent","isOpen","callback","hostRef","selectedIndex","nonce","Boolean","validateAccessKey","validateAlert","validateDisabled","validateHideError","validateHideLabel","validateHint","validateIcons","validateId","validateLabel","validateMsg","validateName","validateOn","updateInputValue","validateShortKey","validateSyncValueBySelector","validateTabIndex","validateTouched","oldValue","handleMouseEvent","matchedOption","stopPropagation","tryToDispatchKoliBriEvent","_c","_on","_d"],"sources":["src/components/single-select/controller.ts","src/components/single-select/style.scss?tag=kol-single-select&mode=default&encapsulation=shadow","src/components/single-select/shadow.tsx"],"sourcesContent":["import type { Option, OptionsPropType, SelectOption, SingleSelectProps, SingleSelectWatches, W3CInputValue } from '../../schema';\nimport { validateOptions, watchBoolean, watchString } from '../../schema';\n\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { fillKeyOptionMap } from '../input-radio/controller';\n\nimport type { Generic } from 'adopted-style-sheets';\n\nexport class SingleSelectController extends InputIconController implements SingleSelectWatches {\n\tprotected readonly component: Generic.Element.Component & SingleSelectProps;\n\tprivate readonly keyOptionMap = new Map<string, Option<string>>();\n\n\tpublic constructor(component: Generic.Element.Component & SingleSelectProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tprotected readonly afterPatchOptions = (value: unknown, _state: Record<string, unknown>, _component: Generic.Element.Component, key: string): void => {\n\t\tif (key === '_value') {\n\t\t\tthis.setFormAssociatedValue(value as string);\n\t\t}\n\t};\n\n\tprotected readonly beforePatchOptions = (_value: unknown, nextState: Map<string, unknown>): void => {\n\t\tconst options = nextState.has('_options') ? nextState.get('_options') : this.component.state._options;\n\t\tif (Array.isArray(options) && options.length > 0) {\n\t\t\tthis.keyOptionMap.clear();\n\t\t\tfillKeyOptionMap(this.keyOptionMap, options as SelectOption<W3CInputValue>[]);\n\t\t}\n\t};\n\n\tpublic validateOptions(value?: OptionsPropType): void {\n\t\tvalidateOptions(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterPatchOptions,\n\t\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(this.component, '_value', value);\n\t}\n\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateOptions(this.component._options);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateValue(this.component._value);\n\t\tthis.validatePlaceholder(this.component._placeholder);\n\t}\n}\n","@import '../@shared/mixins';\n@import '../style';\n@import '../input-line';\n\n@layer kol-component {\n\t:host {\n\t\tfont-size: rem(16);\n\t}\n\n\t.single-select {\n\t\tposition: relative;\n\n\t\t&.disabled,\n\t\t&.disabled * {\n\t\t\tcursor: not-allowed !important;\n\t\t}\n\n\t\t&__group {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t&__input {\n\t\t\tflex-grow: 1;\n\t\t}\n\n\t\t&__button {\n\t\t\theight: var(--a11y-min-size);\n\t\t\twidth: var(--a11y-min-size);\n\t\t}\n\n\t\t&__listbox {\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\tlist-style-type: none;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\toverflow-y: auto;\n\t\t\toverflow-x: hidden;\n\t\t\tz-index: 2;\n\t\t\tbackground-color: white;\n\t\t\tmax-height: rem(250);\n\t\t}\n\n\t\t&__item {\n\t\t\t&.highlighted {\n\t\t\t\tbackground-color: #f0f0f0;\n\t\t\t}\n\n\t\t\t.single-select__listbox--cursor-hidden & {\n\t\t\t\tcursor: none !important;\n\t\t\t}\n\t\t}\n\n\t\t&__no-results-message {\n\t\t\tcursor: default;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tmin-height: rem(50);\n\t\t}\n\t}\n}\n","import type {\n\tHideErrorPropType,\n\tIdPropType,\n\tInputTypeOnDefault,\n\tKoliBriHorizontalIcons,\n\tLabelWithExpertSlotPropType,\n\tMsgPropType,\n\tNamePropType,\n\tOption,\n\tOptionsPropType,\n\tShortKeyPropType,\n\tSingleSelectAPI,\n\tSingleSelectStates,\n\tStringified,\n\tSyncValueBySelectorPropType,\n\tTooltipAlignPropType,\n} from '../../schema';\nimport { buildBadgeTextString, showExpertSlot } from '../../schema';\nimport type { JSX } from '@stencil/core';\nimport { Component, Element, Fragment, h, Host, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { nonce } from '../../utils/dev.utils';\nimport { stopPropagation, tryToDispatchKoliBriEvent } from '../../utils/events';\nimport { SingleSelectController } from './controller';\nimport { KolIconTag, KolInputTag } from '../../core/component-names';\nimport { InternalUnderlinedBadgeText } from '../span/InternalUnderlinedBadgeText';\nimport { getRenderStates } from '../input/controller';\nimport { translate } from '../../i18n';\nimport clsx from 'clsx';\n\n/**\n * @slot - The input field label.\n */\n@Component({\n\ttag: 'kol-single-select',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: {\n\t\tdelegatesFocus: true,\n\t},\n})\nexport class KolSingleSelect implements SingleSelectAPI {\n\t@Element() private readonly host?: HTMLKolSingleSelectElement;\n\tprivate refInput?: HTMLInputElement;\n\tprivate refOptions: HTMLLIElement[] = [];\n\tprivate oldValue?: string;\n\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async getValue(): Promise<string | undefined> {\n\t\treturn this.state._value;\n\t}\n\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async kolFocus() {\n\t\tthis.refInput?.focus();\n\t}\n\n\tprivate readonly catchRef = (ref?: HTMLInputElement) => {\n\t\tthis.refInput = ref;\n\t};\n\n\tprivate toggleListbox = (event: Event) => {\n\t\tevent?.preventDefault();\n\t\tif (this.state._disabled) {\n\t\t\treturn;\n\t\t} else {\n\t\t\tthis._isOpen = !this._isOpen;\n\t\t\tif (this._isOpen) {\n\t\t\t\tthis.refInput?.focus();\n\t\t\t\tconst selectedIndex = Array.isArray(this._filteredOptions) ? this._filteredOptions.findIndex((option) => option.label === this._inputValue) : -1;\n\t\t\t\tthis._focusedOptionIndex = selectedIndex >= 0 ? selectedIndex : 0;\n\t\t\t\tthis.focusOption(this._focusedOptionIndex);\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate onBlur() {\n\t\tif (Array.isArray(this.state._options) && this.state._options.length > 0 && !this.state._options.some((option) => option.label === this._inputValue)) {\n\t\t\tthis._inputValue = this.state._options.find((option) => (option as Option<string>).value === this.state._value)?.label as string;\n\t\t\tthis._filteredOptions = [...this.state._options];\n\t\t}\n\t\tthis._isOpen = false;\n\t}\n\n\tprivate clearSelection() {\n\t\tif (this.state._disabled) {\n\t\t\treturn;\n\t\t} else {\n\t\t\tthis._focusedOptionIndex = -1;\n\t\t\tthis.state._value = '';\n\t\t\tthis._inputValue = '';\n\t\t\tthis._filteredOptions = [...this.state._options];\n\n\t\t\tthis.controller.setFormAssociatedValue(this.state._value);\n\t\t}\n\t}\n\n\tprivate selectOption(event: Event, option: Option<string>) {\n\t\tthis.state._value = option.value;\n\t\tthis._inputValue = option.label as string;\n\t\tthis.controller.onFacade.onChange(event, option.value);\n\t\tthis.controller.onFacade.onInput(event, false, option.value);\n\n\t\tthis._filteredOptions = [...this.state._options];\n\n\t\tthis.controller.setFormAssociatedValue(this.state._value);\n\t}\n\n\tprivate onInput(event: Event) {\n\t\tconst target = event.target as HTMLInputElement;\n\t\tthis._inputValue = target.value;\n\t\tthis._isOpen = true;\n\t\tthis.setFilteredOptionsByQuery(target.value);\n\t\tthis._focusedOptionIndex = -1;\n\t}\n\n\tprivate handleKeyDownDropdown(event: KeyboardEvent) {\n\t\tif (event.key.length === 1 && /[a-z0-9]/i.test(event.key)) {\n\t\t\tevent.preventDefault();\n\t\t\tthis._isOpen = true;\n\t\t\tthis.focusSuggestionStartingWith(event.key);\n\t\t}\n\t}\n\n\tprivate setFilteredOptionsByQuery(query: string) {\n\t\tif (query?.trim() === '') {\n\t\t\tthis._filteredOptions = [...this.state._options];\n\t\t} else if (Array.isArray(this.state._options) && this.state._options.length > 0 && query.length > 0) {\n\t\t\tthis._filteredOptions = this.state._options.filter((option) => {\n\t\t\t\treturn (option.label as string)?.toLowerCase()?.includes(query?.toLowerCase());\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate _focusedOptionIndex: number = -1;\n\n\tprivate moveFocus(delta: number) {\n\t\tif (!this._filteredOptions) {\n\t\t\treturn;\n\t\t}\n\t\tlet newIndex = this._focusedOptionIndex + delta;\n\n\t\tif (newIndex >= this._filteredOptions.length) {\n\t\t\tnewIndex = 0;\n\t\t}\n\n\t\tif (newIndex < 0) {\n\t\t\tnewIndex = this._filteredOptions.length - 1;\n\t\t}\n\n\t\tthis._focusedOptionIndex = newIndex;\n\t\tthis.focusOption(this._focusedOptionIndex);\n\t}\n\n\tprivate focusOption(index: number) {\n\t\tif (this.refOptions) {\n\t\t\tconst optionElement = this.refOptions[index];\n\t\t\toptionElement?.focus();\n\t\t}\n\t}\n\n\tprivate focusSuggestionStartingWith(char: string) {\n\t\tconst charLowerCase = char.toLowerCase();\n\n\t\tconst index =\n\t\t\tArray.isArray(this._filteredOptions) && this._filteredOptions.findIndex((option) => (option.label as string).toLowerCase().startsWith(charLowerCase));\n\n\t\tif (typeof index === 'number') {\n\t\t\tthis._focusedOptionIndex = index;\n\t\t\tthis.focusOption(index);\n\t\t}\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tconst hasExpertSlot = showExpertSlot(this.state._label);\n\t\tconst { ariaDescribedBy } = getRenderStates(this.state);\n\n\t\treturn (\n\t\t\t<Host class=\"kol-single-select\">\n\t\t\t\t<div class={`single-select ${this.state._disabled === true ? 'disabled' : ''} `}>\n\t\t\t\t\t<KolInputTag\n\t\t\t\t\t\t_accessKey={this.state._accessKey}\n\t\t\t\t\t\t_alert={this.showAsAlert()}\n\t\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t\t_hideError={this.state._hideError}\n\t\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t\t_icons={this.state._icons}\n\t\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t\t_label={this.state._label}\n\t\t\t\t\t\t_msg={this.state._msg}\n\t\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t\t_shortKey={this.state._shortKey}\n\t\t\t\t\t\t_tooltipAlign={this._tooltipAlign}\n\t\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t\t\trole={`presentation` /* Avoid element being read as 'clickable' in NVDA */}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span slot=\"label\">\n\t\t\t\t\t\t\t{hasExpertSlot ? (\n\t\t\t\t\t\t\t\t<slot name=\"expert\"></slot>\n\t\t\t\t\t\t\t) : typeof this.state._accessKey === 'string' || typeof this.state._shortKey === 'string' ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<InternalUnderlinedBadgeText badgeText={buildBadgeTextString(this.state._accessKey || this.state._shortKey)} label={this.state._label} />{' '}\n\t\t\t\t\t\t\t\t\t<span class=\"access-key-hint\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t{buildBadgeTextString(this.state._accessKey || this.state._shortKey)}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span>{this.state._label}</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<div slot=\"input\">\n\t\t\t\t\t\t\t<div class=\"single-select__group\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\t\t\t\tclass=\"single-select__input\"\n\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\taria-autocomplete=\"both\"\n\t\t\t\t\t\t\t\t\taria-controls=\"listbox\"\n\t\t\t\t\t\t\t\t\tvalue={this._inputValue}\n\t\t\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\t\t\t\t\taria-activedescendant={this._isOpen && this._focusedOptionIndex >= 0 ? `option-${this._focusedOptionIndex}` : undefined}\n\t\t\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\t\t\tonInput={this.onInput.bind(this)}\n\t\t\t\t\t\t\t\t\tonChange={this.onChange.bind(this)}\n\t\t\t\t\t\t\t\t\tonClick={this.toggleListbox.bind(this)}\n\t\t\t\t\t\t\t\t\tonFocus={(event) => {\n\t\t\t\t\t\t\t\t\t\tthis.controller.onFacade.onFocus(event);\n\t\t\t\t\t\t\t\t\t\tthis.inputHasFocus = true;\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonBlur={(event) => {\n\t\t\t\t\t\t\t\t\t\tthis.controller.onFacade.onBlur(event);\n\t\t\t\t\t\t\t\t\t\tthis.inputHasFocus = false;\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{this._inputValue && (\n\t\t\t\t\t\t\t\t\t<KolIconTag\n\t\t\t\t\t\t\t\t\t\t_icons=\"codicon codicon-close\"\n\t\t\t\t\t\t\t\t\t\t_label={translate('kol-delete-selection')}\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tthis.clearSelection();\n\t\t\t\t\t\t\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tclass=\"single-select__delete\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t<button tabindex=\"-1\" class=\"single-select__button\" onClick={this.toggleListbox.bind(this)} disabled={this.state._disabled}>\n\t\t\t\t\t\t\t\t\t<KolIconTag _icons=\"codicon codicon-triangle-down\" _label={translate('kol-dropdown')} />\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{this._isOpen && !(this.state._disabled === true) && (\n\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\t\t\t\tclass={clsx('single-select__listbox', this.blockSuggestionMouseOver && 'single-select__listbox--cursor-hidden')}\n\t\t\t\t\t\t\t\t\tonKeyDown={this.handleKeyDownDropdown.bind(this)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{Array.isArray(this._filteredOptions) && this._filteredOptions.length > 0 ? (\n\t\t\t\t\t\t\t\t\t\tthis._filteredOptions.map((option, index) => (\n\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\tid={`option-${index}`}\n\t\t\t\t\t\t\t\t\t\t\t\tkey={`-${index}`}\n\t\t\t\t\t\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (el) this.refOptions[index] = el;\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-selected={this.state._value === (option as Option<string>).value}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.selectOption(event, option as Option<string>);\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.toggleListbox(event);\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tonMouseOver={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (!this.blockSuggestionMouseOver) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis._focusedOptionIndex = index;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.focusOption(index);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tonFocus={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis._focusedOptionIndex = index;\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.focusOption(index);\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"single-select__item\"\n\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === 'Enter' || e.key === 'NumpadEnter') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.selectOption(e, option as Option<string>);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.toggleListbox(e);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"visually-hidden\"\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tname=\"options\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tid={`option-radio-${index}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={(option as Option<string>).value}\n\t\t\t\t\t\t\t\t\t\t\t\t\tchecked={this.state._value === (option as Option<string>).value || index === this._focusedOptionIndex}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<label htmlFor={`option-radio-${index}`} class=\"radio-label\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<li class=\"single-select__no-results-message\">{translate('kol-no-results-message')} </li>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</KolInputTag>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('focusout', { target: 'window' })\n\tpublic handleFocusOut() {\n\t\tsetTimeout(() => {\n\t\t\tif (!this.host?.contains(document.activeElement)) {\n\t\t\t\tthis.onBlur();\n\t\t\t}\n\t\t}, 0);\n\t}\n\t@Listen('blur', { target: 'window' })\n\tpublic handleWindowBlur() {\n\t\tthis.onBlur();\n\t}\n\n\t@Listen('keydown')\n\tpublic handleKeyDown(event: KeyboardEvent) {\n\t\tconst handleEvent = (isOpen?: boolean, callback?: () => void): void => {\n\t\t\tevent.preventDefault();\n\n\t\t\tif (isOpen !== undefined) {\n\t\t\t\tthis._isOpen = isOpen;\n\t\t\t\tif (!isOpen) {\n\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t\tcallback?.();\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'Down':\n\t\t\tcase 'ArrowDown': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(true, () => this.moveFocus(1));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Up':\n\t\t\tcase 'ArrowUp': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(true, () => this.moveFocus(-1));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Tab':\n\t\t\t\tif (this._isOpen) {\n\t\t\t\t\tthis._isOpen = !this._isOpen;\n\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'Esc':\n\t\t\tcase 'Escape': {\n\t\t\t\thandleEvent(false);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase ' ': {\n\t\t\t\tif (this._isOpen) {\n\t\t\t\t\tif (Array.isArray(this._filteredOptions) && this._filteredOptions.length > 0) {\n\t\t\t\t\t\tthis.selectOption(event, this._filteredOptions[this._focusedOptionIndex] as Option<string>);\n\t\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t\t\thandleEvent(false);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.toggleListbox(event);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'NumpadEnter':\n\t\t\tcase 'Enter': {\n\t\t\t\tthis.toggleListbox(event);\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Home': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(undefined, () => {\n\t\t\t\t\tif (this._isOpen) {\n\t\t\t\t\t\tthis._focusedOptionIndex = 0;\n\t\t\t\t\t\tthis.focusOption(this._focusedOptionIndex);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'End': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(undefined, () => {\n\t\t\t\t\tif (this._isOpen) {\n\t\t\t\t\t\tthis._focusedOptionIndex = this._filteredOptions ? this._filteredOptions.length - 1 : 0;\n\t\t\t\t\t\tthis.focusOption(this._focusedOptionIndex);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'PageUp': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(undefined, () => this._isOpen && this.moveFocus(-10));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'PageDown': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(undefined, () => this._isOpen && this.moveFocus(10));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate readonly controller: SingleSelectController;\n\t@State()\n\tprivate _isOpen = false;\n\t@State()\n\tprivate _filteredOptions?: OptionsPropType = [];\n\t@State()\n\tprivate _inputValue: string = '';\n\t@State()\n\tprivate blockSuggestionMouseOver: boolean = false;\n\t/**\n\t * Defines which key combination can be used to trigger or focus the interactive element of the component.\n\t */\n\t@Prop() public _accessKey?: string;\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 * Defines whether the screen-readers should read out the notification.\n\t * @deprecated Will be removed in v3. Use automatic behaviour instead.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean;\n\n\t/**\n\t * Makes the element not focusable and ignore all events.\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 `HideErrorPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _hideError?: 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?: Stringified<KoliBriHorizontalIcons>;\n\n\t/**\n\t * Defines the internal ID of the primary component element.\n\t */\n\t@Prop() public _id?: IdPropType;\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 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 * Options the user can choose from.\n\t */\n\t@Prop() public _options!: OptionsPropType;\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 * Adds a visual short key hint to the component.\n\t */\n\t@Prop() public _shortKey?: ShortKeyPropType;\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 which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\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 input.\n\t */\n\t@Prop({ mutable: true }) public _value?: string;\n\n\t@State() public state: SingleSelectStates = {\n\t\t_hideError: false,\n\t\t_id: `id-${nonce()}`,\n\t\t_label: '', // ⚠ required\n\t\t_options: [],\n\t\t_value: '',\n\t};\n\n\t@State() private inputHasFocus = false;\n\n\tpublic constructor() {\n\t\tthis.controller = new SingleSelectController(this, 'single-select', this.host);\n\t}\n\n\tprivate showAsAlert(): boolean {\n\t\tif (this.state._alert === undefined) {\n\t\t\treturn Boolean(this.state._touched) && !this.inputHasFocus;\n\t\t}\n\t\treturn this.state._alert;\n\t}\n\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: string): void {\n\t\tthis.controller.validatePlaceholder(value);\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('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_hideError')\n\tpublic validateHideError(value?: HideErrorPropType): void {\n\t\tthis.controller.validateHideError(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: Stringified<KoliBriHorizontalIcons>): void {\n\t\tthis.controller.validateIcons(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(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('_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('_options')\n\tpublic validateOptions(value?: OptionsPropType): void {\n\t\tthis.controller.validateOptions(value);\n\t\tthis._filteredOptions = value;\n\t\tthis.updateInputValue(this._value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(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('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(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\tthis.oldValue = value;\n\t\tthis.updateInputValue(value);\n\t}\n\n\t@Listen('mousemove')\n\tpublic handleMouseEvent() {\n\t\tthis.blockSuggestionMouseOver = false;\n\t}\n\n\tprivate updateInputValue(value?: string) {\n\t\tif (Array.isArray(this._options)) {\n\t\t\tconst matchedOption = this._options.find((option) => (option as Option<string>).value === value);\n\t\t\tthis._inputValue = matchedOption ? (matchedOption.label as string) : '';\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.refOptions = [];\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\t\tthis.oldValue = this._value;\n\t\tthis._filteredOptions = this._options;\n\t\tthis.updateInputValue(this._value);\n\t}\n\n\tprivate onChange(event: Event): void {\n\t\tif (this.oldValue !== this.refInput?.value) {\n\t\t\tthis.oldValue = this.refInput?.value;\n\t\t}\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('change', this.host, this._value);\n\n\t\t// Callback\n\t\tif (typeof this.state._on?.onChange === 'function' && !this._isOpen) {\n\t\t\tthis.state._on.onChange(event, this._value && this.oldValue !== this.refInput?.value);\n\t\t}\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["SingleSelectController","InputIconController","constructor","component","name","host","super","this","keyOptionMap","Map","afterPatchOptions","value","_state","_component","key","setFormAssociatedValue","beforePatchOptions","_value","nextState","options","has","get","state","_options","Array","isArray","length","clear","fillKeyOptionMap","validateOptions","hooks","afterPatch","beforePatch","validateRequired","watchBoolean","validateValue","watchString","validatePlaceholder","componentWillLoad","_required","_placeholder","defaultStyleCss","KolSingleSelectDefaultStyle0","KolSingleSelect","getValue","kolFocus","_a","refInput","focus","onBlur","some","option","label","_inputValue","find","_filteredOptions","_isOpen","clearSelection","_disabled","_focusedOptionIndex","controller","selectOption","event","onFacade","onChange","onInput","target","setFilteredOptionsByQuery","handleKeyDownDropdown","test","preventDefault","focusSuggestionStartingWith","query","trim","filter","_b","toLowerCase","includes","moveFocus","delta","newIndex","focusOption","index","refOptions","optionElement","char","charLowerCase","findIndex","startsWith","render","hasExpertSlot","showExpertSlot","_label","ariaDescribedBy","getRenderStates","h","Host","class","KolInputTag","_accessKey","_alert","showAsAlert","_hideError","_hideLabel","_hint","_icons","_id","_msg","_shortKey","_tooltipAlign","_touched","role","slot","Fragment","InternalUnderlinedBadgeText","badgeText","buildBadgeTextString","Object","assign","ref","catchRef","type","accessKey","join","undefined","autoCapitalize","autoCorrect","disabled","_name","required","bind","onClick","toggleListbox","onFocus","inputHasFocus","placeholder","KolIconTag","translate","tabindex","clsx","blockSuggestionMouseOver","onKeyDown","map","id","el","tabIndex","onMouseOver","e","checked","htmlFor","handleFocusOut","setTimeout","contains","document","activeElement","handleWindowBlur","handleKeyDown","handleEvent","isOpen","callback","hostRef","selectedIndex","nonce","Boolean","validateAccessKey","validateAlert","validateDisabled","validateHideError","validateHideLabel","validateHint","validateIcons","validateId","validateLabel","validateMsg","validateName","validateOn","updateInputValue","validateShortKey","validateSyncValueBySelector","validateTabIndex","validateTouched","oldValue","handleMouseEvent","matchedOption","stopPropagation","tryToDispatchKoliBriEvent","_c","_on","_d"],"sources":["src/components/single-select/controller.ts","src/components/single-select/style.scss?tag=kol-single-select&mode=default&encapsulation=shadow","src/components/single-select/shadow.tsx"],"sourcesContent":["import type { Option, OptionsPropType, SelectOption, SingleSelectProps, SingleSelectWatches, W3CInputValue } from '../../schema';\nimport { validateOptions, watchBoolean, watchString } from '../../schema';\n\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { fillKeyOptionMap } from '../input-radio/controller';\n\nimport type { Generic } from 'adopted-style-sheets';\n\nexport class SingleSelectController extends InputIconController implements SingleSelectWatches {\n\tprotected readonly component: Generic.Element.Component & SingleSelectProps;\n\tprivate readonly keyOptionMap = new Map<string, Option<string>>();\n\n\tpublic constructor(component: Generic.Element.Component & SingleSelectProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tprotected readonly afterPatchOptions = (value: unknown, _state: Record<string, unknown>, _component: Generic.Element.Component, key: string): void => {\n\t\tif (key === '_value') {\n\t\t\tthis.setFormAssociatedValue(value as string);\n\t\t}\n\t};\n\n\tprotected readonly beforePatchOptions = (_value: unknown, nextState: Map<string, unknown>): void => {\n\t\tconst options = nextState.has('_options') ? nextState.get('_options') : this.component.state._options;\n\t\tif (Array.isArray(options) && options.length > 0) {\n\t\t\tthis.keyOptionMap.clear();\n\t\t\tfillKeyOptionMap(this.keyOptionMap, options as SelectOption<W3CInputValue>[]);\n\t\t}\n\t};\n\n\tpublic validateOptions(value?: OptionsPropType): void {\n\t\tvalidateOptions(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.afterPatchOptions,\n\t\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(this.component, '_value', value);\n\t}\n\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateOptions(this.component._options);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateValue(this.component._value);\n\t\tthis.validatePlaceholder(this.component._placeholder);\n\t}\n}\n","@import '../@shared/mixins';\n@import '../style';\n@import '../input-line';\n\n@layer kol-component {\n\t:host {\n\t\tfont-size: rem(16);\n\t}\n\n\t.single-select {\n\t\tposition: relative;\n\n\t\t&.disabled,\n\t\t&.disabled * {\n\t\t\tcursor: not-allowed !important;\n\t\t}\n\n\t\t&__group {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t&__input {\n\t\t\tflex-grow: 1;\n\t\t}\n\n\t\t&__button {\n\t\t\theight: var(--a11y-min-size);\n\t\t\twidth: var(--a11y-min-size);\n\t\t}\n\n\t\t&__listbox {\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\tlist-style-type: none;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\toverflow-y: auto;\n\t\t\toverflow-x: hidden;\n\t\t\tz-index: 2;\n\t\t\tbackground-color: white;\n\t\t\tmax-height: rem(250);\n\t\t}\n\n\t\t&__item {\n\t\t\t&.highlighted {\n\t\t\t\tbackground-color: #f0f0f0;\n\t\t\t}\n\n\t\t\t.single-select__listbox--cursor-hidden & {\n\t\t\t\tcursor: none !important;\n\t\t\t}\n\t\t}\n\n\t\t&__no-results-message {\n\t\t\tcursor: default;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tmin-height: rem(50);\n\t\t}\n\t}\n}\n","import type {\n\tHideErrorPropType,\n\tIdPropType,\n\tInputTypeOnDefault,\n\tKoliBriHorizontalIcons,\n\tLabelWithExpertSlotPropType,\n\tMsgPropType,\n\tNamePropType,\n\tOption,\n\tOptionsPropType,\n\tShortKeyPropType,\n\tSingleSelectAPI,\n\tSingleSelectStates,\n\tStringified,\n\tSyncValueBySelectorPropType,\n\tTooltipAlignPropType,\n} from '../../schema';\nimport { buildBadgeTextString, showExpertSlot } from '../../schema';\nimport type { JSX } from '@stencil/core';\nimport { Component, Element, Fragment, h, Host, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { nonce } from '../../utils/dev.utils';\nimport { stopPropagation, tryToDispatchKoliBriEvent } from '../../utils/events';\nimport { SingleSelectController } from './controller';\nimport { KolIconTag, KolInputTag } from '../../core/component-names';\nimport { InternalUnderlinedBadgeText } from '../span/InternalUnderlinedBadgeText';\nimport { getRenderStates } from '../input/controller';\nimport { translate } from '../../i18n';\nimport clsx from 'clsx';\n\n/**\n * @slot - The input field label.\n */\n@Component({\n\ttag: 'kol-single-select',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: {\n\t\tdelegatesFocus: true,\n\t},\n})\nexport class KolSingleSelect implements SingleSelectAPI {\n\t@Element() private readonly host?: HTMLKolSingleSelectElement;\n\tprivate refInput?: HTMLInputElement;\n\tprivate refOptions: HTMLLIElement[] = [];\n\tprivate oldValue?: string;\n\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async getValue(): Promise<string | undefined> {\n\t\treturn this.state._value;\n\t}\n\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async kolFocus() {\n\t\tthis.refInput?.focus();\n\t}\n\n\tprivate readonly catchRef = (ref?: HTMLInputElement) => {\n\t\tthis.refInput = ref;\n\t};\n\n\tprivate toggleListbox = (event: Event) => {\n\t\tevent?.preventDefault();\n\t\tif (this.state._disabled) {\n\t\t\treturn;\n\t\t} else {\n\t\t\tthis._isOpen = !this._isOpen;\n\t\t\tif (this._isOpen) {\n\t\t\t\tthis.refInput?.focus();\n\t\t\t\tconst selectedIndex = Array.isArray(this._filteredOptions) ? this._filteredOptions.findIndex((option) => option.label === this._inputValue) : -1;\n\t\t\t\tthis._focusedOptionIndex = selectedIndex >= 0 ? selectedIndex : 0;\n\t\t\t\tthis.focusOption(this._focusedOptionIndex);\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate onBlur() {\n\t\tif (Array.isArray(this.state._options) && this.state._options.length > 0 && !this.state._options.some((option) => option.label === this._inputValue)) {\n\t\t\tthis._inputValue = this.state._options.find((option) => (option as Option<string>).value === this.state._value)?.label as string;\n\t\t\tthis._filteredOptions = [...this.state._options];\n\t\t}\n\t\tthis._isOpen = false;\n\t}\n\n\tprivate clearSelection() {\n\t\tif (this.state._disabled) {\n\t\t\treturn;\n\t\t} else {\n\t\t\tthis._focusedOptionIndex = -1;\n\t\t\tthis.state._value = '';\n\t\t\tthis._inputValue = '';\n\t\t\tthis._filteredOptions = [...this.state._options];\n\n\t\t\tthis.controller.setFormAssociatedValue(this.state._value);\n\t\t}\n\t}\n\n\tprivate selectOption(event: Event, option: Option<string>) {\n\t\tthis.state._value = option.value;\n\t\tthis._inputValue = option.label as string;\n\t\tthis.controller.onFacade.onChange(event, option.value);\n\t\tthis.controller.onFacade.onInput(event, false, option.value);\n\n\t\tthis._filteredOptions = [...this.state._options];\n\n\t\tthis.controller.setFormAssociatedValue(this.state._value);\n\t}\n\n\tprivate onInput(event: Event) {\n\t\tconst target = event.target as HTMLInputElement;\n\t\tthis._inputValue = target.value;\n\t\tthis._isOpen = true;\n\t\tthis.setFilteredOptionsByQuery(target.value);\n\t\tthis._focusedOptionIndex = -1;\n\t}\n\n\tprivate handleKeyDownDropdown(event: KeyboardEvent) {\n\t\tif (event.key.length === 1 && /[a-z0-9]/i.test(event.key)) {\n\t\t\tevent.preventDefault();\n\t\t\tthis._isOpen = true;\n\t\t\tthis.focusSuggestionStartingWith(event.key);\n\t\t}\n\t}\n\n\tprivate setFilteredOptionsByQuery(query: string) {\n\t\tif (query?.trim() === '') {\n\t\t\tthis._filteredOptions = [...this.state._options];\n\t\t} else if (Array.isArray(this.state._options) && this.state._options.length > 0 && query.length > 0) {\n\t\t\tthis._filteredOptions = this.state._options.filter((option) => {\n\t\t\t\treturn (option.label as string)?.toLowerCase()?.includes(query?.toLowerCase());\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate _focusedOptionIndex: number = -1;\n\n\tprivate moveFocus(delta: number) {\n\t\tif (!this._filteredOptions) {\n\t\t\treturn;\n\t\t}\n\t\tlet newIndex = this._focusedOptionIndex + delta;\n\n\t\tif (newIndex >= this._filteredOptions.length) {\n\t\t\tnewIndex = 0;\n\t\t}\n\n\t\tif (newIndex < 0) {\n\t\t\tnewIndex = this._filteredOptions.length - 1;\n\t\t}\n\n\t\tthis._focusedOptionIndex = newIndex;\n\t\tthis.focusOption(this._focusedOptionIndex);\n\t}\n\n\tprivate focusOption(index: number) {\n\t\tif (this.refOptions) {\n\t\t\tconst optionElement = this.refOptions[index];\n\t\t\toptionElement?.focus();\n\t\t}\n\t}\n\n\tprivate focusSuggestionStartingWith(char: string) {\n\t\tconst charLowerCase = char.toLowerCase();\n\n\t\tconst index =\n\t\t\tArray.isArray(this._filteredOptions) && this._filteredOptions.findIndex((option) => (option.label as string).toLowerCase().startsWith(charLowerCase));\n\n\t\tif (typeof index === 'number') {\n\t\t\tthis._focusedOptionIndex = index;\n\t\t\tthis.focusOption(index);\n\t\t}\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tconst hasExpertSlot = showExpertSlot(this.state._label);\n\t\tconst { ariaDescribedBy } = getRenderStates(this.state);\n\n\t\treturn (\n\t\t\t<Host class=\"kol-single-select\">\n\t\t\t\t<div class={`single-select ${this.state._disabled === true ? 'disabled' : ''} `}>\n\t\t\t\t\t<KolInputTag\n\t\t\t\t\t\t_accessKey={this.state._accessKey}\n\t\t\t\t\t\t_alert={this.showAsAlert()}\n\t\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t\t_hideError={this.state._hideError}\n\t\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t\t_icons={this.state._icons}\n\t\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t\t_label={this.state._label}\n\t\t\t\t\t\t_msg={this.state._msg}\n\t\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t\t_shortKey={this.state._shortKey}\n\t\t\t\t\t\t_tooltipAlign={this._tooltipAlign}\n\t\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t\t\trole={`presentation` /* Avoid element being read as 'clickable' in NVDA */}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span slot=\"label\">\n\t\t\t\t\t\t\t{hasExpertSlot ? (\n\t\t\t\t\t\t\t\t<slot name=\"expert\"></slot>\n\t\t\t\t\t\t\t) : typeof this.state._accessKey === 'string' || typeof this.state._shortKey === 'string' ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<InternalUnderlinedBadgeText badgeText={buildBadgeTextString(this.state._accessKey || this.state._shortKey)} label={this.state._label} />{' '}\n\t\t\t\t\t\t\t\t\t<span class=\"access-key-hint\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t{buildBadgeTextString(this.state._accessKey || this.state._shortKey)}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span>{this.state._label}</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<div slot=\"input\">\n\t\t\t\t\t\t\t<div class=\"single-select__group\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\t\t\t\tclass=\"single-select__input\"\n\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\taria-autocomplete=\"both\"\n\t\t\t\t\t\t\t\t\taria-controls=\"listbox\"\n\t\t\t\t\t\t\t\t\tvalue={this._inputValue}\n\t\t\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\t\t\t\t\taria-activedescendant={this._isOpen && this._focusedOptionIndex >= 0 ? `option-${this._focusedOptionIndex}` : undefined}\n\t\t\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\t\t\tonInput={this.onInput.bind(this)}\n\t\t\t\t\t\t\t\t\tonChange={this.onChange.bind(this)}\n\t\t\t\t\t\t\t\t\tonClick={this.toggleListbox.bind(this)}\n\t\t\t\t\t\t\t\t\tonFocus={(event) => {\n\t\t\t\t\t\t\t\t\t\tthis.controller.onFacade.onFocus(event);\n\t\t\t\t\t\t\t\t\t\tthis.inputHasFocus = true;\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonBlur={(event) => {\n\t\t\t\t\t\t\t\t\t\tthis.controller.onFacade.onBlur(event);\n\t\t\t\t\t\t\t\t\t\tthis.inputHasFocus = false;\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{this._inputValue && (\n\t\t\t\t\t\t\t\t\t<KolIconTag\n\t\t\t\t\t\t\t\t\t\t_icons=\"codicon codicon-close\"\n\t\t\t\t\t\t\t\t\t\t_label={translate('kol-delete-selection')}\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tthis.clearSelection();\n\t\t\t\t\t\t\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tclass=\"single-select__delete\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t<button tabindex=\"-1\" class=\"single-select__button\" onClick={this.toggleListbox.bind(this)} disabled={this.state._disabled}>\n\t\t\t\t\t\t\t\t\t<KolIconTag _icons=\"codicon codicon-triangle-down\" _label={translate('kol-dropdown')} />\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{this._isOpen && !(this.state._disabled === true) && (\n\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\t\t\t\tclass={clsx('single-select__listbox', this.blockSuggestionMouseOver && 'single-select__listbox--cursor-hidden')}\n\t\t\t\t\t\t\t\t\tonKeyDown={this.handleKeyDownDropdown.bind(this)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{Array.isArray(this._filteredOptions) && this._filteredOptions.length > 0 ? (\n\t\t\t\t\t\t\t\t\t\tthis._filteredOptions.map((option, index) => (\n\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\tid={`option-${index}`}\n\t\t\t\t\t\t\t\t\t\t\t\tkey={`-${index}`}\n\t\t\t\t\t\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (el) this.refOptions[index] = el;\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-selected={this.state._value === (option as Option<string>).value ? 'true' : undefined}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={(event: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.selectOption(event, option as Option<string>);\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.toggleListbox(event);\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tonMouseOver={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (!this.blockSuggestionMouseOver) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis._focusedOptionIndex = index;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.focusOption(index);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tonFocus={() => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis._focusedOptionIndex = index;\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.focusOption(index);\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"single-select__item\"\n\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (e.key === 'Enter' || e.key === 'NumpadEnter') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.selectOption(e, option as Option<string>);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.toggleListbox(e);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"visually-hidden\"\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tname=\"options\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tid={`option-radio-${index}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={(option as Option<string>).value}\n\t\t\t\t\t\t\t\t\t\t\t\t\tchecked={this.state._value === (option as Option<string>).value || index === this._focusedOptionIndex}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<label htmlFor={`option-radio-${index}`} class=\"radio-label\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{option.label}\n\t\t\t\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<li class=\"single-select__no-results-message\">{translate('kol-no-results-message')} </li>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</KolInputTag>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('focusout', { target: 'window' })\n\tpublic handleFocusOut() {\n\t\tsetTimeout(() => {\n\t\t\tif (!this.host?.contains(document.activeElement)) {\n\t\t\t\tthis.onBlur();\n\t\t\t}\n\t\t}, 0);\n\t}\n\t@Listen('blur', { target: 'window' })\n\tpublic handleWindowBlur() {\n\t\tthis.onBlur();\n\t}\n\n\t@Listen('keydown')\n\tpublic handleKeyDown(event: KeyboardEvent) {\n\t\tconst handleEvent = (isOpen?: boolean, callback?: () => void): void => {\n\t\t\tevent.preventDefault();\n\n\t\t\tif (isOpen !== undefined) {\n\t\t\t\tthis._isOpen = isOpen;\n\t\t\t\tif (!isOpen) {\n\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t\tcallback?.();\n\t\t};\n\n\t\tswitch (event.key) {\n\t\t\tcase 'Down':\n\t\t\tcase 'ArrowDown': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(true, () => this.moveFocus(1));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Up':\n\t\t\tcase 'ArrowUp': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(true, () => this.moveFocus(-1));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Tab':\n\t\t\t\tif (this._isOpen) {\n\t\t\t\t\tthis._isOpen = !this._isOpen;\n\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'Esc':\n\t\t\tcase 'Escape': {\n\t\t\t\thandleEvent(false);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase ' ': {\n\t\t\t\tif (this._isOpen) {\n\t\t\t\t\tif (Array.isArray(this._filteredOptions) && this._filteredOptions.length > 0) {\n\t\t\t\t\t\tthis.selectOption(event, this._filteredOptions[this._focusedOptionIndex] as Option<string>);\n\t\t\t\t\t\tthis.refInput?.focus();\n\t\t\t\t\t\thandleEvent(false);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.toggleListbox(event);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'NumpadEnter':\n\t\t\tcase 'Enter': {\n\t\t\t\tthis.toggleListbox(event);\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'Home': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(undefined, () => {\n\t\t\t\t\tif (this._isOpen) {\n\t\t\t\t\t\tthis._focusedOptionIndex = 0;\n\t\t\t\t\t\tthis.focusOption(this._focusedOptionIndex);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'End': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(undefined, () => {\n\t\t\t\t\tif (this._isOpen) {\n\t\t\t\t\t\tthis._focusedOptionIndex = this._filteredOptions ? this._filteredOptions.length - 1 : 0;\n\t\t\t\t\t\tthis.focusOption(this._focusedOptionIndex);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'PageUp': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(undefined, () => this._isOpen && this.moveFocus(-10));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase 'PageDown': {\n\t\t\t\tthis.blockSuggestionMouseOver = true;\n\t\t\t\thandleEvent(undefined, () => this._isOpen && this.moveFocus(10));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate readonly controller: SingleSelectController;\n\t@State()\n\tprivate _isOpen = false;\n\t@State()\n\tprivate _filteredOptions?: OptionsPropType = [];\n\t@State()\n\tprivate _inputValue: string = '';\n\t@State()\n\tprivate blockSuggestionMouseOver: boolean = false;\n\t/**\n\t * Defines which key combination can be used to trigger or focus the interactive element of the component.\n\t */\n\t@Prop() public _accessKey?: string;\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 * Defines whether the screen-readers should read out the notification.\n\t * @deprecated Will be removed in v3. Use automatic behaviour instead.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean;\n\n\t/**\n\t * Makes the element not focusable and ignore all events.\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 `HideErrorPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _hideError?: 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?: Stringified<KoliBriHorizontalIcons>;\n\n\t/**\n\t * Defines the internal ID of the primary component element.\n\t */\n\t@Prop() public _id?: IdPropType;\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 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 * Options the user can choose from.\n\t */\n\t@Prop() public _options!: OptionsPropType;\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 * Adds a visual short key hint to the component.\n\t */\n\t@Prop() public _shortKey?: ShortKeyPropType;\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 which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\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 input.\n\t */\n\t@Prop({ mutable: true }) public _value?: string;\n\n\t@State() public state: SingleSelectStates = {\n\t\t_hideError: false,\n\t\t_id: `id-${nonce()}`,\n\t\t_label: '', // ⚠ required\n\t\t_options: [],\n\t\t_value: '',\n\t};\n\n\t@State() private inputHasFocus = false;\n\n\tpublic constructor() {\n\t\tthis.controller = new SingleSelectController(this, 'single-select', this.host);\n\t}\n\n\tprivate showAsAlert(): boolean {\n\t\tif (this.state._alert === undefined) {\n\t\t\treturn Boolean(this.state._touched) && !this.inputHasFocus;\n\t\t}\n\t\treturn this.state._alert;\n\t}\n\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: string): void {\n\t\tthis.controller.validatePlaceholder(value);\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('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_hideError')\n\tpublic validateHideError(value?: HideErrorPropType): void {\n\t\tthis.controller.validateHideError(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: Stringified<KoliBriHorizontalIcons>): void {\n\t\tthis.controller.validateIcons(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(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('_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('_options')\n\tpublic validateOptions(value?: OptionsPropType): void {\n\t\tthis.controller.validateOptions(value);\n\t\tthis._filteredOptions = value;\n\t\tthis.updateInputValue(this._value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(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('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(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\tthis.oldValue = value;\n\t\tthis.updateInputValue(value);\n\t}\n\n\t@Listen('mousemove')\n\tpublic handleMouseEvent() {\n\t\tthis.blockSuggestionMouseOver = false;\n\t}\n\n\tprivate updateInputValue(value?: string) {\n\t\tif (Array.isArray(this._options)) {\n\t\t\tconst matchedOption = this._options.find((option) => (option as Option<string>).value === value);\n\t\t\tthis._inputValue = matchedOption ? (matchedOption.label as string) : '';\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.refOptions = [];\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\t\tthis.oldValue = this._value;\n\t\tthis._filteredOptions = this._options;\n\t\tthis.updateInputValue(this._value);\n\t}\n\n\tprivate onChange(event: Event): void {\n\t\tif (this.oldValue !== this.refInput?.value) {\n\t\t\tthis.oldValue = this.refInput?.value;\n\t\t}\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('change', this.host, this._value);\n\n\t\t// Callback\n\t\tif (typeof this.state._on?.onChange === 'function' && !this._isOpen) {\n\t\t\tthis.state._on.onChange(event, this._value && this.oldValue !== this.refInput?.value);\n\t\t}\n\t}\n}\n"],"mappings":";;;08BAQaA,UAA+BC,EAI3C,WAAAC,CAAmBC,EAA0DC,EAAcC,GAC1FC,MAAMH,EAAWC,EAAMC,GAHPE,KAAAC,aAAe,IAAIC,IAOjBF,KAAAG,kBAAoB,CAACC,EAAgBC,EAAiCC,EAAuCC,KAC/H,GAAIA,IAAQ,SAAU,CACrBP,KAAKQ,uBAAuBJ,E,GAIXJ,KAAAS,mBAAqB,CAACC,EAAiBC,KACzD,MAAMC,EAAUD,EAAUE,IAAI,YAAcF,EAAUG,IAAI,YAAcd,KAAKJ,UAAUmB,MAAMC,SAC7F,GAAIC,MAAMC,QAAQN,IAAYA,EAAQO,OAAS,EAAG,CACjDnB,KAAKC,aAAamB,QAClBC,EAAiBrB,KAAKC,aAAcW,E,GAbrCZ,KAAKJ,UAAYA,C,CAiBX,eAAA0B,CAAgBlB,GACtBkB,EAAgBtB,KAAKJ,UAAWQ,EAAO,CACtCmB,MAAO,CACNC,WAAYxB,KAAKG,kBACjBsB,YAAazB,KAAKS,qB,CAKd,gBAAAiB,CAAiBtB,GACvBuB,EAAa3B,KAAKJ,UAAW,YAAaQ,E,CAGpC,aAAAwB,CAAcxB,GACpByB,EAAY7B,KAAKJ,UAAW,SAAUQ,E,CAGhC,mBAAA0B,CAAoB1B,GAC1ByB,EAAY7B,KAAKJ,UAAW,eAAgBQ,E,CAGtC,iBAAA2B,GACNhC,MAAMgC,oBACN/B,KAAKsB,gBAAgBtB,KAAKJ,UAAUoB,UACpChB,KAAK0B,iBAAiB1B,KAAKJ,UAAUoC,WACrChC,KAAK4B,cAAc5B,KAAKJ,UAAUc,QAClCV,KAAK8B,oBAAoB9B,KAAKJ,UAAUqC,a,ECzD1C,MAAMC,EAAkB,i/QACxB,MAAAC,EAAeD,E,MCyCFE,EAAe,MAQpB,cAAMC,GACZ,OAAOrC,KAAKe,MAAML,M,CAKZ,cAAM4B,G,OACZC,EAAAvC,KAAKwC,YAAQ,MAAAD,SAAA,SAAAA,EAAEE,O,CAsBR,MAAAC,G,MACP,GAAIzB,MAAMC,QAAQlB,KAAKe,MAAMC,WAAahB,KAAKe,MAAMC,SAASG,OAAS,IAAMnB,KAAKe,MAAMC,SAAS2B,MAAMC,GAAWA,EAAOC,QAAU7C,KAAK8C,cAAc,CACrJ9C,KAAK8C,aAAcP,EAAAvC,KAAKe,MAAMC,SAAS+B,MAAMH,GAAYA,EAA0BxC,QAAUJ,KAAKe,MAAML,YAAO,MAAA6B,SAAA,SAAAA,EAAEM,MACjH7C,KAAKgD,iBAAmB,IAAIhD,KAAKe,MAAMC,S,CAExChB,KAAKiD,QAAU,K,CAGR,cAAAC,GACP,GAAIlD,KAAKe,MAAMoC,UAAW,CACzB,M,KACM,CACNnD,KAAKoD,qBAAuB,EAC5BpD,KAAKe,MAAML,OAAS,GACpBV,KAAK8C,YAAc,GACnB9C,KAAKgD,iBAAmB,IAAIhD,KAAKe,MAAMC,UAEvChB,KAAKqD,WAAW7C,uBAAuBR,KAAKe,MAAML,O,EAI5C,YAAA4C,CAAaC,EAAcX,GAClC5C,KAAKe,MAAML,OAASkC,EAAOxC,MAC3BJ,KAAK8C,YAAcF,EAAOC,MAC1B7C,KAAKqD,WAAWG,SAASC,SAASF,EAAOX,EAAOxC,OAChDJ,KAAKqD,WAAWG,SAASE,QAAQH,EAAO,MAAOX,EAAOxC,OAEtDJ,KAAKgD,iBAAmB,IAAIhD,KAAKe,MAAMC,UAEvChB,KAAKqD,WAAW7C,uBAAuBR,KAAKe,MAAML,O,CAG3C,OAAAgD,CAAQH,GACf,MAAMI,EAASJ,EAAMI,OACrB3D,KAAK8C,YAAca,EAAOvD,MAC1BJ,KAAKiD,QAAU,KACfjD,KAAK4D,0BAA0BD,EAAOvD,OACtCJ,KAAKoD,qBAAuB,C,CAGrB,qBAAAS,CAAsBN,GAC7B,GAAIA,EAAMhD,IAAIY,SAAW,GAAK,YAAY2C,KAAKP,EAAMhD,KAAM,CAC1DgD,EAAMQ,iBACN/D,KAAKiD,QAAU,KACfjD,KAAKgE,4BAA4BT,EAAMhD,I,EAIjC,yBAAAqD,CAA0BK,GACjC,IAAIA,IAAK,MAALA,SAAK,SAALA,EAAOC,UAAW,GAAI,CACzBlE,KAAKgD,iBAAmB,IAAIhD,KAAKe,MAAMC,S,MACjC,GAAIC,MAAMC,QAAQlB,KAAKe,MAAMC,WAAahB,KAAKe,MAAMC,SAASG,OAAS,GAAK8C,EAAM9C,OAAS,EAAG,CACpGnB,KAAKgD,iBAAmBhD,KAAKe,MAAMC,SAASmD,QAAQvB,I,QACnD,OAAOwB,GAAA7B,EAACK,EAAOC,SAAgB,MAAAN,SAAA,SAAAA,EAAE8B,iBAAa,MAAAD,SAAA,SAAAA,EAAEE,SAASL,IAAK,MAALA,SAAK,SAALA,EAAOI,cAAc,G,EAOzE,SAAAE,CAAUC,GACjB,IAAKxE,KAAKgD,iBAAkB,CAC3B,M,CAED,IAAIyB,EAAWzE,KAAKoD,oBAAsBoB,EAE1C,GAAIC,GAAYzE,KAAKgD,iBAAiB7B,OAAQ,CAC7CsD,EAAW,C,CAGZ,GAAIA,EAAW,EAAG,CACjBA,EAAWzE,KAAKgD,iBAAiB7B,OAAS,C,CAG3CnB,KAAKoD,oBAAsBqB,EAC3BzE,KAAK0E,YAAY1E,KAAKoD,oB,CAGf,WAAAsB,CAAYC,GACnB,GAAI3E,KAAK4E,WAAY,CACpB,MAAMC,EAAgB7E,KAAK4E,WAAWD,GACtCE,IAAa,MAAbA,SAAa,SAAbA,EAAepC,O,EAIT,2BAAAuB,CAA4Bc,GACnC,MAAMC,EAAgBD,EAAKT,cAE3B,MAAMM,EACL1D,MAAMC,QAAQlB,KAAKgD,mBAAqBhD,KAAKgD,iBAAiBgC,WAAWpC,GAAYA,EAAOC,MAAiBwB,cAAcY,WAAWF,KAEvI,UAAWJ,IAAU,SAAU,CAC9B3E,KAAKoD,oBAAsBuB,EAC3B3E,KAAK0E,YAAYC,E,EAIZ,MAAAO,GACN,MAAMC,EAAgBC,EAAepF,KAAKe,MAAMsE,QAChD,MAAMC,gBAAEA,GAAoBC,EAAgBvF,KAAKe,OAEjD,OACCyE,EAACC,EAAI,CAAAlF,IAAA,2CAACmF,MAAM,qBACXF,EAAA,OAAAjF,IAAA,2CAAKmF,MAAO,iBAAiB1F,KAAKe,MAAMoC,YAAc,KAAO,WAAa,OACzEqC,EAACG,EAAW,CAAApF,IAAA,2CACXqF,WAAY5F,KAAKe,MAAM6E,WACvBC,OAAQ7F,KAAK8F,cACb3C,UAAWnD,KAAKe,MAAMoC,UACtB4C,WAAY/F,KAAKe,MAAMgF,WACvBC,WAAYhG,KAAKe,MAAMiF,WACvBC,MAAOjG,KAAKe,MAAMkF,MAClBC,OAAQlG,KAAKe,MAAMmF,OACnBC,IAAKnG,KAAKe,MAAMoF,IAChBd,OAAQrF,KAAKe,MAAMsE,OACnBe,KAAMpG,KAAKe,MAAMqF,KACjBpE,UAAWhC,KAAKe,MAAMiB,UACtBqE,UAAWrG,KAAKe,MAAMsF,UACtBC,cAAetG,KAAKsG,cACpBC,SAAUvG,KAAKe,MAAMwF,SACrBC,KAAM,gBAENhB,EAAA,QAAAjF,IAAA,2CAAMkG,KAAK,SACTtB,EACAK,EAAA,QAAM3F,KAAK,kBACDG,KAAKe,MAAM6E,aAAe,iBAAmB5F,KAAKe,MAAMsF,YAAc,SAChFb,EAAAkB,EAAA,KACClB,EAACmB,EAA2B,CAACC,UAAWC,EAAqB7G,KAAKe,MAAM6E,YAAc5F,KAAKe,MAAMsF,WAAYxD,MAAO7C,KAAKe,MAAMsE,SAAW,IAC1IG,EAAA,QAAME,MAAM,kBAAiB,cAAa,QACxCmB,EAAqB7G,KAAKe,MAAM6E,YAAc5F,KAAKe,MAAMsF,aAI5Db,EAAA,YAAOxF,KAAKe,MAAMsE,SAGpBG,EAAA,OAAAjF,IAAA,2CAAKkG,KAAK,SACTjB,EAAA,OAAAjF,IAAA,2CAAKmF,MAAM,wBACVF,EAAA,QAAAsB,OAAAC,OAAA,CAAAxG,IAAA,2CACCyG,IAAKhH,KAAKiH,SACVvB,MAAM,uBACNwB,KAAK,OAAM,oBACO,OAAM,gBACV,UACd9G,MAAOJ,KAAK8C,YACZqE,UAAWnH,KAAKe,MAAM6E,WAAU,mBACdN,EAAgBnE,OAAS,EAAImE,EAAgB8B,KAAK,KAAOC,UAAS,aACxErH,KAAKe,MAAMiF,mBAAqBhG,KAAKe,MAAMsE,SAAW,SAAWrF,KAAKe,MAAMsE,OAASgC,UAAS,wBACnFrH,KAAKiD,SAAWjD,KAAKoD,qBAAuB,EAAI,UAAUpD,KAAKoD,sBAAwBiE,UAC9GC,eAAe,MACfC,YAAY,MACZC,SAAUxH,KAAKe,MAAMoC,UACrBtD,KAAMG,KAAKe,MAAM0G,MACjBC,SAAU1H,KAAKe,MAAMiB,WACjBhC,KAAKqD,WAAWG,SAAQ,CAC5BE,QAAS1D,KAAK0D,QAAQiE,KAAK3H,MAC3ByD,SAAUzD,KAAKyD,SAASkE,KAAK3H,MAC7B4H,QAAS5H,KAAK6H,cAAcF,KAAK3H,MACjC8H,QAAUvE,IACTvD,KAAKqD,WAAWG,SAASsE,QAAQvE,GACjCvD,KAAK+H,cAAgB,IAAI,EAE1BrF,OAASa,IACRvD,KAAKqD,WAAWG,SAASd,OAAOa,GAChCvD,KAAK+H,cAAgB,KAAK,EAE3BC,YAAahI,KAAKe,MAAMkB,gBAExBjC,KAAK8C,aACL0C,EAACyC,EAAU,CAAA1H,IAAA,2CACV2F,OAAO,wBACPb,OAAQ6C,EAAU,wBAClBN,QAAS,K,MACR5H,KAAKkD,kBACLX,EAAAvC,KAAKwC,YAAQ,MAAAD,SAAA,SAAAA,EAAEE,OAAO,EAEvBiD,MAAM,0BAIRF,EAAA,UAAAjF,IAAA,2CAAQ4H,SAAS,KAAKzC,MAAM,wBAAwBkC,QAAS5H,KAAK6H,cAAcF,KAAK3H,MAAOwH,SAAUxH,KAAKe,MAAMoC,WAChHqC,EAACyC,EAAU,CAAA1H,IAAA,2CAAC2F,OAAO,gCAAgCb,OAAQ6C,EAAU,oBAGtElI,KAAKiD,WAAajD,KAAKe,MAAMoC,YAAc,OAC3CqC,EAAA,MAAAjF,IAAA,2CACCiG,KAAK,UACLd,MAAO0C,EAAK,yBAA0BpI,KAAKqI,0BAA4B,yCACvEC,UAAWtI,KAAK6D,sBAAsB8D,KAAK3H,OAE1CiB,MAAMC,QAAQlB,KAAKgD,mBAAqBhD,KAAKgD,iBAAiB7B,OAAS,EACvEnB,KAAKgD,iBAAiBuF,KAAI,CAAC3F,EAAQ+B,IAClCa,EAAA,MACCgD,GAAI,UAAU7D,IACdpE,IAAK,IAAIoE,IACTqC,IAAMyB,IACL,GAAIA,EAAIzI,KAAK4E,WAAWD,GAAS8D,CAAE,EAEpCC,UAAW,EACXlC,KAAK,SAAQ,gBACExG,KAAKe,MAAML,SAAYkC,EAA0BxC,MAAQ,OAASiH,UACjFO,QAAUrE,I,MACTvD,KAAKsD,aAAaC,EAAOX,IACzBL,EAAAvC,KAAKwC,YAAQ,MAAAD,SAAA,SAAAA,EAAEE,QACfzC,KAAK6H,cAActE,EAAM,EAE1BoF,YAAa,KACZ,IAAK3I,KAAKqI,yBAA0B,CACnCrI,KAAKoD,oBAAsBuB,EAC3B3E,KAAK0E,YAAYC,E,GAGnBmD,QAAS,KACR9H,KAAKoD,oBAAsBuB,EAC3B3E,KAAK0E,YAAYC,EAAM,EAExBe,MAAM,sBACN4C,UAAYM,I,MACX,GAAIA,EAAErI,MAAQ,SAAWqI,EAAErI,MAAQ,cAAe,CACjDP,KAAKsD,aAAasF,EAAGhG,IACrBL,EAAAvC,KAAKwC,YAAQ,MAAAD,SAAA,SAAAA,EAAEE,QACfzC,KAAK6H,cAAce,GACnBA,EAAE7E,gB,IAIJyB,EAAA,SACCE,MAAM,kBACNwB,KAAK,QACLrH,KAAK,UACL2I,GAAI,gBAAgB7D,IACpBvE,MAAQwC,EAA0BxC,MAClCyI,QAAS7I,KAAKe,MAAML,SAAYkC,EAA0BxC,OAASuE,IAAU3E,KAAKoD,sBAGnFoC,EAAA,SAAOsD,QAAS,gBAAgBnE,IAASe,MAAM,eAC7C9C,EAAOC,UAKX2C,EAAA,MAAIE,MAAM,qCAAqCwC,EAAU,0BAAyB,S,CAYpF,cAAAa,GACNC,YAAW,K,MACV,MAAKzG,EAAAvC,KAAKF,QAAI,MAAAyC,SAAA,SAAAA,EAAE0G,SAASC,SAASC,gBAAgB,CACjDnJ,KAAK0C,Q,IAEJ,E,CAGG,gBAAA0G,GACNpJ,KAAK0C,Q,CAIC,aAAA2G,CAAc9F,G,QACpB,MAAM+F,EAAc,CAACC,EAAkBC,K,MACtCjG,EAAMQ,iBAEN,GAAIwF,IAAWlC,UAAW,CACzBrH,KAAKiD,QAAUsG,EACf,IAAKA,EAAQ,EACZhH,EAAAvC,KAAKwC,YAAQ,MAAAD,SAAA,SAAAA,EAAEE,O,EAGjB+G,IAAQ,MAARA,SAAQ,SAARA,GAAY,EAGb,OAAQjG,EAAMhD,KACb,IAAK,OACL,IAAK,YAAa,CACjBP,KAAKqI,yBAA2B,KAChCiB,EAAY,MAAM,IAAMtJ,KAAKuE,UAAU,KACvC,K,CAED,IAAK,KACL,IAAK,UAAW,CACfvE,KAAKqI,yBAA2B,KAChCiB,EAAY,MAAM,IAAMtJ,KAAKuE,WAAW,KACxC,K,CAED,IAAK,MACJ,GAAIvE,KAAKiD,QAAS,CACjBjD,KAAKiD,SAAWjD,KAAKiD,SACrBV,EAAAvC,KAAKwC,YAAQ,MAAAD,SAAA,SAAAA,EAAEE,O,CAEhB,MACD,IAAK,MACL,IAAK,SAAU,CACd6G,EAAY,OACZ,K,CAED,IAAK,IAAK,CACT,GAAItJ,KAAKiD,QAAS,CACjB,GAAIhC,MAAMC,QAAQlB,KAAKgD,mBAAqBhD,KAAKgD,iBAAiB7B,OAAS,EAAG,CAC7EnB,KAAKsD,aAAaC,EAAOvD,KAAKgD,iBAAiBhD,KAAKoD,uBACpDgB,EAAApE,KAAKwC,YAAQ,MAAA4B,SAAA,SAAAA,EAAE3B,QACf6G,EAAY,M,MAEP,CACNtJ,KAAK6H,cAActE,E,CAEpB,K,CAED,IAAK,cACL,IAAK,QAAS,CACbvD,KAAK6H,cAActE,GAEnB,K,CAED,IAAK,OAAQ,CACZvD,KAAKqI,yBAA2B,KAChCiB,EAAYjC,WAAW,KACtB,GAAIrH,KAAKiD,QAAS,CACjBjD,KAAKoD,oBAAsB,EAC3BpD,KAAK0E,YAAY1E,KAAKoD,oB,KAGxB,K,CAED,IAAK,MAAO,CACXpD,KAAKqI,yBAA2B,KAChCiB,EAAYjC,WAAW,KACtB,GAAIrH,KAAKiD,QAAS,CACjBjD,KAAKoD,oBAAsBpD,KAAKgD,iBAAmBhD,KAAKgD,iBAAiB7B,OAAS,EAAI,EACtFnB,KAAK0E,YAAY1E,KAAKoD,oB,KAGxB,K,CAED,IAAK,SAAU,CACdpD,KAAKqI,yBAA2B,KAChCiB,EAAYjC,WAAW,IAAMrH,KAAKiD,SAAWjD,KAAKuE,WAAW,MAC7D,K,CAED,IAAK,WAAY,CAChBvE,KAAKqI,yBAA2B,KAChCiB,EAAYjC,WAAW,IAAMrH,KAAKiD,SAAWjD,KAAKuE,UAAU,MAC5D,K,GAwIH,WAAA5E,CAAA8J,G,UAtgBQzJ,KAAA4E,WAA8B,GAerB5E,KAAAiH,SAAYD,IAC5BhH,KAAKwC,SAAWwE,CAAG,EAGZhH,KAAA6H,cAAiBtE,I,MACxBA,IAAK,MAALA,SAAK,SAALA,EAAOQ,iBACP,GAAI/D,KAAKe,MAAMoC,UAAW,CACzB,M,KACM,CACNnD,KAAKiD,SAAWjD,KAAKiD,QACrB,GAAIjD,KAAKiD,QAAS,EACjBV,EAAAvC,KAAKwC,YAAQ,MAAAD,SAAA,SAAAA,EAAEE,QACf,MAAMiH,EAAgBzI,MAAMC,QAAQlB,KAAKgD,kBAAoBhD,KAAKgD,iBAAiBgC,WAAWpC,GAAWA,EAAOC,QAAU7C,KAAK8C,eAAgB,EAC/I9C,KAAKoD,oBAAsBsG,GAAiB,EAAIA,EAAgB,EAChE1J,KAAK0E,YAAY1E,KAAKoD,oB,IA+DjBpD,KAAAoD,qBAA+B,E,aAySrB,M,sBAE2B,G,iBAEf,G,8BAEc,M,2FAoBP,M,gBAMiC,M,gBAOhC,M,WAKN,G,kKAyCK,M,yGAqBiB,M,cAMc,M,iCAOxB,CAC3C2C,WAAY,MACZI,IAAK,MAAMwD,MACXtE,OAAQ,GACRrE,SAAU,GACVN,OAAQ,I,mBAGwB,MAGhCV,KAAKqD,WAAa,IAAI5D,EAAuBO,KAAM,gBAAiBA,KAAKF,K,CAGlE,WAAAgG,GACP,GAAI9F,KAAKe,MAAM8E,SAAWwB,UAAW,CACpC,OAAOuC,QAAQ5J,KAAKe,MAAMwF,YAAcvG,KAAK+H,a,CAE9C,OAAO/H,KAAKe,MAAM8E,M,CAIZ,mBAAA/D,CAAoB1B,GAC1BJ,KAAKqD,WAAWvB,oBAAoB1B,E,CAI9B,iBAAAyJ,CAAkBzJ,GACxBJ,KAAKqD,WAAWwG,kBAAkBzJ,E,CAI5B,aAAA0J,CAAc1J,GACpBJ,KAAKqD,WAAWyG,cAAc1J,E,CAIxB,gBAAA2J,CAAiB3J,GACvBJ,KAAKqD,WAAW0G,iBAAiB3J,E,CAI3B,iBAAA4J,CAAkB5J,GACxBJ,KAAKqD,WAAW2G,kBAAkB5J,E,CAI5B,iBAAA6J,CAAkB7J,GACxBJ,KAAKqD,WAAW4G,kBAAkB7J,E,CAI5B,YAAA8J,CAAa9J,GACnBJ,KAAKqD,WAAW6G,aAAa9J,E,CAIvB,aAAA+J,CAAc/J,GACpBJ,KAAKqD,WAAW8G,cAAc/J,E,CAIxB,UAAAgK,CAAWhK,GACjBJ,KAAKqD,WAAW+G,WAAWhK,E,CAIrB,aAAAiK,CAAcjK,GACpBJ,KAAKqD,WAAWgH,cAAcjK,E,CAIxB,WAAAkK,CAAYlK,GAClBJ,KAAKqD,WAAWiH,YAAYlK,E,CAItB,YAAAmK,CAAanK,GACnBJ,KAAKqD,WAAWkH,aAAanK,E,CAIvB,UAAAoK,CAAWpK,GACjBJ,KAAKqD,WAAWmH,WAAWpK,E,CAIrB,eAAAkB,CAAgBlB,GACtBJ,KAAKqD,WAAW/B,gBAAgBlB,GAChCJ,KAAKgD,iBAAmB5C,EACxBJ,KAAKyK,iBAAiBzK,KAAKU,O,CAIrB,gBAAAgB,CAAiBtB,GACvBJ,KAAKqD,WAAW3B,iBAAiBtB,E,CAI3B,gBAAAsK,CAAiBtK,GACvBJ,KAAKqD,WAAWqH,iBAAiBtK,E,CAI3B,2BAAAuK,CAA4BvK,GAClCJ,KAAKqD,WAAWsH,4BAA4BvK,E,CAItC,gBAAAwK,CAAiBxK,GACvBJ,KAAKqD,WAAWuH,iBAAiBxK,E,CAI3B,eAAAyK,CAAgBzK,GACtBJ,KAAKqD,WAAWwH,gBAAgBzK,E,CAI1B,aAAAwB,CAAcxB,GACpBJ,KAAKqD,WAAWzB,cAAcxB,GAC9BJ,KAAK8K,SAAW1K,EAChBJ,KAAKyK,iBAAiBrK,E,CAIhB,gBAAA2K,GACN/K,KAAKqI,yBAA2B,K,CAGzB,gBAAAoC,CAAiBrK,GACxB,GAAIa,MAAMC,QAAQlB,KAAKgB,UAAW,CACjC,MAAMgK,EAAgBhL,KAAKgB,SAAS+B,MAAMH,GAAYA,EAA0BxC,QAAUA,IAC1FJ,KAAK8C,YAAckI,EAAiBA,EAAcnI,MAAmB,E,EAIhE,iBAAAd,GACN/B,KAAK4E,WAAa,GAClB5E,KAAKuG,SAAWvG,KAAKuG,WAAa,KAClCvG,KAAKqD,WAAWtB,oBAChB/B,KAAK8K,SAAW9K,KAAKU,OACrBV,KAAKgD,iBAAmBhD,KAAKgB,SAC7BhB,KAAKyK,iBAAiBzK,KAAKU,O,CAGpB,QAAA+C,CAASF,G,YAChB,GAAIvD,KAAK8K,aAAavI,EAAAvC,KAAKwC,YAAQ,MAAAD,SAAA,SAAAA,EAAEnC,OAAO,CAC3CJ,KAAK8K,UAAW1G,EAAApE,KAAKwC,YAAQ,MAAA4B,SAAA,SAAAA,EAAEhE,K,CAGhC6K,EAAgB1H,GAChB2H,EAA0B,SAAUlL,KAAKF,KAAME,KAAKU,QAGpD,WAAWyK,EAAAnL,KAAKe,MAAMqK,OAAG,MAAAD,SAAA,SAAAA,EAAE1H,YAAa,aAAezD,KAAKiD,QAAS,CACpEjD,KAAKe,MAAMqK,IAAI3H,SAASF,EAAOvD,KAAKU,QAAUV,KAAK8K,aAAaO,EAAArL,KAAKwC,YAAQ,MAAA6I,SAAA,SAAAA,EAAEjL,O","ignoreList":[]}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
import{r as n,h as e,H as t}from"./index-
|
4
|
+
import{r as n,h as e,H as t}from"./index-ecad6e72.js";import{r as i,a as o}from"./unique-nav-labels-768d04e9.js";import{w as a}from"./validation-1a210179.js";import{j as s}from"./component-names-d278f819.js";import{v as l}from"./label-d70e7c34.js";import"./dev.utils-fab45cbc.js";import"./prop.validators-c5e6ad2d.js";import"./index-541b643a.js";const r="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: calc(44rem / var(--kolibri-root-font-size, 16));\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\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 * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\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 * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: 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 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}\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 clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: calc(1rem / var(--kolibri-root-font-size, 16));\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: calc(1rem / var(--kolibri-root-font-size, 16));\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 border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 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}\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 }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\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 cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n ul {\n display: grid;\n list-style: none;\n place-items: center;\n }\n ul li {\n height: 0;\n }\n .kol-link-wc a {\n left: calc(-99999rem / var(--kolibri-root-font-size, 16));\n overflow: hidden;\n position: absolute;\n z-index: 9999999;\n line-height: 1;\n }\n .kol-link-wc a:focus {\n background-color: #fff;\n left: unset;\n position: unset;\n }\n}",d=r,h=class{constructor(e){n(this,e),this._label=void 0,this._links=void 0,this.state={_label:"",_links:[]}}render(){return e(t,{key:"a9321b3dca0103f92696c130057a1176aae1ed12",class:"kol-skip-nav"},e("nav",{key:"9772a64d59dc043802953679fa97760f389cd24a","aria-label":this.state._label},e("ul",{key:"8f202679daf5537f06157161dee7faefea238028"},this.state._links.map(((n,t)=>e("li",{key:t},e(s,Object.assign({},n))))))))}validateLabel(n,e,t=!1){t||i(this.state._label),l(this,n,{required:!0}),o(this.state._label)}validateLinks(n){a("KolSkipNav",this,n)}componentWillLoad(){this.validateLabel(this._label,void 0,!0),this.validateLinks(this._links)}disconnectedCallback(){i(this.state._label)}static get watchers(){return{_label:["validateLabel"],_links:["validateLinks"]}}};h.style={default:d};export{h as kol_skip_nav};
|