@public-ui/components 2.2.3-702043bf096508543fde71293095cb63e22ad1a2.0 → 2.2.4
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/custom-elements.json +1 -1
- package/dist/cjs/{Alert-8e9c4afd.js → Alert-ef59ca5f.js} +1 -1
- package/dist/cjs/{Alert-8e9c4afd.js.map → Alert-ef59ca5f.js.map} +1 -1
- package/dist/cjs/{Collapsible-d38ee442.js → Collapsible-ca22863b.js} +1 -1
- package/dist/cjs/{Collapsible-d38ee442.js.map → Collapsible-ca22863b.js.map} +1 -1
- package/dist/cjs/{FormFieldMsg-d006a26e.js → FormFieldMsg-e6aea1ab.js} +1 -1
- package/dist/cjs/FormFieldMsg-e6aea1ab.js.map +1 -0
- package/dist/cjs/{InternalUnderlinedBadgeText-d4fc1959.js → InternalUnderlinedBadgeText-edf977d9.js} +1 -1
- package/dist/cjs/{InternalUnderlinedBadgeText-d4fc1959.js.map → InternalUnderlinedBadgeText-edf977d9.js.map} +1 -1
- package/dist/cjs/{access-and-short-key-4b185f62.js → access-and-short-key-12a097ab.js} +1 -1
- package/dist/cjs/{access-and-short-key-4b185f62.js.map → access-and-short-key-12a097ab.js.map} +1 -1
- package/dist/cjs/{align-f4f3dfb6.js → align-b9732b91.js} +1 -1
- package/dist/cjs/{align-f4f3dfb6.js.map → align-b9732b91.js.map} +1 -1
- package/dist/cjs/app-globals-6c06e416.js +4 -0
- package/dist/cjs/{app-globals-76d52515.js.map → app-globals-6c06e416.js.map} +1 -1
- package/dist/cjs/{aria-expanded-6f9152b4.js → aria-expanded-3376c72e.js} +1 -1
- package/dist/cjs/{aria-expanded-6f9152b4.js.map → aria-expanded-3376c72e.js.map} +1 -1
- package/dist/cjs/{associated.controller-e7a1e9af.js → associated.controller-5e3fde43.js} +1 -1
- package/dist/cjs/{associated.controller-e7a1e9af.js.map → associated.controller-5e3fde43.js.map} +1 -1
- package/dist/cjs/badge-text-3a33a84b.js +4 -0
- package/dist/cjs/{badge-text-1bbf50cd.js.map → badge-text-3a33a84b.js.map} +1 -1
- package/dist/cjs/{color-5ddd375e.js → color-2c30c52b.js} +1 -1
- package/dist/cjs/{color-5ddd375e.js.map → color-2c30c52b.js.map} +1 -1
- package/dist/cjs/{controller-3fc3acb5.js → controller-0fbcf11a.js} +1 -1
- package/dist/cjs/{controller-3fc3acb5.js.map → controller-0fbcf11a.js.map} +1 -1
- package/dist/cjs/{controller-2355b966.js → controller-3df689d7.js} +1 -1
- package/dist/cjs/{controller-2355b966.js.map → controller-3df689d7.js.map} +1 -1
- package/dist/cjs/{controller-f5179b00.js → controller-6bc73748.js} +1 -1
- package/dist/cjs/{controller-f5179b00.js.map → controller-6bc73748.js.map} +1 -1
- package/dist/cjs/controller-8c83cf6d.js +4 -0
- package/dist/cjs/{controller-fc146c36.js.map → controller-8c83cf6d.js.map} +1 -1
- package/dist/cjs/{controller-bf4ff6cd.js → controller-c06ec8d6.js} +1 -1
- package/dist/cjs/{controller-bf4ff6cd.js.map → controller-c06ec8d6.js.map} +1 -1
- package/dist/cjs/{controller-icon-2b593d47.js → controller-icon-4caf2636.js} +1 -1
- package/dist/cjs/{controller-icon-2b593d47.js.map → controller-icon-4caf2636.js.map} +1 -1
- package/dist/cjs/custom-class-3a1c18f3.js +4 -0
- package/dist/cjs/{custom-class-d8a5e95d.js.map → custom-class-3a1c18f3.js.map} +1 -1
- package/dist/cjs/{dev.utils-d6ffb9ff.js → dev.utils-da74dcf2.js} +1 -1
- package/dist/cjs/{dev.utils-d6ffb9ff.js.map → dev.utils-da74dcf2.js.map} +1 -1
- package/dist/cjs/{devtools-2666b6ae.js → devtools-3b5bcf35.js} +1 -1
- package/dist/cjs/{devtools-2666b6ae.js.map → devtools-3b5bcf35.js.map} +1 -1
- package/dist/cjs/disabled-5a2e250c.js +4 -0
- package/dist/cjs/{disabled-5eb4fde5.js.map → disabled-5a2e250c.js.map} +1 -1
- package/dist/cjs/{events-4981f0c3.js → events-e094ddcb.js} +1 -1
- package/dist/cjs/{events-4981f0c3.js.map → events-e094ddcb.js.map} +1 -1
- package/dist/cjs/has-closer-9b3c14a7.js +4 -0
- package/dist/cjs/{has-closer-9e124723.js.map → has-closer-9b3c14a7.js.map} +1 -1
- package/dist/cjs/has-counter-7318f6f4.js +4 -0
- package/dist/cjs/{has-counter-576de43f.js.map → has-counter-7318f6f4.js.map} +1 -1
- package/dist/cjs/hide-label-b0063224.js +4 -0
- package/dist/cjs/{hide-label-1783d2a4.js.map → hide-label-b0063224.js.map} +1 -1
- package/dist/cjs/href-2485cb51.js +4 -0
- package/dist/cjs/{href-50c41695.js.map → href-2485cb51.js.map} +1 -1
- package/dist/cjs/{icons-3917f9e0.js → icons-310a07cc.js} +1 -1
- package/dist/cjs/{icons-3917f9e0.js.map → icons-310a07cc.js.map} +1 -1
- package/dist/cjs/image-source-27335383.js +4 -0
- package/dist/cjs/{image-source-546dd85b.js.map → image-source-27335383.js.map} +1 -1
- package/dist/cjs/index-38f5f0b2.js +4 -0
- package/dist/cjs/index-38f5f0b2.js.map +1 -0
- package/dist/cjs/index-3e0c664f.js +4 -0
- package/dist/cjs/index-3e0c664f.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- 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-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-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-date.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js +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-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-input.cjs.entry.js +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-single-select.cjs.entry.js +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.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-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/{label-d84e4f92.js → label-b8654499.js} +1 -1
- package/dist/cjs/{label-d84e4f92.js.map → label-b8654499.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/open-5c1af49f.js +4 -0
- package/dist/cjs/{open-19fa99c9.js.map → open-5c1af49f.js.map} +1 -1
- package/dist/cjs/{prop.validators-37d21dea.js → prop.validators-96dfedce.js} +1 -1
- package/dist/cjs/{prop.validators-37d21dea.js.map → prop.validators-96dfedce.js.map} +1 -1
- package/dist/cjs/rows-782313b6.js +4 -0
- package/dist/cjs/{rows-fd18fa20.js.map → rows-782313b6.js.map} +1 -1
- package/dist/cjs/show-5b2be58e.js +4 -0
- package/dist/cjs/{show-f204ce41.js.map → show-5b2be58e.js.map} +1 -1
- package/dist/cjs/spell-check-5c5eee25.js +4 -0
- package/dist/cjs/{spell-check-2c944775.js.map → spell-check-5c5eee25.js.map} +1 -1
- package/dist/cjs/{suggestions-38ae7a17.js → suggestions-cd0a843d.js} +1 -1
- package/dist/cjs/{suggestions-38ae7a17.js.map → suggestions-cd0a843d.js.map} +1 -1
- package/dist/cjs/test-component.cjs.entry.js +1 -1
- package/dist/cjs/tooltip-align-3b9a6bde.js +4 -0
- package/dist/cjs/{tooltip-align-70093437.js.map → tooltip-align-3b9a6bde.js.map} +1 -1
- package/dist/cjs/{validation-6f90f7a8.js → validation-7ea25fa6.js} +1 -1
- package/dist/cjs/{validation-6f90f7a8.js.map → validation-7ea25fa6.js.map} +1 -1
- package/dist/cjs/{validation-7592f880.js → validation-fbc2d426.js} +1 -1
- package/dist/cjs/{validation-7592f880.js.map → validation-fbc2d426.js.map} +1 -1
- package/dist/components/FormFieldMsg.js +1 -1
- package/dist/components/FormFieldMsg.js.map +1 -1
- package/dist/components/access-and-short-key.js +1 -1
- package/dist/components/associated.controller.js +1 -1
- package/dist/components/color.js +1 -1
- package/dist/components/controller.js +1 -1
- package/dist/components/controller2.js +1 -1
- package/dist/components/controller3.js +1 -1
- package/dist/components/controller5.js +1 -1
- package/dist/components/devtools.js +1 -1
- package/dist/components/events2.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/kol-breadcrumb.js +1 -1
- package/dist/components/kol-button-wc.js +1 -1
- package/dist/components/kol-input-date.js +1 -1
- package/dist/components/kol-input-number.js +1 -1
- package/dist/components/kol-input-password.js +1 -1
- package/dist/components/kol-input-range.js +1 -1
- package/dist/components/kol-kolibri.js +1 -1
- package/dist/components/kol-link-wc.js +1 -1
- package/dist/components/kol-logo.js +1 -1
- package/dist/components/kol-nav.js +1 -1
- package/dist/components/kol-pagination.js +1 -1
- package/dist/components/kol-progress.js +1 -1
- package/dist/components/kol-select.js +1 -1
- package/dist/components/kol-table-stateful.js +1 -1
- package/dist/components/kol-table-stateless-wc.js +1 -1
- package/dist/components/kol-tabs.js +1 -1
- package/dist/components/kol-textarea.js +1 -1
- package/dist/components/kol-toolbar.js +1 -1
- package/dist/components/label.js +1 -1
- package/dist/components/prop.validators.js +1 -1
- package/dist/components/prop.validators.js.map +1 -1
- package/dist/components/rows.js +1 -1
- package/dist/components/suggestions.js +1 -1
- package/dist/components/validation2.js +1 -1
- package/dist/esm/{Alert-f32287c6.js → Alert-4076b58c.js} +1 -1
- package/dist/esm/{Alert-f32287c6.js.map → Alert-4076b58c.js.map} +1 -1
- package/dist/esm/{Collapsible-b5df4ad5.js → Collapsible-539ce5ff.js} +1 -1
- package/dist/esm/{Collapsible-b5df4ad5.js.map → Collapsible-539ce5ff.js.map} +1 -1
- package/dist/esm/{FormFieldMsg-36a6f5ea.js → FormFieldMsg-50b8a1bc.js} +1 -1
- package/dist/esm/FormFieldMsg-50b8a1bc.js.map +1 -0
- package/dist/esm/{InternalUnderlinedBadgeText-855ece4a.js → InternalUnderlinedBadgeText-c0a031b2.js} +1 -1
- package/dist/esm/{InternalUnderlinedBadgeText-855ece4a.js.map → InternalUnderlinedBadgeText-c0a031b2.js.map} +1 -1
- package/dist/esm/{access-and-short-key-864aafba.js → access-and-short-key-9cca88b8.js} +1 -1
- package/dist/esm/{access-and-short-key-864aafba.js.map → access-and-short-key-9cca88b8.js.map} +1 -1
- package/dist/esm/{align-e29ed804.js → align-82100bda.js} +1 -1
- package/dist/esm/{align-e29ed804.js.map → align-82100bda.js.map} +1 -1
- package/dist/esm/app-globals-546464be.js +4 -0
- package/dist/esm/{app-globals-209c2985.js.map → app-globals-546464be.js.map} +1 -1
- package/dist/esm/{aria-expanded-1b7c2c54.js → aria-expanded-ec1ec6df.js} +1 -1
- package/dist/esm/{aria-expanded-1b7c2c54.js.map → aria-expanded-ec1ec6df.js.map} +1 -1
- package/dist/esm/{associated.controller-bce3d721.js → associated.controller-52d302aa.js} +1 -1
- package/dist/esm/{associated.controller-bce3d721.js.map → associated.controller-52d302aa.js.map} +1 -1
- package/dist/esm/{badge-text-6be73b6a.js → badge-text-16dedc1b.js} +1 -1
- package/dist/esm/{badge-text-6be73b6a.js.map → badge-text-16dedc1b.js.map} +1 -1
- package/dist/esm/{color-cce3e447.js → color-62f7b76a.js} +1 -1
- package/dist/esm/{color-cce3e447.js.map → color-62f7b76a.js.map} +1 -1
- package/dist/esm/{controller-ff17d912.js → controller-07000871.js} +1 -1
- package/dist/esm/{controller-ff17d912.js.map → controller-07000871.js.map} +1 -1
- package/dist/esm/{controller-96fe2d26.js → controller-8eb39b13.js} +1 -1
- package/dist/esm/{controller-96fe2d26.js.map → controller-8eb39b13.js.map} +1 -1
- package/dist/esm/{controller-dacdb561.js → controller-964599c0.js} +1 -1
- package/dist/esm/{controller-dacdb561.js.map → controller-964599c0.js.map} +1 -1
- package/dist/esm/{controller-d1097e06.js → controller-9c6419a9.js} +1 -1
- package/dist/esm/{controller-d1097e06.js.map → controller-9c6419a9.js.map} +1 -1
- package/dist/esm/{controller-172fcdb6.js → controller-d66d5bed.js} +1 -1
- package/dist/esm/{controller-172fcdb6.js.map → controller-d66d5bed.js.map} +1 -1
- package/dist/esm/{controller-icon-29af0ac7.js → controller-icon-e363322f.js} +1 -1
- package/dist/esm/{controller-icon-29af0ac7.js.map → controller-icon-e363322f.js.map} +1 -1
- package/dist/esm/custom-class-ac49545a.js +4 -0
- package/dist/esm/{custom-class-9311655e.js.map → custom-class-ac49545a.js.map} +1 -1
- package/dist/esm/{dev.utils-8139d5c5.js → dev.utils-93c58140.js} +1 -1
- package/dist/esm/{dev.utils-8139d5c5.js.map → dev.utils-93c58140.js.map} +1 -1
- package/dist/esm/{devtools-03529aad.js → devtools-7462ec46.js} +1 -1
- package/dist/esm/{devtools-03529aad.js.map → devtools-7462ec46.js.map} +1 -1
- package/dist/esm/{disabled-5fc4b444.js → disabled-dad7478c.js} +1 -1
- package/dist/esm/{disabled-5fc4b444.js.map → disabled-dad7478c.js.map} +1 -1
- package/dist/esm/{events-e483577f.js → events-8ec9ecc6.js} +1 -1
- package/dist/esm/{events-e483577f.js.map → events-8ec9ecc6.js.map} +1 -1
- package/dist/esm/{has-closer-aa8f6369.js → has-closer-a4e62c58.js} +1 -1
- package/dist/esm/{has-closer-aa8f6369.js.map → has-closer-a4e62c58.js.map} +1 -1
- package/dist/esm/{has-counter-a9dacd37.js → has-counter-a43c36ef.js} +1 -1
- package/dist/esm/{has-counter-a9dacd37.js.map → has-counter-a43c36ef.js.map} +1 -1
- package/dist/esm/{hide-label-db0db59c.js → hide-label-429a15ea.js} +1 -1
- package/dist/esm/{hide-label-db0db59c.js.map → hide-label-429a15ea.js.map} +1 -1
- package/dist/esm/{href-31b01f08.js → href-d8ec67f8.js} +1 -1
- package/dist/esm/{href-31b01f08.js.map → href-d8ec67f8.js.map} +1 -1
- package/dist/esm/{icons-4c339a19.js → icons-e1a5023e.js} +1 -1
- package/dist/esm/{icons-4c339a19.js.map → icons-e1a5023e.js.map} +1 -1
- package/dist/esm/{image-source-a6af4847.js → image-source-320efd4f.js} +1 -1
- package/dist/esm/{image-source-a6af4847.js.map → image-source-320efd4f.js.map} +1 -1
- package/dist/esm/index-9809a0af.js +4 -0
- package/dist/esm/index-9809a0af.js.map +1 -0
- package/dist/esm/index-da3e0c00.js +4 -0
- package/dist/esm/index-da3e0c00.js.map +1 -0
- package/dist/esm/index.js +1 -1
- 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-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-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-date.entry.js +1 -1
- package/dist/esm/kol-input-email.entry.js +1 -1
- package/dist/esm/kol-input-file.entry.js +1 -1
- package/dist/esm/kol-input-number.entry.js +1 -1
- package/dist/esm/kol-input-password.entry.js +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-text.entry.js +1 -1
- package/dist/esm/kol-input.entry.js +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-single-select.entry.js +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.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-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/{label-d70e7c34.js → label-d0315384.js} +1 -1
- package/dist/esm/{label-d70e7c34.js.map → label-d0315384.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{open-f7031548.js → open-20d08415.js} +1 -1
- package/dist/esm/{open-f7031548.js.map → open-20d08415.js.map} +1 -1
- package/dist/esm/prop.validators-9feb1d92.js +4 -0
- package/dist/esm/{prop.validators-c5e6ad2d.js.map → prop.validators-9feb1d92.js.map} +1 -1
- package/dist/esm/{rows-64f9b5cb.js → rows-26af6558.js} +1 -1
- package/dist/esm/{rows-64f9b5cb.js.map → rows-26af6558.js.map} +1 -1
- package/dist/esm/show-484b637e.js +4 -0
- package/dist/esm/{show-5d826542.js.map → show-484b637e.js.map} +1 -1
- package/dist/esm/spell-check-60fa0b9f.js +4 -0
- package/dist/esm/{spell-check-5ac5a135.js.map → spell-check-60fa0b9f.js.map} +1 -1
- package/dist/esm/{suggestions-33f55ec2.js → suggestions-f139f5ec.js} +1 -1
- package/dist/esm/{suggestions-33f55ec2.js.map → suggestions-f139f5ec.js.map} +1 -1
- package/dist/esm/test-component.entry.js +1 -1
- package/dist/esm/{tooltip-align-6b648461.js → tooltip-align-3e629203.js} +1 -1
- package/dist/esm/{tooltip-align-6b648461.js.map → tooltip-align-3e629203.js.map} +1 -1
- package/dist/esm/{validation-1a210179.js → validation-0c197148.js} +1 -1
- package/dist/esm/{validation-1a210179.js.map → validation-0c197148.js.map} +1 -1
- package/dist/esm/{validation-e83461ea.js → validation-14b61e5a.js} +1 -1
- package/dist/esm/{validation-e83461ea.js.map → validation-14b61e5a.js.map} +1 -1
- package/dist/kolibri/{Alert-f32287c6.js → Alert-4076b58c.js} +1 -1
- package/dist/kolibri/{Collapsible-b5df4ad5.js → Collapsible-539ce5ff.js} +1 -1
- package/dist/kolibri/FormFieldMsg-50b8a1bc.js +4 -0
- package/dist/kolibri/{FormFieldMsg-36a6f5ea.js.map → FormFieldMsg-50b8a1bc.js.map} +1 -1
- package/dist/kolibri/InternalUnderlinedBadgeText-c0a031b2.js +4 -0
- package/dist/kolibri/{access-and-short-key-864aafba.js → access-and-short-key-9cca88b8.js} +1 -1
- package/dist/kolibri/{align-e29ed804.js → align-82100bda.js} +1 -1
- package/dist/kolibri/app-globals-546464be.js +4 -0
- package/dist/kolibri/{app-globals-209c2985.js.map → app-globals-546464be.js.map} +1 -1
- package/dist/kolibri/aria-expanded-ec1ec6df.js +4 -0
- package/dist/kolibri/{associated.controller-bce3d721.js → associated.controller-52d302aa.js} +1 -1
- package/dist/kolibri/badge-text-16dedc1b.js +4 -0
- package/dist/kolibri/{color-cce3e447.js → color-62f7b76a.js} +1 -1
- package/dist/kolibri/{controller-ff17d912.js → controller-07000871.js} +1 -1
- package/dist/kolibri/{controller-96fe2d26.js → controller-8eb39b13.js} +1 -1
- package/dist/kolibri/{controller-dacdb561.js → controller-964599c0.js} +1 -1
- package/dist/kolibri/{controller-d1097e06.js → controller-9c6419a9.js} +1 -1
- package/dist/kolibri/controller-d66d5bed.js +4 -0
- package/dist/kolibri/controller-icon-e363322f.js +4 -0
- package/dist/kolibri/custom-class-ac49545a.js +4 -0
- package/dist/kolibri/{dev.utils-8139d5c5.js → dev.utils-93c58140.js} +1 -1
- package/dist/kolibri/{devtools-03529aad.js → devtools-7462ec46.js} +1 -1
- package/dist/kolibri/{disabled-5fc4b444.js → disabled-dad7478c.js} +1 -1
- package/dist/kolibri/{events-e483577f.js → events-8ec9ecc6.js} +1 -1
- package/dist/kolibri/has-closer-a4e62c58.js +4 -0
- package/dist/kolibri/has-counter-a43c36ef.js +4 -0
- package/dist/kolibri/hide-label-429a15ea.js +4 -0
- package/dist/kolibri/href-d8ec67f8.js +4 -0
- package/dist/kolibri/{icons-4c339a19.js → icons-e1a5023e.js} +1 -1
- package/dist/kolibri/image-source-320efd4f.js +4 -0
- package/dist/kolibri/{index-c8ca3f04.js → index-9809a0af.js} +1 -1
- package/dist/kolibri/index-9809a0af.js.map +1 -0
- package/dist/kolibri/index-da3e0c00.js +4 -0
- package/dist/kolibri/index-da3e0c00.js.map +1 -0
- package/dist/kolibri/index.esm.js +1 -1
- 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-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-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-date.entry.js +1 -1
- package/dist/kolibri/kol-input-email.entry.js +1 -1
- package/dist/kolibri/kol-input-file.entry.js +1 -1
- package/dist/kolibri/kol-input-number.entry.js +1 -1
- package/dist/kolibri/kol-input-password.entry.js +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-text.entry.js +1 -1
- package/dist/kolibri/kol-input.entry.js +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-nav.entry.js.map +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-single-select.entry.js +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.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-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/label-d0315384.js +4 -0
- package/dist/kolibri/open-20d08415.js +4 -0
- package/dist/kolibri/{prop.validators-c5e6ad2d.js → prop.validators-9feb1d92.js} +1 -1
- package/dist/kolibri/rows-26af6558.js +4 -0
- package/dist/kolibri/show-484b637e.js +4 -0
- package/dist/kolibri/spell-check-60fa0b9f.js +4 -0
- package/dist/kolibri/{suggestions-33f55ec2.js → suggestions-f139f5ec.js} +1 -1
- package/dist/kolibri/test-component.entry.js +1 -1
- package/dist/kolibri/tooltip-align-3e629203.js +4 -0
- package/dist/kolibri/validation-0c197148.js +4 -0
- package/dist/kolibri/validation-14b61e5a.js +4 -0
- package/package.json +2 -2
- package/dist/cjs/FormFieldMsg-d006a26e.js.map +0 -1
- package/dist/cjs/app-globals-76d52515.js +0 -4
- package/dist/cjs/badge-text-1bbf50cd.js +0 -4
- package/dist/cjs/controller-fc146c36.js +0 -4
- package/dist/cjs/custom-class-d8a5e95d.js +0 -4
- package/dist/cjs/disabled-5eb4fde5.js +0 -4
- package/dist/cjs/has-closer-9e124723.js +0 -4
- package/dist/cjs/has-counter-576de43f.js +0 -4
- package/dist/cjs/hide-label-1783d2a4.js +0 -4
- package/dist/cjs/href-50c41695.js +0 -4
- package/dist/cjs/image-source-546dd85b.js +0 -4
- package/dist/cjs/index-bf4a6924.js +0 -4
- package/dist/cjs/index-bf4a6924.js.map +0 -1
- package/dist/cjs/index-f7231e87.js +0 -4
- package/dist/cjs/index-f7231e87.js.map +0 -1
- package/dist/cjs/open-19fa99c9.js +0 -4
- package/dist/cjs/rows-fd18fa20.js +0 -4
- package/dist/cjs/show-f204ce41.js +0 -4
- package/dist/cjs/spell-check-2c944775.js +0 -4
- package/dist/cjs/tooltip-align-70093437.js +0 -4
- package/dist/esm/FormFieldMsg-36a6f5ea.js.map +0 -1
- package/dist/esm/app-globals-209c2985.js +0 -4
- package/dist/esm/custom-class-9311655e.js +0 -4
- package/dist/esm/index-541b643a.js +0 -4
- package/dist/esm/index-541b643a.js.map +0 -1
- package/dist/esm/index-c8ca3f04.js +0 -4
- package/dist/esm/index-c8ca3f04.js.map +0 -1
- package/dist/esm/prop.validators-c5e6ad2d.js +0 -4
- package/dist/esm/show-5d826542.js +0 -4
- package/dist/esm/spell-check-5ac5a135.js +0 -4
- package/dist/kolibri/FormFieldMsg-36a6f5ea.js +0 -4
- package/dist/kolibri/InternalUnderlinedBadgeText-855ece4a.js +0 -4
- package/dist/kolibri/app-globals-209c2985.js +0 -4
- package/dist/kolibri/aria-expanded-1b7c2c54.js +0 -4
- package/dist/kolibri/badge-text-6be73b6a.js +0 -4
- package/dist/kolibri/controller-172fcdb6.js +0 -4
- package/dist/kolibri/controller-icon-29af0ac7.js +0 -4
- package/dist/kolibri/custom-class-9311655e.js +0 -4
- package/dist/kolibri/has-closer-aa8f6369.js +0 -4
- package/dist/kolibri/has-counter-a9dacd37.js +0 -4
- package/dist/kolibri/hide-label-db0db59c.js +0 -4
- package/dist/kolibri/href-31b01f08.js +0 -4
- package/dist/kolibri/image-source-a6af4847.js +0 -4
- package/dist/kolibri/index-541b643a.js +0 -4
- package/dist/kolibri/index-541b643a.js.map +0 -1
- package/dist/kolibri/index-c8ca3f04.js.map +0 -1
- package/dist/kolibri/label-d70e7c34.js +0 -4
- package/dist/kolibri/open-f7031548.js +0 -4
- package/dist/kolibri/rows-64f9b5cb.js +0 -4
- package/dist/kolibri/show-5d826542.js +0 -4
- package/dist/kolibri/spell-check-5ac5a135.js +0 -4
- package/dist/kolibri/tooltip-align-6b648461.js +0 -4
- package/dist/kolibri/validation-1a210179.js +0 -4
- package/dist/kolibri/validation-e83461ea.js +0 -4
- /package/dist/kolibri/{Alert-f32287c6.js.map → Alert-4076b58c.js.map} +0 -0
- /package/dist/kolibri/{Collapsible-b5df4ad5.js.map → Collapsible-539ce5ff.js.map} +0 -0
- /package/dist/kolibri/{InternalUnderlinedBadgeText-855ece4a.js.map → InternalUnderlinedBadgeText-c0a031b2.js.map} +0 -0
- /package/dist/kolibri/{access-and-short-key-864aafba.js.map → access-and-short-key-9cca88b8.js.map} +0 -0
- /package/dist/kolibri/{align-e29ed804.js.map → align-82100bda.js.map} +0 -0
- /package/dist/kolibri/{aria-expanded-1b7c2c54.js.map → aria-expanded-ec1ec6df.js.map} +0 -0
- /package/dist/kolibri/{associated.controller-bce3d721.js.map → associated.controller-52d302aa.js.map} +0 -0
- /package/dist/kolibri/{badge-text-6be73b6a.js.map → badge-text-16dedc1b.js.map} +0 -0
- /package/dist/kolibri/{color-cce3e447.js.map → color-62f7b76a.js.map} +0 -0
- /package/dist/kolibri/{controller-ff17d912.js.map → controller-07000871.js.map} +0 -0
- /package/dist/kolibri/{controller-96fe2d26.js.map → controller-8eb39b13.js.map} +0 -0
- /package/dist/kolibri/{controller-dacdb561.js.map → controller-964599c0.js.map} +0 -0
- /package/dist/kolibri/{controller-d1097e06.js.map → controller-9c6419a9.js.map} +0 -0
- /package/dist/kolibri/{controller-172fcdb6.js.map → controller-d66d5bed.js.map} +0 -0
- /package/dist/kolibri/{controller-icon-29af0ac7.js.map → controller-icon-e363322f.js.map} +0 -0
- /package/dist/kolibri/{custom-class-9311655e.js.map → custom-class-ac49545a.js.map} +0 -0
- /package/dist/kolibri/{dev.utils-8139d5c5.js.map → dev.utils-93c58140.js.map} +0 -0
- /package/dist/kolibri/{devtools-03529aad.js.map → devtools-7462ec46.js.map} +0 -0
- /package/dist/kolibri/{disabled-5fc4b444.js.map → disabled-dad7478c.js.map} +0 -0
- /package/dist/kolibri/{events-e483577f.js.map → events-8ec9ecc6.js.map} +0 -0
- /package/dist/kolibri/{has-closer-aa8f6369.js.map → has-closer-a4e62c58.js.map} +0 -0
- /package/dist/kolibri/{has-counter-a9dacd37.js.map → has-counter-a43c36ef.js.map} +0 -0
- /package/dist/kolibri/{hide-label-db0db59c.js.map → hide-label-429a15ea.js.map} +0 -0
- /package/dist/kolibri/{href-31b01f08.js.map → href-d8ec67f8.js.map} +0 -0
- /package/dist/kolibri/{icons-4c339a19.js.map → icons-e1a5023e.js.map} +0 -0
- /package/dist/kolibri/{image-source-a6af4847.js.map → image-source-320efd4f.js.map} +0 -0
- /package/dist/kolibri/{label-d70e7c34.js.map → label-d0315384.js.map} +0 -0
- /package/dist/kolibri/{open-f7031548.js.map → open-20d08415.js.map} +0 -0
- /package/dist/kolibri/{prop.validators-c5e6ad2d.js.map → prop.validators-9feb1d92.js.map} +0 -0
- /package/dist/kolibri/{rows-64f9b5cb.js.map → rows-26af6558.js.map} +0 -0
- /package/dist/kolibri/{show-5d826542.js.map → show-484b637e.js.map} +0 -0
- /package/dist/kolibri/{spell-check-5ac5a135.js.map → spell-check-60fa0b9f.js.map} +0 -0
- /package/dist/kolibri/{suggestions-33f55ec2.js.map → suggestions-f139f5ec.js.map} +0 -0
- /package/dist/kolibri/{tooltip-align-6b648461.js.map → tooltip-align-3e629203.js.map} +0 -0
- /package/dist/kolibri/{validation-1a210179.js.map → validation-0c197148.js.map} +0 -0
- /package/dist/kolibri/{validation-e83461ea.js.map → validation-14b61e5a.js.map} +0 -0
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-f7231e87.js"),dev_utils=require("./dev.utils-d6ffb9ff.js"),events=require("./events-221fcb43.js"),controller$1=require("./controller-3fc3acb5.js"),InternalUnderlinedBadgeText=require("./InternalUnderlinedBadgeText-d4fc1959.js"),controllerIcon=require("./controller-icon-2b593d47.js"),controller=require("./controller-2355b966.js"),rows=require("./rows-fd18fa20.js"),prop_validators=require("./prop.validators-37d21dea.js"),componentNames=require("./component-names-72b76dc7.js"),controller$2=require("./controller-bf4ff6cd.js"),reuse=require("./reuse-8cfefa9b.js");require("./dev.utils-58fde089.js"),require("./associated.controller-e7a1e9af.js"),require("./access-and-short-key-4b185f62.js"),require("./hide-label-1783d2a4.js"),require("./label-d84e4f92.js"),require("./common-1ab929ac.js"),require("./tooltip-align-70093437.js"),require("./align-f4f3dfb6.js"),require("./icons-3917f9e0.js"),require("./index-bf4a6924.js");class SelectController extends controllerIcon.InputIconController{constructor(e,t,n){super(e,t,n),this.keyOptionMap=new Map,this.getOptionByKey=e=>this.keyOptionMap.get(e),this.isValueInOptions=(e,t)=>void 0!==t.find((t=>"string"==typeof t.value?t.value===e:!!Array.isArray(t.options)&&this.isValueInOptions(e,t.options))),this.filterValuesInOptions=(e,t)=>e.filter((e=>void 0!==this.isValueInOptions(e,t))),this.afterPatchOptions=(e,t,n,i)=>{"_value"===i&&this.setFormAssociatedValue(e)},this.beforePatchOptions=(e,t)=>{const n=t.has("_options")?t.get("_options"):this.component.state._options;if(Array.isArray(n)&&n.length>0){this.keyOptionMap.clear(),controller.fillKeyOptionMap(this.keyOptionMap,n);const e=t.has("_value")?t.get("_value"):this.component.state._value,i=this.filterValuesInOptions(Array.isArray(e)&&e.length>0?e:[],n);!1===this.component._multiple&&0===i.length?t.set("_value",[n[0].value]):Array.isArray(e)&&i.length<e.length&&t.set("_value",i)}},this.component=e}validateOptions(e){controller.validateOptionsWithOptgroup(this.component,e,{hooks:{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions}})}validateMultiple(e){prop_validators.watchBoolean(this.component,"_multiple",e,{hooks:{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions}})}validateRequired(e){prop_validators.watchBoolean(this.component,"_required",e)}validateRows(e){rows.validateRows(this.component,e)}validateValue(e){prop_validators.watchJsonArrayString(this.component,"_value",(()=>!0),e,void 0,{hooks:{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions}})}componentWillLoad(){super.componentWillLoad(),this.validateOptions(this.component._options),this.validateMultiple(this.component._multiple),this.validateRequired(this.component._required),this.validateRows(this.component._rows),this.validateValue(this.component._value)}}const defaultStyleCss="@charset \"UTF-8\";\n/*\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 display: block;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .tooltip-floating {\n animation-duration: 0.5s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n box-sizing: border-box;\n display: none;\n position: fixed;\n visibility: hidden;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n max-width: 90vw;\n max-height: 90vh;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n background-color: #fff;\n color: #000;\n }\n .kol-tooltip-wc .tooltip-arrow {\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n position: absolute;\n transform: rotate(45deg);\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n z-index: 999;\n }\n .kol-tooltip-wc .tooltip-content {\n position: relative;\n z-index: 1000;\n }\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .required label > span::after,\n .required legend > span::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n input,\n textarea {\n cursor: text;\n }\n input[type=checkbox],\n input[type=color],\n input[type=file],\n input[type=radio],\n input[type=range],\n label,\n option,\n select {\n cursor: pointer;\n }\n /* input[type='checkbox'], */\n /* input[type='radio'], */\n /* input[type='range'], */\n input[type=color],\n input[type=date],\n input[type=datetime-local],\n input[type=email],\n input[type=file],\n input[type=month],\n input[type=number],\n input[type=password],\n input[type=search],\n input[type=tel],\n input[type=text],\n input[type=time],\n input[type=url],\n input[type=week],\n select,\n select[multiple] option,\n textarea {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n width: 100%;\n }\n /* needed hack for vertical alignment */\n input[type=file] {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 10) 0.5em;\n }\n /* needed hack for vertical alignment */\n select[multiple] option {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 2) 0.5em;\n }\n .input {\n background-color: white;\n }\n}\n@layer kol-component {\n .kol-input {\n display: grid;\n }\n .kol-input .input-slot {\n flex-grow: 1;\n }\n input:not([type=checkbox], [type=radio]),\n select:not([multiple], [size]) {\n height: 2.75em;\n }\n input:focus,\n option:focus,\n select:focus,\n textarea:focus {\n outline: 0;\n }\n .input {\n display: flex;\n align-items: center;\n }\n .input > .kol-icon {\n display: grid;\n height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-input.required .input-tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n .kol-alert-wc {\n display: grid;\n }\n .kol-alert-wc .heading {\n display: flex;\n place-items: center;\n }\n .kol-alert-wc .heading > div {\n flex-grow: 1;\n }\n .close {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n :host option:checked::before {\n content: \"✓ \";\n }\n}",KolSelectDefaultStyle0=defaultStyleCss,isSelected=(e,t)=>Array.isArray(e)&&e.includes(t),KolSelect=class{async getValue(){return this.state._value}async focus(){await this.kolFocus()}async kolFocus(){var e;null===(e=this.selectRef)||void 0===e||e.focus()}renderOptgroup(e,t){var n;return index.h("optgroup",{disabled:e.disabled,label:e.label},null===(n=e.options)||void 0===n?void 0:n.map(((e,n)=>{const i=`${t}-${n}`;return Array.isArray(e.options)?this.renderOptgroup(e,i):index.h("option",{disabled:e.disabled,key:i,selected:isSelected(this.state._value,e.value),value:i},e.label)})))}render(){const{ariaDescribedBy:e}=controller$1.getRenderStates(this.state),t=reuse.showExpertSlot(this.state._label);return index.h(index.Host,{key:"6e275ed2eb589bdd007b8d0c7e0763e8c9789775",class:{"kol-select":!0,"has-value":this.state._hasValue}},index.h(componentNames.KolInputTag,{key:"c2698d0ce9a922198243e7756a6ad15f7845d3ea",class:{"hide-label":!!this.state._hideLabel,select:!0},_accessKey:this.state._accessKey,_alert:this.showAsAlert(),_disabled:this.state._disabled,_hideError:this.state._hideError,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icons:this.state._icons,_id:this.state._id,_label:this.state._label,_msg:this.state._msg,_required:this.state._required,_shortKey:this.state._shortKey,_tooltipAlign:this._tooltipAlign,_touched:this.state._touched,onClick:()=>{var e;return null===(e=this.selectRef)||void 0===e?void 0:e.focus()},role:"presentation"},index.h("span",{key:"a14f691a80fc4b4fc45f033cd89fb56195ef83df",slot:"label"},t?index.h("slot",{name:"expert"}):"string"==typeof this.state._accessKey||"string"==typeof this.state._shortKey?index.h(index.Fragment,null,index.h(InternalUnderlinedBadgeText.InternalUnderlinedBadgeText,{badgeText:reuse.buildBadgeTextString(this.state._accessKey,this.state._shortKey),label:this.state._label})," ",index.h("span",{class:"access-key-hint","aria-hidden":"true"},reuse.buildBadgeTextString(this.state._accessKey,this.state._shortKey))):index.h("span",null,this.state._label)),index.h("div",{key:"0522b3edb0f445b80f21f3c2e55e31bc871cfd10",slot:"input"},index.h("form",{key:"93d76f6116dd24f3b75de24bd8fb76a4287d5b77",onSubmit:e=>{e.preventDefault(),controller$2.propagateSubmitEventToForm({form:this.host,ref:this.selectRef})}},index.h("input",{key:"146ff341cfd1297a88aa014c307ba776807d1afd",type:"submit",hidden:!0}),index.h("select",Object.assign({key:"666ff4c9635d4779f06df8f1ab0bae0163fa449f",ref:this.catchRef,title:"",accessKey:this.state._accessKey,"aria-describedby":e.length>0?e.join(" "):void 0,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,autoCapitalize:"off",autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,multiple:this.state._multiple,name:this.state._name,required:this.state._required,size:this.state._rows},this.controller.onFacade,{onInput:this.onInput.bind(this),onChange:this.onChange.bind(this),onFocus:e=>{this.controller.onFacade.onFocus(e),this.inputHasFocus=!0},onBlur:e=>{this.controller.onFacade.onBlur(e),this.inputHasFocus=!1}}),this.state._options.map(((e,t)=>{const n=`-${t}`;return Array.isArray(e.options)?this.renderOptgroup(e,n):index.h("option",{disabled:e.disabled,key:n,selected:isSelected(this.state._value,e.value),value:n},e.label)})))))))}constructor(e){index.registerInstance(this,e),this.catchRef=e=>{this.selectRef=e},this._accessKey=void 0,this._alert=void 0,this._disabled=!1,this._error=void 0,this._hideError=!1,this._hideLabel=!1,this._hint="",this._icons=void 0,this._id=void 0,this._label=void 0,this._msg=void 0,this._multiple=!1,this._name=void 0,this._on=void 0,this._options=void 0,this._required=!1,this._shortKey=void 0,this._rows=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._value=void 0,this.state={_hasValue:!1,_hideError:!1,_id:`id-${dev_utils.nonce()}`,_label:"",_multiple:!1,_options:[],_value:[]},this.inputHasFocus=!1,this.controller=new SelectController(this,"select",this.host)}showAsAlert(){return void 0===this.state._alert?Boolean(this.state._touched)&&!this.inputHasFocus:this.state._alert}validateAccessKey(e){this.controller.validateAccessKey(e)}validateAlert(e){this.controller.validateAlert(e)}validateDisabled(e){this.controller.validateDisabled(e)}validateError(e){this.controller.validateError(e)}validateHideError(e){this.controller.validateHideError(e)}validateHideLabel(e){this.controller.validateHideLabel(e)}validateHint(e){this.controller.validateHint(e)}validateIcons(e){this.controller.validateIcons(e)}validateId(e){this.controller.validateId(e)}validateLabel(e){this.controller.validateLabel(e)}validateMsg(e){this.controller.validateMsg(e)}validateMultiple(e){this.controller.validateMultiple(e)}validateName(e){this.controller.validateName(e)}validateOn(e){this.controller.validateOn(e)}validateOptions(e){this.controller.validateOptions(e)}validateRequired(e){this.controller.validateRequired(e)}validateRows(e){this.controller.validateRows(e)}validateShortKey(e){this.controller.validateShortKey(e)}validateSyncValueBySelector(e){this.controller.validateSyncValueBySelector(e)}validateTabIndex(e){this.controller.validateTabIndex(e)}validateTouched(e){this.controller.validateTouched(e)}validateValue(e){this.controller.validateValue(e)}componentWillLoad(){this._touched=!0===this._touched,this.controller.componentWillLoad(),this.state._hasValue=!!this.state._value,this.controller.addValueChangeListener((e=>this.state._hasValue=!!e))}onInput(e){var t,n,i;this._value=Array.from((null===(t=this.selectRef)||void 0===t?void 0:t.options)||[]).filter((e=>!0===e.selected)).map((e=>{var t;return null===(t=this.controller.getOptionByKey(e.value))||void 0===t?void 0:t.value})),events.tryToDispatchKoliBriEvent("input",this.host,this._value),null===(i=null===(n=this.state._on)||void 0===n?void 0:n.onInput)||void 0===i||i.call(n,e,this._value)}onChange(e){var t,n;events.stopPropagation(e),events.tryToDispatchKoliBriEvent("change",this.host,this._value),this.controller.setFormAssociatedValue(this._value),null===(n=null===(t=this.state._on)||void 0===t?void 0:t.onChange)||void 0===n||n.call(t,e,this._value)}get host(){return index.getElement(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_disabled:["validateDisabled"],_error:["validateError"],_hideError:["validateHideError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icons:["validateIcons"],_id:["validateId"],_label:["validateLabel"],_msg:["validateMsg"],_multiple:["validateMultiple"],_name:["validateName"],_on:["validateOn"],_options:["validateOptions"],_required:["validateRequired"],_rows:["validateRows"],_shortKey:["validateShortKey"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};KolSelect.style={default:KolSelectDefaultStyle0},exports.kol_select=KolSelect;
|
4
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-3e0c664f.js"),dev_utils=require("./dev.utils-da74dcf2.js"),events=require("./events-221fcb43.js"),controller$1=require("./controller-0fbcf11a.js"),InternalUnderlinedBadgeText=require("./InternalUnderlinedBadgeText-edf977d9.js"),controllerIcon=require("./controller-icon-4caf2636.js"),controller=require("./controller-3df689d7.js"),rows=require("./rows-782313b6.js"),prop_validators=require("./prop.validators-96dfedce.js"),componentNames=require("./component-names-72b76dc7.js"),controller$2=require("./controller-c06ec8d6.js"),reuse=require("./reuse-8cfefa9b.js");require("./dev.utils-58fde089.js"),require("./associated.controller-5e3fde43.js"),require("./access-and-short-key-12a097ab.js"),require("./hide-label-b0063224.js"),require("./label-b8654499.js"),require("./common-1ab929ac.js"),require("./tooltip-align-3b9a6bde.js"),require("./align-b9732b91.js"),require("./icons-310a07cc.js"),require("./index-38f5f0b2.js");class SelectController extends controllerIcon.InputIconController{constructor(e,t,n){super(e,t,n),this.keyOptionMap=new Map,this.getOptionByKey=e=>this.keyOptionMap.get(e),this.isValueInOptions=(e,t)=>void 0!==t.find((t=>"string"==typeof t.value?t.value===e:!!Array.isArray(t.options)&&this.isValueInOptions(e,t.options))),this.filterValuesInOptions=(e,t)=>e.filter((e=>void 0!==this.isValueInOptions(e,t))),this.afterPatchOptions=(e,t,n,i)=>{"_value"===i&&this.setFormAssociatedValue(e)},this.beforePatchOptions=(e,t)=>{const n=t.has("_options")?t.get("_options"):this.component.state._options;if(Array.isArray(n)&&n.length>0){this.keyOptionMap.clear(),controller.fillKeyOptionMap(this.keyOptionMap,n);const e=t.has("_value")?t.get("_value"):this.component.state._value,i=this.filterValuesInOptions(Array.isArray(e)&&e.length>0?e:[],n);!1===this.component._multiple&&0===i.length?t.set("_value",[n[0].value]):Array.isArray(e)&&i.length<e.length&&t.set("_value",i)}},this.component=e}validateOptions(e){controller.validateOptionsWithOptgroup(this.component,e,{hooks:{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions}})}validateMultiple(e){prop_validators.watchBoolean(this.component,"_multiple",e,{hooks:{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions}})}validateRequired(e){prop_validators.watchBoolean(this.component,"_required",e)}validateRows(e){rows.validateRows(this.component,e)}validateValue(e){prop_validators.watchJsonArrayString(this.component,"_value",(()=>!0),e,void 0,{hooks:{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions}})}componentWillLoad(){super.componentWillLoad(),this.validateOptions(this.component._options),this.validateMultiple(this.component._multiple),this.validateRequired(this.component._required),this.validateRows(this.component._rows),this.validateValue(this.component._value)}}const defaultStyleCss="@charset \"UTF-8\";\n/*\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 display: block;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .tooltip-floating {\n animation-duration: 0.5s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n box-sizing: border-box;\n display: none;\n position: fixed;\n visibility: hidden;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n max-width: 90vw;\n max-height: 90vh;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n background-color: #fff;\n color: #000;\n }\n .kol-tooltip-wc .tooltip-arrow {\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n position: absolute;\n transform: rotate(45deg);\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n z-index: 999;\n }\n .kol-tooltip-wc .tooltip-content {\n position: relative;\n z-index: 1000;\n }\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .required label > span::after,\n .required legend > span::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n input,\n textarea {\n cursor: text;\n }\n input[type=checkbox],\n input[type=color],\n input[type=file],\n input[type=radio],\n input[type=range],\n label,\n option,\n select {\n cursor: pointer;\n }\n /* input[type='checkbox'], */\n /* input[type='radio'], */\n /* input[type='range'], */\n input[type=color],\n input[type=date],\n input[type=datetime-local],\n input[type=email],\n input[type=file],\n input[type=month],\n input[type=number],\n input[type=password],\n input[type=search],\n input[type=tel],\n input[type=text],\n input[type=time],\n input[type=url],\n input[type=week],\n select,\n select[multiple] option,\n textarea {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n width: 100%;\n }\n /* needed hack for vertical alignment */\n input[type=file] {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 10) 0.5em;\n }\n /* needed hack for vertical alignment */\n select[multiple] option {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 2) 0.5em;\n }\n .input {\n background-color: white;\n }\n}\n@layer kol-component {\n .kol-input {\n display: grid;\n }\n .kol-input .input-slot {\n flex-grow: 1;\n }\n input:not([type=checkbox], [type=radio]),\n select:not([multiple], [size]) {\n height: 2.75em;\n }\n input:focus,\n option:focus,\n select:focus,\n textarea:focus {\n outline: 0;\n }\n .input {\n display: flex;\n align-items: center;\n }\n .input > .kol-icon {\n display: grid;\n height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-input.required .input-tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n .kol-alert-wc {\n display: grid;\n }\n .kol-alert-wc .heading {\n display: flex;\n place-items: center;\n }\n .kol-alert-wc .heading > div {\n flex-grow: 1;\n }\n .close {\n /* Visible with forced colors */\n outline: transparent solid calc(1rem / var(--kolibri-root-font-size, 16));\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n :host option:checked::before {\n content: \"✓ \";\n }\n}",KolSelectDefaultStyle0=defaultStyleCss,isSelected=(e,t)=>Array.isArray(e)&&e.includes(t),KolSelect=class{async getValue(){return this.state._value}async focus(){await this.kolFocus()}async kolFocus(){var e;null===(e=this.selectRef)||void 0===e||e.focus()}renderOptgroup(e,t){var n;return index.h("optgroup",{disabled:e.disabled,label:e.label},null===(n=e.options)||void 0===n?void 0:n.map(((e,n)=>{const i=`${t}-${n}`;return Array.isArray(e.options)?this.renderOptgroup(e,i):index.h("option",{disabled:e.disabled,key:i,selected:isSelected(this.state._value,e.value),value:i},e.label)})))}render(){const{ariaDescribedBy:e}=controller$1.getRenderStates(this.state),t=reuse.showExpertSlot(this.state._label);return index.h(index.Host,{key:"6e275ed2eb589bdd007b8d0c7e0763e8c9789775",class:{"kol-select":!0,"has-value":this.state._hasValue}},index.h(componentNames.KolInputTag,{key:"c2698d0ce9a922198243e7756a6ad15f7845d3ea",class:{"hide-label":!!this.state._hideLabel,select:!0},_accessKey:this.state._accessKey,_alert:this.showAsAlert(),_disabled:this.state._disabled,_hideError:this.state._hideError,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icons:this.state._icons,_id:this.state._id,_label:this.state._label,_msg:this.state._msg,_required:this.state._required,_shortKey:this.state._shortKey,_tooltipAlign:this._tooltipAlign,_touched:this.state._touched,onClick:()=>{var e;return null===(e=this.selectRef)||void 0===e?void 0:e.focus()},role:"presentation"},index.h("span",{key:"a14f691a80fc4b4fc45f033cd89fb56195ef83df",slot:"label"},t?index.h("slot",{name:"expert"}):"string"==typeof this.state._accessKey||"string"==typeof this.state._shortKey?index.h(index.Fragment,null,index.h(InternalUnderlinedBadgeText.InternalUnderlinedBadgeText,{badgeText:reuse.buildBadgeTextString(this.state._accessKey,this.state._shortKey),label:this.state._label})," ",index.h("span",{class:"access-key-hint","aria-hidden":"true"},reuse.buildBadgeTextString(this.state._accessKey,this.state._shortKey))):index.h("span",null,this.state._label)),index.h("div",{key:"0522b3edb0f445b80f21f3c2e55e31bc871cfd10",slot:"input"},index.h("form",{key:"93d76f6116dd24f3b75de24bd8fb76a4287d5b77",onSubmit:e=>{e.preventDefault(),controller$2.propagateSubmitEventToForm({form:this.host,ref:this.selectRef})}},index.h("input",{key:"146ff341cfd1297a88aa014c307ba776807d1afd",type:"submit",hidden:!0}),index.h("select",Object.assign({key:"666ff4c9635d4779f06df8f1ab0bae0163fa449f",ref:this.catchRef,title:"",accessKey:this.state._accessKey,"aria-describedby":e.length>0?e.join(" "):void 0,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,autoCapitalize:"off",autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,multiple:this.state._multiple,name:this.state._name,required:this.state._required,size:this.state._rows},this.controller.onFacade,{onInput:this.onInput.bind(this),onChange:this.onChange.bind(this),onFocus:e=>{this.controller.onFacade.onFocus(e),this.inputHasFocus=!0},onBlur:e=>{this.controller.onFacade.onBlur(e),this.inputHasFocus=!1}}),this.state._options.map(((e,t)=>{const n=`-${t}`;return Array.isArray(e.options)?this.renderOptgroup(e,n):index.h("option",{disabled:e.disabled,key:n,selected:isSelected(this.state._value,e.value),value:n},e.label)})))))))}constructor(e){index.registerInstance(this,e),this.catchRef=e=>{this.selectRef=e},this._accessKey=void 0,this._alert=void 0,this._disabled=!1,this._error=void 0,this._hideError=!1,this._hideLabel=!1,this._hint="",this._icons=void 0,this._id=void 0,this._label=void 0,this._msg=void 0,this._multiple=!1,this._name=void 0,this._on=void 0,this._options=void 0,this._required=!1,this._shortKey=void 0,this._rows=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._value=void 0,this.state={_hasValue:!1,_hideError:!1,_id:`id-${dev_utils.nonce()}`,_label:"",_multiple:!1,_options:[],_value:[]},this.inputHasFocus=!1,this.controller=new SelectController(this,"select",this.host)}showAsAlert(){return void 0===this.state._alert?Boolean(this.state._touched)&&!this.inputHasFocus:this.state._alert}validateAccessKey(e){this.controller.validateAccessKey(e)}validateAlert(e){this.controller.validateAlert(e)}validateDisabled(e){this.controller.validateDisabled(e)}validateError(e){this.controller.validateError(e)}validateHideError(e){this.controller.validateHideError(e)}validateHideLabel(e){this.controller.validateHideLabel(e)}validateHint(e){this.controller.validateHint(e)}validateIcons(e){this.controller.validateIcons(e)}validateId(e){this.controller.validateId(e)}validateLabel(e){this.controller.validateLabel(e)}validateMsg(e){this.controller.validateMsg(e)}validateMultiple(e){this.controller.validateMultiple(e)}validateName(e){this.controller.validateName(e)}validateOn(e){this.controller.validateOn(e)}validateOptions(e){this.controller.validateOptions(e)}validateRequired(e){this.controller.validateRequired(e)}validateRows(e){this.controller.validateRows(e)}validateShortKey(e){this.controller.validateShortKey(e)}validateSyncValueBySelector(e){this.controller.validateSyncValueBySelector(e)}validateTabIndex(e){this.controller.validateTabIndex(e)}validateTouched(e){this.controller.validateTouched(e)}validateValue(e){this.controller.validateValue(e)}componentWillLoad(){this._touched=!0===this._touched,this.controller.componentWillLoad(),this.state._hasValue=!!this.state._value,this.controller.addValueChangeListener((e=>this.state._hasValue=!!e))}onInput(e){var t,n,i;this._value=Array.from((null===(t=this.selectRef)||void 0===t?void 0:t.options)||[]).filter((e=>!0===e.selected)).map((e=>{var t;return null===(t=this.controller.getOptionByKey(e.value))||void 0===t?void 0:t.value})),events.tryToDispatchKoliBriEvent("input",this.host,this._value),null===(i=null===(n=this.state._on)||void 0===n?void 0:n.onInput)||void 0===i||i.call(n,e,this._value)}onChange(e){var t,n;events.stopPropagation(e),events.tryToDispatchKoliBriEvent("change",this.host,this._value),this.controller.setFormAssociatedValue(this._value),null===(n=null===(t=this.state._on)||void 0===t?void 0:t.onChange)||void 0===n||n.call(t,e,this._value)}get host(){return index.getElement(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_disabled:["validateDisabled"],_error:["validateError"],_hideError:["validateHideError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icons:["validateIcons"],_id:["validateId"],_label:["validateLabel"],_msg:["validateMsg"],_multiple:["validateMultiple"],_name:["validateName"],_on:["validateOn"],_options:["validateOptions"],_required:["validateRequired"],_rows:["validateRows"],_shortKey:["validateShortKey"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};KolSelect.style={default:KolSelectDefaultStyle0},exports.kol_select=KolSelect;
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-f7231e87.js"),dev_utils=require("./dev.utils-d6ffb9ff.js"),events=require("./events-221fcb43.js"),controllerIcon=require("./controller-icon-2b593d47.js"),controller=require("./controller-2355b966.js"),prop_validators=require("./prop.validators-37d21dea.js"),componentNames=require("./component-names-72b76dc7.js"),InternalUnderlinedBadgeText=require("./InternalUnderlinedBadgeText-d4fc1959.js"),controller$1=require("./controller-3fc3acb5.js"),i18n=require("./i18n-1d085d07.js"),clsx=require("./clsx-dd4d6dd1.js"),reuse=require("./reuse-8cfefa9b.js");require("./dev.utils-58fde089.js"),require("./icons-3917f9e0.js"),require("./common-1ab929ac.js"),require("./label-d84e4f92.js"),require("./index-bf4a6924.js"),require("./associated.controller-e7a1e9af.js"),require("./access-and-short-key-4b185f62.js"),require("./hide-label-1783d2a4.js"),require("./tooltip-align-70093437.js"),require("./align-f4f3dfb6.js"),require("./i18n-737701e2.js");class SingleSelectController extends controllerIcon.InputIconController{constructor(e,t,n){super(e,t,n),this.keyOptionMap=new Map,this.afterPatchOptions=(e,t,n,i)=>{"_value"===i&&this.setFormAssociatedValue(e)},this.beforePatchOptions=(e,t)=>{const n=t.has("_options")?t.get("_options"):this.component.state._options;Array.isArray(n)&&n.length>0&&(this.keyOptionMap.clear(),controller.fillKeyOptionMap(this.keyOptionMap,n))},this.component=e}validateOptions(e){controller.validateOptions(this.component,e,{hooks:{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions}})}validateRequired(e){prop_validators.watchBoolean(this.component,"_required",e)}validateValue(e){prop_validators.watchString(this.component,"_value",e)}validatePlaceholder(e){prop_validators.watchString(this.component,"_placeholder",e)}componentWillLoad(){super.componentWillLoad(),this.validateOptions(this.component._options),this.validateRequired(this.component._required),this.validateValue(this.component._value),this.validatePlaceholder(this.component._placeholder)}}const defaultStyleCss="/*\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 display: block;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .tooltip-floating {\n animation-duration: 0.5s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n box-sizing: border-box;\n display: none;\n position: fixed;\n visibility: hidden;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n max-width: 90vw;\n max-height: 90vh;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n background-color: #fff;\n color: #000;\n }\n .kol-tooltip-wc .tooltip-arrow {\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n position: absolute;\n transform: rotate(45deg);\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n z-index: 999;\n }\n .kol-tooltip-wc .tooltip-content {\n position: relative;\n z-index: 1000;\n }\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .required label > span::after,\n .required legend > span::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n input,\n textarea {\n cursor: text;\n }\n input[type=checkbox],\n input[type=color],\n input[type=file],\n input[type=radio],\n input[type=range],\n label,\n option,\n select {\n cursor: pointer;\n }\n /* input[type='checkbox'], */\n /* input[type='radio'], */\n /* input[type='range'], */\n input[type=color],\n input[type=date],\n input[type=datetime-local],\n input[type=email],\n input[type=file],\n input[type=month],\n input[type=number],\n input[type=password],\n input[type=search],\n input[type=tel],\n input[type=text],\n input[type=time],\n input[type=url],\n input[type=week],\n select,\n select[multiple] option,\n textarea {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n width: 100%;\n }\n /* needed hack for vertical alignment */\n input[type=file] {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 10) 0.5em;\n }\n /* needed hack for vertical alignment */\n select[multiple] option {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 2) 0.5em;\n }\n .input {\n background-color: white;\n }\n}\n@layer kol-component {\n .kol-input {\n display: grid;\n }\n .kol-input .input-slot {\n flex-grow: 1;\n }\n input:not([type=checkbox], [type=radio]),\n select:not([multiple], [size]) {\n height: 2.75em;\n }\n input:focus,\n option:focus,\n select:focus,\n textarea:focus {\n outline: 0;\n }\n .input {\n display: flex;\n align-items: center;\n }\n .input > .kol-icon {\n display: grid;\n height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-input.required .input-tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .single-select {\n position: relative;\n }\n .single-select.disabled, .single-select.disabled * {\n cursor: not-allowed !important;\n }\n .single-select__group {\n display: inline-flex;\n align-items: center;\n }\n .single-select__input {\n flex-grow: 1;\n }\n .single-select__button {\n height: var(--a11y-min-size);\n width: var(--a11y-min-size);\n }\n .single-select__listbox {\n display: block;\n position: absolute;\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 2;\n background-color: white;\n max-height: calc(250rem / var(--kolibri-root-font-size, 16));\n }\n .single-select__item.highlighted {\n background-color: #f0f0f0;\n }\n .single-select__listbox--cursor-hidden .single-select__item {\n cursor: none !important;\n }\n .single-select__no-results-message {\n cursor: default;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: calc(50rem / var(--kolibri-root-font-size, 16));\n }\n}",KolSingleSelectDefaultStyle0=defaultStyleCss,KolSingleSelect=class{async getValue(){return this.state._value}async kolFocus(){var e;null===(e=this.refInput)||void 0===e||e.focus()}onBlur(){var e;Array.isArray(this.state._options)&&this.state._options.length>0&&!this.state._options.some((e=>e.label===this._inputValue))&&(this._inputValue=null===(e=this.state._options.find((e=>e.value===this.state._value)))||void 0===e?void 0:e.label,this._filteredOptions=[...this.state._options]),this._isOpen=!1}clearSelection(){this.state._disabled||(this._focusedOptionIndex=-1,this.state._value="",this._inputValue="",this._filteredOptions=[...this.state._options],this.controller.setFormAssociatedValue(this.state._value))}selectOption(e,t){this.state._value=t.value,this._inputValue=t.label,this.controller.onFacade.onChange(e,t.value),this.controller.onFacade.onInput(e,!1,t.value),this._filteredOptions=[...this.state._options],this.controller.setFormAssociatedValue(this.state._value)}onInput(e){const t=e.target;this._inputValue=t.value,this._isOpen=!0,this.setFilteredOptionsByQuery(t.value),this._focusedOptionIndex=-1}handleKeyDownDropdown(e){1===e.key.length&&/[a-z0-9]/i.test(e.key)&&(e.preventDefault(),this._isOpen=!0,this.focusSuggestionStartingWith(e.key))}setFilteredOptionsByQuery(e){""===(null==e?void 0:e.trim())?this._filteredOptions=[...this.state._options]:Array.isArray(this.state._options)&&this.state._options.length>0&&e.length>0&&(this._filteredOptions=this.state._options.filter((t=>{var n,i;return null===(i=null===(n=t.label)||void 0===n?void 0:n.toLowerCase())||void 0===i?void 0:i.includes(null==e?void 0:e.toLowerCase())})))}moveFocus(e){if(!this._filteredOptions)return;let t=this._focusedOptionIndex+e;t>=this._filteredOptions.length&&(t=0),t<0&&(t=this._filteredOptions.length-1),this._focusedOptionIndex=t,this.focusOption(this._focusedOptionIndex)}focusOption(e){if(this.refOptions){const t=this.refOptions[e];null==t||t.focus()}}focusSuggestionStartingWith(e){const t=e.toLowerCase(),n=Array.isArray(this._filteredOptions)&&this._filteredOptions.findIndex((e=>e.label.toLowerCase().startsWith(t)));"number"==typeof n&&(this._focusedOptionIndex=n,this.focusOption(n))}render(){const e=reuse.showExpertSlot(this.state._label),{ariaDescribedBy:t}=controller$1.getRenderStates(this.state);return index.h(index.Host,{key:"ec78d6ba606de5a637558504d9b8d389991bd5d1",class:"kol-single-select"},index.h("div",{key:"ba04220b3ac54ff6b8497948854df6d884ec152c",class:`single-select ${!0===this.state._disabled?"disabled":""} `},index.h(componentNames.KolInputTag,{key:"c5ba4a1ee8facce73b47cdece06df4623b718be8",_accessKey:this.state._accessKey,_alert:this.showAsAlert(),_disabled:this.state._disabled,_hideError:this.state._hideError,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icons:this.state._icons,_id:this.state._id,_label:this.state._label,_msg:this.state._msg,_required:this.state._required,_shortKey:this.state._shortKey,_tooltipAlign:this._tooltipAlign,_touched:this.state._touched,role:"presentation"},index.h("span",{key:"103578ebf9a841970388a5c3969218f981897e6c",slot:"label"},e?index.h("slot",{name:"expert"}):"string"==typeof this.state._accessKey||"string"==typeof this.state._shortKey?index.h(index.Fragment,null,index.h(InternalUnderlinedBadgeText.InternalUnderlinedBadgeText,{badgeText:reuse.buildBadgeTextString(this.state._accessKey||this.state._shortKey),label:this.state._label})," ",index.h("span",{class:"access-key-hint","aria-hidden":"true"},reuse.buildBadgeTextString(this.state._accessKey||this.state._shortKey))):index.h("span",null,this.state._label)),index.h("div",{key:"191bf5b70972f84dc1359082b6538617986a0383",slot:"input"},index.h("div",{key:"50d8b9e371af7679ae853d2001b95c9bb8383398",class:"single-select__group"},index.h("input",Object.assign({key:"46d194911f251412811fc2f41989aa8a48f98c36",ref:this.catchRef,class:"single-select__input",type:"text","aria-autocomplete":"both","aria-controls":"listbox",value:this._inputValue,accessKey:this.state._accessKey,"aria-describedby":t.length>0?t.join(" "):void 0,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,"aria-activedescendant":this._isOpen&&this._focusedOptionIndex>=0?`option-${this._focusedOptionIndex}`:void 0,autoCapitalize:"off",autoCorrect:"off",disabled:this.state._disabled,name:this.state._name,required:this.state._required},this.controller.onFacade,{onInput:this.onInput.bind(this),onChange:this.onChange.bind(this),onClick:this.toggleListbox.bind(this),onFocus:e=>{this.controller.onFacade.onFocus(e),this.inputHasFocus=!0},onBlur:e=>{this.controller.onFacade.onBlur(e),this.inputHasFocus=!1},placeholder:this.state._placeholder})),this._inputValue&&index.h(componentNames.KolIconTag,{key:"8cff7aaaa6727a1cface8ba6ff14b2f46c4f379d",_icons:"codicon codicon-close",_label:i18n.translate("kol-delete-selection"),onClick:()=>{var e;this.clearSelection(),null===(e=this.refInput)||void 0===e||e.focus()},class:"single-select__delete"}),index.h("button",{key:"6f04499addadb0afb347c4c9f59d9f96b5e949fd",tabindex:"-1",class:"single-select__button",onClick:this.toggleListbox.bind(this),disabled:this.state._disabled},index.h(componentNames.KolIconTag,{key:"b90af9338c0039ecd8802aba4e0b9a5a1b43437e",_icons:"codicon codicon-triangle-down",_label:i18n.translate("kol-dropdown")}))),this._isOpen&&!(!0===this.state._disabled)&&index.h("ul",{key:"2625d07e9fabd15eb99ab6bd3321259d9f9f3720",role:"listbox",class:clsx.clsx("single-select__listbox",this.blockSuggestionMouseOver&&"single-select__listbox--cursor-hidden"),onKeyDown:this.handleKeyDownDropdown.bind(this)},Array.isArray(this._filteredOptions)&&this._filteredOptions.length>0?this._filteredOptions.map(((e,t)=>index.h("li",{id:`option-${t}`,key:`-${t}`,ref:e=>{e&&(this.refOptions[t]=e)},tabIndex:-1,role:"option","aria-selected":this.state._value===e.value?"true":void 0,onClick:t=>{var n;this.selectOption(t,e),null===(n=this.refInput)||void 0===n||n.focus(),this.toggleListbox(t)},onMouseOver:()=>{this.blockSuggestionMouseOver||(this._focusedOptionIndex=t,this.focusOption(t))},onFocus:()=>{this._focusedOptionIndex=t,this.focusOption(t)},class:"single-select__item",onKeyDown:t=>{var n;"Enter"!==t.key&&"NumpadEnter"!==t.key||(this.selectOption(t,e),null===(n=this.refInput)||void 0===n||n.focus(),this.toggleListbox(t),t.preventDefault())}},index.h("input",{class:"visually-hidden",type:"radio",name:"options",id:`option-radio-${t}`,value:e.value,checked:this.state._value===e.value||t===this._focusedOptionIndex}),index.h("label",{htmlFor:`option-radio-${t}`,class:"radio-label"},e.label)))):index.h("li",{class:"single-select__no-results-message"},i18n.translate("kol-no-results-message")," "))))))}handleFocusOut(){setTimeout((()=>{var e;(null===(e=this.host)||void 0===e?void 0:e.contains(document.activeElement))||this.onBlur()}),0)}handleWindowBlur(){this.onBlur()}handleKeyDown(e){var t,n;const i=(t,n)=>{var i;e.preventDefault(),void 0!==t&&(this._isOpen=t,t||null===(i=this.refInput)||void 0===i||i.focus()),null==n||n()};switch(e.key){case"Down":case"ArrowDown":this.blockSuggestionMouseOver=!0,i(!0,(()=>this.moveFocus(1)));break;case"Up":case"ArrowUp":this.blockSuggestionMouseOver=!0,i(!0,(()=>this.moveFocus(-1)));break;case"Tab":this._isOpen&&(this._isOpen=!this._isOpen,null===(t=this.refInput)||void 0===t||t.focus());break;case"Esc":case"Escape":i(!1);break;case" ":this._isOpen?Array.isArray(this._filteredOptions)&&this._filteredOptions.length>0&&(this.selectOption(e,this._filteredOptions[this._focusedOptionIndex]),null===(n=this.refInput)||void 0===n||n.focus(),i(!1)):this.toggleListbox(e);break;case"NumpadEnter":case"Enter":this.toggleListbox(e);break;case"Home":this.blockSuggestionMouseOver=!0,i(void 0,(()=>{this._isOpen&&(this._focusedOptionIndex=0,this.focusOption(this._focusedOptionIndex))}));break;case"End":this.blockSuggestionMouseOver=!0,i(void 0,(()=>{this._isOpen&&(this._focusedOptionIndex=this._filteredOptions?this._filteredOptions.length-1:0,this.focusOption(this._focusedOptionIndex))}));break;case"PageUp":this.blockSuggestionMouseOver=!0,i(void 0,(()=>this._isOpen&&this.moveFocus(-10)));break;case"PageDown":this.blockSuggestionMouseOver=!0,i(void 0,(()=>this._isOpen&&this.moveFocus(10)))}}constructor(e){index.registerInstance(this,e),this.refOptions=[],this.catchRef=e=>{this.refInput=e},this.toggleListbox=e=>{var t;if(null==e||e.preventDefault(),!this.state._disabled&&(this._isOpen=!this._isOpen,this._isOpen)){null===(t=this.refInput)||void 0===t||t.focus();const e=Array.isArray(this._filteredOptions)?this._filteredOptions.findIndex((e=>e.label===this._inputValue)):-1;this._focusedOptionIndex=e>=0?e:0,this.focusOption(this._focusedOptionIndex)}},this._focusedOptionIndex=-1,this._isOpen=!1,this._filteredOptions=[],this._inputValue="",this.blockSuggestionMouseOver=!1,this._accessKey=void 0,this._placeholder=void 0,this._alert=void 0,this._disabled=!1,this._hideError=!1,this._hideLabel=!1,this._hint="",this._icons=void 0,this._id=void 0,this._label=void 0,this._msg=void 0,this._name=void 0,this._on=void 0,this._options=void 0,this._required=!1,this._shortKey=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._value=void 0,this.state={_hideError:!1,_id:`id-${dev_utils.nonce()}`,_label:"",_options:[],_value:""},this.inputHasFocus=!1,this.controller=new SingleSelectController(this,"single-select",this.host)}showAsAlert(){return void 0===this.state._alert?Boolean(this.state._touched)&&!this.inputHasFocus:this.state._alert}validatePlaceholder(e){this.controller.validatePlaceholder(e)}validateAccessKey(e){this.controller.validateAccessKey(e)}validateAlert(e){this.controller.validateAlert(e)}validateDisabled(e){this.controller.validateDisabled(e)}validateHideError(e){this.controller.validateHideError(e)}validateHideLabel(e){this.controller.validateHideLabel(e)}validateHint(e){this.controller.validateHint(e)}validateIcons(e){this.controller.validateIcons(e)}validateId(e){this.controller.validateId(e)}validateLabel(e){this.controller.validateLabel(e)}validateMsg(e){this.controller.validateMsg(e)}validateName(e){this.controller.validateName(e)}validateOn(e){this.controller.validateOn(e)}validateOptions(e){this.controller.validateOptions(e),this._filteredOptions=e,this.updateInputValue(this._value)}validateRequired(e){this.controller.validateRequired(e)}validateShortKey(e){this.controller.validateShortKey(e)}validateSyncValueBySelector(e){this.controller.validateSyncValueBySelector(e)}validateTabIndex(e){this.controller.validateTabIndex(e)}validateTouched(e){this.controller.validateTouched(e)}validateValue(e){this.controller.validateValue(e),this.oldValue=e,this.updateInputValue(e)}handleMouseEvent(){this.blockSuggestionMouseOver=!1}updateInputValue(e){if(Array.isArray(this._options)){const t=this._options.find((t=>t.value===e));this._inputValue=t?t.label:""}}componentWillLoad(){this.refOptions=[],this._touched=!0===this._touched,this.controller.componentWillLoad(),this.oldValue=this._value,this._filteredOptions=this._options,this.updateInputValue(this._value)}onChange(e){var t,n,i,s;this.oldValue!==(null===(t=this.refInput)||void 0===t?void 0:t.value)&&(this.oldValue=null===(n=this.refInput)||void 0===n?void 0:n.value),events.stopPropagation(e),events.tryToDispatchKoliBriEvent("change",this.host,this._value),"function"!=typeof(null===(i=this.state._on)||void 0===i?void 0:i.onChange)||this._isOpen||this.state._on.onChange(e,this._value&&this.oldValue!==(null===(s=this.refInput)||void 0===s?void 0:s.value))}static get delegatesFocus(){return!0}get host(){return index.getElement(this)}static get watchers(){return{_placeholder:["validatePlaceholder"],_accessKey:["validateAccessKey"],_alert:["validateAlert"],_disabled:["validateDisabled"],_hideError:["validateHideError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icons:["validateIcons"],_id:["validateId"],_label:["validateLabel"],_msg:["validateMsg"],_name:["validateName"],_on:["validateOn"],_options:["validateOptions"],_required:["validateRequired"],_shortKey:["validateShortKey"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};KolSingleSelect.style={default:KolSingleSelectDefaultStyle0},exports.kol_single_select=KolSingleSelect;
|
4
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-3e0c664f.js"),dev_utils=require("./dev.utils-da74dcf2.js"),events=require("./events-221fcb43.js"),controllerIcon=require("./controller-icon-4caf2636.js"),controller=require("./controller-3df689d7.js"),prop_validators=require("./prop.validators-96dfedce.js"),componentNames=require("./component-names-72b76dc7.js"),InternalUnderlinedBadgeText=require("./InternalUnderlinedBadgeText-edf977d9.js"),controller$1=require("./controller-0fbcf11a.js"),i18n=require("./i18n-1d085d07.js"),clsx=require("./clsx-dd4d6dd1.js"),reuse=require("./reuse-8cfefa9b.js");require("./dev.utils-58fde089.js"),require("./icons-310a07cc.js"),require("./common-1ab929ac.js"),require("./label-b8654499.js"),require("./index-38f5f0b2.js"),require("./associated.controller-5e3fde43.js"),require("./access-and-short-key-12a097ab.js"),require("./hide-label-b0063224.js"),require("./tooltip-align-3b9a6bde.js"),require("./align-b9732b91.js"),require("./i18n-737701e2.js");class SingleSelectController extends controllerIcon.InputIconController{constructor(e,t,n){super(e,t,n),this.keyOptionMap=new Map,this.afterPatchOptions=(e,t,n,i)=>{"_value"===i&&this.setFormAssociatedValue(e)},this.beforePatchOptions=(e,t)=>{const n=t.has("_options")?t.get("_options"):this.component.state._options;Array.isArray(n)&&n.length>0&&(this.keyOptionMap.clear(),controller.fillKeyOptionMap(this.keyOptionMap,n))},this.component=e}validateOptions(e){controller.validateOptions(this.component,e,{hooks:{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions}})}validateRequired(e){prop_validators.watchBoolean(this.component,"_required",e)}validateValue(e){prop_validators.watchString(this.component,"_value",e)}validatePlaceholder(e){prop_validators.watchString(this.component,"_placeholder",e)}componentWillLoad(){super.componentWillLoad(),this.validateOptions(this.component._options),this.validateRequired(this.component._required),this.validateValue(this.component._value),this.validatePlaceholder(this.component._placeholder)}}const defaultStyleCss="/*\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 display: block;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .tooltip-floating {\n animation-duration: 0.5s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n box-sizing: border-box;\n display: none;\n position: fixed;\n visibility: hidden;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n max-width: 90vw;\n max-height: 90vh;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n background-color: #fff;\n color: #000;\n }\n .kol-tooltip-wc .tooltip-arrow {\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n position: absolute;\n transform: rotate(45deg);\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n z-index: 999;\n }\n .kol-tooltip-wc .tooltip-content {\n position: relative;\n z-index: 1000;\n }\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n@layer kol-component {\n .required label > span::after,\n .required legend > span::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n input,\n textarea {\n cursor: text;\n }\n input[type=checkbox],\n input[type=color],\n input[type=file],\n input[type=radio],\n input[type=range],\n label,\n option,\n select {\n cursor: pointer;\n }\n /* input[type='checkbox'], */\n /* input[type='radio'], */\n /* input[type='range'], */\n input[type=color],\n input[type=date],\n input[type=datetime-local],\n input[type=email],\n input[type=file],\n input[type=month],\n input[type=number],\n input[type=password],\n input[type=search],\n input[type=tel],\n input[type=text],\n input[type=time],\n input[type=url],\n input[type=week],\n select,\n select[multiple] option,\n textarea {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n width: 100%;\n }\n /* needed hack for vertical alignment */\n input[type=file] {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 10) 0.5em;\n }\n /* needed hack for vertical alignment */\n select[multiple] option {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 2) 0.5em;\n }\n .input {\n background-color: white;\n }\n}\n@layer kol-component {\n .kol-input {\n display: grid;\n }\n .kol-input .input-slot {\n flex-grow: 1;\n }\n input:not([type=checkbox], [type=radio]),\n select:not([multiple], [size]) {\n height: 2.75em;\n }\n input:focus,\n option:focus,\n select:focus,\n textarea:focus {\n outline: 0;\n }\n .input {\n display: flex;\n align-items: center;\n }\n .input > .kol-icon {\n display: grid;\n height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-input.required .input-tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .single-select {\n position: relative;\n }\n .single-select.disabled, .single-select.disabled * {\n cursor: not-allowed !important;\n }\n .single-select__group {\n display: inline-flex;\n align-items: center;\n }\n .single-select__input {\n flex-grow: 1;\n }\n .single-select__button {\n height: var(--a11y-min-size);\n width: var(--a11y-min-size);\n }\n .single-select__listbox {\n display: block;\n position: absolute;\n list-style-type: none;\n margin: 0;\n padding: 0;\n overflow-y: auto;\n overflow-x: hidden;\n z-index: 2;\n background-color: white;\n max-height: calc(250rem / var(--kolibri-root-font-size, 16));\n }\n .single-select__item.highlighted {\n background-color: #f0f0f0;\n }\n .single-select__listbox--cursor-hidden .single-select__item {\n cursor: none !important;\n }\n .single-select__no-results-message {\n cursor: default;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: calc(50rem / var(--kolibri-root-font-size, 16));\n }\n}",KolSingleSelectDefaultStyle0=defaultStyleCss,KolSingleSelect=class{async getValue(){return this.state._value}async kolFocus(){var e;null===(e=this.refInput)||void 0===e||e.focus()}onBlur(){var e;Array.isArray(this.state._options)&&this.state._options.length>0&&!this.state._options.some((e=>e.label===this._inputValue))&&(this._inputValue=null===(e=this.state._options.find((e=>e.value===this.state._value)))||void 0===e?void 0:e.label,this._filteredOptions=[...this.state._options]),this._isOpen=!1}clearSelection(){this.state._disabled||(this._focusedOptionIndex=-1,this.state._value="",this._inputValue="",this._filteredOptions=[...this.state._options],this.controller.setFormAssociatedValue(this.state._value))}selectOption(e,t){this.state._value=t.value,this._inputValue=t.label,this.controller.onFacade.onChange(e,t.value),this.controller.onFacade.onInput(e,!1,t.value),this._filteredOptions=[...this.state._options],this.controller.setFormAssociatedValue(this.state._value)}onInput(e){const t=e.target;this._inputValue=t.value,this._isOpen=!0,this.setFilteredOptionsByQuery(t.value),this._focusedOptionIndex=-1}handleKeyDownDropdown(e){1===e.key.length&&/[a-z0-9]/i.test(e.key)&&(e.preventDefault(),this._isOpen=!0,this.focusSuggestionStartingWith(e.key))}setFilteredOptionsByQuery(e){""===(null==e?void 0:e.trim())?this._filteredOptions=[...this.state._options]:Array.isArray(this.state._options)&&this.state._options.length>0&&e.length>0&&(this._filteredOptions=this.state._options.filter((t=>{var n,i;return null===(i=null===(n=t.label)||void 0===n?void 0:n.toLowerCase())||void 0===i?void 0:i.includes(null==e?void 0:e.toLowerCase())})))}moveFocus(e){if(!this._filteredOptions)return;let t=this._focusedOptionIndex+e;t>=this._filteredOptions.length&&(t=0),t<0&&(t=this._filteredOptions.length-1),this._focusedOptionIndex=t,this.focusOption(this._focusedOptionIndex)}focusOption(e){if(this.refOptions){const t=this.refOptions[e];null==t||t.focus()}}focusSuggestionStartingWith(e){const t=e.toLowerCase(),n=Array.isArray(this._filteredOptions)&&this._filteredOptions.findIndex((e=>e.label.toLowerCase().startsWith(t)));"number"==typeof n&&(this._focusedOptionIndex=n,this.focusOption(n))}render(){const e=reuse.showExpertSlot(this.state._label),{ariaDescribedBy:t}=controller$1.getRenderStates(this.state);return index.h(index.Host,{key:"ec78d6ba606de5a637558504d9b8d389991bd5d1",class:"kol-single-select"},index.h("div",{key:"ba04220b3ac54ff6b8497948854df6d884ec152c",class:`single-select ${!0===this.state._disabled?"disabled":""} `},index.h(componentNames.KolInputTag,{key:"c5ba4a1ee8facce73b47cdece06df4623b718be8",_accessKey:this.state._accessKey,_alert:this.showAsAlert(),_disabled:this.state._disabled,_hideError:this.state._hideError,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icons:this.state._icons,_id:this.state._id,_label:this.state._label,_msg:this.state._msg,_required:this.state._required,_shortKey:this.state._shortKey,_tooltipAlign:this._tooltipAlign,_touched:this.state._touched,role:"presentation"},index.h("span",{key:"103578ebf9a841970388a5c3969218f981897e6c",slot:"label"},e?index.h("slot",{name:"expert"}):"string"==typeof this.state._accessKey||"string"==typeof this.state._shortKey?index.h(index.Fragment,null,index.h(InternalUnderlinedBadgeText.InternalUnderlinedBadgeText,{badgeText:reuse.buildBadgeTextString(this.state._accessKey||this.state._shortKey),label:this.state._label})," ",index.h("span",{class:"access-key-hint","aria-hidden":"true"},reuse.buildBadgeTextString(this.state._accessKey||this.state._shortKey))):index.h("span",null,this.state._label)),index.h("div",{key:"191bf5b70972f84dc1359082b6538617986a0383",slot:"input"},index.h("div",{key:"50d8b9e371af7679ae853d2001b95c9bb8383398",class:"single-select__group"},index.h("input",Object.assign({key:"46d194911f251412811fc2f41989aa8a48f98c36",ref:this.catchRef,class:"single-select__input",type:"text","aria-autocomplete":"both","aria-controls":"listbox",value:this._inputValue,accessKey:this.state._accessKey,"aria-describedby":t.length>0?t.join(" "):void 0,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,"aria-activedescendant":this._isOpen&&this._focusedOptionIndex>=0?`option-${this._focusedOptionIndex}`:void 0,autoCapitalize:"off",autoCorrect:"off",disabled:this.state._disabled,name:this.state._name,required:this.state._required},this.controller.onFacade,{onInput:this.onInput.bind(this),onChange:this.onChange.bind(this),onClick:this.toggleListbox.bind(this),onFocus:e=>{this.controller.onFacade.onFocus(e),this.inputHasFocus=!0},onBlur:e=>{this.controller.onFacade.onBlur(e),this.inputHasFocus=!1},placeholder:this.state._placeholder})),this._inputValue&&index.h(componentNames.KolIconTag,{key:"8cff7aaaa6727a1cface8ba6ff14b2f46c4f379d",_icons:"codicon codicon-close",_label:i18n.translate("kol-delete-selection"),onClick:()=>{var e;this.clearSelection(),null===(e=this.refInput)||void 0===e||e.focus()},class:"single-select__delete"}),index.h("button",{key:"6f04499addadb0afb347c4c9f59d9f96b5e949fd",tabindex:"-1",class:"single-select__button",onClick:this.toggleListbox.bind(this),disabled:this.state._disabled},index.h(componentNames.KolIconTag,{key:"b90af9338c0039ecd8802aba4e0b9a5a1b43437e",_icons:"codicon codicon-triangle-down",_label:i18n.translate("kol-dropdown")}))),this._isOpen&&!(!0===this.state._disabled)&&index.h("ul",{key:"2625d07e9fabd15eb99ab6bd3321259d9f9f3720",role:"listbox",class:clsx.clsx("single-select__listbox",this.blockSuggestionMouseOver&&"single-select__listbox--cursor-hidden"),onKeyDown:this.handleKeyDownDropdown.bind(this)},Array.isArray(this._filteredOptions)&&this._filteredOptions.length>0?this._filteredOptions.map(((e,t)=>index.h("li",{id:`option-${t}`,key:`-${t}`,ref:e=>{e&&(this.refOptions[t]=e)},tabIndex:-1,role:"option","aria-selected":this.state._value===e.value?"true":void 0,onClick:t=>{var n;this.selectOption(t,e),null===(n=this.refInput)||void 0===n||n.focus(),this.toggleListbox(t)},onMouseOver:()=>{this.blockSuggestionMouseOver||(this._focusedOptionIndex=t,this.focusOption(t))},onFocus:()=>{this._focusedOptionIndex=t,this.focusOption(t)},class:"single-select__item",onKeyDown:t=>{var n;"Enter"!==t.key&&"NumpadEnter"!==t.key||(this.selectOption(t,e),null===(n=this.refInput)||void 0===n||n.focus(),this.toggleListbox(t),t.preventDefault())}},index.h("input",{class:"visually-hidden",type:"radio",name:"options",id:`option-radio-${t}`,value:e.value,checked:this.state._value===e.value||t===this._focusedOptionIndex}),index.h("label",{htmlFor:`option-radio-${t}`,class:"radio-label"},e.label)))):index.h("li",{class:"single-select__no-results-message"},i18n.translate("kol-no-results-message")," "))))))}handleFocusOut(){setTimeout((()=>{var e;(null===(e=this.host)||void 0===e?void 0:e.contains(document.activeElement))||this.onBlur()}),0)}handleWindowBlur(){this.onBlur()}handleKeyDown(e){var t,n;const i=(t,n)=>{var i;e.preventDefault(),void 0!==t&&(this._isOpen=t,t||null===(i=this.refInput)||void 0===i||i.focus()),null==n||n()};switch(e.key){case"Down":case"ArrowDown":this.blockSuggestionMouseOver=!0,i(!0,(()=>this.moveFocus(1)));break;case"Up":case"ArrowUp":this.blockSuggestionMouseOver=!0,i(!0,(()=>this.moveFocus(-1)));break;case"Tab":this._isOpen&&(this._isOpen=!this._isOpen,null===(t=this.refInput)||void 0===t||t.focus());break;case"Esc":case"Escape":i(!1);break;case" ":this._isOpen?Array.isArray(this._filteredOptions)&&this._filteredOptions.length>0&&(this.selectOption(e,this._filteredOptions[this._focusedOptionIndex]),null===(n=this.refInput)||void 0===n||n.focus(),i(!1)):this.toggleListbox(e);break;case"NumpadEnter":case"Enter":this.toggleListbox(e);break;case"Home":this.blockSuggestionMouseOver=!0,i(void 0,(()=>{this._isOpen&&(this._focusedOptionIndex=0,this.focusOption(this._focusedOptionIndex))}));break;case"End":this.blockSuggestionMouseOver=!0,i(void 0,(()=>{this._isOpen&&(this._focusedOptionIndex=this._filteredOptions?this._filteredOptions.length-1:0,this.focusOption(this._focusedOptionIndex))}));break;case"PageUp":this.blockSuggestionMouseOver=!0,i(void 0,(()=>this._isOpen&&this.moveFocus(-10)));break;case"PageDown":this.blockSuggestionMouseOver=!0,i(void 0,(()=>this._isOpen&&this.moveFocus(10)))}}constructor(e){index.registerInstance(this,e),this.refOptions=[],this.catchRef=e=>{this.refInput=e},this.toggleListbox=e=>{var t;if(null==e||e.preventDefault(),!this.state._disabled&&(this._isOpen=!this._isOpen,this._isOpen)){null===(t=this.refInput)||void 0===t||t.focus();const e=Array.isArray(this._filteredOptions)?this._filteredOptions.findIndex((e=>e.label===this._inputValue)):-1;this._focusedOptionIndex=e>=0?e:0,this.focusOption(this._focusedOptionIndex)}},this._focusedOptionIndex=-1,this._isOpen=!1,this._filteredOptions=[],this._inputValue="",this.blockSuggestionMouseOver=!1,this._accessKey=void 0,this._placeholder=void 0,this._alert=void 0,this._disabled=!1,this._hideError=!1,this._hideLabel=!1,this._hint="",this._icons=void 0,this._id=void 0,this._label=void 0,this._msg=void 0,this._name=void 0,this._on=void 0,this._options=void 0,this._required=!1,this._shortKey=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._value=void 0,this.state={_hideError:!1,_id:`id-${dev_utils.nonce()}`,_label:"",_options:[],_value:""},this.inputHasFocus=!1,this.controller=new SingleSelectController(this,"single-select",this.host)}showAsAlert(){return void 0===this.state._alert?Boolean(this.state._touched)&&!this.inputHasFocus:this.state._alert}validatePlaceholder(e){this.controller.validatePlaceholder(e)}validateAccessKey(e){this.controller.validateAccessKey(e)}validateAlert(e){this.controller.validateAlert(e)}validateDisabled(e){this.controller.validateDisabled(e)}validateHideError(e){this.controller.validateHideError(e)}validateHideLabel(e){this.controller.validateHideLabel(e)}validateHint(e){this.controller.validateHint(e)}validateIcons(e){this.controller.validateIcons(e)}validateId(e){this.controller.validateId(e)}validateLabel(e){this.controller.validateLabel(e)}validateMsg(e){this.controller.validateMsg(e)}validateName(e){this.controller.validateName(e)}validateOn(e){this.controller.validateOn(e)}validateOptions(e){this.controller.validateOptions(e),this._filteredOptions=e,this.updateInputValue(this._value)}validateRequired(e){this.controller.validateRequired(e)}validateShortKey(e){this.controller.validateShortKey(e)}validateSyncValueBySelector(e){this.controller.validateSyncValueBySelector(e)}validateTabIndex(e){this.controller.validateTabIndex(e)}validateTouched(e){this.controller.validateTouched(e)}validateValue(e){this.controller.validateValue(e),this.oldValue=e,this.updateInputValue(e)}handleMouseEvent(){this.blockSuggestionMouseOver=!1}updateInputValue(e){if(Array.isArray(this._options)){const t=this._options.find((t=>t.value===e));this._inputValue=t?t.label:""}}componentWillLoad(){this.refOptions=[],this._touched=!0===this._touched,this.controller.componentWillLoad(),this.oldValue=this._value,this._filteredOptions=this._options,this.updateInputValue(this._value)}onChange(e){var t,n,i,s;this.oldValue!==(null===(t=this.refInput)||void 0===t?void 0:t.value)&&(this.oldValue=null===(n=this.refInput)||void 0===n?void 0:n.value),events.stopPropagation(e),events.tryToDispatchKoliBriEvent("change",this.host,this._value),"function"!=typeof(null===(i=this.state._on)||void 0===i?void 0:i.onChange)||this._isOpen||this.state._on.onChange(e,this._value&&this.oldValue!==(null===(s=this.refInput)||void 0===s?void 0:s.value))}static get delegatesFocus(){return!0}get host(){return index.getElement(this)}static get watchers(){return{_placeholder:["validatePlaceholder"],_accessKey:["validateAccessKey"],_alert:["validateAlert"],_disabled:["validateDisabled"],_hideError:["validateHideError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icons:["validateIcons"],_id:["validateId"],_label:["validateLabel"],_msg:["validateMsg"],_name:["validateName"],_on:["validateOn"],_options:["validateOptions"],_required:["validateRequired"],_shortKey:["validateShortKey"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};KolSingleSelect.style={default:KolSingleSelectDefaultStyle0},exports.kol_single_select=KolSingleSelect;
|
@@ -1,4 +1,4 @@
|
|
1
1
|
/*!
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
3
3
|
*/
|
4
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-
|
4
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-3e0c664f.js"),uniqueNavLabels=require("./unique-nav-labels-b12ecac7.js"),validation=require("./validation-fbc2d426.js"),componentNames=require("./component-names-72b76dc7.js"),label=require("./label-b8654499.js");require("./dev.utils-58fde089.js"),require("./prop.validators-96dfedce.js"),require("./index-38f5f0b2.js");const defaultStyleCss="/*\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}",KolSkipNavDefaultStyle0=defaultStyleCss,KolSkipNav=class{constructor(n){index.registerInstance(this,n),this._label=void 0,this._links=void 0,this.state={_label:"",_links:[]}}render(){return index.h(index.Host,{key:"a9321b3dca0103f92696c130057a1176aae1ed12",class:"kol-skip-nav"},index.h("nav",{key:"9772a64d59dc043802953679fa97760f389cd24a","aria-label":this.state._label},index.h("ul",{key:"8f202679daf5537f06157161dee7faefea238028"},this.state._links.map(((n,e)=>index.h("li",{key:e},index.h(componentNames.KolLinkWcTag,Object.assign({},n))))))))}validateLabel(n,e,t=!1){t||uniqueNavLabels.removeNavLabel(this.state._label),label.validateLabel(this,n,{required:!0}),uniqueNavLabels.addNavLabel(this.state._label)}validateLinks(n){validation.watchNavLinks("KolSkipNav",this,n)}componentWillLoad(){this.validateLabel(this._label,void 0,!0),this.validateLinks(this._links)}disconnectedCallback(){uniqueNavLabels.removeNavLabel(this.state._label)}static get watchers(){return{_label:["validateLabel"],_links:["validateLinks"]}}};KolSkipNav.style={default:KolSkipNavDefaultStyle0},exports.kol_skip_nav=KolSkipNav;
|