@public-ui/components 2.0.2 → 2.0.4-rc.0
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 +9 -15
- package/dist/cjs/{InternalUnderlinedAccessKey-6642b2c7.js → InternalUnderlinedAccessKey-7ae57f5a.js} +1 -1
- package/dist/cjs/{InternalUnderlinedAccessKey-6642b2c7.js.map → InternalUnderlinedAccessKey-7ae57f5a.js.map} +1 -1
- package/dist/cjs/align-floating-elements-6dbaaa59.js +4 -0
- package/dist/cjs/align-floating-elements-6dbaaa59.js.map +1 -0
- package/dist/cjs/app-globals-89c51fdc.js +4 -0
- package/dist/cjs/app-globals-89c51fdc.js.map +1 -0
- package/dist/cjs/associated.controller-31ecb2c1.js +4 -0
- package/dist/cjs/associated.controller-31ecb2c1.js.map +1 -0
- package/dist/cjs/controller-3967f9ab.js +4 -0
- package/dist/cjs/controller-3967f9ab.js.map +1 -0
- package/dist/cjs/controller-458fb514.js +4 -0
- package/dist/cjs/controller-458fb514.js.map +1 -0
- package/dist/cjs/controller-a8d3a10e.js +4 -0
- package/dist/cjs/controller-a8d3a10e.js.map +1 -0
- package/dist/cjs/controller-e048eb24.js +4 -0
- package/dist/cjs/controller-e048eb24.js.map +1 -0
- package/dist/cjs/controller-f9770277.js +4 -0
- package/dist/cjs/controller-f9770277.js.map +1 -0
- package/dist/cjs/controller-icon-ae4c45b7.js +4 -0
- package/dist/cjs/controller-icon-ae4c45b7.js.map +1 -0
- package/dist/cjs/details-synced-open-state-e88811c7.js.map +1 -1
- package/dist/cjs/dev.utils-1c97740c.js +4 -0
- package/dist/cjs/dev.utils-1c97740c.js.map +1 -0
- package/dist/cjs/devtools-d6fd8409.js +4 -0
- package/dist/cjs/devtools-d6fd8409.js.map +1 -0
- package/dist/cjs/i18n-4dc5dcfa.js +4 -0
- package/dist/cjs/i18n-4dc5dcfa.js.map +1 -0
- package/dist/cjs/index-26a16cf8.js +4 -0
- package/dist/cjs/index-26a16cf8.js.map +1 -0
- package/dist/cjs/index-323319ca.js +4 -0
- package/dist/cjs/index-323319ca.js.map +1 -0
- package/dist/cjs/index-a28d0d64.js +4 -0
- package/dist/cjs/index-a28d0d64.js.map +1 -0
- package/dist/cjs/index-cd5e55f3.js +4 -0
- package/dist/cjs/index-cd5e55f3.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/input-error-ac3a12f5.js +4 -0
- package/dist/cjs/input-error-ac3a12f5.js.map +1 -0
- package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
- package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-alert-wc_3.cjs.entry.js +4 -0
- package/dist/cjs/kol-alert-wc_3.cjs.entry.js.map +1 -0
- package/dist/cjs/kol-alert.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-avatar-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
- package/dist/cjs/kol-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-group-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-group-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-card.cjs.entry.js +1 -1
- package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-details.cjs.entry.js +1 -1
- package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-form.cjs.entry.js +1 -1
- package/dist/cjs/kol-form.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-image.cjs.entry.js +1 -1
- package/dist/cjs/kol-image.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-indented-text.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
- package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-input.cjs.entry.js +1 -1
- package/dist/cjs/kol-input.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
- package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-logo.cjs.entry.js +1 -1
- package/dist/cjs/kol-logo.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-popover-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-popover-wc.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-select.cjs.entry.js +1 -1
- package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-span-wc_2.cjs.entry.js +4 -0
- package/dist/cjs/kol-span-wc_2.cjs.entry.js.map +1 -0
- package/dist/cjs/kol-span.cjs.entry.js +1 -1
- package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
- package/dist/cjs/kol-symbol.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-table.cjs.entry.js +1 -1
- package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
- package/dist/cjs/kol-toast-container.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-version.cjs.entry.js +1 -1
- package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
- package/dist/cjs/kolibri.cjs.js +1 -1
- package/dist/cjs/kolibri.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/table-render-function-7d9ebadc.js +4 -0
- package/dist/cjs/table-render-function-7d9ebadc.js.map +1 -0
- package/dist/cjs/toaster-29a344ee.js.map +1 -1
- package/dist/cjs/validation-0bd89158.js +4 -0
- package/dist/cjs/validation-0bd89158.js.map +1 -0
- package/dist/cjs/validation-db3a9e1a.js +4 -0
- package/dist/cjs/validation-db3a9e1a.js.map +1 -0
- package/dist/components/align-floating-elements.js +1 -1
- package/dist/components/align-floating-elements.js.map +1 -1
- package/dist/components/component.js +1 -1
- package/dist/components/component.js.map +1 -1
- package/dist/components/component10.js.map +1 -1
- package/dist/components/component11.js +1 -1
- package/dist/components/component11.js.map +1 -1
- package/dist/components/component12.js +1 -1
- package/dist/components/component12.js.map +1 -1
- package/dist/components/component13.js +1 -1
- package/dist/components/component13.js.map +1 -1
- package/dist/components/component14.js +1 -1
- package/dist/components/component14.js.map +1 -1
- package/dist/components/component2.js +1 -1
- package/dist/components/component2.js.map +1 -1
- package/dist/components/component3.js +1 -1
- package/dist/components/component3.js.map +1 -1
- package/dist/components/component4.js +1 -1
- package/dist/components/component4.js.map +1 -1
- package/dist/components/component5.js +1 -1
- package/dist/components/component5.js.map +1 -1
- package/dist/components/component6.js +1 -1
- package/dist/components/component6.js.map +1 -1
- package/dist/components/component7.js +1 -1
- package/dist/components/component7.js.map +1 -1
- package/dist/components/component8.js +1 -1
- package/dist/components/component8.js.map +1 -1
- package/dist/components/component9.js +1 -1
- package/dist/components/component9.js.map +1 -1
- package/dist/components/controller-icon.js +1 -1
- package/dist/components/controller-icon.js.map +1 -1
- package/dist/components/controller.js +1 -1
- package/dist/components/controller.js.map +1 -1
- package/dist/components/controller2.js +1 -1
- package/dist/components/controller2.js.map +1 -1
- package/dist/components/controller3.js +1 -1
- package/dist/components/controller3.js.map +1 -1
- package/dist/components/controller4.js +1 -1
- package/dist/components/controller4.js.map +1 -1
- package/dist/components/details-synced-open-state.js +1 -1
- package/dist/components/details-synced-open-state.js.map +1 -1
- package/dist/components/dev.utils.js +4 -0
- package/dist/components/dev.utils.js.map +1 -0
- package/dist/components/devtools.js +1 -1
- package/dist/components/devtools.js.map +1 -1
- package/dist/components/i18n.js +1 -1
- package/dist/components/i18n.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +1 -1
- package/dist/components/index2.js.map +1 -1
- package/dist/components/index3.js +4 -0
- package/dist/components/index3.js.map +1 -0
- package/dist/components/input-error.js +4 -0
- package/dist/components/input-error.js.map +1 -0
- package/dist/components/kol-abbr.js +1 -1
- package/dist/components/kol-abbr.js.map +1 -1
- package/dist/components/kol-accordion.js +1 -1
- package/dist/components/kol-accordion.js.map +1 -1
- package/dist/components/kol-avatar.js +1 -1
- package/dist/components/kol-avatar.js.map +1 -1
- package/dist/components/kol-breadcrumb.js +1 -1
- package/dist/components/kol-breadcrumb.js.map +1 -1
- package/dist/components/kol-button-group.js +1 -1
- package/dist/components/kol-button-group.js.map +1 -1
- package/dist/components/kol-button-link.js +1 -1
- package/dist/components/kol-button-link.js.map +1 -1
- package/dist/components/kol-card.js +1 -1
- package/dist/components/kol-card.js.map +1 -1
- package/dist/components/kol-details.js +1 -1
- package/dist/components/kol-details.js.map +1 -1
- package/dist/components/kol-form.js +1 -1
- package/dist/components/kol-form.js.map +1 -1
- package/dist/components/kol-heading.js +1 -1
- package/dist/components/kol-heading.js.map +1 -1
- package/dist/components/kol-image.js +1 -1
- package/dist/components/kol-image.js.map +1 -1
- package/dist/components/kol-indented-text.js +1 -1
- package/dist/components/kol-input-checkbox.js +1 -1
- package/dist/components/kol-input-checkbox.js.map +1 -1
- package/dist/components/kol-input-color.js +1 -1
- package/dist/components/kol-input-color.js.map +1 -1
- package/dist/components/kol-input-date.js +1 -1
- package/dist/components/kol-input-date.js.map +1 -1
- package/dist/components/kol-input-email.js +1 -1
- package/dist/components/kol-input-email.js.map +1 -1
- package/dist/components/kol-input-file.js +1 -1
- package/dist/components/kol-input-file.js.map +1 -1
- package/dist/components/kol-input-number.js +1 -1
- package/dist/components/kol-input-number.js.map +1 -1
- package/dist/components/kol-input-password.js +1 -1
- package/dist/components/kol-input-password.js.map +1 -1
- package/dist/components/kol-input-radio.js +1 -1
- package/dist/components/kol-input-radio.js.map +1 -1
- package/dist/components/kol-input-range.js +1 -1
- package/dist/components/kol-input-range.js.map +1 -1
- package/dist/components/kol-input-text.js +1 -1
- package/dist/components/kol-input-text.js.map +1 -1
- package/dist/components/kol-input.js +1 -1
- package/dist/components/kol-kolibri.js +1 -1
- package/dist/components/kol-kolibri.js.map +1 -1
- package/dist/components/kol-link-button.js +1 -1
- package/dist/components/kol-link-button.js.map +1 -1
- package/dist/components/kol-link-group.js +1 -1
- package/dist/components/kol-link-group.js.map +1 -1
- package/dist/components/kol-logo.js +1 -1
- package/dist/components/kol-logo.js.map +1 -1
- package/dist/components/kol-modal.js +1 -1
- package/dist/components/kol-modal.js.map +1 -1
- package/dist/components/kol-nav.js +1 -1
- package/dist/components/kol-nav.js.map +1 -1
- package/dist/components/kol-pagination.js +1 -1
- package/dist/components/kol-popover-wc.js +1 -1
- package/dist/components/kol-popover-wc.js.map +1 -1
- package/dist/components/kol-progress.js +1 -1
- package/dist/components/kol-progress.js.map +1 -1
- package/dist/components/kol-quote.js +1 -1
- package/dist/components/kol-quote.js.map +1 -1
- package/dist/components/kol-select.js +1 -1
- package/dist/components/kol-skip-nav.js +1 -1
- package/dist/components/kol-skip-nav.js.map +1 -1
- package/dist/components/kol-span.js +1 -1
- package/dist/components/kol-span.js.map +1 -1
- package/dist/components/kol-spin.js +1 -1
- package/dist/components/kol-spin.js.map +1 -1
- package/dist/components/kol-split-button.js +1 -1
- package/dist/components/kol-split-button.js.map +1 -1
- package/dist/components/kol-symbol.js +1 -1
- package/dist/components/kol-symbol.js.map +1 -1
- package/dist/components/kol-table.js +1 -1
- package/dist/components/kol-table.js.map +1 -1
- package/dist/components/kol-tabs.js +1 -1
- package/dist/components/kol-tabs.js.map +1 -1
- package/dist/components/kol-textarea.js +1 -1
- package/dist/components/kol-textarea.js.map +1 -1
- package/dist/components/kol-toast-container.js +1 -1
- package/dist/components/kol-toast-container.js.map +1 -1
- package/dist/components/kol-version.js +1 -1
- package/dist/components/kol-version.js.map +1 -1
- package/dist/components/reprod-accordion-does-not-toggle-with-open.js +1 -1
- package/dist/components/shadow.js +1 -1
- package/dist/components/shadow.js.map +1 -1
- package/dist/components/shadow2.js +1 -1
- package/dist/components/shadow2.js.map +1 -1
- package/dist/components/shadow3.js +1 -1
- package/dist/components/shadow3.js.map +1 -1
- package/dist/components/table-render-function.js +4 -0
- package/dist/components/table-render-function.js.map +1 -0
- package/dist/components/validation.js +1 -1
- package/dist/components/validation.js.map +1 -1
- package/dist/declare.d.ts +0 -22
- package/dist/esm/{InternalUnderlinedAccessKey-3d146073.js → InternalUnderlinedAccessKey-43e30086.js} +1 -1
- package/dist/esm/{InternalUnderlinedAccessKey-3d146073.js.map → InternalUnderlinedAccessKey-43e30086.js.map} +1 -1
- package/dist/esm/align-floating-elements-e01b2462.js +4 -0
- package/dist/esm/align-floating-elements-e01b2462.js.map +1 -0
- package/dist/esm/app-globals-922be9d8.js +4 -0
- package/dist/esm/app-globals-922be9d8.js.map +1 -0
- package/dist/esm/associated.controller-ac43f4c8.js +4 -0
- package/dist/esm/associated.controller-ac43f4c8.js.map +1 -0
- package/dist/esm/controller-04bfb6e9.js +4 -0
- package/dist/esm/controller-04bfb6e9.js.map +1 -0
- package/dist/esm/controller-433f1c31.js +4 -0
- package/dist/esm/controller-433f1c31.js.map +1 -0
- package/dist/esm/controller-57209260.js +4 -0
- package/dist/esm/controller-57209260.js.map +1 -0
- package/dist/esm/controller-657d41f2.js +4 -0
- package/dist/esm/controller-657d41f2.js.map +1 -0
- package/dist/esm/controller-fcfaa4fe.js +4 -0
- package/dist/esm/controller-fcfaa4fe.js.map +1 -0
- package/dist/esm/controller-icon-78968844.js +4 -0
- package/dist/esm/controller-icon-78968844.js.map +1 -0
- package/dist/esm/details-synced-open-state-45ecc035.js +1 -1
- package/dist/esm/details-synced-open-state-45ecc035.js.map +1 -1
- package/dist/esm/dev.utils-d2e25c84.js +4 -0
- package/dist/esm/dev.utils-d2e25c84.js.map +1 -0
- package/dist/esm/devtools-e9d54bcb.js +4 -0
- package/dist/esm/devtools-e9d54bcb.js.map +1 -0
- package/dist/esm/i18n-346a0ba2.js +4 -0
- package/dist/esm/i18n-346a0ba2.js.map +1 -0
- package/dist/esm/index-0b7aa54b.js +4 -0
- package/dist/esm/index-0b7aa54b.js.map +1 -0
- package/dist/esm/index-12a653a5.js +4 -0
- package/dist/esm/index-12a653a5.js.map +1 -0
- package/dist/esm/index-807d8631.js +4 -0
- package/dist/esm/index-807d8631.js.map +1 -0
- package/dist/esm/index-88a06abd.js +4 -0
- package/dist/esm/index-88a06abd.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/input-error-bc5a177b.js +4 -0
- package/dist/esm/input-error-bc5a177b.js.map +1 -0
- package/dist/esm/kol-abbr.entry.js +1 -1
- package/dist/esm/kol-abbr.entry.js.map +1 -1
- package/dist/esm/kol-accordion.entry.js +1 -1
- package/dist/esm/kol-accordion.entry.js.map +1 -1
- package/dist/esm/kol-alert-wc_3.entry.js +4 -0
- package/dist/esm/kol-alert-wc_3.entry.js.map +1 -0
- package/dist/esm/kol-alert.entry.js +1 -1
- package/dist/esm/kol-alert.entry.js.map +1 -1
- package/dist/esm/kol-avatar-wc.entry.js +1 -1
- package/dist/esm/kol-avatar-wc.entry.js.map +1 -1
- package/dist/esm/kol-avatar.entry.js +1 -1
- package/dist/esm/kol-avatar.entry.js.map +1 -1
- package/dist/esm/kol-badge.entry.js +1 -1
- package/dist/esm/kol-badge.entry.js.map +1 -1
- package/dist/esm/kol-breadcrumb.entry.js +1 -1
- package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
- package/dist/esm/kol-button-group-wc.entry.js +1 -1
- package/dist/esm/kol-button-group-wc.entry.js.map +1 -1
- package/dist/esm/kol-button-group.entry.js +1 -1
- package/dist/esm/kol-button-group.entry.js.map +1 -1
- package/dist/esm/kol-button-link.entry.js +1 -1
- package/dist/esm/kol-button-link.entry.js.map +1 -1
- package/dist/esm/kol-button.entry.js +1 -1
- package/dist/esm/kol-button.entry.js.map +1 -1
- package/dist/esm/kol-card.entry.js +1 -1
- package/dist/esm/kol-card.entry.js.map +1 -1
- package/dist/esm/kol-details.entry.js +1 -1
- package/dist/esm/kol-details.entry.js.map +1 -1
- package/dist/esm/kol-form.entry.js +1 -1
- package/dist/esm/kol-form.entry.js.map +1 -1
- package/dist/esm/kol-heading.entry.js +1 -1
- package/dist/esm/kol-heading.entry.js.map +1 -1
- package/dist/esm/kol-icon.entry.js +1 -1
- package/dist/esm/kol-icon.entry.js.map +1 -1
- package/dist/esm/kol-image.entry.js +1 -1
- package/dist/esm/kol-image.entry.js.map +1 -1
- package/dist/esm/kol-indented-text.entry.js +1 -1
- package/dist/esm/kol-indented-text.entry.js.map +1 -1
- package/dist/esm/kol-input-checkbox.entry.js +1 -1
- package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
- package/dist/esm/kol-input-color.entry.js +1 -1
- package/dist/esm/kol-input-color.entry.js.map +1 -1
- package/dist/esm/kol-input-date.entry.js +1 -1
- package/dist/esm/kol-input-date.entry.js.map +1 -1
- package/dist/esm/kol-input-email.entry.js +1 -1
- package/dist/esm/kol-input-email.entry.js.map +1 -1
- package/dist/esm/kol-input-file.entry.js +1 -1
- package/dist/esm/kol-input-file.entry.js.map +1 -1
- package/dist/esm/kol-input-number.entry.js +1 -1
- package/dist/esm/kol-input-number.entry.js.map +1 -1
- package/dist/esm/kol-input-password.entry.js +1 -1
- package/dist/esm/kol-input-password.entry.js.map +1 -1
- package/dist/esm/kol-input-radio.entry.js +1 -1
- package/dist/esm/kol-input-radio.entry.js.map +1 -1
- package/dist/esm/kol-input-range.entry.js +1 -1
- package/dist/esm/kol-input-range.entry.js.map +1 -1
- package/dist/esm/kol-input-text.entry.js +1 -1
- package/dist/esm/kol-input-text.entry.js.map +1 -1
- package/dist/esm/kol-input.entry.js +1 -1
- package/dist/esm/kol-input.entry.js.map +1 -1
- package/dist/esm/kol-kolibri.entry.js +1 -1
- package/dist/esm/kol-kolibri.entry.js.map +1 -1
- package/dist/esm/kol-link-button.entry.js +1 -1
- package/dist/esm/kol-link-button.entry.js.map +1 -1
- package/dist/esm/kol-link-group.entry.js +1 -1
- package/dist/esm/kol-link-group.entry.js.map +1 -1
- package/dist/esm/kol-link-wc.entry.js +1 -1
- package/dist/esm/kol-link-wc.entry.js.map +1 -1
- package/dist/esm/kol-link.entry.js +1 -1
- package/dist/esm/kol-link.entry.js.map +1 -1
- package/dist/esm/kol-logo.entry.js +1 -1
- package/dist/esm/kol-logo.entry.js.map +1 -1
- package/dist/esm/kol-modal.entry.js +1 -1
- package/dist/esm/kol-modal.entry.js.map +1 -1
- package/dist/esm/kol-nav.entry.js +1 -1
- package/dist/esm/kol-nav.entry.js.map +1 -1
- package/dist/esm/kol-pagination.entry.js +1 -1
- package/dist/esm/kol-pagination.entry.js.map +1 -1
- package/dist/esm/kol-popover-wc.entry.js +1 -1
- package/dist/esm/kol-popover-wc.entry.js.map +1 -1
- package/dist/esm/kol-progress.entry.js +1 -1
- package/dist/esm/kol-progress.entry.js.map +1 -1
- package/dist/esm/kol-quote.entry.js +1 -1
- package/dist/esm/kol-quote.entry.js.map +1 -1
- package/dist/esm/kol-select.entry.js +1 -1
- package/dist/esm/kol-select.entry.js.map +1 -1
- package/dist/esm/kol-skip-nav.entry.js +1 -1
- package/dist/esm/kol-skip-nav.entry.js.map +1 -1
- package/dist/esm/kol-span-wc_2.entry.js +4 -0
- package/dist/esm/kol-span-wc_2.entry.js.map +1 -0
- package/dist/esm/kol-span.entry.js +1 -1
- package/dist/esm/kol-span.entry.js.map +1 -1
- package/dist/esm/kol-spin.entry.js +1 -1
- package/dist/esm/kol-spin.entry.js.map +1 -1
- package/dist/esm/kol-split-button.entry.js +1 -1
- package/dist/esm/kol-split-button.entry.js.map +1 -1
- package/dist/esm/kol-symbol.entry.js +1 -1
- package/dist/esm/kol-symbol.entry.js.map +1 -1
- package/dist/esm/kol-table.entry.js +1 -1
- package/dist/esm/kol-table.entry.js.map +1 -1
- package/dist/esm/kol-tabs.entry.js +1 -1
- package/dist/esm/kol-tabs.entry.js.map +1 -1
- package/dist/esm/kol-textarea.entry.js +1 -1
- package/dist/esm/kol-textarea.entry.js.map +1 -1
- package/dist/esm/kol-toast-container.entry.js +1 -1
- package/dist/esm/kol-toast-container.entry.js.map +1 -1
- package/dist/esm/kol-version.entry.js +1 -1
- package/dist/esm/kol-version.entry.js.map +1 -1
- package/dist/esm/kolibri.js +1 -1
- package/dist/esm/kolibri.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/reprod-accordion-does-not-toggle-with-open-930fccf8.js +1 -1
- package/dist/esm/table-render-function-835a18a0.js +4 -0
- package/dist/esm/table-render-function-835a18a0.js.map +1 -0
- package/dist/esm/toaster-bd34d3c2.js.map +1 -1
- package/dist/esm/validation-223a4d10.js +4 -0
- package/dist/esm/validation-223a4d10.js.map +1 -0
- package/dist/esm/validation-e8916c82.js +4 -0
- package/dist/esm/validation-e8916c82.js.map +1 -0
- package/dist/kolibri/InternalUnderlinedAccessKey-43e30086.js +4 -0
- package/dist/kolibri/align-floating-elements-e01b2462.js +4 -0
- package/dist/kolibri/align-floating-elements-e01b2462.js.map +1 -0
- package/dist/kolibri/app-globals-922be9d8.js +4 -0
- package/dist/kolibri/app-globals-922be9d8.js.map +1 -0
- package/dist/kolibri/associated.controller-ac43f4c8.js +4 -0
- package/dist/kolibri/associated.controller-ac43f4c8.js.map +1 -0
- package/dist/kolibri/controller-04bfb6e9.js +4 -0
- package/dist/kolibri/controller-04bfb6e9.js.map +1 -0
- package/dist/kolibri/controller-433f1c31.js +4 -0
- package/dist/kolibri/controller-433f1c31.js.map +1 -0
- package/dist/kolibri/controller-57209260.js +4 -0
- package/dist/kolibri/controller-57209260.js.map +1 -0
- package/dist/kolibri/controller-657d41f2.js +4 -0
- package/dist/kolibri/controller-657d41f2.js.map +1 -0
- package/dist/kolibri/controller-fcfaa4fe.js +4 -0
- package/dist/kolibri/controller-fcfaa4fe.js.map +1 -0
- package/dist/kolibri/controller-icon-78968844.js +4 -0
- package/dist/kolibri/controller-icon-78968844.js.map +1 -0
- package/dist/kolibri/details-synced-open-state-45ecc035.js +1 -1
- package/dist/kolibri/details-synced-open-state-45ecc035.js.map +1 -1
- package/dist/kolibri/dev.utils-d2e25c84.js +4 -0
- package/dist/kolibri/dev.utils-d2e25c84.js.map +1 -0
- package/dist/kolibri/devtools-e9d54bcb.js +4 -0
- package/dist/kolibri/devtools-e9d54bcb.js.map +1 -0
- package/dist/kolibri/i18n-346a0ba2.js +4 -0
- package/dist/kolibri/i18n-346a0ba2.js.map +1 -0
- package/dist/kolibri/index-0b7aa54b.js +5 -0
- package/dist/kolibri/index-0b7aa54b.js.map +1 -0
- package/dist/kolibri/index-12a653a5.js +4 -0
- package/dist/kolibri/index-12a653a5.js.map +1 -0
- package/dist/kolibri/index-807d8631.js +4 -0
- package/dist/kolibri/index-807d8631.js.map +1 -0
- package/dist/kolibri/index-88a06abd.js +4 -0
- package/dist/kolibri/index-88a06abd.js.map +1 -0
- package/dist/kolibri/index.esm.js +1 -1
- package/dist/kolibri/input-error-bc5a177b.js +4 -0
- package/dist/kolibri/input-error-bc5a177b.js.map +1 -0
- package/dist/kolibri/kol-abbr.entry.js +1 -1
- package/dist/kolibri/kol-abbr.entry.js.map +1 -1
- package/dist/kolibri/kol-accordion.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.js.map +1 -1
- package/dist/kolibri/kol-alert-wc_3.entry.js +4 -0
- package/dist/kolibri/kol-alert-wc_3.entry.js.map +1 -0
- package/dist/kolibri/kol-alert.entry.js +1 -1
- package/dist/kolibri/kol-alert.entry.js.map +1 -1
- package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
- package/dist/kolibri/kol-avatar-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-avatar.entry.js +1 -1
- package/dist/kolibri/kol-avatar.entry.js.map +1 -1
- package/dist/kolibri/kol-badge.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js.map +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
- package/dist/kolibri/kol-button-group-wc.entry.js +1 -1
- package/dist/kolibri/kol-button-group-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-button-group.entry.js +1 -1
- package/dist/kolibri/kol-button-group.entry.js.map +1 -1
- package/dist/kolibri/kol-button-link.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.js.map +1 -1
- package/dist/kolibri/kol-button.entry.js +1 -1
- package/dist/kolibri/kol-button.entry.js.map +1 -1
- package/dist/kolibri/kol-card.entry.js +1 -1
- package/dist/kolibri/kol-card.entry.js.map +1 -1
- package/dist/kolibri/kol-details.entry.js +1 -1
- package/dist/kolibri/kol-details.entry.js.map +1 -1
- package/dist/kolibri/kol-form.entry.js +1 -1
- package/dist/kolibri/kol-form.entry.js.map +1 -1
- package/dist/kolibri/kol-heading.entry.js +1 -1
- package/dist/kolibri/kol-heading.entry.js.map +1 -1
- package/dist/kolibri/kol-icon.entry.js +1 -1
- package/dist/kolibri/kol-icon.entry.js.map +1 -1
- package/dist/kolibri/kol-image.entry.js +1 -1
- package/dist/kolibri/kol-image.entry.js.map +1 -1
- package/dist/kolibri/kol-indented-text.entry.js +1 -1
- package/dist/kolibri/kol-indented-text.entry.js.map +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
- package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
- package/dist/kolibri/kol-input-color.entry.js +1 -1
- package/dist/kolibri/kol-input-color.entry.js.map +1 -1
- package/dist/kolibri/kol-input-date.entry.js +1 -1
- package/dist/kolibri/kol-input-date.entry.js.map +1 -1
- package/dist/kolibri/kol-input-email.entry.js +1 -1
- package/dist/kolibri/kol-input-email.entry.js.map +1 -1
- package/dist/kolibri/kol-input-file.entry.js +1 -1
- package/dist/kolibri/kol-input-file.entry.js.map +1 -1
- package/dist/kolibri/kol-input-number.entry.js +1 -1
- package/dist/kolibri/kol-input-number.entry.js.map +1 -1
- package/dist/kolibri/kol-input-password.entry.js +1 -1
- package/dist/kolibri/kol-input-password.entry.js.map +1 -1
- package/dist/kolibri/kol-input-radio.entry.js +1 -1
- package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
- package/dist/kolibri/kol-input-range.entry.js +1 -1
- package/dist/kolibri/kol-input-range.entry.js.map +1 -1
- package/dist/kolibri/kol-input-text.entry.js +1 -1
- package/dist/kolibri/kol-input-text.entry.js.map +1 -1
- package/dist/kolibri/kol-input.entry.js +1 -1
- package/dist/kolibri/kol-input.entry.js.map +1 -1
- package/dist/kolibri/kol-kolibri.entry.js +1 -1
- package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
- package/dist/kolibri/kol-link-button.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.js.map +1 -1
- package/dist/kolibri/kol-link-group.entry.js +1 -1
- package/dist/kolibri/kol-link-group.entry.js.map +1 -1
- package/dist/kolibri/kol-link-wc.entry.js +1 -1
- package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-link.entry.js +1 -1
- package/dist/kolibri/kol-link.entry.js.map +1 -1
- package/dist/kolibri/kol-logo.entry.js +1 -1
- package/dist/kolibri/kol-logo.entry.js.map +1 -1
- package/dist/kolibri/kol-modal.entry.js +1 -1
- package/dist/kolibri/kol-modal.entry.js.map +1 -1
- package/dist/kolibri/kol-nav.entry.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-pagination.entry.js.map +1 -1
- package/dist/kolibri/kol-popover-wc.entry.js +1 -1
- package/dist/kolibri/kol-popover-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js.map +1 -1
- package/dist/kolibri/kol-quote.entry.js +1 -1
- package/dist/kolibri/kol-quote.entry.js.map +1 -1
- package/dist/kolibri/kol-select.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.js.map +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
- package/dist/kolibri/kol-span-wc_2.entry.js +4 -0
- package/dist/kolibri/kol-span-wc_2.entry.js.map +1 -0
- package/dist/kolibri/kol-span.entry.js +1 -1
- package/dist/kolibri/kol-span.entry.js.map +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-spin.entry.js.map +1 -1
- package/dist/kolibri/kol-split-button.entry.js +1 -1
- package/dist/kolibri/kol-split-button.entry.js.map +1 -1
- package/dist/kolibri/kol-symbol.entry.js +1 -1
- package/dist/kolibri/kol-symbol.entry.js.map +1 -1
- package/dist/kolibri/kol-table.entry.js +1 -1
- package/dist/kolibri/kol-table.entry.js.map +1 -1
- package/dist/kolibri/kol-tabs.entry.js +1 -1
- package/dist/kolibri/kol-tabs.entry.js.map +1 -1
- package/dist/kolibri/kol-textarea.entry.js +1 -1
- package/dist/kolibri/kol-textarea.entry.js.map +1 -1
- package/dist/kolibri/kol-toast-container.entry.js +1 -1
- package/dist/kolibri/kol-toast-container.entry.js.map +1 -1
- package/dist/kolibri/kol-version.entry.js +1 -1
- package/dist/kolibri/kol-version.entry.js.map +1 -1
- package/dist/kolibri/kolibri.esm.js +1 -1
- package/dist/kolibri/kolibri.esm.js.map +1 -1
- package/dist/kolibri/reprod-accordion-does-not-toggle-with-open-930fccf8.js +1 -1
- package/dist/kolibri/reprod-accordion-does-not-toggle-with-open-930fccf8.js.map +1 -1
- package/dist/kolibri/table-render-function-835a18a0.js +4 -0
- package/dist/kolibri/table-render-function-835a18a0.js.map +1 -0
- package/dist/kolibri/toaster-bd34d3c2.js.map +1 -1
- package/dist/kolibri/validation-223a4d10.js +4 -0
- package/dist/kolibri/validation-223a4d10.js.map +1 -0
- package/dist/kolibri/validation-e8916c82.js +4 -0
- package/dist/kolibri/validation-e8916c82.js.map +1 -0
- package/dist/types/components/@deprecated/input/controller-icon.d.ts +2 -3
- package/dist/types/components/@deprecated/input/controller.d.ts +3 -7
- package/dist/types/components/@deprecated/input/types-icon.d.ts +1 -3
- package/dist/types/components/@deprecated/input/types.d.ts +1 -4
- package/dist/types/components/@else/all/component.d.ts +1 -1
- package/dist/types/components/@else/counter/component.d.ts +1 -1
- package/dist/types/components/abbr/component.d.ts +4 -6
- package/dist/types/components/abbr/test/html.mock.d.ts +2 -2
- package/dist/types/components/accordion/component.d.ts +4 -7
- package/dist/types/components/accordion/test/html.mock.d.ts +2 -2
- package/dist/types/components/alert/component.d.ts +4 -7
- package/dist/types/components/alert/shadow.d.ts +4 -6
- package/dist/types/components/alert/test/html.mock.d.ts +2 -2
- package/dist/types/components/avatar/component.d.ts +4 -6
- package/dist/types/components/avatar/shadow.d.ts +3 -3
- package/dist/types/components/avatar/test/html.mock.d.ts +2 -2
- package/dist/types/components/badge/component.d.ts +4 -9
- package/dist/types/components/badge/test/html.mock.d.ts +3 -3
- package/dist/types/components/breadcrumb/component.d.ts +4 -7
- package/dist/types/components/breadcrumb/test/html.mock.d.ts +2 -2
- package/dist/types/components/button/component.d.ts +3 -17
- package/dist/types/components/button/shadow.d.ts +3 -15
- package/dist/types/components/button/test/html.mock.d.ts +3 -3
- package/dist/types/components/button-group/component.d.ts +4 -4
- package/dist/types/components/button-group/shadow.d.ts +3 -3
- package/dist/types/components/button-link/component.d.ts +3 -15
- package/dist/types/components/button-link/test/html.mock.d.ts +2 -2
- package/dist/types/components/card/component.d.ts +4 -7
- package/dist/types/components/card/test/html.mock.d.ts +2 -2
- package/dist/types/components/details/component.d.ts +4 -5
- package/dist/types/components/details/test/html.mock.d.ts +2 -2
- package/dist/types/components/form/component.d.ts +7 -5
- package/dist/types/components/form/test/html.mock.d.ts +2 -2
- package/dist/types/components/heading/component.d.ts +4 -7
- package/dist/types/components/heading/shadow.d.ts +3 -6
- package/dist/types/components/heading/test/html.mock.d.ts +3 -3
- package/dist/types/components/heading/validation.d.ts +1 -1
- package/dist/types/components/icon/component.d.ts +4 -5
- package/dist/types/components/icon/test/html.mock.d.ts +2 -2
- package/dist/types/components/image/shadow.d.ts +4 -6
- package/dist/types/components/image/test/html.mock.d.ts +2 -2
- package/dist/types/components/indented-text/component.d.ts +4 -4
- package/dist/types/components/indented-text/test/html.mock.d.ts +2 -2
- package/dist/types/components/input/component.d.ts +3 -10
- package/dist/types/components/input/controller.d.ts +1 -1
- package/dist/types/components/input/types.d.ts +1 -17
- package/dist/types/components/input-adapter-leanup/associated.controller.d.ts +1 -3
- package/dist/types/components/input-adapter-leanup/controller.d.ts +1 -1
- package/dist/types/components/input-checkbox/component.d.ts +4 -15
- package/dist/types/components/input-checkbox/controller.d.ts +5 -9
- package/dist/types/components/input-color/component.d.ts +4 -15
- package/dist/types/components/input-color/controller.d.ts +5 -7
- package/dist/types/components/input-date/component.d.ts +4 -18
- package/dist/types/components/input-date/controller.d.ts +6 -11
- package/dist/types/components/input-email/component.d.ts +4 -16
- package/dist/types/components/input-email/controller.d.ts +4 -5
- package/dist/types/components/input-file/component.d.ts +4 -14
- package/dist/types/components/input-file/controller.d.ts +4 -4
- package/dist/types/components/input-number/component.d.ts +4 -16
- package/dist/types/components/input-number/controller.d.ts +5 -8
- package/dist/types/components/input-password/component.d.ts +4 -14
- package/dist/types/components/input-password/controller.d.ts +5 -6
- package/dist/types/components/input-radio/component.d.ts +4 -16
- package/dist/types/components/input-radio/controller.d.ts +4 -11
- package/dist/types/components/input-range/component.d.ts +4 -14
- package/dist/types/components/input-range/controller.d.ts +5 -7
- package/dist/types/components/input-text/component.d.ts +4 -17
- package/dist/types/components/input-text/controller.d.ts +2 -5
- package/dist/types/components/kolibri/component.d.ts +4 -6
- package/dist/types/components/link/component.d.ts +3 -17
- package/dist/types/components/link/shadow.d.ts +2 -14
- package/dist/types/components/link/test/html.mock.d.ts +1 -1
- package/dist/types/components/link-button/component.d.ts +3 -16
- package/dist/types/components/link-group/component.d.ts +4 -8
- package/dist/types/components/logo/component.d.ts +2 -2
- package/dist/types/components/logo/types.d.ts +1 -1
- package/dist/types/components/modal/component.d.ts +4 -6
- package/dist/types/components/nav/component.d.ts +8 -12
- package/dist/types/components/nav/validation.d.ts +1 -3
- package/dist/types/components/pagination/component.d.ts +4 -9
- package/dist/types/components/popover/component.d.ts +4 -6
- package/dist/types/components/popover/test/html.mock.d.ts +2 -2
- package/dist/types/components/progress/component.d.ts +4 -6
- package/dist/types/components/quote/shadow.d.ts +4 -6
- package/dist/types/components/quote/test/html.mock.d.ts +2 -2
- package/dist/types/components/select/component.d.ts +4 -16
- package/dist/types/components/select/controller.d.ts +5 -10
- package/dist/types/components/skip-nav/component.d.ts +4 -7
- package/dist/types/components/span/component.d.ts +4 -9
- package/dist/types/components/span/shadow.d.ts +3 -7
- package/dist/types/components/span/test/html.mock.d.ts +3 -3
- package/dist/types/components/spin/component.d.ts +4 -6
- package/dist/types/components/spin/test/html.mock.d.ts +2 -2
- package/dist/types/components/split-button/component.d.ts +4 -15
- package/dist/types/components/symbol/component.d.ts +4 -5
- package/dist/types/components/symbol/test/html.mock.d.ts +2 -2
- package/dist/types/components/table/component.d.ts +14 -8
- package/dist/types/components/tabs/component.d.ts +4 -7
- package/dist/types/components/textarea/component.d.ts +6 -15
- package/dist/types/components/textarea/controller.d.ts +5 -7
- package/dist/types/components/toaster/InternalToast.d.ts +1 -1
- package/dist/types/components/toaster/component.d.ts +4 -4
- package/dist/types/components/toaster/toaster.d.ts +1 -1
- package/dist/types/components/tooltip/component.d.ts +4 -8
- package/dist/types/components/tooltip/test/html.mock.d.ts +2 -2
- package/dist/types/components/version/component.d.ts +4 -5
- package/dist/types/components/version/test/html.mock.d.ts +3 -3
- package/dist/types/components.d.ts +18 -169
- package/dist/types/core/index.d.ts +1 -1
- package/dist/types/dev/input-error.d.ts +2 -0
- package/dist/types/dev/table-render-function.d.ts +1 -0
- package/dist/types/i18n.d.ts +1 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/locales/de.d.ts +4 -8
- package/dist/types/locales/en.d.ts +4 -8
- package/dist/types/utils/align-floating-elements.d.ts +1 -1
- package/dist/types/utils/color.utils.d.ts +1 -1
- package/doc/abbr.md +1 -1
- package/doc/accordion.md +1 -1
- package/doc/alert.md +1 -1
- package/doc/avatar.md +1 -1
- package/doc/badge.md +1 -1
- package/doc/breadcrumb.md +1 -1
- package/doc/button-group.md +1 -1
- package/doc/button-link.md +1 -1
- package/doc/button.md +1 -1
- package/doc/card.md +1 -1
- package/doc/details.md +1 -1
- package/doc/form.md +22 -5
- package/doc/heading.md +1 -1
- package/doc/icon.md +1 -1
- package/doc/indented-text.md +1 -1
- package/doc/input-checkbox.md +1 -1
- package/doc/input-color.md +1 -1
- package/doc/input-date.md +1 -1
- package/doc/input-email.md +1 -1
- package/doc/input-file.md +1 -1
- package/doc/input-number.md +1 -1
- package/doc/input-password.md +1 -1
- package/doc/input-radio.md +1 -1
- package/doc/input-range.md +1 -1
- package/doc/input-text.md +1 -1
- package/doc/kolibri.md +4 -4
- package/doc/link-button.md +17 -18
- package/doc/link-group.md +1 -1
- package/doc/link.md +17 -16
- package/doc/nav.md +31 -21
- package/doc/pagination.md +1 -1
- package/doc/quote.md +1 -1
- package/doc/select.md +1 -1
- package/doc/skip-nav.md +1 -1
- package/doc/span.md +1 -1
- package/doc/split-button.md +1 -1
- package/doc/table.md +13 -10
- package/doc/tabs.md +2 -2
- package/doc/textarea.md +1 -1
- package/doc/toaster.md +2 -2
- package/doc/tooltip.md +1 -1
- package/doc/version.md +1 -1
- package/package.json +1 -1
- package/vscode-custom-data.json +15 -8
- package/dist/cjs/a11y.tipps-bde4c917.js +0 -4
- package/dist/cjs/a11y.tipps-bde4c917.js.map +0 -1
- package/dist/cjs/access-key-0cc8c925.js +0 -4
- package/dist/cjs/access-key-0cc8c925.js.map +0 -1
- package/dist/cjs/align-floating-elements-656b8edb.js +0 -4
- package/dist/cjs/align-floating-elements-656b8edb.js.map +0 -1
- package/dist/cjs/alignment-ed625336.js +0 -4
- package/dist/cjs/alignment-ed625336.js.map +0 -1
- package/dist/cjs/alternative-button-link-role-d4424d08.js +0 -4
- package/dist/cjs/alternative-button-link-role-d4424d08.js.map +0 -1
- package/dist/cjs/app-globals-0b0132d3.js +0 -4
- package/dist/cjs/app-globals-0b0132d3.js.map +0 -1
- package/dist/cjs/associated.controller-b24b75d0.js +0 -4
- package/dist/cjs/associated.controller-b24b75d0.js.map +0 -1
- package/dist/cjs/color-7a4690e4.js +0 -4
- package/dist/cjs/color-7a4690e4.js.map +0 -1
- package/dist/cjs/controller-0ccb739c.js +0 -4
- package/dist/cjs/controller-0ccb739c.js.map +0 -1
- package/dist/cjs/controller-2d5e8b0b.js +0 -4
- package/dist/cjs/controller-2d5e8b0b.js.map +0 -1
- package/dist/cjs/controller-3c7a8401.js +0 -4
- package/dist/cjs/controller-3c7a8401.js.map +0 -1
- package/dist/cjs/controller-924d172b.js +0 -4
- package/dist/cjs/controller-924d172b.js.map +0 -1
- package/dist/cjs/controller-e36ad432.js +0 -4
- package/dist/cjs/controller-e36ad432.js.map +0 -1
- package/dist/cjs/controller-icon-71e37377.js +0 -4
- package/dist/cjs/controller-icon-71e37377.js.map +0 -1
- package/dist/cjs/custom-class-00d4c432.js +0 -4
- package/dist/cjs/custom-class-00d4c432.js.map +0 -1
- package/dist/cjs/dev.utils-a6b6f115.js +0 -4
- package/dist/cjs/dev.utils-a6b6f115.js.map +0 -1
- package/dist/cjs/devtools-5d316ec1.js +0 -4
- package/dist/cjs/devtools-5d316ec1.js.map +0 -1
- package/dist/cjs/has-closer-135c8b18.js +0 -4
- package/dist/cjs/has-closer-135c8b18.js.map +0 -1
- package/dist/cjs/hide-label-869c662f.js +0 -4
- package/dist/cjs/hide-label-869c662f.js.map +0 -1
- package/dist/cjs/i18n-3094a3c4.js +0 -4
- package/dist/cjs/i18n-3094a3c4.js.map +0 -1
- package/dist/cjs/icons-cd5e767b.js +0 -4
- package/dist/cjs/icons-cd5e767b.js.map +0 -1
- package/dist/cjs/image-source-4b6e0c0e.js +0 -4
- package/dist/cjs/image-source-4b6e0c0e.js.map +0 -1
- package/dist/cjs/index-3145a30d.js +0 -4
- package/dist/cjs/index-3145a30d.js.map +0 -1
- package/dist/cjs/index-759bf886.js +0 -4
- package/dist/cjs/index-759bf886.js.map +0 -1
- package/dist/cjs/index-e779e8b0.js +0 -4
- package/dist/cjs/index-e779e8b0.js.map +0 -1
- package/dist/cjs/kol-alert-wc_2.cjs.entry.js +0 -4
- package/dist/cjs/kol-alert-wc_2.cjs.entry.js.map +0 -1
- package/dist/cjs/kol-button-link-text-switch.cjs.entry.js +0 -4
- package/dist/cjs/kol-button-link-text-switch.cjs.entry.js.map +0 -1
- package/dist/cjs/kol-button-wc_2.cjs.entry.js +0 -4
- package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +0 -1
- package/dist/cjs/kol-span-wc.cjs.entry.js +0 -4
- package/dist/cjs/kol-span-wc.cjs.entry.js.map +0 -1
- package/dist/cjs/label-a5fa1288.js +0 -4
- package/dist/cjs/label-a5fa1288.js.map +0 -1
- package/dist/cjs/open-ca19e687.js +0 -4
- package/dist/cjs/open-ca19e687.js.map +0 -1
- package/dist/cjs/prop.validators-03eee51d.js +0 -4
- package/dist/cjs/prop.validators-03eee51d.js.map +0 -1
- package/dist/cjs/reuse-a4c8450e.js +0 -4
- package/dist/cjs/reuse-a4c8450e.js.map +0 -1
- package/dist/cjs/rows-7e3a7f8b.js +0 -4
- package/dist/cjs/rows-7e3a7f8b.js.map +0 -1
- package/dist/cjs/show-48f559f5.js +0 -4
- package/dist/cjs/show-48f559f5.js.map +0 -1
- package/dist/cjs/suggestions-2d56c664.js +0 -4
- package/dist/cjs/suggestions-2d56c664.js.map +0 -1
- package/dist/cjs/tab-index-3943c150.js +0 -4
- package/dist/cjs/tab-index-3943c150.js.map +0 -1
- package/dist/cjs/tooltip-align-d904bd68.js +0 -4
- package/dist/cjs/tooltip-align-d904bd68.js.map +0 -1
- package/dist/cjs/validation-a0c362ef.js +0 -4
- package/dist/cjs/validation-a0c362ef.js.map +0 -1
- package/dist/cjs/validation-c3b2105a.js +0 -4
- package/dist/cjs/validation-c3b2105a.js.map +0 -1
- package/dist/components/color.js +0 -4
- package/dist/components/color.js.map +0 -1
- package/dist/components/component15.js +0 -4
- package/dist/components/component15.js.map +0 -1
- package/dist/components/has-closer.js +0 -4
- package/dist/components/has-closer.js.map +0 -1
- package/dist/components/image-source.js +0 -4
- package/dist/components/image-source.js.map +0 -1
- package/dist/components/kol-button-link-text-switch.d.ts +0 -11
- package/dist/components/kol-button-link-text-switch.js +0 -4
- package/dist/components/kol-button-link-text-switch.js.map +0 -1
- package/dist/components/label.js +0 -4
- package/dist/components/label.js.map +0 -1
- package/dist/components/open.js +0 -4
- package/dist/components/open.js.map +0 -1
- package/dist/components/prop.validators.js +0 -4
- package/dist/components/prop.validators.js.map +0 -1
- package/dist/components/rows.js +0 -4
- package/dist/components/rows.js.map +0 -1
- package/dist/components/show.js +0 -4
- package/dist/components/show.js.map +0 -1
- package/dist/components/suggestions.js +0 -4
- package/dist/components/suggestions.js.map +0 -1
- package/dist/components/tab-index.js +0 -4
- package/dist/components/tab-index.js.map +0 -1
- package/dist/components/tooltip-align.js +0 -4
- package/dist/components/tooltip-align.js.map +0 -1
- package/dist/esm/a11y.tipps-f14bff66.js +0 -4
- package/dist/esm/a11y.tipps-f14bff66.js.map +0 -1
- package/dist/esm/access-key-d9d3ed1b.js +0 -4
- package/dist/esm/access-key-d9d3ed1b.js.map +0 -1
- package/dist/esm/align-floating-elements-e1edfaae.js +0 -4
- package/dist/esm/align-floating-elements-e1edfaae.js.map +0 -1
- package/dist/esm/alignment-3d2d9391.js +0 -4
- package/dist/esm/alignment-3d2d9391.js.map +0 -1
- package/dist/esm/alternative-button-link-role-30b77bb6.js +0 -4
- package/dist/esm/alternative-button-link-role-30b77bb6.js.map +0 -1
- package/dist/esm/app-globals-b8186895.js +0 -4
- package/dist/esm/app-globals-b8186895.js.map +0 -1
- package/dist/esm/associated.controller-e642039e.js +0 -4
- package/dist/esm/associated.controller-e642039e.js.map +0 -1
- package/dist/esm/color-d4c99af3.js +0 -4
- package/dist/esm/color-d4c99af3.js.map +0 -1
- package/dist/esm/controller-3577ccfd.js +0 -4
- package/dist/esm/controller-3577ccfd.js.map +0 -1
- package/dist/esm/controller-7d1c3e92.js +0 -4
- package/dist/esm/controller-7d1c3e92.js.map +0 -1
- package/dist/esm/controller-8698d9f4.js +0 -4
- package/dist/esm/controller-8698d9f4.js.map +0 -1
- package/dist/esm/controller-9df5563d.js +0 -4
- package/dist/esm/controller-9df5563d.js.map +0 -1
- package/dist/esm/controller-b2e189a7.js +0 -4
- package/dist/esm/controller-b2e189a7.js.map +0 -1
- package/dist/esm/controller-icon-508a2cb1.js +0 -4
- package/dist/esm/controller-icon-508a2cb1.js.map +0 -1
- package/dist/esm/custom-class-6cd3b804.js +0 -4
- package/dist/esm/custom-class-6cd3b804.js.map +0 -1
- package/dist/esm/dev.utils-889226ab.js +0 -4
- package/dist/esm/dev.utils-889226ab.js.map +0 -1
- package/dist/esm/devtools-cc168b70.js +0 -4
- package/dist/esm/devtools-cc168b70.js.map +0 -1
- package/dist/esm/has-closer-0601d93e.js +0 -4
- package/dist/esm/has-closer-0601d93e.js.map +0 -1
- package/dist/esm/hide-label-6593df3f.js +0 -4
- package/dist/esm/hide-label-6593df3f.js.map +0 -1
- package/dist/esm/i18n-9a4c8edc.js +0 -4
- package/dist/esm/i18n-9a4c8edc.js.map +0 -1
- package/dist/esm/icons-44b68720.js +0 -4
- package/dist/esm/icons-44b68720.js.map +0 -1
- package/dist/esm/image-source-4b04e9f2.js +0 -4
- package/dist/esm/image-source-4b04e9f2.js.map +0 -1
- package/dist/esm/index-12eec578.js +0 -4
- package/dist/esm/index-12eec578.js.map +0 -1
- package/dist/esm/index-5dfe6d77.js +0 -4
- package/dist/esm/index-5dfe6d77.js.map +0 -1
- package/dist/esm/index-a4a4df51.js +0 -4
- package/dist/esm/index-a4a4df51.js.map +0 -1
- package/dist/esm/kol-alert-wc_2.entry.js +0 -4
- package/dist/esm/kol-alert-wc_2.entry.js.map +0 -1
- package/dist/esm/kol-button-link-text-switch.entry.js +0 -4
- package/dist/esm/kol-button-link-text-switch.entry.js.map +0 -1
- package/dist/esm/kol-button-wc_2.entry.js +0 -4
- package/dist/esm/kol-button-wc_2.entry.js.map +0 -1
- package/dist/esm/kol-span-wc.entry.js +0 -4
- package/dist/esm/kol-span-wc.entry.js.map +0 -1
- package/dist/esm/label-8258848f.js +0 -4
- package/dist/esm/label-8258848f.js.map +0 -1
- package/dist/esm/open-329b7907.js +0 -4
- package/dist/esm/open-329b7907.js.map +0 -1
- package/dist/esm/prop.validators-c12923a5.js +0 -4
- package/dist/esm/prop.validators-c12923a5.js.map +0 -1
- package/dist/esm/reuse-d79ab469.js +0 -4
- package/dist/esm/reuse-d79ab469.js.map +0 -1
- package/dist/esm/rows-14d6fb92.js +0 -4
- package/dist/esm/rows-14d6fb92.js.map +0 -1
- package/dist/esm/show-9a06c90e.js +0 -4
- package/dist/esm/show-9a06c90e.js.map +0 -1
- package/dist/esm/suggestions-dc12a293.js +0 -4
- package/dist/esm/suggestions-dc12a293.js.map +0 -1
- package/dist/esm/tab-index-9e8a3c00.js +0 -4
- package/dist/esm/tab-index-9e8a3c00.js.map +0 -1
- package/dist/esm/tooltip-align-a3d27a89.js +0 -4
- package/dist/esm/tooltip-align-a3d27a89.js.map +0 -1
- package/dist/esm/validation-17e52787.js +0 -4
- package/dist/esm/validation-17e52787.js.map +0 -1
- package/dist/esm/validation-3c0b31d7.js +0 -4
- package/dist/esm/validation-3c0b31d7.js.map +0 -1
- package/dist/kolibri/InternalUnderlinedAccessKey-3d146073.js +0 -4
- package/dist/kolibri/a11y.tipps-f14bff66.js +0 -4
- package/dist/kolibri/a11y.tipps-f14bff66.js.map +0 -1
- package/dist/kolibri/access-key-d9d3ed1b.js +0 -4
- package/dist/kolibri/access-key-d9d3ed1b.js.map +0 -1
- package/dist/kolibri/align-floating-elements-e1edfaae.js +0 -4
- package/dist/kolibri/align-floating-elements-e1edfaae.js.map +0 -1
- package/dist/kolibri/alignment-3d2d9391.js +0 -4
- package/dist/kolibri/alignment-3d2d9391.js.map +0 -1
- package/dist/kolibri/alternative-button-link-role-30b77bb6.js +0 -4
- package/dist/kolibri/alternative-button-link-role-30b77bb6.js.map +0 -1
- package/dist/kolibri/app-globals-b8186895.js +0 -4
- package/dist/kolibri/app-globals-b8186895.js.map +0 -1
- package/dist/kolibri/associated.controller-e642039e.js +0 -4
- package/dist/kolibri/associated.controller-e642039e.js.map +0 -1
- package/dist/kolibri/color-d4c99af3.js +0 -4
- package/dist/kolibri/color-d4c99af3.js.map +0 -1
- package/dist/kolibri/controller-3577ccfd.js +0 -4
- package/dist/kolibri/controller-3577ccfd.js.map +0 -1
- package/dist/kolibri/controller-7d1c3e92.js +0 -4
- package/dist/kolibri/controller-7d1c3e92.js.map +0 -1
- package/dist/kolibri/controller-8698d9f4.js +0 -4
- package/dist/kolibri/controller-8698d9f4.js.map +0 -1
- package/dist/kolibri/controller-9df5563d.js +0 -4
- package/dist/kolibri/controller-9df5563d.js.map +0 -1
- package/dist/kolibri/controller-b2e189a7.js +0 -4
- package/dist/kolibri/controller-b2e189a7.js.map +0 -1
- package/dist/kolibri/controller-icon-508a2cb1.js +0 -4
- package/dist/kolibri/controller-icon-508a2cb1.js.map +0 -1
- package/dist/kolibri/custom-class-6cd3b804.js +0 -4
- package/dist/kolibri/custom-class-6cd3b804.js.map +0 -1
- package/dist/kolibri/dev.utils-889226ab.js +0 -4
- package/dist/kolibri/dev.utils-889226ab.js.map +0 -1
- package/dist/kolibri/devtools-cc168b70.js +0 -4
- package/dist/kolibri/devtools-cc168b70.js.map +0 -1
- package/dist/kolibri/has-closer-0601d93e.js +0 -4
- package/dist/kolibri/has-closer-0601d93e.js.map +0 -1
- package/dist/kolibri/hide-label-6593df3f.js +0 -4
- package/dist/kolibri/hide-label-6593df3f.js.map +0 -1
- package/dist/kolibri/i18n-9a4c8edc.js +0 -4
- package/dist/kolibri/i18n-9a4c8edc.js.map +0 -1
- package/dist/kolibri/icons-44b68720.js +0 -4
- package/dist/kolibri/icons-44b68720.js.map +0 -1
- package/dist/kolibri/image-source-4b04e9f2.js +0 -4
- package/dist/kolibri/image-source-4b04e9f2.js.map +0 -1
- package/dist/kolibri/index-12eec578.js +0 -4
- package/dist/kolibri/index-12eec578.js.map +0 -1
- package/dist/kolibri/index-5dfe6d77.js +0 -5
- package/dist/kolibri/index-5dfe6d77.js.map +0 -1
- package/dist/kolibri/index-a4a4df51.js +0 -4
- package/dist/kolibri/index-a4a4df51.js.map +0 -1
- package/dist/kolibri/kol-alert-wc_2.entry.js +0 -4
- package/dist/kolibri/kol-alert-wc_2.entry.js.map +0 -1
- package/dist/kolibri/kol-button-link-text-switch.entry.js +0 -4
- package/dist/kolibri/kol-button-link-text-switch.entry.js.map +0 -1
- package/dist/kolibri/kol-button-wc_2.entry.js +0 -4
- package/dist/kolibri/kol-button-wc_2.entry.js.map +0 -1
- package/dist/kolibri/kol-span-wc.entry.js +0 -4
- package/dist/kolibri/kol-span-wc.entry.js.map +0 -1
- package/dist/kolibri/label-8258848f.js +0 -4
- package/dist/kolibri/label-8258848f.js.map +0 -1
- package/dist/kolibri/open-329b7907.js +0 -4
- package/dist/kolibri/open-329b7907.js.map +0 -1
- package/dist/kolibri/prop.validators-c12923a5.js +0 -4
- package/dist/kolibri/prop.validators-c12923a5.js.map +0 -1
- package/dist/kolibri/reuse-d79ab469.js +0 -4
- package/dist/kolibri/reuse-d79ab469.js.map +0 -1
- package/dist/kolibri/rows-14d6fb92.js +0 -4
- package/dist/kolibri/rows-14d6fb92.js.map +0 -1
- package/dist/kolibri/show-9a06c90e.js +0 -4
- package/dist/kolibri/show-9a06c90e.js.map +0 -1
- package/dist/kolibri/suggestions-dc12a293.js +0 -4
- package/dist/kolibri/suggestions-dc12a293.js.map +0 -1
- package/dist/kolibri/tab-index-9e8a3c00.js +0 -4
- package/dist/kolibri/tab-index-9e8a3c00.js.map +0 -1
- package/dist/kolibri/tooltip-align-a3d27a89.js +0 -4
- package/dist/kolibri/tooltip-align-a3d27a89.js.map +0 -1
- package/dist/kolibri/validation-17e52787.js +0 -4
- package/dist/kolibri/validation-17e52787.js.map +0 -1
- package/dist/kolibri/validation-3c0b31d7.js +0 -4
- package/dist/kolibri/validation-3c0b31d7.js.map +0 -1
- package/dist/types/components/abbr/types.d.ts +0 -11
- package/dist/types/components/accordion/types.d.ts +0 -20
- package/dist/types/components/alert/types.d.ts +0 -26
- package/dist/types/components/avatar/types.d.ts +0 -11
- package/dist/types/components/badge/contrast.d.ts +0 -13
- package/dist/types/components/badge/rgba-convert.d.ts +0 -1
- package/dist/types/components/badge/types.d.ts +0 -25
- package/dist/types/components/breadcrumb/types.d.ts +0 -17
- package/dist/types/components/button/types.d.ts +0 -34
- package/dist/types/components/button-group/types.d.ts +0 -9
- package/dist/types/components/button-link/types.d.ts +0 -8
- package/dist/types/components/button-link-text-switch/component.d.ts +0 -11
- package/dist/types/components/button-link-text-switch/types.d.ts +0 -12
- package/dist/types/components/card/types.d.ts +0 -19
- package/dist/types/components/details/types.d.ts +0 -17
- package/dist/types/components/form/types.d.ts +0 -18
- package/dist/types/components/heading/types.d.ts +0 -19
- package/dist/types/components/icon/types.d.ts +0 -12
- package/dist/types/components/image/types.d.ts +0 -22
- package/dist/types/components/indented-text/types.d.ts +0 -9
- package/dist/types/components/input-checkbox/types.d.ts +0 -66
- package/dist/types/components/input-color/types.d.ts +0 -48
- package/dist/types/components/input-date/types.d.ts +0 -48
- package/dist/types/components/input-email/types.d.ts +0 -60
- package/dist/types/components/input-file/types.d.ts +0 -46
- package/dist/types/components/input-number/types.d.ts +0 -47
- package/dist/types/components/input-password/types.d.ts +0 -56
- package/dist/types/components/input-radio/types.d.ts +0 -43
- package/dist/types/components/input-range/types.d.ts +0 -51
- package/dist/types/components/input-text/types.d.ts +0 -62
- package/dist/types/components/kolibri/types.d.ts +0 -20
- package/dist/types/components/link/types.d.ts +0 -25
- package/dist/types/components/link-button/types.d.ts +0 -7
- package/dist/types/components/link-group/types.d.ts +0 -22
- package/dist/types/components/modal/types.d.ts +0 -19
- package/dist/types/components/nav/types.d.ts +0 -22
- package/dist/types/components/pagination/types.d.ts +0 -45
- package/dist/types/components/popover/types.d.ts +0 -13
- package/dist/types/components/progress/types.d.ts +0 -21
- package/dist/types/components/quote/types.d.ts +0 -20
- package/dist/types/components/select/types.d.ts +0 -47
- package/dist/types/components/skip-nav/types.d.ts +0 -15
- package/dist/types/components/span/types.d.ts +0 -25
- package/dist/types/components/spin/types.d.ts +0 -11
- package/dist/types/components/split-button/types.d.ts +0 -18
- package/dist/types/components/symbol/types.d.ts +0 -12
- package/dist/types/components/table/types.d.ts +0 -73
- package/dist/types/components/tabs/types.d.ts +0 -40
- package/dist/types/components/textarea/types.d.ts +0 -52
- package/dist/types/components/toaster/types.d.ts +0 -31
- package/dist/types/components/tooltip/types.d.ts +0 -13
- package/dist/types/components/version/types.d.ts +0 -10
- package/dist/types/enums/events.d.ts +0 -19
- package/dist/types/types/button-link-text.d.ts +0 -29
- package/dist/types/types/callbacks.d.ts +0 -5
- package/dist/types/types/common.d.ts +0 -1
- package/dist/types/types/heading-level.d.ts +0 -2
- package/dist/types/types/icofont.d.ts +0 -1
- package/dist/types/types/icons.d.ts +0 -18
- package/dist/types/types/input/control/number.d.ts +0 -27
- package/dist/types/types/input/control/text.d.ts +0 -2
- package/dist/types/types/input/iso8601.d.ts +0 -14
- package/dist/types/types/input/types.d.ts +0 -29
- package/dist/types/types/modal.d.ts +0 -3
- package/dist/types/types/orientation.d.ts +0 -2
- package/dist/types/types/progress.d.ts +0 -7
- package/dist/types/types/props/access-key.d.ts +0 -6
- package/dist/types/types/props/adjust-height.d.ts +0 -6
- package/dist/types/types/props/alert.d.ts +0 -6
- package/dist/types/types/props/align.d.ts +0 -12
- package/dist/types/types/props/alternative-button-link-role.d.ts +0 -6
- package/dist/types/types/props/aria-controls.d.ts +0 -7
- package/dist/types/types/props/aria-current-value.d.ts +0 -8
- package/dist/types/types/props/aria-expanded.d.ts +0 -7
- package/dist/types/types/props/aria-selected.d.ts +0 -7
- package/dist/types/types/props/button-callbacks.d.ts +0 -12
- package/dist/types/types/props/button-type.d.ts +0 -8
- package/dist/types/types/props/button-variant.d.ts +0 -8
- package/dist/types/types/props/checked.d.ts +0 -6
- package/dist/types/types/props/collapsible.d.ts +0 -6
- package/dist/types/types/props/color.d.ts +0 -16
- package/dist/types/types/props/custom-class.d.ts +0 -6
- package/dist/types/types/props/disabled.d.ts +0 -6
- package/dist/types/types/props/download.d.ts +0 -6
- package/dist/types/types/props/has-closer.d.ts +0 -6
- package/dist/types/types/props/has-compact-button.d.ts +0 -7
- package/dist/types/types/props/has-counter.d.ts +0 -6
- package/dist/types/types/props/heading-variant.d.ts +0 -8
- package/dist/types/types/props/hide-error.d.ts +0 -7
- package/dist/types/types/props/hide-label.d.ts +0 -7
- package/dist/types/types/props/href.d.ts +0 -8
- package/dist/types/types/props/icons.d.ts +0 -10
- package/dist/types/types/props/id.d.ts +0 -6
- package/dist/types/types/props/image-source.d.ts +0 -7
- package/dist/types/types/props/indeterminate.d.ts +0 -6
- package/dist/types/types/props/label.d.ts +0 -15
- package/dist/types/types/props/link-on-callbacks.d.ts +0 -10
- package/dist/types/types/props/link-target.d.ts +0 -6
- package/dist/types/types/props/max.d.ts +0 -8
- package/dist/types/types/props/multiple.d.ts +0 -6
- package/dist/types/types/props/name.d.ts +0 -7
- package/dist/types/types/props/open.d.ts +0 -7
- package/dist/types/types/props/options.d.ts +0 -15
- package/dist/types/types/props/read-only.d.ts +0 -6
- package/dist/types/types/props/required.d.ts +0 -7
- package/dist/types/types/props/rows.d.ts +0 -6
- package/dist/types/types/props/show.d.ts +0 -7
- package/dist/types/types/props/suggestions.d.ts +0 -8
- package/dist/types/types/props/sync-value-by-selector.d.ts +0 -4
- package/dist/types/types/props/tooltip-align.d.ts +0 -7
- package/dist/types/types/props/touched.d.ts +0 -6
- package/dist/types/types/props/variant/spin.d.ts +0 -8
- package/dist/types/types/unknown.d.ts +0 -1
- package/dist/types/types/w3c.d.ts +0 -1
- package/dist/types/utils/a11y.tipps.d.ts +0 -13
- package/dist/types/utils/prop.validators.d.ts +0 -63
- package/dist/types/utils/reuse.d.ts +0 -7
- package/dist/types/utils/validator.d.ts +0 -4
- package/dist/types/utils/validators/alignment.d.ts +0 -3
- package/dist/types/utils/validators/loading.d.ts +0 -5
- package/dist/types/utils/validators/options.d.ts +0 -2
- package/dist/types/utils/validators/tab-index.d.ts +0 -2
- package/dist/types/utils/validators/window.d.ts +0 -0
- /package/dist/kolibri/{InternalUnderlinedAccessKey-3d146073.js.map → InternalUnderlinedAccessKey-43e30086.js.map} +0 -0
- /package/dist/types/components/{badge → kolibri}/color-rgba.d.ts +0 -0
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["min","Math","max","round","floor","createCoords","v","x","y","oppositeSideMap","left","right","bottom","top","oppositeAlignmentMap","start","end","clamp","value","evaluate","param","getSide","placement","split","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","includes","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","length","mainAlignmentSide","reference","floating","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","replace","getSideList","side","isStart","lr","rl","tb","bt","getOppositeAxisPlacements","flipAlignment","direction","list","map","concat","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","width","height","computeCoordsFromPlacement","_ref","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","computePosition","async","config","strategy","middleware","platform","validMiddleware","filter","Boolean","isRTL","getElementRects","statefulPlacement","middlewareData","resetCount","i","name","fn","nextY","data","reset","initialPlacement","elements","nextX","detectOverflow","state","options","_await$platform$isEle","boundary","rootBoundary","elementContext","altBoundary","paddingObject","altContext","element","clippingClientRect","getClippingRect","isElement","contextElement","getDocumentElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","arrow","arrowDimensions","getDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","offset","shouldAddOffset","alignmentOffset","centerOffset","flip","_middlewareData$flip","mainAxis","checkMainAxis","crossAxis","checkCrossAxis","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","detectOverflowOptions","isBasePlacement","push","placements","overflow","overflows","overflowsData","sides","every","_middlewareData$flip2","_overflowsData$filter","nextIndex","index","nextPlacement","resetPlacement","d","sort","a","b","_overflowsData$map$so","reduce","acc","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","getNodeName","node","isNode","nodeName","toLowerCase","getWindow","_node$ownerDocument","ownerDocument","defaultView","window","document","documentElement","Node","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","isOverflowElement","overflowX","overflowY","display","getComputedStyle","test","isTableElement","isContainingBlock","webkit","isWebKit","css","transform","perspective","containerType","backdropFilter","some","willChange","contain","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","CSS","supports","getNodeScroll","scrollLeft","scrollTop","pageXOffset","pageYOffset","result","assignedSlot","parentNode","host","getNearestOverflowAncestor","body","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","visualViewport","frameElement","getCssDimensions","parseFloat","hasOffset","offsetWidth","offsetHeight","shouldFallback","$","unwrapElement","domElement","getBoundingClientRect","Number","isFinite","noOffsets","getVisualOffsets","offsetLeft","offsetTop","shouldAddVisualOffsets","isFixed","floatingOffsetParent","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","offsetWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","isOffsetParentAnElement","scroll","offsets","offsetRect","getClientRects","Array","from","getWindowScrollBarX","getDocumentRect","html","scrollWidth","clientWidth","scrollHeight","clientHeight","getViewportRect","visualViewportBased","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","position","getClippingElementAncestors","cache","cachedResult","get","el","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","shouldDropCurrentNode","ancestor","set","elementClippingAncestors","this","_c","clippingAncestors","firstClippingAncestor","clippingRect","accRect","getRectRelativeToOffsetParent","getTrueOffsetParent","polyfill","getOffsetParentFn","getDimensionsFn","observeMove","onMove","io","timeoutId","root","cleanup","clearTimeout","disconnect","refresh","skip","threshold","insetTop","insetRight","insetBottom","insetLeft","rootMargin","isFirstUpdate","handleObserve","entries","ratio","intersectionRatio","setTimeout","IntersectionObserver","e","observe","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","animationFrame","referenceEl","ancestors","forEach","addEventListener","passive","cleanupIo","reobserveFrame","resizeObserver","firstEntry","target","unobserve","cancelAnimationFrame","requestAnimationFrame","frameId","prevRefRect","frameLoop","nextRefRect","removeEventListener","Map","mergedOptions","platformWithCache","computePosition$1","alignFloatingElements","floatingElement","referenceElement","arrowElement","align","processEnv","_a","Object","assign","style","visibility","_b"],"sources":["../../node_modules/.pnpm/@floating-ui+utils@0.1.3/node_modules/@floating-ui/utils/dist/floating-ui.utils.esm.js","../../node_modules/.pnpm/@floating-ui+core@1.4.2/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","../../node_modules/.pnpm/@floating-ui+utils@0.1.3/node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.esm.js","../../node_modules/.pnpm/@floating-ui+dom@1.5.3/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","src/utils/align-floating-elements.ts"],"sourcesContent":["const sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n return {\n ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a reference element when it is given a certain positioning strategy.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n continue;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n ...rects.floating,\n x,\n y\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center != offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? min$1 - center : max - center : 0;\n return {\n [axis]: coords[axis] - alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset + alignmentOffset\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const side = getSide(placement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== 'none') {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$map$so;\n const placement = (_overflowsData$map$so = overflowsData.map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$map$so[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: 0,\n crossAxis: 0,\n alignmentAxis: null,\n ...rawValue\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n const {\n x,\n y\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const overflowAvailableHeight = height - overflow[heightSide];\n const overflowAvailableWidth = width - overflow[widthSide];\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if (isYAxis) {\n const maximumClippingWidth = width - overflow.left - overflow.right;\n availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;\n } else {\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null ? void 0 : (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n // Browsers without `ShadowRoot` support.\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n const webkit = isWebKit();\n const css = getComputedStyle(element);\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = getParentNode(currentNode);\n }\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor));\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isWebKit };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getDocumentElement, getNodeName, isOverflowElement, getNodeScroll, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentIFrame = win.frameElement;\n while (currentIFrame && offsetParent && offsetWin !== win) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentIFrame = getWindow(currentIFrame).frameElement;\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n if (offsetParent === documentElement) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\nfunction getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n ...clippingAncestor,\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n return getCssDimensions(element);\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n return element.offsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const window = getWindow(element);\n if (!isHTMLElement(element)) {\n return window;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n return offsetParent || getContainingBlock(element) || window;\n}\n\nconst getElementRects = async function (_ref) {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n return {\n reference: getRectRelativeToOffsetParent(reference, await getOffsetParentFn(floating), strategy),\n floating: {\n x: 0,\n y: 0,\n ...(await getDimensionsFn(floating))\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n clearTimeout(timeoutId);\n io && io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const {\n left,\n top,\n width,\n height\n } = element.getBoundingClientRect();\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 100);\n } else {\n refresh(false, ratio);\n }\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n resizeObserver && resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo && cleanupIo();\n resizeObserver && resizeObserver.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a reference element when it is given a certain CSS positioning\n * strategy.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { autoUpdate, computePosition, platform };\n","import { processEnv } from './reuse';\nimport { arrow, computePosition, flip, offset, shift } from '@floating-ui/dom';\nimport { AlignPropType } from '../types/props/align';\n\ntype Arguments = {\n\tfloatingElement: HTMLElement;\n\treferenceElement: Element;\n\tarrowElement?: HTMLElement;\n\talign?: AlignPropType;\n};\nexport const alignFloatingElements = async ({ floatingElement, referenceElement, arrowElement, align = 'top' }: Arguments) => {\n\tif (processEnv !== 'test') {\n\t\tconst middleware = [offset(arrowElement?.offsetHeight ?? 10), flip(), shift()];\n\t\tif (arrowElement) {\n\t\t\tmiddleware.push(arrow({ element: arrowElement }));\n\t\t}\n\n\t\tconst { x, y, middlewareData, placement } = await computePosition(referenceElement, floatingElement, {\n\t\t\tplacement: align,\n\t\t\tmiddleware: middleware,\n\t\t\tstrategy: 'fixed',\n\t\t});\n\n\t\tObject.assign(floatingElement.style, {\n\t\t\tleft: `${x}px`,\n\t\t\ttop: `${y}px`,\n\t\t\tvisibility: 'visible',\n\t\t});\n\n\t\tif (arrowElement) {\n\t\t\tif (middlewareData.arrow?.x) {\n\t\t\t\tObject.assign(arrowElement.style, {\n\t\t\t\t\tleft: `${middlewareData.arrow.x}px`,\n\t\t\t\t\ttop: placement === 'bottom' ? `${-arrowElement.offsetHeight / 2}px` : '',\n\t\t\t\t\tbottom: placement === 'top' ? `${-arrowElement.offsetHeight / 2}px` : '',\n\t\t\t\t});\n\t\t\t} else if (middlewareData.arrow?.y) {\n\t\t\t\tObject.assign(arrowElement.style, {\n\t\t\t\t\tleft: placement === 'right' ? `${-arrowElement.offsetWidth / 2}px` : '',\n\t\t\t\t\tright: placement === 'left' ? `${-arrowElement.offsetWidth / 2}px` : '',\n\t\t\t\t\ttop: `${middlewareData.arrow.y}px`,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n};\n"],"mappings":"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"}
|
@@ -1,4 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
3
|
-
*/
|
4
|
-
import{w as t}from"./prop.validators-c12923a5.js";const o=["left","right"],s=["top","bottom"],a=[...o,...s],n=(t,a)=>{e(t,"_align",a)},e=(o,e,s)=>{t(o,e,(t=>"string"==typeof t&&a.includes(t)),new Set(a),s,{defaultValue:"top"})};export{n as a,e as v};
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["horizontalAlignOptions","verticalAlignOptions","alignPropTypeOptions","validateAlign","component","value","validateAlignment","propName","watchValidator","includes","Set","defaultValue"],"sources":["src/types/props/align.ts","src/utils/validators/alignment.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { validateAlignment } from '../../utils/validators/alignment';\n\n/* types */\nconst horizontalAlignOptions = ['left', 'right'] as const;\ntype HorizontalAlign = (typeof horizontalAlignOptions)[number];\nconst verticalAlignOptions = ['top', 'bottom'] as const;\ntype VerticalAlign = (typeof verticalAlignOptions)[number];\nexport const alignPropTypeOptions = [...horizontalAlignOptions, ...verticalAlignOptions] as const;\nexport type AlignPropType = HorizontalAlign | VerticalAlign;\n\n/**\n * Defines where to show the element preferably: top, right, bottom or left.\n */\nexport type PropAlign = {\n\talign: AlignPropType;\n};\n\n/* validator */\nexport const validateAlign = (component: Generic.Element.Component, value?: AlignPropType): void => {\n\tvalidateAlignment(component, '_align', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { AlignPropType, alignPropTypeOptions } from '../../types/props/align';\nimport { watchValidator } from '../prop.validators';\n\nexport const validateAlignment = (component: Generic.Element.Component, propName: string, value?: AlignPropType): void => {\n\twatchValidator(component, propName, (value) => typeof value === 'string' && alignPropTypeOptions.includes(value), new Set(alignPropTypeOptions), value, {\n\t\tdefaultValue: 'top',\n\t});\n};\n"],"mappings":";;;kDAKA,MAAMA,EAAyB,CAAC,OAAQ,SAExC,MAAMC,EAAuB,CAAC,MAAO,UAE9B,MAAMC,EAAuB,IAAIF,KAA2BC,G,MAWtDE,EAAgB,CAACC,EAAsCC,KACnEC,EAAkBF,EAAW,SAAUC,EAAM,E,MChBjCC,EAAoB,CAACF,EAAsCG,EAAkBF,KACzFG,EAAeJ,EAAWG,GAAWF,UAAiBA,IAAU,UAAYH,EAAqBO,SAASJ,IAAQ,IAAIK,IAAIR,GAAuBG,EAAO,CACvJM,aAAc,OACb,S"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["validateAlternativeButtonLinkRole","component","value","watchString"],"sources":["src/types/props/alternative-button-link-role.ts"],"sourcesContent":["/* types */\nimport type { Generic } from 'adopted-style-sheets';\nimport { watchString } from '../../utils/prop.validators';\n\nexport type AlternativeButtonLinkRolePropType = 'button' | 'link' | 'tab';\n\n/**\n * Defines the role of the components primary element.\n */\nexport type PropAlternativeButtonLinkRole = {\n\trole: AlternativeButtonLinkRolePropType;\n};\n\n/* validator */\nexport const validateAlternativeButtonLinkRole = (component: Generic.Element.Component, value?: AlternativeButtonLinkRolePropType) => {\n\twatchString(component, '_role', value);\n};\n"],"mappings":";;;wDAcaA,EAAoC,CAACC,EAAsCC,KACvFC,EAAYF,EAAW,QAASC,EAAM,S"}
|
@@ -1,4 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
3
|
-
*/
|
4
|
-
import{L as o,e as t,S as s}from"./dev.utils-889226ab.js";import{a}from"./index-5dfe6d77.js";import{r as e}from"./index-12eec578.js";import{p as i}from"./reuse-d79ab469.js";const r=async()=>{a((o=>{try{o.shadowRoot instanceof ShadowRoot&&t(o,s(o))}catch(o){}return"default"})),await e([],[]),import("./devtools-cc168b70.js").then((o=>{"object"==typeof o&&null!==o&&"function"==typeof o.initialize&&o.initialize()})).catch((t=>{o.error(t)})),i&&import("./index-a4a4df51.js")},f=r;export{f as g};
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["appGlobalScript","async","setMode","elm","shadowRoot","ShadowRoot","setThemeStyle","getThemeDetails","error","register","import","then","devTools","initialize","catch","Log","processEnv","globalScripts"],"sources":["src/global/script.ts","@stencil/core/internal/app-globals"],"sourcesContent":["import { getThemeDetails, setThemeStyle } from 'adopted-style-sheets';\nimport { setMode } from '@stencil/core';\n\nimport { register } from '../core';\nimport { Log } from '../utils/dev.utils';\nimport { processEnv } from '../utils/reuse';\n\n// ts-prune-ignore-next\nexport default async (): Promise<void> => {\n\tsetMode((elm) => {\n\t\ttry {\n\t\t\tif (elm.shadowRoot instanceof ShadowRoot) {\n\t\t\t\tsetThemeStyle(elm, getThemeDetails(elm));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t/**\n\t\t\t * Try is needed for SSR.\n\t\t\t * - no HTMLElement is available\n\t\t\t * - no ShadowRoot is available\n\t\t\t */\n\t\t}\n\t\treturn 'default';\n\t});\n\n\tawait register([], []);\n\n\timport('./devtools')\n\t\t.then((devTools) => {\n\t\t\tif (typeof devTools === 'object' && devTools !== null && typeof devTools.initialize === 'function') {\n\t\t\t\tdevTools.initialize();\n\t\t\t}\n\t\t})\n\t\t.catch((error) => {\n\t\t\tLog.error(error);\n\t\t});\n\n\t/* Import scripts necessary for the development server, i.e. the /dev/*.html files. Only include in development environment. */\n\tif (processEnv) {\n\t\timport('../dev');\n\t}\n};\n","import appGlobalScript from '/home/runner/work/kolibri/kolibri/packages/components/src/global/script.ts';\nexport const globalScripts = appGlobalScript;\n"],"mappings":";;;6KAQA,MAAAA,EAAeC,UACdC,GAASC,IACR,IACC,GAAIA,EAAIC,sBAAsBC,WAAY,CACzCC,EAAcH,EAAKI,EAAgBJ,G,EAEnC,MAAOK,G,CAOT,MAAO,SAAS,UAGXC,EAAS,GAAI,IAEnBC,OAAO,0BACLC,MAAMC,IACN,UAAWA,IAAa,UAAYA,IAAa,aAAeA,EAASC,aAAe,WAAY,CACnGD,EAASC,Y,KAGVC,OAAON,IACPO,EAAIP,MAAMA,EAAM,IAIlB,GAAIQ,EAAY,CACfN,OAAO,sB,GCrCG,MAACO,EAAgBjB,S"}
|
@@ -1,4 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
3
|
-
*/
|
4
|
-
import{d as t}from"./prop.validators-c12923a5.js";import{d as e,g as i}from"./a11y.tipps-f14bff66.js";import{d as s}from"./dev.utils-889226ab.js";const o=(e,o,i)=>{t(e,"_name",o,i)},a=s();class n{constructor(t,o,i){var s,r;if(this.setFormAssociatedValue=t=>{var o;const i=null===(o=this.formAssociated)||void 0===o?void 0:o.getAttribute("name");null!==i&&""!==i||e(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);const s=this.tryToStringifyValue(t);this.syncValue(t,s,this.formAssociated),this.syncValue(t,s,this.syncToOwnInput)},this.component=t,this.host=this.findHostWithShadowRoot(i),this.name=o,a){switch(null===(s=this.host)||void 0===s||s.querySelectorAll("input,select,textarea").forEach((t=>{var e;null===(e=this.host)||void 0===e||e.removeChild(t)})),this.name){case"button":this.formAssociated=document.createElement("button");break;case"select":this.formAssociated=document.createElement("select"),this.formAssociated.setAttribute("multiple","");break;case"textarea":this.formAssociated=document.createElement("textarea");break;default:this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type","hidden")}this.formAssociated.setAttribute("aria-hidden","true"),this.formAssociated.setAttribute("data-form-associated",""),this.formAssociated.setAttribute("hidden",""),null===(r=this.host)||void 0===r||r.appendChild(this.formAssociated)}}findHostWithShadowRoot(t){for(;null===(null==t?void 0:t.shadowRoot)&&t!==document.body;)(t=null==t?void 0:t.parentNode).host&&(t=t.host);return t}setAttribute(t,e,o){if(a)try{if("boolean"!=typeof(o="object"==typeof o&&null!==o?JSON.stringify(o):o)&&"number"!=typeof o&&"string"!=typeof o)throw new Error("Invalid value type: "+typeof o);null==e||e.setAttribute(t,`${o}`)}catch(o){null==e||e.removeAttribute(t)}}tryToStringifyValue(t){try{return"object"==typeof t&&null!==t?JSON.stringify(t).toString():null==t?null:t.toString()}catch(t){return i(`The form field raw value is not able to stringify! ${t}`),""}}syncValue(t,e,o){if(o)if("select"===this.name)o.querySelectorAll("option").forEach((t=>{o.removeChild(t)})),Array.isArray(t)&&t.forEach((t=>{const e=this.tryToStringifyValue(t);if("string"==typeof e){const t=document.createElement("option");t.setAttribute("value",e),t.setAttribute("selected",""),o.appendChild(t)}}));else"string"==typeof e?(o.setAttribute("value",e),o.value=e):(o.removeAttribute("value"),o.value="")}validateName(t){o(this.component,t,{hooks:{afterPatch:()=>{this.setAttribute("name",this.formAssociated,this.component.state._name)}}}),void 0===t&&e("Ein Name am Eingabefeldern oder Schalter ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.")}validateSyncValueBySelector(t){if(a&&"string"==typeof t){const e=document.querySelector(t);e&&(this.syncToOwnInput=e)}}componentWillLoad(){this.validateName(this.component._name),this.validateSyncValueBySelector(this.component._syncValueBySelector)}}export{n as A};
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["validateName","component","value","options","watchString","EXPERIMENTAL_MODE","getExperimentalMode","AssociatedInputController","constructor","name","host","this","setFormAssociatedValue","rawValue","_a","formAssociated","getAttribute","devHint","strValue","tryToStringifyValue","syncValue","syncToOwnInput","findHostWithShadowRoot","querySelectorAll","forEach","el","removeChild","document","createElement","setAttribute","_b","appendChild","shadowRoot","body","parentNode","qualifiedName","element","JSON","stringify","Error","e","removeAttribute","toString","undefined","devWarning","associatedElement","Array","isArray","rawValueItem","strValueItem","option","hooks","afterPatch","state","_name","validateSyncValueBySelector","input","querySelector","componentWillLoad","_syncValueBySelector"],"sources":["src/types/props/name.ts","src/components/input-adapter-leanup/associated.controller.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchString, WatchStringOptions } from '../../utils/prop.validators';\n\n/* types */\nexport type NamePropType = string;\n\n/**\n * Defines the technical name of an input field.\n */\nexport type PropName = {\n\tname: NamePropType;\n};\n\n/* validator */\nexport const validateName = (component: Generic.Element.Component, value?: NamePropType, options?: WatchStringOptions): void => {\n\twatchString(component, '_name', value, options);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { NamePropType, validateName } from '../../types/props/name';\nimport { PropSyncValueBySelector, SyncValueBySelectorPropType } from '../../types/props/sync-value-by-selector';\nimport { StencilUnknown } from '../../types/unknown';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { getExperimentalMode } from '../../utils/dev.utils';\n\nconst EXPERIMENTAL_MODE = getExperimentalMode();\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\tname: string;\n} & PropSyncValueBySelector;\ntype Props = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype Watches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class AssociatedInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprotected readonly name: string;\n\tprotected readonly host?: HTMLElement;\n\n\tpublic readonly formAssociated?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\tpublic syncToOwnInput?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tthis.component = component;\n\t\tthis.host = this.findHostWithShadowRoot(host);\n\t\tthis.name = name;\n\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\tthis.host?.querySelectorAll('input,select,textarea').forEach((el) => {\n\t\t\t\tthis.host?.removeChild(el);\n\t\t\t});\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'button':\n\t\t\t\t\tthis.formAssociated = document.createElement('button');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'select':\n\t\t\t\t\tthis.formAssociated = document.createElement('select');\n\t\t\t\t\tthis.formAssociated.setAttribute('multiple', '');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'textarea':\n\t\t\t\t\tthis.formAssociated = document.createElement('textarea');\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', 'hidden');\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tthis.formAssociated.setAttribute('aria-hidden', 'true');\n\t\t\tthis.formAssociated.setAttribute('data-form-associated', '');\n\t\t\tthis.formAssociated.setAttribute('hidden', '');\n\t\t\tthis.host?.appendChild(this.formAssociated);\n\t\t}\n\t}\n\n\t/**\n\t * The associated elements must not reside within the ShadowRoot and must\n\t * reside as children in the host to be recognized by native forms.\n\t */\n\tprivate findHostWithShadowRoot(host?: HTMLElement): HTMLElement | undefined {\n\t\twhile (host?.shadowRoot === null && host !== document.body) {\n\t\t\thost = host?.parentNode as HTMLElement;\n\t\t\tif ((host as unknown as ShadowRoot).host) {\n\t\t\t\thost = (host as unknown as ShadowRoot).host as HTMLElement;\n\t\t\t}\n\t\t}\n\t\treturn host;\n\t}\n\n\tprotected setAttribute(qualifiedName: string, element?: HTMLElement, value?: string | number | boolean) {\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\ttry {\n\t\t\t\tvalue = typeof value === 'object' && value !== null ? JSON.stringify(value) : value;\n\t\t\t\tif (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') {\n\t\t\t\t\telement?.setAttribute(qualifiedName, `${value as string}`);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Invalid value type: ${typeof value}`);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\telement?.removeAttribute(qualifiedName);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * We need to stringify the value, for the setAttribute method.\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes#value\n\t *\n\t * TODO: It is possible that the value are a cyclic object value. So we need a custom\n\t * JSON.stringify method from outside to convert it to string.\n\t */\n\tprivate tryToStringifyValue(value: StencilUnknown): string | null {\n\t\ttry {\n\t\t\treturn typeof value === 'object' && value !== null ? JSON.stringify(value).toString() : value === null || value === undefined ? null : value.toString();\n\t\t} catch (e) {\n\t\t\tdevWarning(`The form field raw value is not able to stringify! ${e as string}`);\n\t\t\treturn '';\n\t\t}\n\t}\n\n\t/**\n\t * We try to support native form-associated custom elements.\n\t *\n\t * @see https://github.com/public-ui/kolibri/discussions/2821\n\t */\n\tpublic readonly setFormAssociatedValue = (rawValue: StencilUnknown) => {\n\t\tconst name = this.formAssociated?.getAttribute('name');\n\t\tif (name === null || name === '') {\n\t\t\tdevHint(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);\n\t\t}\n\t\tconst strValue = this.tryToStringifyValue(rawValue);\n\t\tthis.syncValue(rawValue, strValue, this.formAssociated);\n\t\tthis.syncValue(rawValue, strValue, this.syncToOwnInput);\n\t};\n\n\tprivate syncValue(\n\t\trawValue: StencilUnknown,\n\t\tstrValue: string | null,\n\t\tassociatedElement?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement\n\t) {\n\t\tif (associatedElement) {\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\t(associatedElement as HTMLSelectElement).querySelectorAll('option').forEach((el) => {\n\t\t\t\t\t\t(associatedElement as HTMLSelectElement).removeChild(el);\n\t\t\t\t\t});\n\t\t\t\t\tif (Array.isArray(rawValue)) {\n\t\t\t\t\t\trawValue.forEach((rawValueItem) => {\n\t\t\t\t\t\t\tconst strValueItem = this.tryToStringifyValue(rawValueItem as string);\n\t\t\t\t\t\t\tif (typeof strValueItem === 'string') {\n\t\t\t\t\t\t\t\tconst option = document.createElement('option');\n\t\t\t\t\t\t\t\toption.setAttribute('value', strValueItem);\n\t\t\t\t\t\t\t\toption.setAttribute('selected', '');\n\t\t\t\t\t\t\t\t(associatedElement as HTMLSelectElement).appendChild(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tassociatedElement.removeAttribute('value');\n\t\t\t\t\t\tassociatedElement.value = '';\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateName(value?: NamePropType): void {\n\t\tvalidateName(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('name', this.formAssociated, this.component.state._name as string);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tif (typeof value === 'undefined') {\n\t\t\tdevHint(\n\t\t\t\t`Ein Name am Eingabefeldern oder Schalter ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.`\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tif (EXPERIMENTAL_MODE && typeof value === 'string') {\n\t\t\tconst input = document.querySelector(value) as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\t\t\tif (input /* SSR instanceof HTMLInputElement */) {\n\t\t\t\tthis.syncToOwnInput = input;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateName(this.component._name);\n\t\tthis.validateSyncValueBySelector(this.component._syncValueBySelector);\n\t}\n}\n"],"mappings":"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"}
|
@@ -1,4 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
3
|
-
*/
|
4
|
-
import{r as e,b as r,w as a}from"./prop.validators-c12923a5.js";import{a as t}from"./a11y.tipps-f14bff66.js";var n={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},l=i,o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function i(e){var r,a,t=[],l=1;if("string"==typeof e)if(e=e.toLowerCase(),n[e])t=n[e].slice(),a="rgb";else if("transparent"===e)l=0,a="rgb",t=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var i=e.slice(1);l=1,(g=i.length)<=4?(t=[parseInt(i[0]+i[0],16),parseInt(i[1]+i[1],16),parseInt(i[2]+i[2],16)],4===g&&(l=parseInt(i[3]+i[3],16)/255)):(t=[parseInt(i[0]+i[1],16),parseInt(i[2]+i[3],16),parseInt(i[4]+i[5],16)],8===g&&(l=parseInt(i[6]+i[7],16)/255)),t[0]||(t[0]=0),t[1]||(t[1]=0),t[2]||(t[2]=0),a="rgb"}else if(r=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(e)){var s=r[1],u="rgb"===s;a=i=s.replace(/a$/,"");var g="cmyk"===i?4:"gray"===i?1:3;t=r[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(e,r){if(/%$/.test(e))return r===g?parseFloat(e)/100:"rgb"===i?255*parseFloat(e)/100:parseFloat(e);if("h"===i[r]){if(/deg$/.test(e))return parseFloat(e);if(void 0!==o[e])return o[e]}return parseFloat(e)})),s===i&&t.push(1),l=u||void 0===t[g]?1:t[g],t=t.slice(0,g)}else e.length>10&&/[0-9](?:\s|\/)/.test(e)&&(t=e.match(/([0-9]+)/g).map((function(e){return parseFloat(e)})),a=e.match(/([a-z])/gi).join("").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(t=[e[0],e[1],e[2]],a="rgb",l=4===e.length?e[3]:1):e instanceof Object&&(null!=e.r||null!=e.red||null!=e.R?(a="rgb",t=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(a="hsl",t=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),l=e.a||e.alpha||e.opacity||1,null!=e.opacity&&(l/=100)):(a="rgb",t=[e>>>16,(65280&e)>>>8,255&e]);return{space:a,values:t,alpha:l}}var s=function(e){var r;Array.isArray(e)&&e.raw&&(e=String.raw.apply(null,arguments));var a=l(e);if(!a.space)return[];var o=[0,0,0],t="h"===a.space[0]?[360,100,100]:[255,255,255];return(r=Array(3))[0]=Math.min(Math.max(a.values[0],o[0]),t[0]),r[1]=Math.min(Math.max(a.values[1],o[1]),t[1]),r[2]=Math.min(Math.max(a.values[2],o[2]),t[2]),"h"===a.space[0]&&(r=u(r)),r.push(Math.min(Math.max(a.alpha,0),1)),r};function u(e){var r,a,o,t,n,l=e[0]/360,i=e[1]/100,s=e[2]/100,u=0;if(0===i)return[n=255*s,n,n];for(r=2*s-(a=s<.5?s*(1+i):s+i-s*i),t=[0,0,0];u<3;)(o=l+1/3*-(u-1))<0?o++:o>1&&o--,n=6*o<1?r+6*(a-r)*o:2*o<1?a:3*o<2?r+(a-r)*(2/3-o)*6:r,t[u++]=255*n;return t}const g=(e,r,a)=>(299*e+587*r+114*a)/1e3>=128?-1:1,f=(a,o,t,n=1)=>{const l=[Math.max(Math.min(Math.round(o[0]+n*Math.max(1,o[0]/100)),255),0),Math.max(Math.min(Math.round(o[1]+n*Math.max(1,o[1]/100)),255),0),Math.max(Math.min(Math.round(o[2]+n*Math.max(1,o[2]/100)),255),0)],i=r(e.hex(`rgba(${a.join(",")},1)`),e.hex(`rgba(${l.join(",")},1)`)),s=l[0]+l[1]+l[2];return 0===s||765===s||i>t?{background:a,foreground:l,contrast:i}:f(a,l,t,n)},d=new Map,c=(e,r,a,o=1)=>{if(d.has(e))return d.get(e);const t=f(e,r,a,o);return d.set(e,t),t},p=(r,a=7)=>{let o=[0,0,0,1],t=[255,255,255,1];"string"==typeof r?(o=s(r),t=o):"object"==typeof r&&null!==r&&"string"==typeof r.background&&"string"==typeof r.foreground&&(o=s(r.background),t="string"==typeof r.foreground?s(r.foreground):o);const n=g(o[0],o[1],o[2]),l=c([o[0],o[1],o[2]],[t[0],t[1],t[2]],a,n);return t=[...l.foreground,1],{background:e.hex(`rgba(${o.join(",")})`),foreground:e.hex(`rgba(${t.join(",")})`),contrast:l.contrast}},h=/^#((\d|[a-f]){8}|(\d|[a-f]){6}|(\d|[a-f]){3,4})$/i;function y(e){return h.test(e)}function b(e){if(e.startsWith("{"))try{const r=JSON.parse(e);if(m(r))return{type:"ColorPair",value:r}}catch(e){return{type:null,value:null}}return{type:null,value:null}}function v(e){if(e)if("string"==typeof e){if(y(e))return{type:"string",valid:!0,value:e};{const r=b(e);if(r.value)return{type:r.type,valid:!0,value:r.value}}}else{const r=e;if(m(r))return{type:"ColorPair",valid:!0,value:r}}return{type:null,valid:!1,value:""}}function m(e){return!("object"!=typeof e||!e||"string"!=typeof e.backgroundColor||!("string"==typeof e.foregroundColor||e.foregroundColor&&"string"==typeof e.foregroundColor.primary&&"string"==typeof e.foregroundColor.secondary&&"string"==typeof e.foregroundColor.neutral))}function k(e){const r=v(e);switch(r.type){case null:return!1;case"string":case"ColorPair":return r.valid}}const w=(e,r,o)=>{a(e,"_color",k,new Set(["rgb in hex","ColorPair"]),r,o)},M=e=>{var r;let a;const o=v(e);switch(o.type){case"string":a=p(o.value);break;case"ColorPair":{const e=o.value;let t="";"string"==typeof e.foregroundColor?t=e.foregroundColor:(null===(r=e.foregroundColor)||void 0===r?void 0:r.primary)&&(t=e.foregroundColor.primary),t&&"string"==typeof t||(t="#fff"),a=p({background:e.backgroundColor,foreground:t});break}case null:console.warn(`_color was empty or invalid (${JSON.stringify(e)})`),a=p({background:"#000",foreground:"#000"})}return a.contrast<7&&t(`[KolBadge] The contrast of ${a.contrast} (≥7, AAA) is to low, between the color pair ${a.background} and ${a.foreground}.`),{backgroundColor:a.background,foregroundColor:a.foreground}};export{s as c,M as h,w as v};
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["colorName","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","colorParse","parse","baseHues","cstr","m","parts","alpha","space","toLowerCase","names","slice","test","base","size","length","isShort","parseInt","exec","name","isRGB","replace","trim","split","map","x","i","parseFloat","undefined","push","match","value","join","isNaN","Array","isArray","Object","r","R","g","G","b","B","h","hue","H","s","saturation","S","l","lightness","L","brightness","a","opacity","values","rgba","color","raw","String","apply","arguments","parsed","min","max","Math","hsl2rgb","hsl","t1","t2","t3","rgb","val","getContrastYIQ","yiq","calcColorContrast","baseColor","contrastColor","ratio","dir","round","contrast","hex","rgbaConvert","summe","background","foreground","cache","Map","getColorContrast","has","get","set","createContrastColorPair","contrastRatio","colorRgba","colorContrast","HEX_REGEX","isHexString","isColorObjectString","startsWith","JSON","isValidColorPair","type","error","typeOfColor","valid","colorObject","asColorPair","backgroundColor","foregroundColor","primary","secondary","neutral","validatorFunction","valueType","validateColor","component","options","watchValidator","Set","handleColorChange","_a","console","warn","stringify","a11yHint"],"sources":["../../node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js","../../node_modules/.pnpm/color-parse@1.4.3/node_modules/color-parse/index.js","../../node_modules/.pnpm/color-rgba@2.4.0/node_modules/color-rgba/index.js","src/components/badge/contrast.ts","src/types/props/color.ts"],"sourcesContent":["'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/**\n * @module color-parse\n */\n\n'use strict'\n\nvar names = require('color-name')\n\nmodule.exports = parse\n\n/**\n * Base hues\n * http://dev.w3.org/csswg/css-color/#typedef-named-hue\n */\n//FIXME: use external hue detector\nvar baseHues = {\n\tred: 0,\n\torange: 60,\n\tyellow: 120,\n\tgreen: 180,\n\tblue: 240,\n\tpurple: 300\n}\n\n/**\n * Parse color from the string passed\n *\n * @return {Object} A space indicator `space`, an array `values` and `alpha`\n */\nfunction parse(cstr) {\n\tvar m, parts = [], alpha = 1, space\n\n\tif (typeof cstr === 'string') {\n\t\tcstr = cstr.toLowerCase();\n\n\t\t//keyword\n\t\tif (names[cstr]) {\n\t\t\tparts = names[cstr].slice()\n\t\t\tspace = 'rgb'\n\t\t}\n\n\t\t//reserved words\n\t\telse if (cstr === 'transparent') {\n\t\t\talpha = 0\n\t\t\tspace = 'rgb'\n\t\t\tparts = [0, 0, 0]\n\t\t}\n\n\t\t//hex\n\t\telse if (/^#[A-Fa-f0-9]+$/.test(cstr)) {\n\t\t\tvar base = cstr.slice(1)\n\t\t\tvar size = base.length\n\t\t\tvar isShort = size <= 4\n\t\t\talpha = 1\n\n\t\t\tif (isShort) {\n\t\t\t\tparts = [\n\t\t\t\t\tparseInt(base[0] + base[0], 16),\n\t\t\t\t\tparseInt(base[1] + base[1], 16),\n\t\t\t\t\tparseInt(base[2] + base[2], 16)\n\t\t\t\t]\n\t\t\t\tif (size === 4) {\n\t\t\t\t\talpha = parseInt(base[3] + base[3], 16) / 255\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tparts = [\n\t\t\t\t\tparseInt(base[0] + base[1], 16),\n\t\t\t\t\tparseInt(base[2] + base[3], 16),\n\t\t\t\t\tparseInt(base[4] + base[5], 16)\n\t\t\t\t]\n\t\t\t\tif (size === 8) {\n\t\t\t\t\talpha = parseInt(base[6] + base[7], 16) / 255\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!parts[0]) parts[0] = 0\n\t\t\tif (!parts[1]) parts[1] = 0\n\t\t\tif (!parts[2]) parts[2] = 0\n\n\t\t\tspace = 'rgb'\n\t\t}\n\n\t\t//color space\n\t\telse if (m = /^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(cstr)) {\n\t\t\tvar name = m[1]\n\t\t\tvar isRGB = name === 'rgb'\n\t\t\tvar base = name.replace(/a$/, '')\n\t\t\tspace = base\n\t\t\tvar size = base === 'cmyk' ? 4 : base === 'gray' ? 1 : 3\n\t\t\tparts = m[2].trim()\n\t\t\t\t.split(/\\s*[,\\/]\\s*|\\s+/)\n\t\t\t\t.map(function (x, i) {\n\t\t\t\t\t//<percentage>\n\t\t\t\t\tif (/%$/.test(x)) {\n\t\t\t\t\t\t//alpha\n\t\t\t\t\t\tif (i === size) return parseFloat(x) / 100\n\t\t\t\t\t\t//rgb\n\t\t\t\t\t\tif (base === 'rgb') return parseFloat(x) * 255 / 100\n\t\t\t\t\t\treturn parseFloat(x)\n\t\t\t\t\t}\n\t\t\t\t\t//hue\n\t\t\t\t\telse if (base[i] === 'h') {\n\t\t\t\t\t\t//<deg>\n\t\t\t\t\t\tif (/deg$/.test(x)) {\n\t\t\t\t\t\t\treturn parseFloat(x)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t//<base-hue>\n\t\t\t\t\t\telse if (baseHues[x] !== undefined) {\n\t\t\t\t\t\t\treturn baseHues[x]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn parseFloat(x)\n\t\t\t\t})\n\n\t\t\tif (name === base) parts.push(1)\n\t\t\talpha = (isRGB) ? 1 : (parts[size] === undefined) ? 1 : parts[size]\n\t\t\tparts = parts.slice(0, size)\n\t\t}\n\n\t\t//named channels case\n\t\telse if (cstr.length > 10 && /[0-9](?:\\s|\\/)/.test(cstr)) {\n\t\t\tparts = cstr.match(/([0-9]+)/g).map(function (value) {\n\t\t\t\treturn parseFloat(value)\n\t\t\t})\n\n\t\t\tspace = cstr.match(/([a-z])/ig).join('').toLowerCase()\n\t\t}\n\t}\n\n\t//numeric case\n\telse if (!isNaN(cstr)) {\n\t\tspace = 'rgb'\n\t\tparts = [cstr >>> 16, (cstr & 0x00ff00) >>> 8, cstr & 0x0000ff]\n\t}\n\n\t//array-like\n\telse if (Array.isArray(cstr) || cstr.length) {\n\t\tparts = [cstr[0], cstr[1], cstr[2]]\n\t\tspace = 'rgb'\n\t\talpha = cstr.length === 4 ? cstr[3] : 1\n\t}\n\n\t//object case - detects css cases of rgb and hsl\n\telse if (cstr instanceof Object) {\n\t\tif (cstr.r != null || cstr.red != null || cstr.R != null) {\n\t\t\tspace = 'rgb'\n\t\t\tparts = [\n\t\t\t\tcstr.r || cstr.red || cstr.R || 0,\n\t\t\t\tcstr.g || cstr.green || cstr.G || 0,\n\t\t\t\tcstr.b || cstr.blue || cstr.B || 0\n\t\t\t]\n\t\t}\n\t\telse {\n\t\t\tspace = 'hsl'\n\t\t\tparts = [\n\t\t\t\tcstr.h || cstr.hue || cstr.H || 0,\n\t\t\t\tcstr.s || cstr.saturation || cstr.S || 0,\n\t\t\t\tcstr.l || cstr.lightness || cstr.L || cstr.b || cstr.brightness\n\t\t\t]\n\t\t}\n\n\t\talpha = cstr.a || cstr.alpha || cstr.opacity || 1\n\n\t\tif (cstr.opacity != null) alpha /= 100\n\t}\n\n\treturn {\n\t\tspace: space,\n\t\tvalues: parts,\n\t\talpha: alpha\n\t}\n}\n","/** @module color-rgba */\r\n\r\n'use strict'\r\n\r\nvar parse = require('color-parse')\r\n\r\nmodule.exports = function rgba (color) {\r\n\t// template literals\r\n\tif (Array.isArray(color) && color.raw) color = String.raw.apply(null, arguments)\r\n\r\n\tvar values, i, l\r\n\r\n\t//attempt to parse non-array arguments\r\n\tvar parsed = parse(color)\r\n\r\n\tif (!parsed.space) return []\r\n\r\n\tvar min = [0,0,0], max = parsed.space[0] === 'h' ? [360,100,100] : [255,255,255]\r\n\r\n\tvalues = Array(3)\r\n\tvalues[0] = Math.min(Math.max(parsed.values[0], min[0]), max[0])\r\n\tvalues[1] = Math.min(Math.max(parsed.values[1], min[1]), max[1])\r\n\tvalues[2] = Math.min(Math.max(parsed.values[2], min[2]), max[2])\r\n\r\n\tif (parsed.space[0] === 'h') values = hsl2rgb(values)\r\n\r\n\tvalues.push(Math.min(Math.max(parsed.alpha, 0), 1))\r\n\r\n\treturn values\r\n}\r\n\r\n\r\n// excerpt from color-space/hsl\r\nfunction hsl2rgb(hsl) {\r\n\tvar h = hsl[0]/360, s = hsl[1]/100, l = hsl[2]/100, t1, t2, t3, rgb, val, i=0;\r\n\r\n\tif (s === 0) return val = l * 255, [val, val, val];\r\n\r\n\tt2 = l < 0.5 ? l * (1 + s) : l + s - l * s;\r\n\tt1 = 2 * l - t2;\r\n\r\n\trgb = [0, 0, 0];\r\n\tfor (;i<3;) {\r\n\t\tt3 = h + 1 / 3 * - (i - 1);\r\n\t\tt3 < 0 ? t3++ : t3 > 1 && t3--;\r\n\t\tval = 6 * t3 < 1 ? t1 + (t2 - t1) * 6 * t3 :\r\n\t\t2 * t3 < 1 ? t2 :\r\n\t\t3 * t3 < 2 ? t1 + (t2 - t1) * (2 / 3 - t3) * 6 :\r\n\t\tt1;\r\n\t\trgb[i++] = val * 255;\r\n\t}\r\n\r\n\treturn rgb;\r\n}\r\n","import { RGB } from 'color-convert/conversions';\nimport { hex } from 'wcag-contrast';\n\nimport { colorRgba } from './color-rgba';\nimport { rgbaConvert } from './rgba-convert';\n\ntype RGBA = [number, number, number, number];\n\n// const calcColor = (color: RGBA, diff: number): RGBA => [\n// Math.max(Math.min(Math.round(color[0] + (color[0] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[1] + (color[1] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[2] + (color[2] / 100 + 1) * diff), 255), 0),\n// color[3],\n// ];\n\n// const relativeLuminanceFormel = (c: number): number => {\n// if (c <= 0.03928) {\n// return c / 12.92;\n// } else {\n// return ((c + 0.055) / 1.055) ** 2.4;\n// }\n// };\n// // https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n// const relativeLuminance = (r: number, g: number, b: number): number => {\n// return (\n// 0.2126 * relativeLuminanceFormel(r) + 0.7152 * relativeLuminanceFormel(g) + 0.0722 * relativeLuminanceFormel(b)\n// );\n// };\n\n// https://css-tricks.com/snippets/javascript/random-hex-color/\n// const randomColor = () => Math.floor(Math.random() * 16777215).toString(16);\n\n// https://24ways.org/2010/calculating-color-contrast/\n// ts-prune-ignore-next\nexport const getContrastYIQ = (r: number, g: number, b: number): number => {\n\tconst yiq = (r * 299 + g * 587 + b * 114) / 1000;\n\treturn yiq >= 128 ? -1 : 1;\n};\n\ntype ColorPair<T> = {\n\tbackground: T;\n\tforeground: T;\n};\n\nexport type ColorContrast<T> = ColorPair<T> & {\n\tcontrast: number;\n};\n\n// ts-prune-ignore-next\nexport const calcColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tconst color: RGB = [\n\t\tMath.max(Math.min(Math.round(contrastColor[0] + dir * Math.max(1, contrastColor[0] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[1] + dir * Math.max(1, contrastColor[1] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[2] + dir * Math.max(1, contrastColor[2] / 100)), 255), 0),\n\t];\n\tconst contrast = hex(rgbaConvert.hex(`rgba(${baseColor.join(',')},1)`), rgbaConvert.hex(`rgba(${color.join(',')},1)`));\n\tconst summe = color[0] + color[1] + color[2];\n\tif (summe === 0 || summe === 765 || contrast > ratio) {\n\t\treturn {\n\t\t\tbackground: baseColor,\n\t\t\tforeground: color,\n\t\t\tcontrast,\n\t\t};\n\t} else {\n\t\treturn calcColorContrast(baseColor, color, ratio, dir);\n\t}\n};\n\nconst cache: Map<unknown, ColorContrast<RGB>> = new Map();\n\n// ts-prune-ignore-next\nexport const getColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tif (cache.has(baseColor)) {\n\t\treturn cache.get(baseColor) as ColorContrast<RGB>;\n\t}\n\tconst color = calcColorContrast(baseColor, contrastColor, ratio, dir);\n\tcache.set(baseColor, color);\n\treturn color;\n};\n\nexport const createContrastColorPair = (color: string | ColorPair<string>, contrastRatio = 7): ColorContrast<string> => {\n\tlet baseColor: RGBA = [0, 0, 0, 1];\n\tlet contrastColor: RGBA = [255, 255, 255, 1];\n\tif (typeof color === 'string') {\n\t\tbaseColor = colorRgba(color);\n\t\tcontrastColor = baseColor;\n\t} else if (typeof color === 'object' && color !== null && typeof color.background === 'string' && typeof color.foreground === 'string') {\n\t\tbaseColor = colorRgba(color.background);\n\t\tif (typeof color.foreground === 'string') {\n\t\t\tcontrastColor = colorRgba(color.foreground);\n\t\t} else {\n\t\t\tcontrastColor = baseColor;\n\t\t}\n\t}\n\tconst yiq = getContrastYIQ(baseColor[0], baseColor[1], baseColor[2]);\n\tconst colorContrast = getColorContrast(\n\t\t[baseColor[0], baseColor[1], baseColor[2]],\n\t\t[contrastColor[0], contrastColor[1], contrastColor[2]],\n\t\tcontrastRatio,\n\t\tyiq\n\t);\n\tcontrastColor = [...colorContrast.foreground, 1];\n\n\treturn {\n\t\tbackground: rgbaConvert.hex(`rgba(${baseColor.join(',')})`),\n\t\tforeground: rgbaConvert.hex(`rgba(${contrastColor.join(',')})`),\n\t\tcontrast: colorContrast.contrast,\n\t};\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { ColorContrast, createContrastColorPair } from '../../components/badge/contrast';\nimport { a11yHint } from '../../utils/a11y.tipps';\nimport { WatchOptions, watchValidator } from '../../utils/prop.validators';\nimport { Stringified } from '../common';\n\n/* types */\ntype CharacteristicColors = {\n\tprimary: string;\n\tsecondary: string;\n\tneutral: string;\n};\n\n/**\n * Defines the backgroundColor and foregroundColor.\n */\nexport type ColorPair = {\n\tbackgroundColor: string;\n\tforegroundColor: Stringified<CharacteristicColors>;\n};\n\nexport type PropColor = ColorPair;\n\ntype typeOfColorType = 'string' | 'ColorPair' | null;\n\nconst HEX_REGEX = /^#((\\d|[a-f]){8}|(\\d|[a-f]){6}|(\\d|[a-f]){3,4})$/i;\nfunction isHexString(value: string): boolean {\n\treturn HEX_REGEX.test(value);\n}\n/* checks if the string is valid JSON and if the resulting object is a valid ColorPair and returns it, or null if invalid. */\nfunction isColorObjectString(value: string): { type: typeOfColorType; value: PropColor | null } {\n\tif (value.startsWith('{')) {\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(value) as unknown;\n\t\t\tif (isValidColorPair(parsed as ColorPair)) return { type: 'ColorPair', value: parsed as ColorPair };\n\t\t} catch (error) {\n\t\t\treturn { type: null, value: null };\n\t\t}\n\t}\n\treturn { type: null, value: null };\n}\n\nfunction typeOfColor(value?: unknown): { type: typeOfColorType; valid: boolean; value: PropColor | string } {\n\tif (value) {\n\t\tif (typeof value === 'string') {\n\t\t\tif (isHexString(value)) return { type: 'string', valid: true, value: value };\n\t\t\telse {\n\t\t\t\tconst colorObject = isColorObjectString(value);\n\t\t\t\tif (colorObject.value) return { type: colorObject.type, valid: true, value: colorObject.value };\n\t\t\t}\n\t\t} else {\n\t\t\tconst asColorPair = value as ColorPair;\n\t\t\tif (isValidColorPair(asColorPair)) return { type: 'ColorPair', valid: true, value: asColorPair };\n\t\t}\n\t}\n\treturn { type: null, valid: false, value: '' };\n}\n\n/* validate different color options */\nfunction isValidColorPair(value: ColorPair): boolean {\n\treturn !!(\n\t\ttypeof value === 'object' &&\n\t\tvalue &&\n\t\ttypeof value.backgroundColor === 'string' &&\n\t\t(typeof value.foregroundColor === 'string' ||\n\t\t\t(value.foregroundColor &&\n\t\t\t\ttypeof value.foregroundColor.primary === 'string' &&\n\t\t\t\ttypeof value.foregroundColor.secondary === 'string' &&\n\t\t\t\ttypeof value.foregroundColor.neutral === 'string'))\n\t);\n}\n\nfunction validatorFunction(value?: Stringified<PropColor>): boolean {\n\tconst valueType = typeOfColor(value);\n\tswitch (valueType.type) {\n\t\tcase null:\n\t\t\treturn false;\n\t\tcase 'string':\n\t\tcase 'ColorPair':\n\t\t\treturn valueType.valid;\n\t}\n}\n\n/* validator */\nexport const validateColor = (component: Generic.Element.Component, value?: Stringified<PropColor>, options?: WatchOptions): void => {\n\twatchValidator(component, '_color', validatorFunction, new Set(['rgb in hex', 'ColorPair']), value, options);\n};\n\nexport const handleColorChange = (value: unknown): ColorPair => {\n\tlet colorContrast: ColorContrast<string>;\n\tconst valueType = typeOfColor(value);\n\tswitch (valueType.type) {\n\t\tcase 'string':\n\t\t\tcolorContrast = createContrastColorPair(valueType.value as string);\n\t\t\tbreak;\n\t\tcase 'ColorPair': {\n\t\t\tconst asColorPair = valueType.value as ColorPair;\n\t\t\tlet foreground = '';\n\t\t\tif (typeof asColorPair.foregroundColor === 'string') foreground = asColorPair.foregroundColor;\n\t\t\telse if (asColorPair.foregroundColor?.primary) foreground = asColorPair.foregroundColor.primary;\n\t\t\tif (!foreground || typeof foreground !== 'string') foreground = '#fff';\n\t\t\tcolorContrast = createContrastColorPair({\n\t\t\t\tbackground: asColorPair.backgroundColor,\n\t\t\t\tforeground,\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase null:\n\t\t\tconsole.warn(`_color was empty or invalid (${JSON.stringify(value)})`);\n\t\t\tcolorContrast = createContrastColorPair({\n\t\t\t\tbackground: '#000',\n\t\t\t\tforeground: '#000',\n\t\t\t});\n\t}\n\n\tif (colorContrast.contrast < 7) {\n\t\ta11yHint(\n\t\t\t`[KolBadge] The contrast of ${colorContrast.contrast} (≥7, AAA) is to low, between the color pair ${colorContrast.background} and ${colorContrast.foreground}.`\n\t\t);\n\t}\n\treturn {\n\t\tbackgroundColor: colorContrast.background,\n\t\tforegroundColor: colorContrast.foreground,\n\t};\n};\n"],"mappings":"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"}
|
@@ -1,4 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
3
|
-
*/
|
4
|
-
import{a as t,d as i,s,o as e,p as h}from"./prop.validators-c12923a5.js";import{v as a}from"./hide-label-6593df3f.js";import{a as o}from"./label-8258848f.js";import{e as r,a as n,d}from"./a11y.tipps-f14bff66.js";import{s as l,t as c}from"./events-fa760b68.js";import{v as f}from"./tab-index-9e8a3c00.js";import{A as u}from"./associated.controller-e642039e.js";const p=t=>{const e="string"==typeof t._error&&t._error.length>0&&!0===t._touched,o="string"==typeof t._hint&&t._hint.length>0,n=[];return!0===e&&n.push(`${t._id}-error`),!0===o&&n.push(`${t._id}-hint`),{hasError:e,hasHint:o,ariaDescribedBy:n}},v=(e,o)=>{t(e,"_adjustHeight",o)},m=(e,o,n)=>{t(e,"_hideError",o,n)},y=(e,o)=>{t(e,"_touched",o)};class b extends u{constructor(t,e,o){super(t,e,o),this.component=t}validateAlert(e){t(this.component,"_alert",e)}validateTouched(t){y(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class g extends b{constructor(t,e,o){super(t,e,o),this.valueChangeListeners=[],this.onFacade={onBlur:this.onBlur.bind(this),onChange:this.onChange.bind(this),onClick:this.onClick.bind(this),onFocus:this.onFocus.bind(this)},this.component=t}validateAccessKey(t){i(this.component,"_accessKey",t)}validateAdjustHeight(t){v(this.component,t)}validateDisabled(e){t(this.component,"_disabled",e),!0===e&&r()}validateError(t){i(this.component,"_error",t)}validateHideError(t){m(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideError&&n("Property hide-error for inputs: Only use when the error message is shown outside of the input component.")}}})}validateHideLabel(t){a(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideLabel&&n("Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.")}}})}validateHint(t){i(this.component,"_hint",t)}validateId(t){i(this.component,"_id",t,{hooks:{afterPatch:()=>{this.setAttribute("id",this.formAssociated,this.component.state._id)}},minLength:1}),""!==t&&void 0!==t||d("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){o(this.component,t)}validateOn(t){"object"==typeof t&&s(this.component,"_on",t)}validateSmartButton(t){e(t,(()=>{try{t=h(t)}catch(t){}s(this.component,"_smartButton",t)}))}validateTabIndex(t){f(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideError(this.component._hideError),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateLabel(this.component._label),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex)}onBlur(t){var e;this.component._alert=!0,this.component._touched=!0,l(t),c("blur",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)&&this.component._on.onBlur(t)}onChange(t){var e;const o=t.target.value;c("change",this.host,o),this.setFormAssociatedValue(o),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o),this.valueChangeListeners.forEach((t=>t(o)))}onClick(t){var e;l(t),c("click",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onClick)&&this.component._on.onClick(t)}onFocus(t){var e;this.component._alert=!0,l(t),c("focus",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)&&this.component._on.onFocus(t)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{g as I,p as g};
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["getRenderStates","state","hasError","_error","length","_touched","hasHint","_hint","ariaDescribedBy","push","_id","validateAdjustHeight","component","value","watchBoolean","validateHideError","options","validateTouched","ControlledInputController","AssociatedInputController","constructor","name","host","super","this","validateAlert","componentWillLoad","_alert","InputController","valueChangeListeners","onFacade","onBlur","bind","onChange","onClick","onFocus","validateAccessKey","watchString","validateDisabled","a11yHintDisabled","validateError","hooks","afterPatch","_hideError","a11yHint","validateHideLabel","_hideLabel","validateHint","validateId","setAttribute","formAssociated","minLength","devHint","validateLabel","validateLabelWithExpertSlot","validateOn","setState","validateSmartButton","objectObjectHandler","parseJson","e","validateTabIndex","_accessKey","_adjustHeight","_disabled","_label","_smartButton","_on","_tabIndex","event","stopPropagation","tryToDispatchKoliBriEvent","_a","target","setFormAssociatedValue","forEach","listener","addValueChangeListener"],"sources":["src/components/input/controller.ts","src/types/props/adjust-height.ts","src/types/props/hide-error.ts","src/types/props/touched.ts","src/components/input-adapter-leanup/controller.ts","src/components/@deprecated/input/controller.ts"],"sourcesContent":["import { TouchedPropType } from '../../types/props/touched';\n\n/**\n * Berechnet in Abhängigkeit des Component-State, wie die\n * aria-describedby-Attributs gesetzt werden sollen.\n *\n * @param state State der Component\n * @returns Render-States\n */\nexport const getRenderStates = (state: {\n\t_error?: string;\n\t_hint?: string;\n\t_id: string;\n\t_touched?: TouchedPropType;\n}): {\n\thasError: boolean;\n\thasHint: boolean;\n\tariaDescribedBy: string[];\n} => {\n\tconst hasError = typeof state._error === 'string' && state._error.length > 0 && state._touched === true;\n\tconst hasHint = typeof state._hint === 'string' && state._hint.length > 0;\n\n\tconst ariaDescribedBy: string[] = [];\n\tif (hasError === true) {\n\t\tariaDescribedBy.push(`${state._id}-error`);\n\t}\n\tif (hasHint === true) {\n\t\tariaDescribedBy.push(`${state._id}-hint`);\n\t}\n\treturn { hasError, hasHint, ariaDescribedBy };\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type AdjustHeightPropType = boolean;\n\n/**\n * Adjusts the height of the element to its content.\n */\nexport type PropAdjustHeight = {\n\tadjustHeight: AdjustHeightPropType;\n};\n\n/* validator */\nexport const validateAdjustHeight = (component: Generic.Element.Component, value?: AdjustHeightPropType): void => {\n\twatchBoolean(component, '_adjustHeight', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean, WatchBooleanOptions } from '../../utils/prop.validators';\n\n/* types */\nexport type HideErrorPropType = boolean;\n\n/**\n * Hides the error message but leaves it in the DOM for the input's aria-describedby.\n */\nexport type PropHideError = {\n\thideError: HideErrorPropType;\n};\n\n/* validator */\nexport const validateHideError = (component: Generic.Element.Component, value?: HideErrorPropType, options?: WatchBooleanOptions): void => {\n\twatchBoolean(component, '_hideError', value, options);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type TouchedPropType = boolean;\n\n/**\n * Shows if the input was touched by a user.\n */\nexport type PropTouched = {\n\ttouched: TouchedPropType;\n};\n\n/* validator */\nexport const validateTouched = (component: Generic.Element.Component, value?: TouchedPropType): void => {\n\twatchBoolean(component, '_touched', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { validateTouched } from '../../types/props/touched';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { AssociatedInputController } from './associated.controller';\nimport { Props, Watches } from './types';\n\nexport class ControlledInputController extends AssociatedInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\tvalidateTouched(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { InputTypeOnDefault } from '../../../types/input/types';\nimport { AdjustHeightPropType, validateAdjustHeight } from '../../../types/props/adjust-height';\nimport { HideErrorPropType, validateHideError } from '../../../types/props/hide-error';\nimport { validateHideLabel } from '../../../types/props/hide-label';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../../types/props/label';\nimport { a11yHint, a11yHintDisabled, devHint } from '../../../utils/a11y.tipps';\nimport { stopPropagation, tryToDispatchKoliBriEvent } from '../../../utils/events';\nimport { objectObjectHandler, parseJson, setState, watchBoolean, watchString } from '../../../utils/prop.validators';\nimport { validateTabIndex } from '../../../utils/validators/tab-index';\nimport { Props as ButtonProps } from '../../button/types';\nimport { ControlledInputController } from '../../input-adapter-leanup/controller';\nimport { Props as AdapterProps } from '../../input-adapter-leanup/types';\nimport { Props, Watches } from './types';\n\ntype ValueChangeListener = (value: string) => void;\n\nexport class InputController extends ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props & AdapterProps;\n\n\tprivate readonly valueChangeListeners: ValueChangeListener[] = [];\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAccessKey(value?: string): void {\n\t\twatchString(this.component, '_accessKey', value);\n\t}\n\n\tpublic validateAdjustHeight(value?: AdjustHeightPropType): void {\n\t\tvalidateAdjustHeight(this.component, value);\n\t}\n\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this.component, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\tpublic validateError(value?: string): void {\n\t\twatchString(this.component, '_error', value);\n\t}\n\n\tpublic validateHideError(value?: HideErrorPropType): void {\n\t\tvalidateHideError(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideError) {\n\t\t\t\t\t\ta11yHint('Property hide-error for inputs: Only use when the error message is shown outside of the input component.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideLabel) {\n\t\t\t\t\t\ta11yHint('Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateHint(value?: string): void {\n\t\twatchString(this.component, '_hint', value);\n\t}\n\n\tpublic validateId(value?: string): void {\n\t\twatchString(this.component, '_id', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('id', this.formAssociated, this.component.state._id as string);\n\t\t\t\t},\n\t\t\t},\n\t\t\tminLength: 1,\n\t\t});\n\t\tif (value === '' || typeof value === 'undefined') {\n\t\t\tdevHint(`Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.`);\n\t\t}\n\t}\n\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this.component, value);\n\t}\n\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tif (typeof value === 'object') {\n\t\t\tsetState(this.component, '_on', value);\n\t\t}\n\t}\n\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this.component, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAccessKey(this.component._accessKey);\n\t\tthis.validateAdjustHeight(this.component._adjustHeight);\n\t\tthis.validateError(this.component._error);\n\t\tthis.validateDisabled(this.component._disabled);\n\t\tthis.validateHideError(this.component._hideError);\n\t\tthis.validateHideLabel(this.component._hideLabel);\n\t\tthis.validateHint(this.component._hint);\n\t\tthis.validateId(this.component._id);\n\t\tthis.validateLabel(this.component._label);\n\t\tthis.validateSmartButton(this.component._smartButton);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateTabIndex(this.component._tabIndex);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('blur', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tconst value = (event.target as HTMLInputElement).value;\n\n\t\t// Event handling\n\t\ttryToDispatchKoliBriEvent('change', this.host, value);\n\n\t\t// Static form handling\n\t\tthis.setFormAssociatedValue(value);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\t/**\n\t\t\t * TODO\n\t\t\t * Value-Handling muss für InputDate und InputNumber optimiert werden\n\t\t\t * - value\n\t\t\t * - valueAsNumber\n\t\t\t * - valueAsDate\n\t\t\t */\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\n\t\t/**\n\t\t * TODO: Was ist das?\n\t\t */\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('click', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.component._alert = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('focus', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\n\t\t}\n\t}\n\n\tpublic addValueChangeListener(listener: ValueChangeListener) {\n\t\tthis.valueChangeListeners.push(listener);\n\t}\n\n\t/**\n\t * Hinweis: In der Subklasse 'InputPasswordController'\n\t * werden die Methoden onBlur und onFocus\n\t * überschrieben.\n\t * Es werden somit zunächst die Methoden der\n\t * Subklasse ausgeführt und danach die der\n\t * Oberklassen.\n\t */\n\tpublic readonly onFacade = {\n\t\tonBlur: this.onBlur.bind(this),\n\t\tonChange: this.onChange.bind(this),\n\t\tonClick: this.onClick.bind(this),\n\t\tonFocus: this.onFocus.bind(this),\n\t};\n}\n"],"mappings":"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"}
|
@@ -1,4 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
3
|
-
*/
|
4
|
-
import{a as t,w as s,e,d as i}from"./prop.validators-c12923a5.js";import{I as a}from"./controller-icon-508a2cb1.js";const h=(e,o)=>{t(e,"_hasCounter",o)};class o extends a{constructor(t,e,o){super(t,e,o),this.component=t}validateAutoComplete(t){s(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateHasCounter(t){h(this.component,t)}validateMaxLength(t){e(this.component,"_maxLength",t,{min:0})}validatePattern(t){i(this.component,"_pattern",t)}validatePlaceholder(t){i(this.component,"_placeholder",t)}validateReadOnly(e){t(this.component,"_readOnly",e)}validateRequired(e){t(this.component,"_required",e)}validateValue(t){i(this.component,"_value",t),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateHasCounter(this.component._hasCounter),this.validateMaxLength(this.component._maxLength),this.validatePattern(this.component._pattern),this.validatePlaceholder(this.component._placeholder),this.validateReadOnly(this.component._readOnly),this.validateRequired(this.component._required),this.validateValue(this.component._value)}onBlur(t){this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:this.placeholderCache}),this.placeholderCache=void 0,super.onBlur(t)}onFocus(t){this.placeholderCache=this.component.state._placeholder,this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:void 0}),super.onFocus(t)}}export{o as I,h as v};
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["validateHasCounter","component","value","watchBoolean","InputPasswordController","InputIconController","constructor","name","host","super","this","validateAutoComplete","watchValidator","Set","validateMaxLength","watchNumber","min","validatePattern","watchString","validatePlaceholder","validateReadOnly","validateRequired","validateValue","setFormAssociatedValue","state","_value","componentWillLoad","_autoComplete","_hasCounter","_maxLength","_pattern","_placeholder","_readOnly","_required","onBlur","event","Object","assign","placeholderCache","undefined","onFocus"],"sources":["src/types/props/has-counter.ts","src/components/input-password/controller.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type HasCounterPropType = boolean;\n\n/**\n * Shows the character count on the lower border of the input.\n */\nexport type PropHasCounter = {\n\thasCounter: HasCounterPropType;\n};\n\n/* validator */\nexport const validateHasCounter = (component: Generic.Element.Component, value?: HasCounterPropType): void => {\n\twatchBoolean(component, '_hasCounter', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { InputTypeOnOff } from '../../types/input/types';\nimport { validateHasCounter } from '../../types/props/has-counter';\nimport { watchBoolean, watchNumber, watchString, watchValidator } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputPasswordController extends InputIconController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate placeholderCache?: string;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_autoComplete',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'on' || value === 'off'),\n\t\t\tnew Set(['on | off']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic validateMaxLength(value?: number): void {\n\t\twatchNumber(this.component, '_maxLength', value, {\n\t\t\tmin: 0,\n\t\t});\n\t}\n\n\tpublic validatePattern(value?: string): void {\n\t\twatchString(this.component, '_pattern', value);\n\t}\n\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\tpublic validateReadOnly(value?: boolean): void {\n\t\twatchBoolean(this.component, '_readOnly', value);\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(this.component, '_value', value);\n\t\tthis.setFormAssociatedValue(this.component.state._value as string);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAutoComplete(this.component._autoComplete);\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t\tthis.validateMaxLength(this.component._maxLength);\n\t\tthis.validatePattern(this.component._pattern);\n\t\tthis.validatePlaceholder(this.component._placeholder);\n\t\tthis.validateReadOnly(this.component._readOnly);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateValue(this.component._value);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\t/**\n\t\t * Beim Screenreader NVDA wird der Placeholder mit\n\t\t * vorgelesen. Somit kann es vorkommen, dass das\n\t\t * Label und der Placeholder vorgelesen werden.\n\t\t *\n\t\t * Aufgrund dessen, dass das Label immer vorgelesen\n\t\t * werden muss, kann das zusätzliche Vorlesen des\n\t\t * Placeholders störend sein.\n\t\t *\n\t\t * Damit beim Fokussieren das \"doppelte\" vorlesen\n\t\t * vermieden werden kann, wird der Placeholder für\n\t\t * den fokussierten Feldstatus entfernt.\n\t\t *\n\t\t * Hinweis: Für alle Nutzenden müssen die all dar-\n\t\t * gestellten Inhalte, also auch der Place-\n\t\t * holder, gleichermaßen zugänglich sein.\n\t\t * Das oben beschriebene Handling erfüllt\n\t\t * diese Anforderung nicht.\n\t\t */\n\t\tthis.component.state = {\n\t\t\t...this.component.state,\n\t\t\t_placeholder: this.placeholderCache,\n\t\t};\n\t\tthis.placeholderCache = undefined;\n\t\tsuper.onBlur(event);\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.placeholderCache = this.component.state._placeholder as string;\n\t\tthis.component.state = {\n\t\t\t...this.component.state,\n\t\t\t_placeholder: undefined,\n\t\t};\n\t\tsuper.onFocus(event);\n\t}\n}\n"],"mappings":";;;0HAeaA,EAAqB,CAACC,EAAsCC,KACxEC,EAAaF,EAAW,cAAeC,EAAM,E,MCRjCE,UAAgCC,EAI5C,WAAAC,CAAmBL,EAA8CM,EAAcC,GAC9EC,MAAMR,EAAWM,EAAMC,GACvBE,KAAKT,UAAYA,C,CAGX,oBAAAU,CAAqBT,GAC3BU,EACCF,KAAKT,UACL,iBACCC,UAA0BA,IAAU,WAAaA,IAAU,MAAQA,IAAU,QAC9E,IAAIW,IAAI,CAAC,aACTX,E,CAIK,kBAAAF,CAAmBE,GACzBF,EAAmBU,KAAKT,UAAWC,E,CAG7B,iBAAAY,CAAkBZ,GACxBa,EAAYL,KAAKT,UAAW,aAAcC,EAAO,CAChDc,IAAK,G,CAIA,eAAAC,CAAgBf,GACtBgB,EAAYR,KAAKT,UAAW,WAAYC,E,CAGlC,mBAAAiB,CAAoBjB,GAC1BgB,EAAYR,KAAKT,UAAW,eAAgBC,E,CAGtC,gBAAAkB,CAAiBlB,GACvBC,EAAaO,KAAKT,UAAW,YAAaC,E,CAGpC,gBAAAmB,CAAiBnB,GACvBC,EAAaO,KAAKT,UAAW,YAAaC,E,CAGpC,aAAAoB,CAAcpB,GACpBgB,EAAYR,KAAKT,UAAW,SAAUC,GACtCQ,KAAKa,uBAAuBb,KAAKT,UAAUuB,MAAMC,O,CAG3C,iBAAAC,GACNjB,MAAMiB,oBACNhB,KAAKC,qBAAqBD,KAAKT,UAAU0B,eACzCjB,KAAKV,mBAAmBU,KAAKT,UAAU2B,aACvClB,KAAKI,kBAAkBJ,KAAKT,UAAU4B,YACtCnB,KAAKO,gBAAgBP,KAAKT,UAAU6B,UACpCpB,KAAKS,oBAAoBT,KAAKT,UAAU8B,cACxCrB,KAAKU,iBAAiBV,KAAKT,UAAU+B,WACrCtB,KAAKW,iBAAiBX,KAAKT,UAAUgC,WACrCvB,KAAKY,cAAcZ,KAAKT,UAAUwB,O,CAGzB,MAAAS,CAAOC,GAoBhBzB,KAAKT,UAAUuB,MAAKY,OAAAC,OAAAD,OAAAC,OAAA,GAChB3B,KAAKT,UAAUuB,OAAK,CACvBO,aAAcrB,KAAK4B,mBAEpB5B,KAAK4B,iBAAmBC,UACxB9B,MAAMyB,OAAOC,E,CAGJ,OAAAK,CAAQL,GACjBzB,KAAK4B,iBAAmB5B,KAAKT,UAAUuB,MAAMO,aAC7CrB,KAAKT,UAAUuB,MAAKY,OAAAC,OAAAD,OAAAC,OAAA,GAChB3B,KAAKT,UAAUuB,OAAK,CACvBO,aAAcQ,YAEf9B,MAAM+B,QAAQL,E"}
|
@@ -1,4 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
3
|
-
*/
|
4
|
-
import{v as s,I as t}from"./controller-7d1c3e92.js";import{v as e}from"./suggestions-dc12a293.js";import{w as o}from"./prop.validators-c12923a5.js";const i=["text","search","url","tel"];class a extends t{constructor(t,o,s){super(t,o,s),this.component=t}validateSuggestions(t){e(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions)}}class r extends a{constructor(t,o,s){super(t,o,s),this.hasError=!1,this.component=t}validateType(t){o(this.component,"_type",(t=>"string"==typeof t&&i.includes(t)),new Set([`String {${i.join(", ")}`]),t)}validateHasCounter(t){s(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateType(this.component._type),this.validateHasCounter(this.component._hasCounter)}}export{a as I,r as a};
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["inputTextTypeOptions","InputTextEmailController","InputPasswordController","constructor","component","name","host","super","this","validateSuggestions","value","componentWillLoad","_suggestions","InputTextController","hasError","validateType","watchValidator","includes","Set","join","validateHasCounter","_type","_hasCounter"],"sources":["src/types/input/control/text.ts","src/components/input-text/controller.ts"],"sourcesContent":["export const inputTextTypeOptions = ['text', 'search', 'url', 'tel'] as const;\nexport type InputTextType = (typeof inputTextTypeOptions)[number];\n","import type { Generic } from 'adopted-style-sheets';\nimport { InputTextType, inputTextTypeOptions } from '../../types/input/control/text';\nimport { validateHasCounter } from '../../types/props/has-counter';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { PropSuggestions, SuggestionsPropType, validateSuggestions } from '../../types/props/suggestions';\nimport { watchValidator } from '../../utils/prop.validators';\nimport { InputPasswordController } from '../input-password/controller';\nimport { Props as InputTextProps, Watches as InputTextWatches } from './types';\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\tid: string;\n} & PropLabelWithExpertSlot &\n\tPropSuggestions;\ntype InputTextEmailProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputTextEmailWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputTextEmailController extends InputPasswordController implements InputTextEmailWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextEmailProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextEmailProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateSuggestions(value?: SuggestionsPropType): void {\n\t\tvalidateSuggestions(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateSuggestions(this.component._suggestions);\n\t}\n}\n\nexport class InputTextController extends InputTextEmailController implements InputTextWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextProps;\n\n\tpublic hasError = false;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateType(value?: InputTextType): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_type',\n\t\t\t(value): boolean => typeof value === 'string' && inputTextTypeOptions.includes(value),\n\t\t\tnew Set([`String {${inputTextTypeOptions.join(', ')}`]),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateType(this.component._type);\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t}\n}\n"],"mappings":";;;oJAAO,MAAMA,EAAuB,CAAC,OAAQ,SAAU,MAAO,O,MCiBjDC,UAAiCC,EAG7C,WAAAC,CAAmBC,EAA4DC,EAAcC,GAC5FC,MAAMH,EAAWC,EAAMC,GACvBE,KAAKJ,UAAYA,C,CAGX,mBAAAK,CAAoBC,GAC1BD,EAAoBD,KAAKJ,UAAWM,E,CAG9B,iBAAAC,GACNJ,MAAMI,oBACNH,KAAKC,oBAAoBD,KAAKJ,UAAUQ,a,QAI7BC,UAA4BZ,EAKxC,WAAAE,CAAmBC,EAAuDC,EAAcC,GACvFC,MAAMH,EAAWC,EAAMC,GAHjBE,KAAAM,SAAW,MAIjBN,KAAKJ,UAAYA,C,CAGX,YAAAW,CAAaL,GACnBM,EACCR,KAAKJ,UACL,SACCM,UAA0BA,IAAU,UAAYV,EAAqBiB,SAASP,IAC/E,IAAIQ,IAAI,CAAC,WAAWlB,EAAqBmB,KAAK,UAC9CT,E,CAIK,kBAAAU,CAAmBV,GACzBU,EAAmBZ,KAAKJ,UAAWM,E,CAG7B,iBAAAC,GACNJ,MAAMI,oBACNH,KAAKO,aAAaP,KAAKJ,UAAUiB,OACjCb,KAAKY,mBAAmBZ,KAAKJ,UAAUkB,Y"}
|
@@ -1,4 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* KoliBri - The accessible HTML-Standard
|
3
|
-
*/
|
4
|
-
import{c as t,a as e,w as s,m as i,s as o}from"./prop.validators-c12923a5.js";import{h as a,c as r}from"./label-8258848f.js";import{a as n}from"./a11y.tipps-f14bff66.js";import{S as f}from"./reuse-d79ab469.js";import{I as l}from"./controller-3577ccfd.js";const h=["horizontal","vertical"],c=t=>{if("object"==typeof t&&null!==t){if("string"==typeof t.label&&t.label.length>0)return t.disabled=!0===t.disabled,t.label=`${t.label}`.trim(),!1===a(t.label,3)&&!1===r(t.label)&&n(`Ein abweichendes Aria-Label (${t.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`),!Array.isArray(t.options)||void 0===t.options.find((t=>!1===c(t)));if("number"==typeof t.label)return!0}return!1},u=(e,o,i={})=>{t(e,"_options",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),o,void 0,i)},p=(e,o,i={})=>{t(e,"_options",c,o,void 0,i)},d=(t,o)=>{e(t,"_required",o)},m=(t,e,o="")=>{e.forEach(((e,i)=>{const a=`${o}-${i}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?m(t,e.options,a):t.set(a,e))}))};class b extends l{constructor(t,e,o){super(t,e,o),this.component=t}validateRequired(t){d(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class y extends b{constructor(t,e,o){super(t,e,o),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,e)=>void 0!==e.find((e=>e.value===t)),this.beforePatchOptions=(t,e)=>{const o=e.has("_options")?e.get("_options"):this.component.state._options;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear(),m(this.keyOptionMap,o);const t=e.has("_value")?e.get("_value"):this.component.state._value;if(!1===this.isValueInOptions(t,o)){const t=o[0].value;e.set("_value",t),this.onStateChange()}}},this.component=t}validateOrientation(t){s(this.component,"_orientation",(t=>"string"==typeof t&&h.includes(t)),new Set([`Orientation {${h.join(", ")}`]),t,{defaultValue:"vertical"})}validateOptions(t){u(this.component,t,{hooks:{beforePatch:this.beforePatchOptions}})}validateValue(t){t=i(t),t=Array.isArray(t)?t[0]:t,o(this.component,"_value",t,{beforePatch:this.beforePatchOptions}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const e=setTimeout((()=>{clearTimeout(e),t(f)}))}},this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options),this.validateValue(this.component._value)}}export{b as I,y as a,m as f,p as v};
|