@public-ui/components 1.6.0-rc.11 → 1.6.0-rc.13
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 +87 -3
- package/dist/cjs/{a11y.tipps-b7561cd9.js → a11y.tipps-dbfe482e.js} +1 -1
- package/dist/cjs/{a11y.tipps-b7561cd9.js.map → a11y.tipps-dbfe482e.js.map} +1 -1
- package/dist/cjs/{app-globals-76ba24c3.js → app-globals-3c457229.js} +1 -1
- package/dist/cjs/{app-globals-76ba24c3.js.map → app-globals-3c457229.js.map} +1 -1
- package/dist/cjs/{aria-selected-0ad16d16.js → aria-selected-b31756b3.js} +1 -1
- package/dist/cjs/{aria-selected-0ad16d16.js.map → aria-selected-b31756b3.js.map} +1 -1
- package/dist/cjs/{button-link-1df10d7c.js → button-link-58e21d08.js} +1 -1
- package/dist/cjs/{button-link-1df10d7c.js.map → button-link-58e21d08.js.map} +1 -1
- package/dist/cjs/{color-b81183e4.js → color-3b22adaf.js} +1 -1
- package/dist/cjs/{color-b81183e4.js.map → color-3b22adaf.js.map} +1 -1
- package/dist/cjs/{controller-6aabbf41.js → controller-74ceb4e2.js} +1 -1
- package/dist/cjs/{controller-6aabbf41.js.map → controller-74ceb4e2.js.map} +1 -1
- package/dist/cjs/controller-aa42c292.js +4 -0
- package/dist/cjs/controller-aa42c292.js.map +1 -0
- package/dist/cjs/{controller-d513b916.js → controller-b8d0de10.js} +1 -1
- package/dist/cjs/{controller-d513b916.js.map → controller-b8d0de10.js.map} +1 -1
- package/dist/cjs/{controller-7c4cd449.js → controller-bc933b12.js} +1 -1
- package/dist/cjs/{controller-7c4cd449.js.map → controller-bc933b12.js.map} +1 -1
- package/dist/cjs/controller-c3021b2f.js +4 -0
- package/dist/cjs/controller-c3021b2f.js.map +1 -0
- package/dist/cjs/{controller-9a10b30b.js → controller-d636acbc.js} +1 -1
- package/dist/cjs/{controller-9a10b30b.js.map → controller-d636acbc.js.map} +1 -1
- package/dist/cjs/{controller-icon-d2ec9da9.js → controller-icon-1cc6572a.js} +1 -1
- package/dist/cjs/{controller-icon-d2ec9da9.js.map → controller-icon-1cc6572a.js.map} +1 -1
- package/dist/cjs/dev.utils-78d00548.js +4 -0
- package/dist/cjs/{dev.utils-b2b6f024.js.map → dev.utils-78d00548.js.map} +1 -1
- package/dist/cjs/{devtools-60ad513c.js → devtools-7f99e00b.js} +1 -1
- package/dist/cjs/devtools-7f99e00b.js.map +1 -0
- package/dist/cjs/{disabled-98957f7e.js → disabled-959951da.js} +1 -1
- package/dist/cjs/{disabled-98957f7e.js.map → disabled-959951da.js.map} +1 -1
- package/dist/cjs/floating-ui.dom.esm-09852e47.js +4 -0
- package/dist/cjs/floating-ui.dom.esm-09852e47.js.map +1 -0
- package/dist/cjs/has-closer-01ac076a.js +4 -0
- package/dist/cjs/{has-closer-7d377e88.js.map → has-closer-01ac076a.js.map} +1 -1
- package/dist/cjs/hide-label-4d99f1d9.js +4 -0
- package/dist/cjs/{hide-label-9bf6abe6.js.map → hide-label-4d99f1d9.js.map} +1 -1
- package/dist/cjs/{i18n-43926d90.js → i18n-8d483c7b.js} +1 -1
- package/dist/cjs/{i18n-43926d90.js.map → i18n-8d483c7b.js.map} +1 -1
- package/dist/cjs/{icon-deabb5a9.js → icon-4b915891.js} +1 -1
- package/dist/cjs/{icon-deabb5a9.js.map → icon-4b915891.js.map} +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
- package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
- package/dist/cjs/kol-alert-wc_2.cjs.entry.js +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-card.cjs.entry.js +1 -1
- package/dist/cjs/kol-details.cjs.entry.js +1 -1
- package/dist/cjs/kol-form.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon-font-awesome.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon-font-awesome.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-icon-icofont.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon-icofont.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-input-adapter-leanup.cjs.entry.js +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-group.cjs.entry.js +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-kolibri.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-logo.cjs.entry.js +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-popover.cjs.entry.js +1 -1
- package/dist/cjs/kol-progress.cjs.entry.js +1 -1
- package/dist/cjs/kol-quote.cjs.entry.js +1 -1
- package/dist/cjs/kol-select.cjs.entry.js +1 -1
- package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-span-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
- package/dist/cjs/kol-table.cjs.entry.js +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.cjs.entry.js +1 -1
- package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/kol-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-version.cjs.entry.js +1 -1
- package/dist/cjs/kolibri.cjs.js +1 -1
- package/dist/cjs/{label-5738ac71.js → label-f31696ce.js} +1 -1
- package/dist/cjs/{label-5738ac71.js.map → label-f31696ce.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/prop.validators-7219caea.js +4 -0
- package/dist/cjs/prop.validators-7219caea.js.map +1 -0
- package/dist/cjs/show-a8907ed7.js +4 -0
- package/dist/cjs/{show-942951b7.js.map → show-a8907ed7.js.map} +1 -1
- package/dist/cjs/{tab-index-31c874b2.js → tab-index-fd4498b0.js} +1 -1
- package/dist/cjs/{tab-index-31c874b2.js.map → tab-index-fd4498b0.js.map} +1 -1
- package/dist/cjs/validation-6faf86e0.js +4 -0
- package/dist/cjs/{validation-6c112462.js.map → validation-6faf86e0.js.map} +1 -1
- package/dist/cjs/{validation-1f68fe35.js → validation-8cba92a6.js} +1 -1
- package/dist/cjs/{validation-1f68fe35.js.map → validation-8cba92a6.js.map} +1 -1
- package/dist/components/component.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/component15.js +1 -1
- package/dist/components/component15.js.map +1 -1
- package/dist/components/component2.js +1 -1
- package/dist/components/component2.js.map +1 -1
- package/dist/components/component5.js +1 -1
- package/dist/components/component5.js.map +1 -1
- package/dist/components/controller.js +1 -1
- package/dist/components/controller.js.map +1 -1
- package/dist/components/devtools.js +1 -1
- package/dist/components/devtools.js.map +1 -1
- package/dist/components/floating-ui.dom.esm.js +1 -1
- package/dist/components/floating-ui.dom.esm.js.map +1 -1
- package/dist/components/kol-breadcrumb.js.map +1 -1
- package/dist/components/kol-icon-font-awesome.js +1 -1
- package/dist/components/kol-icon-font-awesome.js.map +1 -1
- package/dist/components/kol-icon-icofont.js +1 -1
- package/dist/components/kol-icon-icofont.js.map +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-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-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/prop.validators.js +1 -1
- package/dist/components/prop.validators.js.map +1 -1
- package/dist/esm/{a11y.tipps-e607b8b3.js → a11y.tipps-9f948961.js} +1 -1
- package/dist/esm/{a11y.tipps-e607b8b3.js.map → a11y.tipps-9f948961.js.map} +1 -1
- package/dist/esm/app-globals-bf9eb17a.js +4 -0
- package/dist/esm/{app-globals-1811b38e.js.map → app-globals-bf9eb17a.js.map} +1 -1
- package/dist/esm/{aria-selected-d90aa300.js → aria-selected-b9d7d1e4.js} +1 -1
- package/dist/esm/{aria-selected-d90aa300.js.map → aria-selected-b9d7d1e4.js.map} +1 -1
- package/dist/esm/{button-link-2ad7f3cf.js → button-link-99acae48.js} +1 -1
- package/dist/esm/{button-link-2ad7f3cf.js.map → button-link-99acae48.js.map} +1 -1
- package/dist/esm/{color-9d0ce5e3.js → color-408da8e8.js} +1 -1
- package/dist/esm/{color-9d0ce5e3.js.map → color-408da8e8.js.map} +1 -1
- package/dist/esm/{controller-d064cead.js → controller-6ed90cd7.js} +1 -1
- package/dist/esm/{controller-d064cead.js.map → controller-6ed90cd7.js.map} +1 -1
- package/dist/esm/controller-7ae169ad.js +4 -0
- package/dist/esm/controller-7ae169ad.js.map +1 -0
- package/dist/esm/{controller-ff99125c.js → controller-a979f7a6.js} +1 -1
- package/dist/esm/{controller-ff99125c.js.map → controller-a979f7a6.js.map} +1 -1
- package/dist/esm/controller-b036f128.js +4 -0
- package/dist/esm/controller-b036f128.js.map +1 -0
- package/dist/esm/{controller-3b1a37ac.js → controller-c69b0aaa.js} +1 -1
- package/dist/esm/{controller-3b1a37ac.js.map → controller-c69b0aaa.js.map} +1 -1
- package/dist/esm/{controller-0a60db6b.js → controller-d2d4a593.js} +1 -1
- package/dist/esm/{controller-0a60db6b.js.map → controller-d2d4a593.js.map} +1 -1
- package/dist/esm/{controller-icon-ba3c5351.js → controller-icon-4388a5b7.js} +1 -1
- package/dist/esm/{controller-icon-ba3c5351.js.map → controller-icon-4388a5b7.js.map} +1 -1
- package/dist/esm/{dev.utils-8aef00f6.js → dev.utils-4290338e.js} +1 -1
- package/dist/esm/{dev.utils-8aef00f6.js.map → dev.utils-4290338e.js.map} +1 -1
- package/dist/esm/devtools-57a6a46f.js +4 -0
- package/dist/esm/devtools-57a6a46f.js.map +1 -0
- package/dist/esm/{disabled-cac31f02.js → disabled-559fd371.js} +1 -1
- package/dist/esm/{disabled-cac31f02.js.map → disabled-559fd371.js.map} +1 -1
- package/dist/esm/floating-ui.dom.esm-26e61da8.js +4 -0
- package/dist/esm/floating-ui.dom.esm-26e61da8.js.map +1 -0
- package/dist/esm/{has-closer-268d165e.js → has-closer-62a48dbd.js} +1 -1
- package/dist/esm/{has-closer-268d165e.js.map → has-closer-62a48dbd.js.map} +1 -1
- package/dist/esm/{hide-label-e9f288ac.js → hide-label-9248468d.js} +1 -1
- package/dist/esm/{hide-label-e9f288ac.js.map → hide-label-9248468d.js.map} +1 -1
- package/dist/esm/{i18n-64b07ed9.js → i18n-23b83118.js} +1 -1
- package/dist/esm/{i18n-64b07ed9.js.map → i18n-23b83118.js.map} +1 -1
- package/dist/esm/{icon-278d567d.js → icon-e03e73f6.js} +1 -1
- package/dist/esm/{icon-278d567d.js.map → icon-e03e73f6.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/kol-abbr.entry.js +1 -1
- package/dist/esm/kol-accordion.entry.js +1 -1
- package/dist/esm/kol-alert-wc_2.entry.js +1 -1
- package/dist/esm/kol-badge.entry.js +1 -1
- package/dist/esm/kol-breadcrumb.entry.js +1 -1
- package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
- package/dist/esm/kol-button-wc_2.entry.js +1 -1
- package/dist/esm/kol-button-wc_2.entry.js.map +1 -1
- package/dist/esm/kol-card.entry.js +1 -1
- package/dist/esm/kol-details.entry.js +1 -1
- package/dist/esm/kol-form.entry.js +1 -1
- package/dist/esm/kol-icon-font-awesome.entry.js +1 -1
- package/dist/esm/kol-icon-font-awesome.entry.js.map +1 -1
- package/dist/esm/kol-icon-icofont.entry.js +1 -1
- package/dist/esm/kol-icon-icofont.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-input-adapter-leanup.entry.js +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-group.entry.js +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-kolibri.entry.js +1 -1
- package/dist/esm/kol-link-button.entry.js +1 -1
- package/dist/esm/kol-link-group.entry.js +1 -1
- package/dist/esm/kol-link-wc.entry.js +1 -1
- package/dist/esm/kol-logo.entry.js +1 -1
- package/dist/esm/kol-modal.entry.js +1 -1
- package/dist/esm/kol-nav.entry.js +1 -1
- package/dist/esm/kol-pagination.entry.js +1 -1
- package/dist/esm/kol-pagination.entry.js.map +1 -1
- package/dist/esm/kol-popover.entry.js +1 -1
- package/dist/esm/kol-progress.entry.js +1 -1
- package/dist/esm/kol-quote.entry.js +1 -1
- package/dist/esm/kol-select.entry.js +1 -1
- package/dist/esm/kol-select.entry.js.map +1 -1
- package/dist/esm/kol-skip-nav.entry.js +1 -1
- package/dist/esm/kol-span-wc.entry.js +1 -1
- package/dist/esm/kol-spin.entry.js +1 -1
- package/dist/esm/kol-split-button.entry.js +1 -1
- package/dist/esm/kol-symbol.entry.js +1 -1
- package/dist/esm/kol-table.entry.js +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.entry.js +1 -1
- package/dist/esm/kol-tooltip.entry.js +1 -1
- package/dist/esm/kol-tooltip.entry.js.map +1 -1
- package/dist/esm/kol-version.entry.js +1 -1
- package/dist/esm/kolibri.js +1 -1
- package/dist/esm/{label-bd9566f6.js → label-223fef8f.js} +1 -1
- package/dist/esm/{label-bd9566f6.js.map → label-223fef8f.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/prop.validators-601f1068.js +4 -0
- package/dist/esm/{prop.validators-683bb1d0.js.map → prop.validators-601f1068.js.map} +1 -1
- package/dist/esm/{show-2b9058c9.js → show-6d33a33f.js} +1 -1
- package/dist/esm/{show-2b9058c9.js.map → show-6d33a33f.js.map} +1 -1
- package/dist/esm/{tab-index-6d37f269.js → tab-index-fc60df7a.js} +1 -1
- package/dist/esm/{tab-index-6d37f269.js.map → tab-index-fc60df7a.js.map} +1 -1
- package/dist/esm/validation-4acc18ad.js +4 -0
- package/dist/esm/{validation-1f01325c.js.map → validation-4acc18ad.js.map} +1 -1
- package/dist/esm/{validation-0efb75d3.js → validation-5300d0a1.js} +1 -1
- package/dist/esm/{validation-0efb75d3.js.map → validation-5300d0a1.js.map} +1 -1
- package/dist/kolibri/{a11y.tipps-e607b8b3.js → a11y.tipps-9f948961.js} +1 -1
- package/dist/kolibri/app-globals-bf9eb17a.js +4 -0
- package/dist/kolibri/{app-globals-1811b38e.js.map → app-globals-bf9eb17a.js.map} +1 -1
- package/dist/kolibri/{aria-selected-d90aa300.js → aria-selected-b9d7d1e4.js} +1 -1
- package/dist/kolibri/assets/simulations/form-simulation.js +1 -1
- package/dist/kolibri/{button-link-2ad7f3cf.js → button-link-99acae48.js} +1 -1
- package/dist/kolibri/{color-9d0ce5e3.js → color-408da8e8.js} +1 -1
- package/dist/kolibri/{controller-d064cead.js → controller-6ed90cd7.js} +1 -1
- package/dist/kolibri/controller-7ae169ad.js +4 -0
- package/dist/kolibri/controller-7ae169ad.js.map +1 -0
- package/dist/kolibri/{controller-ff99125c.js → controller-a979f7a6.js} +1 -1
- package/dist/kolibri/{controller-ca0fe64f.js → controller-b036f128.js} +1 -1
- package/dist/kolibri/controller-b036f128.js.map +1 -0
- package/dist/kolibri/{controller-3b1a37ac.js → controller-c69b0aaa.js} +1 -1
- package/dist/kolibri/{controller-0a60db6b.js → controller-d2d4a593.js} +1 -1
- package/dist/kolibri/controller-icon-4388a5b7.js +4 -0
- package/dist/kolibri/dev.utils-4290338e.js.map +1 -0
- package/dist/kolibri/{devtools-eaaafe9d.js → devtools-57a6a46f.js} +1 -1
- package/dist/kolibri/devtools-57a6a46f.js.map +1 -0
- package/dist/kolibri/{disabled-cac31f02.js → disabled-559fd371.js} +1 -1
- package/dist/kolibri/floating-ui.dom.esm-26e61da8.js +4 -0
- package/dist/kolibri/floating-ui.dom.esm-26e61da8.js.map +1 -0
- package/dist/kolibri/has-closer-62a48dbd.js +4 -0
- package/dist/kolibri/hide-label-9248468d.js +4 -0
- package/dist/kolibri/{i18n-64b07ed9.js → i18n-23b83118.js} +1 -1
- package/dist/kolibri/{icon-278d567d.js → icon-e03e73f6.js} +1 -1
- package/dist/kolibri/index.esm.js +1 -1
- package/dist/kolibri/kol-abbr.entry.js +1 -1
- package/dist/kolibri/kol-accordion.entry.js +1 -1
- package/dist/kolibri/kol-alert-wc_2.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
- package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
- package/dist/kolibri/kol-button-wc_2.entry.js.map +1 -1
- package/dist/kolibri/kol-card.entry.js +1 -1
- package/dist/kolibri/kol-details.entry.js +1 -1
- package/dist/kolibri/kol-form.entry.js +1 -1
- package/dist/kolibri/kol-icon-font-awesome.entry.js +1 -1
- package/dist/kolibri/kol-icon-font-awesome.entry.js.map +1 -1
- package/dist/kolibri/kol-icon-icofont.entry.js +1 -1
- package/dist/kolibri/kol-icon-icofont.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-input-adapter-leanup.entry.js +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-group.entry.js +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-kolibri.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.js +1 -1
- package/dist/kolibri/kol-link-group.entry.js +1 -1
- package/dist/kolibri/kol-link-wc.entry.js +1 -1
- package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
- package/dist/kolibri/kol-logo.entry.js +1 -1
- package/dist/kolibri/kol-modal.entry.js +1 -1
- package/dist/kolibri/kol-nav.entry.js +1 -1
- package/dist/kolibri/kol-pagination.entry.js +1 -1
- package/dist/kolibri/kol-pagination.entry.js.map +1 -1
- package/dist/kolibri/kol-popover.entry.js +1 -1
- package/dist/kolibri/kol-progress.entry.js +1 -1
- package/dist/kolibri/kol-quote.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.js +1 -1
- package/dist/kolibri/kol-select.entry.js.map +1 -1
- package/dist/kolibri/kol-skip-nav.entry.js +1 -1
- package/dist/kolibri/kol-span-wc.entry.js +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-split-button.entry.js +1 -1
- package/dist/kolibri/kol-symbol.entry.js +1 -1
- package/dist/kolibri/kol-symbol.entry.js.map +1 -1
- package/dist/kolibri/kol-table.entry.js +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.entry.js +1 -1
- package/dist/kolibri/kol-tooltip.entry.js +1 -1
- package/dist/kolibri/kol-tooltip.entry.js.map +1 -1
- package/dist/kolibri/kol-version.entry.js +1 -1
- package/dist/kolibri/kolibri.esm.js +1 -1
- package/dist/kolibri/kolibri.esm.js.map +1 -1
- package/dist/kolibri/label-223fef8f.js +4 -0
- package/dist/kolibri/{label-bd9566f6.js.map → label-223fef8f.js.map} +1 -1
- package/dist/kolibri/{prop.validators-683bb1d0.js → prop.validators-601f1068.js} +1 -1
- package/dist/kolibri/prop.validators-601f1068.js.map +1 -0
- package/dist/kolibri/show-6d33a33f.js +4 -0
- package/dist/kolibri/{tab-index-6d37f269.js → tab-index-fc60df7a.js} +1 -1
- package/dist/kolibri/validation-4acc18ad.js +4 -0
- package/dist/kolibri/{validation-0efb75d3.js → validation-5300d0a1.js} +1 -1
- package/dist/types/components/breadcrumb/types.d.ts +2 -2
- package/dist/types/components/icon/component.d.ts +1 -1
- package/dist/types/components/input-adapter-leanup/controller.d.ts +7 -4
- package/dist/types/components/input-checkbox/component.d.ts +5 -2
- package/dist/types/components/input-checkbox/controller.d.ts +3 -1
- package/dist/types/components/input-checkbox/types.d.ts +5 -3
- package/dist/types/components/input-color/component.d.ts +2 -0
- package/dist/types/components/input-date/component.d.ts +2 -0
- package/dist/types/components/input-email/component.d.ts +2 -0
- package/dist/types/components/input-file/component.d.ts +2 -0
- package/dist/types/components/input-number/component.d.ts +2 -0
- package/dist/types/components/input-password/component.d.ts +2 -0
- package/dist/types/components/input-radio/component.d.ts +2 -0
- package/dist/types/components/input-range/component.d.ts +2 -0
- package/dist/types/components/input-text/component.d.ts +2 -0
- package/dist/types/components/select/component.d.ts +2 -0
- package/dist/types/components/textarea/component.d.ts +2 -0
- package/dist/types/components.d.ts +100 -2
- package/dist/types/types/unknown.d.ts +1 -0
- package/dist/types/utils/dev.utils.d.ts +1 -1
- package/doc/breadcrumb.md +1 -1
- package/doc/input-checkbox.md +4 -1
- package/doc/input-color.md +3 -0
- package/doc/input-date.md +3 -0
- package/doc/input-email.md +3 -0
- package/doc/input-file.md +23 -20
- package/doc/input-number.md +3 -0
- package/doc/input-password.md +3 -0
- package/doc/input-radio-group.md +1 -0
- package/doc/input-radio.md +21 -18
- package/doc/input-range.md +3 -0
- package/doc/input-text.md +3 -0
- package/doc/pagination.md +1 -0
- package/doc/select.md +24 -21
- package/doc/table.md +1 -0
- package/doc/textarea.md +3 -0
- package/doc/tooltip.md +24 -0
- package/jest-test-results.json +1 -1
- package/package.json +1 -1
- package/vscode-custom-data.json +216 -0
- package/dist/cjs/controller-20c47dac.js +0 -4
- package/dist/cjs/controller-20c47dac.js.map +0 -1
- package/dist/cjs/controller-beb0e753.js +0 -4
- package/dist/cjs/controller-beb0e753.js.map +0 -1
- package/dist/cjs/dev.utils-b2b6f024.js +0 -4
- package/dist/cjs/devtools-60ad513c.js.map +0 -1
- package/dist/cjs/floating-ui.dom.esm-c11b0ec1.js +0 -4
- package/dist/cjs/floating-ui.dom.esm-c11b0ec1.js.map +0 -1
- package/dist/cjs/has-closer-7d377e88.js +0 -4
- package/dist/cjs/hide-label-9bf6abe6.js +0 -4
- package/dist/cjs/prop.validators-8a027482.js +0 -4
- package/dist/cjs/prop.validators-8a027482.js.map +0 -1
- package/dist/cjs/show-942951b7.js +0 -4
- package/dist/cjs/validation-6c112462.js +0 -4
- package/dist/esm/app-globals-1811b38e.js +0 -4
- package/dist/esm/controller-ca0fe64f.js +0 -4
- package/dist/esm/controller-ca0fe64f.js.map +0 -1
- package/dist/esm/controller-d9fb3dc1.js +0 -4
- package/dist/esm/controller-d9fb3dc1.js.map +0 -1
- package/dist/esm/devtools-eaaafe9d.js +0 -4
- package/dist/esm/devtools-eaaafe9d.js.map +0 -1
- package/dist/esm/floating-ui.dom.esm-805abd08.js +0 -4
- package/dist/esm/floating-ui.dom.esm-805abd08.js.map +0 -1
- package/dist/esm/prop.validators-683bb1d0.js +0 -4
- package/dist/esm/validation-1f01325c.js +0 -4
- package/dist/kolibri/app-globals-1811b38e.js +0 -4
- package/dist/kolibri/controller-ca0fe64f.js.map +0 -1
- package/dist/kolibri/controller-d9fb3dc1.js +0 -4
- package/dist/kolibri/controller-d9fb3dc1.js.map +0 -1
- package/dist/kolibri/controller-icon-ba3c5351.js +0 -4
- package/dist/kolibri/dev.utils-8aef00f6.js.map +0 -1
- package/dist/kolibri/devtools-eaaafe9d.js.map +0 -1
- package/dist/kolibri/floating-ui.dom.esm-805abd08.js +0 -4
- package/dist/kolibri/floating-ui.dom.esm-805abd08.js.map +0 -1
- package/dist/kolibri/has-closer-268d165e.js +0 -4
- package/dist/kolibri/hide-label-e9f288ac.js +0 -4
- package/dist/kolibri/label-bd9566f6.js +0 -4
- package/dist/kolibri/prop.validators-683bb1d0.js.map +0 -1
- package/dist/kolibri/show-2b9058c9.js +0 -4
- package/dist/kolibri/validation-1f01325c.js +0 -4
- /package/dist/kolibri/{a11y.tipps-e607b8b3.js.map → a11y.tipps-9f948961.js.map} +0 -0
- /package/dist/kolibri/{aria-selected-d90aa300.js.map → aria-selected-b9d7d1e4.js.map} +0 -0
- /package/dist/kolibri/{button-link-2ad7f3cf.js.map → button-link-99acae48.js.map} +0 -0
- /package/dist/kolibri/{color-9d0ce5e3.js.map → color-408da8e8.js.map} +0 -0
- /package/dist/kolibri/{controller-d064cead.js.map → controller-6ed90cd7.js.map} +0 -0
- /package/dist/kolibri/{controller-ff99125c.js.map → controller-a979f7a6.js.map} +0 -0
- /package/dist/kolibri/{controller-3b1a37ac.js.map → controller-c69b0aaa.js.map} +0 -0
- /package/dist/kolibri/{controller-0a60db6b.js.map → controller-d2d4a593.js.map} +0 -0
- /package/dist/kolibri/{controller-icon-ba3c5351.js.map → controller-icon-4388a5b7.js.map} +0 -0
- /package/dist/kolibri/{dev.utils-8aef00f6.js → dev.utils-4290338e.js} +0 -0
- /package/dist/kolibri/{disabled-cac31f02.js.map → disabled-559fd371.js.map} +0 -0
- /package/dist/kolibri/{has-closer-268d165e.js.map → has-closer-62a48dbd.js.map} +0 -0
- /package/dist/kolibri/{hide-label-e9f288ac.js.map → hide-label-9248468d.js.map} +0 -0
- /package/dist/kolibri/{i18n-64b07ed9.js.map → i18n-23b83118.js.map} +0 -0
- /package/dist/kolibri/{icon-278d567d.js.map → icon-e03e73f6.js.map} +0 -0
- /package/dist/kolibri/{show-2b9058c9.js.map → show-6d33a33f.js.map} +0 -0
- /package/dist/kolibri/{tab-index-6d37f269.js.map → tab-index-fc60df7a.js.map} +0 -0
- /package/dist/kolibri/{validation-1f01325c.js.map → validation-4acc18ad.js.map} +0 -0
- /package/dist/kolibri/{validation-0efb75d3.js.map → validation-5300d0a1.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"controller-b036f128.js","mappings":";;;;;;;AAKA,MAAM,iBAAiB,GAAG,CAAC,EAAoC;EAC9D,IAAI,mBAAmB,EAAE,EAAE;IAC1B,OAAO,CAAC,8BAA8B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;GAChB;EACD,OAAO,EAAE,YAAY,WAAW,IAAI,EAAE,CAAC,OAAO,KAAK,MAAM,IAAI,EAAE,CAAC,OAAO,KAAK,UAAU,EAAE;IACvF,IAAI,EAAE,CAAC,aAAa,YAAY,WAAW,EAAE;MAC5C,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;KACtB;SAAM,IAAI,EAAE,CAAC,UAAU,YAAY,UAAU,EAAE;MAC/C,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;KACxB;SAAM;MACN,EAAE,GAAG,IAAI,CAAC;KACV;IACD,IAAI,mBAAmB,EAAE,EAAE;MAC1B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KAChB;GACD;EACD,IAAI,mBAAmB,EAAE,EAAE;IAC1B,OAAO,CAAC,iCAAiC,CAAC,CAAC;GAC3C;EACD,OAAO,EAAE,CAAC;AACX,CAAC,CAAC;MAEW,yBAAyB,GAAG,CACxC,UAGI,EAAE;;EAEN,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;EAC7C,IAAI,IAAI,YAAY,WAAW,EAAE;IAChC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE;MAChC,OAAO,EAAE,IAAI;MACb,UAAU,EAAE,IAAI;KAChB,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE;MAC5B,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;MAC5B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC1B;SAAM,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;MACvC,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAoB,CAAC,CAAC;MACvF,MAAM,OAAO,GAAG,IAAwB,CAAC;MACzC,IAAI,QAAO,MAAA,OAAO,CAAC,GAAG,0CAAE,OAAO,CAAA,KAAK,UAAU,EAAE;QAC/C,QAAO,MAAA,OAAO,CAAC,GAAG,0CAAE,OAAO,CAAC,KAAK,CAAC,CAAA,CAAC;OACnC;KACD;GACD;AACF,EAAE;MAEW,0BAA0B,GAAG,CACzC,UAGI,EAAE;;EAEN,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;EAC7C,IAAI,IAAI,YAAY,WAAW,EAAE;IAChC,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE;MACvC,OAAO,EAAE,IAAI;MACb,UAAU,EAAE,IAAI;MAChB,SAAS,EAAE,IAAI;KACf,CAAC,CAAC;IAWH,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE;MAC5B,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;MAC5B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC1B;SAAM,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;MACvC,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAoB,CAAC,CAAC;MACvF,MAAM,OAAO,GAAG,IAAwB,CAAC;MACzC,IAAI,QAAO,MAAA,OAAO,CAAC,GAAG,0CAAE,QAAQ,CAAA,KAAK,UAAU,EAAE;QAChD,MAAA,OAAO,CAAC,GAAG,0CAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;OAC7B;KACD;GACD;AACF;;;;","names":[],"sources":["src/components/form/controller.ts"],"sourcesContent":["import { devHint } from '../../utils/a11y.tipps';\nimport { getExperimentalMode } from '../../utils/dev.utils';\nimport { KoliBriDevHelper, setEventTarget } from '../../utils/prop.validators';\nimport { KoliBriFormProps } from './types';\n\nconst searchFormElement = (el?: HTMLElement | ParentNode | null): HTMLElement | ParentNode | null | undefined => {\n\tif (getExperimentalMode()) {\n\t\tdevHint(`↓ Search form element start.`);\n\t\tconsole.log(el);\n\t}\n\twhile (el instanceof HTMLElement && el.tagName !== 'FORM' && el.tagName !== 'KOL-FORM') {\n\t\tif (el.parentElement instanceof HTMLElement) {\n\t\t\tel = el.parentElement;\n\t\t} else if (el.parentNode instanceof ShadowRoot) {\n\t\t\tel = el.parentNode.host;\n\t\t} else {\n\t\t\tel = null;\n\t\t}\n\t\tif (getExperimentalMode()) {\n\t\t\tconsole.log(el);\n\t\t}\n\t}\n\tif (getExperimentalMode()) {\n\t\tdevHint(`↑ Search form element finished.`);\n\t}\n\treturn el;\n};\n\nexport const propagateResetEventToForm = (\n\toptions: {\n\t\tform?: HTMLElement | ParentNode | null;\n\t\tref?: HTMLElement;\n\t} = {}\n): void => {\n\tconst form = searchFormElement(options.form);\n\tif (form instanceof HTMLElement) {\n\t\tconst event = new Event('reset', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true,\n\t\t});\n\t\tif (form.tagName === 'FORM') {\n\t\t\tsetEventTarget(event, form);\n\t\t\tform.dispatchEvent(event);\n\t\t} else if (form.tagName === 'KOL-FORM') {\n\t\t\tsetEventTarget(event, KoliBriDevHelper.querySelector('form', form) as HTMLFormElement);\n\t\t\tconst kolForm = form as KoliBriFormProps;\n\t\t\tif (typeof kolForm._on?.onReset === 'function') {\n\t\t\t\ttypeof kolForm._on?.onReset(event);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const propagateSubmitEventToForm = (\n\toptions: {\n\t\tform?: HTMLElement | ParentNode | null;\n\t\tref?: HTMLElement;\n\t} = {}\n): void => {\n\tconst form = searchFormElement(options.form);\n\tif (form instanceof HTMLElement) {\n\t\tconst event = new SubmitEvent('submit', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true,\n\t\t\tsubmitter: form,\n\t\t});\n\t\t/**\n\t\t * TODO: Wenn Formular-Action (nicht Ajax oder JS) verwendet wird,\n\t\t * dann müssen wir das Event an das HTMLFormElement innerhalb\n\t\t * der HTMLKolFormElements propagieren, wenn kein onSubmit\n\t\t * gesetzt wurde.\n\t\t *\n\t\t * TODO: Form-associated custom elements:\n\t\t * - https://web.dev/more-capable-form-controls/\n\t\t * - https://github.com/public-ui/kolibri/issues/946\n\t\t */\n\t\tif (form.tagName === 'FORM') {\n\t\t\tsetEventTarget(event, form);\n\t\t\tform.dispatchEvent(event);\n\t\t} else if (form.tagName === 'KOL-FORM') {\n\t\t\tsetEventTarget(event, KoliBriDevHelper.querySelector('form', form) as HTMLFormElement);\n\t\t\tconst kolForm = form as KoliBriFormProps;\n\t\t\tif (typeof kolForm._on?.onSubmit === 'function') {\n\t\t\t\tkolForm._on?.onSubmit(event);\n\t\t\t}\n\t\t}\n\t}\n};\n"],"version":3}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{b as watchBoolean,a as watchValidator,d as watchJsonArrayString,m as mapString2Unknown,s as setState}from"./prop.validators-
|
|
4
|
+
import{b as watchBoolean,a as watchValidator,d as watchJsonArrayString,m as mapString2Unknown,s as setState}from"./prop.validators-601f1068.js";import{S as STATE_CHANGE_EVENT}from"./reuse-c2156413.js";import{I as InputController}from"./controller-7ae169ad.js";const validateRequired=(t,e)=>{watchBoolean(t,"_required",e)},fillKeyOptionMap=(t,e,o="")=>{e.forEach(((e,a)=>{const i=`${o}-${a}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?fillKeyOptionMap(t,e.options,i):t.set(i,e))}))};class InputCheckboxRadioController extends InputController{constructor(t,e,o){super(t,e,o),this.component=t}validateRequired(t){validateRequired(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class InputRadioController extends InputCheckboxRadioController{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.beforePatchListValue=(t,e)=>{const o=e.has("_list")?e.get("_list"):this.component.state._list;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear(),fillKeyOptionMap(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){watchValidator(this.component,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),t,{defaultValue:"vertical"})}validateList(t){watchJsonArrayString(this.component,"_list",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),t,void 0,{hooks:{beforePatch:this.beforePatchListValue}})}validateValue(t){t=mapString2Unknown(t),t=Array.isArray(t)?t[0]:t,setState(this.component,"_value",t,{beforePatch:this.beforePatchListValue}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const e=setTimeout((()=>{clearTimeout(e),t(STATE_CHANGE_EVENT)}))}},this.validateOrientation(this.component._orientation),this.validateList(this.component._list),this.validateValue(this.component._value)}}export{InputCheckboxRadioController as I,InputRadioController as a,fillKeyOptionMap as f};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"controller-
|
|
1
|
+
{"file":"controller-c69b0aaa.js","mappings":"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","names":[],"sources":["src/types/props/required.ts","src/components/input-radio/controller.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Macht das Eingabeelement zu einem Pflichtfeld.\n */\n/** en\n * Makes the input element required.\n */\nexport type PropRequired = {\n\trequired: boolean;\n};\n\n/* validator */\nexport const validateRequired = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_required', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../types/common';\nimport { Optgroup, Option, SelectOption } from '../../types/input/types';\nimport { Orientation } from '../../types/orientation';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { validateRequired } from '../../types/props/required';\nimport { W3CInputValue } from '../../types/w3c';\nimport { mapString2Unknown, setState, watchJsonArrayString, watchValidator } from '../../utils/prop.validators';\nimport { STATE_CHANGE_EVENT } from '../../utils/validator';\nimport { InputController } from '../@deprecated/input/controller';\nimport { Props, Watches } from './types';\n\nexport const fillKeyOptionMap = <T>(keyOptionMap: Map<string, Option<T>>, options: SelectOption<T>[], preKey = ''): void => {\n\toptions.forEach((option, index) => {\n\t\tconst key = `${preKey}-${index}`;\n\t\tif (typeof option === 'object' && option !== null && typeof option.label === 'string' && option.label.length > 0) {\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\tfillKeyOptionMap(keyOptionMap, (option as Optgroup<T>).options, key);\n\t\t\t} else {\n\t\t\t\tkeyOptionMap.set(key, option as Option<T>);\n\t\t\t}\n\t\t}\n\t});\n};\n\ntype RequiredProps = PropLabelWithExpertSlot;\ntype OptionalProps = {\n\trequired: boolean;\n};\ntype InputCheckboxRadioProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputCheckboxRadioWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputCheckboxRadioController extends InputController implements InputCheckboxRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputCheckboxRadioProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputCheckboxRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\tvalidateRequired(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateRequired(this.component._required);\n\t}\n}\n\nexport class InputRadioController extends InputCheckboxRadioController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate onStateChange!: () => void;\n\tprivate readonly keyOptionMap = new Map<string, Option<W3CInputValue>>();\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 readonly getOptionByKey = (key: string): Option<W3CInputValue> | undefined => this.keyOptionMap.get(key);\n\n\tprivate readonly isValueInOptions = (value: unknown, options: Option<W3CInputValue>[]): boolean => {\n\t\treturn options.find((option) => option.value === value) !== undefined;\n\t};\n\n\tprotected readonly beforePatchListValue = (_value: unknown, nextState: Map<string, unknown>): void => {\n\t\tconst list = nextState.has('_list') ? nextState.get('_list') : this.component.state._list;\n\t\tif (Array.isArray(list) && list.length > 0) {\n\t\t\tthis.keyOptionMap.clear();\n\t\t\tfillKeyOptionMap(this.keyOptionMap, list as SelectOption<W3CInputValue>[]);\n\t\t\tconst value = nextState.has('_value') ? nextState.get('_value') : this.component.state._value;\n\t\t\tif (this.isValueInOptions(value, list as Option<W3CInputValue>[]) === false) {\n\t\t\t\tconst newValue = (\n\t\t\t\t\tlist[0] as {\n\t\t\t\t\t\tvalue: string;\n\t\t\t\t\t}\n\t\t\t\t).value;\n\t\t\t\tnextState.set('_value', newValue);\n\t\t\t\tthis.onStateChange();\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\tpublic validateList(value?: Stringified<Option<W3CInputValue>[]>): void {\n\t\twatchJsonArrayString(\n\t\t\tthis.component,\n\t\t\t'_list',\n\t\t\t(item: Option<W3CInputValue>) => typeof item === 'object' && item !== null && typeof item.label === 'string' && item.label.length > 0,\n\t\t\tvalue,\n\t\t\tundefined,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: this.beforePatchListValue,\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\tpublic validateValue(value?: Stringified<unknown>): void {\n\t\tvalue = mapString2Unknown(value);\n\t\tvalue = Array.isArray(value) ? value[0] : value;\n\t\tsetState(this.component, '_value', value, {\n\t\t\tbeforePatch: this.beforePatchListValue,\n\t\t});\n\t\tthis.setFormAssociatedValue(this.component._value as string);\n\t}\n\n\tpublic componentWillLoad(onChange?: (event: Event) => void): void {\n\t\tsuper.componentWillLoad();\n\n\t\tthis.onStateChange = () => {\n\t\t\tif (typeof onChange === 'function') {\n\t\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\tonChange(STATE_CHANGE_EVENT);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tthis.validateOrientation(this.component._orientation);\n\t\tthis.validateList(this.component._list);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n"],"version":3}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{b as watchBoolean,a as watchValidator,e as watchNumber,w as watchString}from"./prop.validators-
|
|
4
|
+
import{b as watchBoolean,a as watchValidator,e as watchNumber,w as watchString}from"./prop.validators-601f1068.js";import{d as devHint}from"./a11y.tipps-9f948961.js";import{I as InputIconController}from"./controller-icon-4388a5b7.js";const validateHasCounter=(e,t)=>{watchBoolean(e,"_hasCounter",t)};class InputPasswordController extends InputIconController{constructor(e,t,a){super(e,t,a),this.handleHiddenLabelAndRequired=()=>{!0===this.component.state._hideLabel&&!0===this.component.state._required?(devHint("[KolInput*] Wenn man das Label ausblendet, dann kann der sehende Nutzer:in nicht mehr erkennen, ob die Eingabe erforderlich ist."),this.hideLabel=!1):this.hideLabel=!0===this.component.state._hideLabel},this.component=e}validateAutoComplete(e){watchValidator(this.component,"_autoComplete",(e=>"string"==typeof e&&("on"===e||"off"===e)),new Set(["on | off"]),e)}validateHasCounter(e){validateHasCounter(this.component,e)}validateHideLabel(e){watchBoolean(this.component,"_hideLabel",e,{hooks:{afterPatch:this.handleHiddenLabelAndRequired}})}validateMaxLength(e){watchNumber(this.component,"_maxLength",e,{min:0})}validatePattern(e){watchString(this.component,"_pattern",e)}validatePlaceholder(e){watchString(this.component,"_placeholder",e)}validateReadOnly(e){watchBoolean(this.component,"_readOnly",e)}validateRequired(e){watchBoolean(this.component,"_required",e,{hooks:{afterPatch:this.handleHiddenLabelAndRequired}})}validateSize(e){watchNumber(this.component,"_size",e,{min:1})}validateValue(e){watchString(this.component,"_value",e),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.validateSize(this.component._size),this.validateValue(this.component._value)}onBlur(e){this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:this.placeholderCache}),this.placeholderCache=void 0,super.onBlur(e)}onFocus(e){this.placeholderCache=this.component.state._placeholder,this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:void 0}),super.onFocus(e)}}export{InputPasswordController as I,validateHasCounter as v};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"controller-
|
|
1
|
+
{"file":"controller-d2d4a593.js","mappings":"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","names":[],"sources":["src/types/props/has-counter.ts","src/components/input-password/controller.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Zeigt die Zeichenanzahlanzeige am unteren Rand des EIngabefeldes.\n */\n/** en\n * Shows the the character count on the lower border of the input.\n */\nexport type PropHasCounter = {\n\thasCounter: boolean;\n};\n\n/* validator */\nexport const validateHasCounter = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_hasCounter', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { InputTypeOnOff } from '../../types/input/types';\nimport { validateHasCounter } from '../../types/props/has-counter';\nimport { devHint } from '../../utils/a11y.tipps';\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\tprivate handleHiddenLabelAndRequired = (): void => {\n\t\tif (this.component.state._hideLabel === true && this.component.state._required === true) {\n\t\t\tdevHint(`[KolInput*] Wenn man das Label ausblendet, dann kann der sehende Nutzer:in nicht mehr erkennen, ob die Eingabe erforderlich ist.`);\n\t\t\tthis.hideLabel = false;\n\t\t} else {\n\t\t\tthis.hideLabel = this.component.state._hideLabel === true;\n\t\t}\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 validateHideLabel(value?: boolean): void {\n\t\twatchBoolean(this.component, '_hideLabel', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.handleHiddenLabelAndRequired,\n\t\t\t},\n\t\t});\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\t\thooks: {\n\t\t\t\tafterPatch: this.handleHiddenLabelAndRequired,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateSize(value?: number): void {\n\t\twatchNumber(this.component, '_size', value, {\n\t\t\tmin: 1,\n\t\t});\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.validateSize(this.component._size);\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"],"version":3}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{i as isIcon}from"./icon-
|
|
4
|
+
import{i as isIcon}from"./icon-e03e73f6.js";import{o as objectObjectHandler,p as parseJson,a as watchValidator}from"./prop.validators-601f1068.js";import{i as isString}from"./reuse-c2156413.js";import{I as InputController}from"./controller-7ae169ad.js";const beforePatchIcon=(o,t)=>{const n=o;"object"==typeof n&&null!==n&&(isString(n.right,1)&&(n.right={icon:n.right}),isString(n.left,1)&&(n.left={icon:n.left}),t.set("_icon",n))};class InputIconController extends InputController{constructor(o,t,n){super(o,t,n),this.component=o}validateIcon(o){objectObjectHandler(o,(()=>{try{o=parseJson(o)}catch(o){}watchValidator(this.component,"_icon",(o=>"object"==typeof o&&null!==o&&(isString(o.left,1)||isIcon(o.left)||isString(o.right,1)||isIcon(o.right))),new Set(["KoliBriHorizontalIcon"]),o,{hooks:{beforePatch:beforePatchIcon},required:!0})}))}componentWillLoad(){super.componentWillLoad(),this.validateIcon(this.component._icon)}}export{InputIconController as I};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"controller-icon-
|
|
1
|
+
{"file":"controller-icon-4388a5b7.js","mappings":";;;;;;;;AAUA,MAAM,eAAe,GAAG,CAAC,KAAc,EAAE,SAA+B;EACvE,MAAM,IAAI,GAAG,KAA8B,CAAC;EAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;IAC9C,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;MAC5B,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,KAAe,EAAE,CAAC;KAC5C;IACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;MAC3B,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAc,EAAE,CAAC;KAC1C;IACD,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;GAC7B;AACF,CAAC,CAAC;MAEW,mBAAoB,SAAQ,eAAe;EAGvD,YAAmB,SAA4C,EAAE,IAAY,EAAE,IAAkB;IAChG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;GAC3B;EAEM,YAAY,CAAC,KAA0C;IAC7D,mBAAmB,CAAC,KAAK,EAAE;MAC1B,IAAI;QACH,KAAK,GAAG,SAAS,CAAwB,KAAe,CAAC,CAAC;OAE1D;MAAC,OAAO,CAAC,EAAE;OAEX;MACD,cAAc,CACb,IAAI,CAAC,SAAS,EACd,OAAO,EACP,CAAC,KAAK;QACL,QACC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAChJ;OACF,EACD,IAAI,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAClC,KAAK,EACL;QACC,KAAK,EAAE;UACN,WAAW,EAAE,eAAe;SAC5B;QACD,QAAQ,EAAE,IAAI;OACd,CACD,CAAC;KACF,CAAC,CAAC;GACH;EAEM,iBAAiB;IACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;GACxC;;;;;","names":[],"sources":["src/components/@deprecated/input/controller-icon.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../../types/common';\nimport { KoliBriHorizontalIcon } from '../../../types/icon';\nimport { isIcon } from '../../../types/props/icon';\nimport { objectObjectHandler, parseJson, watchValidator } from '../../../utils/prop.validators';\nimport { isString } from '../../../utils/validator';\nimport { InputController } from './controller';\nimport { Props, Watches } from './types-icon';\n\nconst beforePatchIcon = (value: unknown, nextState: Map<string, unknown>): void => {\n\tconst icon = value as KoliBriHorizontalIcon;\n\tif (typeof icon === 'object' && icon !== null) {\n\t\tif (isString(icon.right, 1)) {\n\t\t\ticon.right = { icon: icon.right as string };\n\t\t}\n\t\tif (isString(icon.left, 1)) {\n\t\t\ticon.left = { icon: icon.left as string };\n\t\t}\n\t\tnextState.set('_icon', icon);\n\t}\n};\n\nexport class InputIconController extends InputController 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 validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<KoliBriHorizontalIcon>(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\twatchValidator(\n\t\t\t\tthis.component,\n\t\t\t\t'_icon',\n\t\t\t\t(value): boolean => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttypeof value === 'object' && value !== null && (isString(value.left, 1) || isIcon(value.left) || isString(value.right, 1) || isIcon(value.right))\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tnew Set(['KoliBriHorizontalIcon']),\n\t\t\t\tvalue,\n\t\t\t\t{\n\t\t\t\t\thooks: {\n\t\t\t\t\t\tbeforePatch: beforePatchIcon,\n\t\t\t\t\t},\n\t\t\t\t\trequired: true,\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateIcon(this.component._icon);\n\t}\n}\n"],"version":3}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{p as processEnv}from"./reuse-c2156413.js";class ModalService{constructor(){this.lockedElements=new Map,this.modalStack=new Map}lockElement(e){const t=e.getAttribute("tabindex");(e instanceof HTMLAnchorElement||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement||"string"==typeof t||void 0!==e.dataset.kolModal)&&("string"==typeof t?this.lockedElements.set(e,{tabIndex:t}):this.lockedElements.set(e,{}),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"),e.style.userSelect="none")}unlockElement(e,t){"string"==typeof e.tabIndex?t.setAttribute("tabindex",e.tabIndex):t.removeAttribute("tabindex"),t.removeAttribute("aria-hidden"),t.style.userSelect="unset",this.lockedElements.delete(t)}unlockLockedElements(e){e.forEach(this.unlockElement.bind(this))}lockFocus(e,t){if(e!==t&&(e instanceof HTMLElement||e instanceof ShadowRoot)){e instanceof HTMLElement&&(this.lockElement(e),this.lockFocus(e.shadowRoot,t));for(let o=0;o<e.children.length;o++)this.lockFocus(e.children[o],t)}}renderModalIfExists(e){if(e instanceof HTMLElement){this.lockedElements.has(e)&&this.unlockElement(this.lockedElements.get(e),e);const t=setTimeout((()=>{clearTimeout(t),e.focus()}),500)}if(this.unlockLockedElements(this.lockedElements),this.modalStack.size>0){const e=Array.from(this.modalStack.keys()),t=e[e.length-1];this.modalStack.forEach(((e,o)=>{o.style.display=t===o?"inline":"none"})),getDocument().body.style.maxHeight="100vh",getDocument().body.style.overflow="hidden",this.lockFocus(getDocument().body,t)}else getDocument().body.style.maxHeight="unset",getDocument().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?Log.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide."):(this.modalStack.set(e,{activeElement:t}),this.renderModalIfExists())}closeModal(e){var t;if(e instanceof HTMLElement==!1)Log.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide.");else{const o=null===(t=this.modalStack.get(e))||void 0===t?void 0:t.activeElement;this.modalStack.delete(e),this.renderModalIfExists(o)}}}class ToasterService{constructor(e){this.document=e,this.queue=new Set,this.isOpen=!1,this.toastElement=this.document.createElement("kol-toast"),this.toastElement.setAttribute("_level","3"),this.toastElement.setAttribute("_show","false"),this.toastElement.setAttribute("_show-duration","-1"),this.toastElement.setAttribute("_has-closer","true"),this.toastElement._on={onClose:()=>{const e=this.queue.values().next();e.value?(this.queue.delete(e.value),setTimeout((()=>{this.showToast(e.value)}),200)):this.isOpen=!1}},this.document.body.insertBefore(this.toastElement,this.document.body.firstChild)}enqueue(e){this.isOpen?this.queue.add(e):this.showToast(e)}showToast(e){this.toastElement.setAttribute("_heading",e.heading),this.toastElement.setAttribute("_show","true"),this.toastElement.setAttribute("_type",e.type),this.toastElement.innerText=e.description,this.isOpen=!0}}let WINDOW=null,DOCUMENT=null;const configKoliBri=e=>{e instanceof Window?(WINDOW=e,WINDOW.document instanceof Document?DOCUMENT=e.document:console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},getWindow=()=>WINDOW||"undefined"==typeof window?null:window,getDocument=()=>DOCUMENT||void 0===getWindow().document?null:getWindow().document;let META_CONFIG=null,DEV_MODE=null,EXPERIMENTAL_MODE=null,COLOR_CONTRAST_ANALYSIS=null;const getDevMode=()=>!0===DEV_MODE,
|
|
4
|
+
import{p as processEnv}from"./reuse-c2156413.js";class ModalService{constructor(){this.lockedElements=new Map,this.modalStack=new Map}lockElement(e){const t=e.getAttribute("tabindex");(e instanceof HTMLAnchorElement||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement||"string"==typeof t||void 0!==e.dataset.kolModal)&&("string"==typeof t?this.lockedElements.set(e,{tabIndex:t}):this.lockedElements.set(e,{}),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"),e.style.userSelect="none")}unlockElement(e,t){"string"==typeof e.tabIndex?t.setAttribute("tabindex",e.tabIndex):t.removeAttribute("tabindex"),t.removeAttribute("aria-hidden"),t.style.userSelect="unset",this.lockedElements.delete(t)}unlockLockedElements(e){e.forEach(this.unlockElement.bind(this))}lockFocus(e,t){if(e!==t&&(e instanceof HTMLElement||e instanceof ShadowRoot)){e instanceof HTMLElement&&(this.lockElement(e),this.lockFocus(e.shadowRoot,t));for(let o=0;o<e.children.length;o++)this.lockFocus(e.children[o],t)}}renderModalIfExists(e){if(e instanceof HTMLElement){this.lockedElements.has(e)&&this.unlockElement(this.lockedElements.get(e),e);const t=setTimeout((()=>{clearTimeout(t),e.focus()}),500)}if(this.unlockLockedElements(this.lockedElements),this.modalStack.size>0){const e=Array.from(this.modalStack.keys()),t=e[e.length-1];this.modalStack.forEach(((e,o)=>{o.style.display=t===o?"inline":"none"})),getDocument().body.style.maxHeight="100vh",getDocument().body.style.overflow="hidden",this.lockFocus(getDocument().body,t)}else getDocument().body.style.maxHeight="unset",getDocument().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?Log.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide."):(this.modalStack.set(e,{activeElement:t}),this.renderModalIfExists())}closeModal(e){var t;if(e instanceof HTMLElement==!1)Log.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide.");else{const o=null===(t=this.modalStack.get(e))||void 0===t?void 0:t.activeElement;this.modalStack.delete(e),this.renderModalIfExists(o)}}}class ToasterService{constructor(e){this.document=e,this.queue=new Set,this.isOpen=!1,this.toastElement=this.document.createElement("kol-toast"),this.toastElement.setAttribute("_level","3"),this.toastElement.setAttribute("_show","false"),this.toastElement.setAttribute("_show-duration","-1"),this.toastElement.setAttribute("_has-closer","true"),this.toastElement._on={onClose:()=>{const e=this.queue.values().next();e.value?(this.queue.delete(e.value),setTimeout((()=>{this.showToast(e.value)}),200)):this.isOpen=!1}},this.document.body.insertBefore(this.toastElement,this.document.body.firstChild)}enqueue(e){this.isOpen?this.queue.add(e):this.showToast(e)}showToast(e){this.toastElement.setAttribute("_heading",e.heading),this.toastElement.setAttribute("_show","true"),this.toastElement.setAttribute("_type",e.type),this.toastElement.innerText=e.description,this.isOpen=!0}}let WINDOW=null,DOCUMENT=null;const configKoliBri=e=>{e instanceof Window?(WINDOW=e,WINDOW.document instanceof Document?DOCUMENT=e.document:console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},getWindow=()=>WINDOW||"undefined"==typeof window?null:window,getDocument=()=>DOCUMENT||void 0===getWindow().document?null:getWindow().document;let META_CONFIG=null,DEV_MODE=null,EXPERIMENTAL_MODE=null,COLOR_CONTRAST_ANALYSIS=null;const getDevMode=()=>!0===DEV_MODE,getExperimentalMode=()=>!0===EXPERIMENTAL_MODE,getColorContrastAnalysis=()=>!0===COLOR_CONTRAST_ANALYSIS;class Log{static mapToArray(e){return Array.isArray(e)?e:[e]}static handleClassifier(e){return"string"==typeof e&&e.length>0?`${Log.shield.label} | ${e}`:Log.shield.label}static getShield(e){return[Log.handleClassifier(null==e?void 0:e.classifier),`${Log.shield.style};${(null==e?void 0:e.overwriteStyle)||""}`]}static debug(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.debug(...Log.getShield(t),...Log.mapToArray(e))}static info(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.info(...Log.getShield(t),...Log.mapToArray(e))}static trace(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.trace(...Log.getShield(t),...Log.mapToArray(e))}static warn(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.warn(...Log.getShield(t),...Log.mapToArray(e))}static error(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.error(...Log.getShield(t),...Log.mapToArray(e))}static throw(e,t){if(DEV_MODE||!0===(null==t?void 0:t.forceLog))throw new Error(...Log.getShield(t),...Log.mapToArray(e))}}Log.shield={label:"%cKoliBri",style:"color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000"};const initMeta=()=>{if(null===DEV_MODE&&null===EXPERIMENTAL_MODE&&null===COLOR_CONTRAST_ANALYSIS){const e=getDocument().querySelector('meta[name="kolibri"]');e&&e.hasAttribute("content")&&(META_CONFIG=e.getAttribute("content"),"string"==typeof META_CONFIG&&(DEV_MODE=META_CONFIG.includes("dev-mode=true"),EXPERIMENTAL_MODE=META_CONFIG.includes("experimental-mode=true"),COLOR_CONTRAST_ANALYSIS=META_CONFIG.includes("color-contrast-analysis=true")))}else console.warn("You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.")};let KoliBri=null;const getKoliBri=()=>KoliBri||{},initKoliBri=()=>{if(null===KoliBri){KoliBri=getWindow().KoliBri||{};const e=new ModalService,t=new ToasterService(getDocument());Object.defineProperty(KoliBri,"Modal",{get:function(){return e}}),Object.defineProperty(KoliBri,"Toaster",{get:function(){return t}}),initMeta(),Log.debug("\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n\t| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n\t| |\\ \\ | '-' | | | | | | '--' / | | | |\n\t`--' `--´ `---´ `--' `--' `------´ `--' `--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io\n\t\t",{forceLog:!0})}else console.warn("You can only initialize KoliBri once.")},renderDevAdvice=()=>{void 0===getWindow().KoliBri&&Object.defineProperty(window,"KoliBri",{get:function(){return KoliBri}}),!0!==getKoliBri().adviceShown&&(Object.defineProperty(KoliBri,"adviceShown",{get:function(){return!0}}),Log.debug("\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n"))};let nonce=()=>Math.floor(16777215*Math.random()).toString(16);"test"===processEnv&&(nonce=()=>"nonce");export{KoliBri as K,Log as L,ToasterService as T,getWindow as a,getExperimentalMode as b,configKoliBri as c,getKoliBri as d,getDevMode as e,getColorContrastAnalysis as f,getDocument as g,initKoliBri as i,nonce as n,renderDevAdvice as r};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"dev.utils-8aef00f6.js","mappings":"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","names":[],"sources":["src/components/modal/service.ts","src/components/toast/toaster.tsx","src/utils/dev.utils.ts"],"sourcesContent":["import { getDocument, Log } from '../../utils/dev.utils';\n\ntype ModalContext = {\n\tactiveElement?: HTMLElement;\n};\n\ntype LockedElementContext = {\n\ttabIndex?: string;\n};\n\n/**\n * The modal service is only working client-side!\n */\nexport class ModalService {\n\tprivate lockedElements: Map<HTMLElement, LockedElementContext> = new Map();\n\tprivate modalStack: Map<HTMLElement, ModalContext> = new Map();\n\n\tprivate lockElement(htmlElement: HTMLElement) {\n\t\tconst tabIndex: string | null = htmlElement.getAttribute('tabindex');\n\t\tif (\n\t\t\thtmlElement instanceof HTMLAnchorElement ||\n\t\t\thtmlElement instanceof HTMLButtonElement ||\n\t\t\thtmlElement instanceof HTMLInputElement ||\n\t\t\thtmlElement instanceof HTMLSelectElement ||\n\t\t\thtmlElement instanceof HTMLTextAreaElement ||\n\t\t\ttypeof tabIndex === 'string' ||\n\t\t\thtmlElement.dataset.kolModal !== undefined\n\t\t) {\n\t\t\tif (typeof tabIndex === 'string') {\n\t\t\t\tthis.lockedElements.set(htmlElement, {\n\t\t\t\t\ttabIndex,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.lockedElements.set(htmlElement, {});\n\t\t\t}\n\t\t\thtmlElement.setAttribute('tabindex', '-1');\n\t\t\thtmlElement.setAttribute('aria-hidden', 'true');\n\t\t\thtmlElement.style.userSelect = 'none';\n\t\t}\n\t}\n\n\tprivate unlockElement(value: LockedElementContext, htmlElement: HTMLElement) {\n\t\tif (typeof value.tabIndex === 'string') {\n\t\t\thtmlElement.setAttribute('tabindex', value.tabIndex);\n\t\t} else {\n\t\t\thtmlElement.removeAttribute('tabindex');\n\t\t}\n\t\thtmlElement.removeAttribute('aria-hidden');\n\t\thtmlElement.style.userSelect = 'unset';\n\t\tthis.lockedElements.delete(htmlElement);\n\t}\n\n\tprivate unlockLockedElements(lockedElements: Map<HTMLElement, LockedElementContext>) {\n\t\tlockedElements.forEach(this.unlockElement.bind(this));\n\t}\n\n\tprivate lockFocus(hostElement: HTMLElement | ShadowRoot | null, excludeElement?: HTMLElement) {\n\t\tif (hostElement !== excludeElement && (hostElement instanceof HTMLElement || hostElement instanceof ShadowRoot)) {\n\t\t\tif (hostElement instanceof HTMLElement) {\n\t\t\t\tthis.lockElement(hostElement);\n\t\t\t\tthis.lockFocus(hostElement.shadowRoot, excludeElement);\n\t\t\t}\n\t\t\tfor (let i = 0; i < hostElement.children.length; i++) {\n\t\t\t\tthis.lockFocus(hostElement.children[i] as HTMLElement, excludeElement);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate renderModalIfExists(activeElement?: HTMLElement) {\n\t\tif (activeElement instanceof HTMLElement) {\n\t\t\tif (this.lockedElements.has(activeElement)) {\n\t\t\t\tthis.unlockElement(this.lockedElements.get(activeElement) as LockedElementContext, activeElement);\n\t\t\t}\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tactiveElement.focus();\n\t\t\t}, 500);\n\t\t}\n\t\tthis.unlockLockedElements(this.lockedElements);\n\t\tif (this.modalStack.size > 0) {\n\t\t\tconst modalKeys = Array.from(this.modalStack.keys());\n\t\t\tconst modalRef = modalKeys[modalKeys.length - 1] as HTMLElement & {\n\t\t\t\t_activeElement: HTMLElement | null; // typo sugger\n\t\t\t};\n\t\t\tthis.modalStack.forEach((_value: ModalContext, htmlElement: HTMLElement) => {\n\t\t\t\tif (modalRef === htmlElement) {\n\t\t\t\t\thtmlElement.style.display = 'inline';\n\t\t\t\t} else {\n\t\t\t\t\thtmlElement.style.display = `none`;\n\t\t\t\t}\n\t\t\t});\n\t\t\tgetDocument().body.style.maxHeight = '100vh';\n\t\t\tgetDocument().body.style.overflow = 'hidden';\n\t\t\tthis.lockFocus(getDocument().body, modalRef);\n\t\t} else {\n\t\t\tgetDocument().body.style.maxHeight = 'unset';\n\t\t\tgetDocument().body.style.overflow = 'unset';\n\t\t}\n\t}\n\n\tpublic openModal(modalRef: HTMLElement, activeElement?: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tthis.modalStack.set(modalRef, {\n\t\t\t\tactiveElement,\n\t\t\t});\n\t\t\tthis.renderModalIfExists();\n\t\t}\n\t}\n\n\tpublic closeModal(modalRef: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tconst activeElement = this.modalStack.get(modalRef)?.activeElement;\n\t\t\tthis.modalStack.delete(modalRef);\n\t\t\tthis.renderModalIfExists(activeElement);\n\t\t}\n\t}\n}\n","import { AlertType } from '../alert/types';\n\ntype Toast = {\n\theading: string;\n\tdescription: string;\n\ttype: AlertType;\n};\n\nexport class ToasterService {\n\tprivate readonly toastElement: HTMLKolToastElement;\n\n\tprivate readonly queue: Set<Toast> = new Set();\n\n\tprivate isOpen = false;\n\n\tconstructor(private readonly document: Document) {\n\t\tthis.toastElement = this.document.createElement('kol-toast');\n\t\tthis.toastElement.setAttribute('_level', '3');\n\t\tthis.toastElement.setAttribute('_show', 'false');\n\t\tthis.toastElement.setAttribute('_show-duration', '-1');\n\t\tthis.toastElement.setAttribute('_has-closer', 'true');\n\t\tthis.toastElement._on = {\n\t\t\tonClose: () => {\n\t\t\t\tconst next = this.queue.values().next();\n\t\t\t\tif (next.value) {\n\t\t\t\t\tthis.queue.delete(next.value as Toast);\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.showToast(next.value as Toast);\n\t\t\t\t\t}, 200);\n\t\t\t\t} else {\n\t\t\t\t\tthis.isOpen = false;\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t\tthis.document.body.insertBefore(this.toastElement, this.document.body.firstChild);\n\t}\n\n\t/**\n\t * Reiht einen neuen Toast in die Warteschlange ein, um ihn anzuzeigen.\n\t */\n\tpublic enqueue(data: Toast): void {\n\t\tif (this.isOpen) {\n\t\t\tthis.queue.add(data);\n\t\t} else {\n\t\t\tthis.showToast(data);\n\t\t}\n\t}\n\n\tprivate showToast(data: Toast): void {\n\t\tthis.toastElement.setAttribute('_heading', data.heading);\n\t\tthis.toastElement.setAttribute('_show', 'true');\n\t\tthis.toastElement.setAttribute('_type', data.type);\n\t\tthis.toastElement.innerText = data.description;\n\t\tthis.isOpen = true;\n\t}\n}\n","import { ModalService } from '../components/modal/service';\nimport { ToasterService } from '../components/toast/toaster';\nimport { processEnv } from './reuse';\n\nlet WINDOW: Window | null = null;\nlet DOCUMENT: Document | null = null;\n\nexport const configKoliBri = (window: Window): void => {\n\tif (window instanceof Window) {\n\t\tWINDOW = window;\n\t\tif (WINDOW.document instanceof Document) {\n\t\t\tDOCUMENT = window.document;\n\t\t} else {\n\t\t\tconsole.warn(`The given Window has no valid Document.`);\n\t\t}\n\t} else {\n\t\tconsole.warn(`The given Window is not valid.`);\n\t}\n};\n\nexport const getWindow = (): Window => (WINDOW || typeof window === 'undefined' ? (null as unknown as Window) : window);\nexport const getDocument = (): Document => (DOCUMENT || typeof getWindow().document === 'undefined' ? (null as unknown as Document) : getWindow().document);\n\nlet META_CONFIG: string | null = null;\nlet DEV_MODE: boolean | null = null;\nlet EXPERIMENTAL_MODE: boolean | null = null;\nlet COLOR_CONTRAST_ANALYSIS: boolean | null = null;\n\nexport const getDevMode = (): boolean => DEV_MODE === true;\nexport const getExperimalMode = (): boolean => EXPERIMENTAL_MODE === true;\nexport const getColorContrastAnalysis = (): boolean => COLOR_CONTRAST_ANALYSIS === true;\n\ntype LogShield = {\n\tlabel: string;\n\tstyle: string;\n};\n\ntype LogShieldOptions = {\n\tclassifier?: string;\n\tforceLog?: boolean;\n\toverwriteStyle?: string;\n};\n\nexport class Log {\n\tprivate static shield: LogShield = {\n\t\tlabel: '%cKoliBri',\n\t\tstyle: 'color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000',\n\t};\n\n\tprivate static mapToArray(msg: unknown | unknown[]): unknown[] {\n\t\treturn Array.isArray(msg) ? msg : [msg];\n\t}\n\n\tprivate static handleClassifier(classifier?: string): string {\n\t\tif (typeof classifier === 'string' && classifier.length > 0) {\n\t\t\treturn `${Log.shield.label} | ${classifier}`;\n\t\t} else {\n\t\t\treturn Log.shield.label;\n\t\t}\n\t}\n\n\tprivate static getShield(options?: LogShieldOptions): string[] {\n\t\treturn [Log.handleClassifier(options?.classifier), `${Log.shield.style};${options?.overwriteStyle || ''}`];\n\t}\n\n\tpublic static debug(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.debug(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static info(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.info(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static trace(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.trace(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static warn(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.warn(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static error(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.error(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static throw(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tthrow new Error(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n}\n\nconst initMeta = (): void => {\n\tif (DEV_MODE === null && EXPERIMENTAL_MODE === null && COLOR_CONTRAST_ANALYSIS === null) {\n\t\tconst meta = getDocument().querySelector('meta[name=\"kolibri\"]');\n\t\tif (meta && meta.hasAttribute('content')) {\n\t\t\tMETA_CONFIG = meta.getAttribute('content');\n\t\t\tif (typeof META_CONFIG === 'string') {\n\t\t\t\tDEV_MODE = META_CONFIG.includes('dev-mode=true');\n\t\t\t\tEXPERIMENTAL_MODE = META_CONFIG.includes('experimental-mode=true');\n\t\t\t\tCOLOR_CONTRAST_ANALYSIS = META_CONFIG.includes('color-contrast-analysis=true');\n\t\t\t}\n\t\t}\n\t} else {\n\t\tconsole.warn(`You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.`);\n\t}\n};\n\nlet KoliBri: Record<string, unknown> | null = null;\nexport const getKoliBri = (): Record<string, unknown> => KoliBri || {};\nexport const initKoliBri = (): void => {\n\tif (KoliBri === null) {\n\t\tKoliBri = getWindow().KoliBri || {};\n\t\tconst Modal = new ModalService();\n\t\tconst Toaster = new ToasterService(getDocument());\n\t\tObject.defineProperty(KoliBri, 'Modal', {\n\t\t\tget: function (): ModalService {\n\t\t\t\treturn Modal;\n\t\t\t},\n\t\t});\n\t\tObject.defineProperty(KoliBri, 'Toaster', {\n\t\t\tget: function (): ToasterService {\n\t\t\t\treturn Toaster;\n\t\t\t},\n\t\t});\n\t\tinitMeta();\n\t\tLog.debug(\n\t\t\t`\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | \\`--' | |) /_ ,--.--. \\`--'\n\t| . ' | .-. | | | ,--. | .-. \\\\ | .--' ,--.\n\t| |\\\\ \\\\ | '-' | | | | | | '--' / | | | |\n\t\\`--' \\`--´ \\`---´ \\`--' \\`--' \\`------´ \\`--' \\`--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io\n\t\t`,\n\t\t\t{\n\t\t\t\tforceLog: true,\n\t\t\t}\n\t\t);\n\t} else {\n\t\tconsole.warn(`You can only initialize KoliBri once.`);\n\t}\n};\nexport { KoliBri };\n\nexport const renderDevAdvice = (): void => {\n\tif (getWindow().KoliBri === undefined) {\n\t\tObject.defineProperty(window, 'KoliBri', {\n\t\t\tget: function () {\n\t\t\t\treturn KoliBri;\n\t\t\t},\n\t\t});\n\t}\n\tif (getKoliBri().adviceShown !== true) {\n\t\tObject.defineProperty(KoliBri, 'adviceShown', {\n\t\t\tget: function () {\n\t\t\t\treturn true;\n\t\t\t},\n\t\t});\n\t\tLog.debug(\n\t\t\t`\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n`\n\t\t);\n\t}\n};\n\nlet nonce = (): string => Math.floor(Math.random() * 16777215).toString(16);\n\nif (processEnv === 'test') {\n\tnonce = (): string => 'nonce';\n}\n\nexport { nonce };\n"],"version":3}
|
|
1
|
+
{"file":"dev.utils-4290338e.js","mappings":"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","names":[],"sources":["src/components/modal/service.ts","src/components/toast/toaster.tsx","src/utils/dev.utils.ts"],"sourcesContent":["import { getDocument, Log } from '../../utils/dev.utils';\n\ntype ModalContext = {\n\tactiveElement?: HTMLElement;\n};\n\ntype LockedElementContext = {\n\ttabIndex?: string;\n};\n\n/**\n * The modal service is only working client-side!\n */\nexport class ModalService {\n\tprivate lockedElements: Map<HTMLElement, LockedElementContext> = new Map();\n\tprivate modalStack: Map<HTMLElement, ModalContext> = new Map();\n\n\tprivate lockElement(htmlElement: HTMLElement) {\n\t\tconst tabIndex: string | null = htmlElement.getAttribute('tabindex');\n\t\tif (\n\t\t\thtmlElement instanceof HTMLAnchorElement ||\n\t\t\thtmlElement instanceof HTMLButtonElement ||\n\t\t\thtmlElement instanceof HTMLInputElement ||\n\t\t\thtmlElement instanceof HTMLSelectElement ||\n\t\t\thtmlElement instanceof HTMLTextAreaElement ||\n\t\t\ttypeof tabIndex === 'string' ||\n\t\t\thtmlElement.dataset.kolModal !== undefined\n\t\t) {\n\t\t\tif (typeof tabIndex === 'string') {\n\t\t\t\tthis.lockedElements.set(htmlElement, {\n\t\t\t\t\ttabIndex,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.lockedElements.set(htmlElement, {});\n\t\t\t}\n\t\t\thtmlElement.setAttribute('tabindex', '-1');\n\t\t\thtmlElement.setAttribute('aria-hidden', 'true');\n\t\t\thtmlElement.style.userSelect = 'none';\n\t\t}\n\t}\n\n\tprivate unlockElement(value: LockedElementContext, htmlElement: HTMLElement) {\n\t\tif (typeof value.tabIndex === 'string') {\n\t\t\thtmlElement.setAttribute('tabindex', value.tabIndex);\n\t\t} else {\n\t\t\thtmlElement.removeAttribute('tabindex');\n\t\t}\n\t\thtmlElement.removeAttribute('aria-hidden');\n\t\thtmlElement.style.userSelect = 'unset';\n\t\tthis.lockedElements.delete(htmlElement);\n\t}\n\n\tprivate unlockLockedElements(lockedElements: Map<HTMLElement, LockedElementContext>) {\n\t\tlockedElements.forEach(this.unlockElement.bind(this));\n\t}\n\n\tprivate lockFocus(hostElement: HTMLElement | ShadowRoot | null, excludeElement?: HTMLElement) {\n\t\tif (hostElement !== excludeElement && (hostElement instanceof HTMLElement || hostElement instanceof ShadowRoot)) {\n\t\t\tif (hostElement instanceof HTMLElement) {\n\t\t\t\tthis.lockElement(hostElement);\n\t\t\t\tthis.lockFocus(hostElement.shadowRoot, excludeElement);\n\t\t\t}\n\t\t\tfor (let i = 0; i < hostElement.children.length; i++) {\n\t\t\t\tthis.lockFocus(hostElement.children[i] as HTMLElement, excludeElement);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate renderModalIfExists(activeElement?: HTMLElement) {\n\t\tif (activeElement instanceof HTMLElement) {\n\t\t\tif (this.lockedElements.has(activeElement)) {\n\t\t\t\tthis.unlockElement(this.lockedElements.get(activeElement) as LockedElementContext, activeElement);\n\t\t\t}\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tactiveElement.focus();\n\t\t\t}, 500);\n\t\t}\n\t\tthis.unlockLockedElements(this.lockedElements);\n\t\tif (this.modalStack.size > 0) {\n\t\t\tconst modalKeys = Array.from(this.modalStack.keys());\n\t\t\tconst modalRef = modalKeys[modalKeys.length - 1] as HTMLElement & {\n\t\t\t\t_activeElement: HTMLElement | null; // typo sugger\n\t\t\t};\n\t\t\tthis.modalStack.forEach((_value: ModalContext, htmlElement: HTMLElement) => {\n\t\t\t\tif (modalRef === htmlElement) {\n\t\t\t\t\thtmlElement.style.display = 'inline';\n\t\t\t\t} else {\n\t\t\t\t\thtmlElement.style.display = `none`;\n\t\t\t\t}\n\t\t\t});\n\t\t\tgetDocument().body.style.maxHeight = '100vh';\n\t\t\tgetDocument().body.style.overflow = 'hidden';\n\t\t\tthis.lockFocus(getDocument().body, modalRef);\n\t\t} else {\n\t\t\tgetDocument().body.style.maxHeight = 'unset';\n\t\t\tgetDocument().body.style.overflow = 'unset';\n\t\t}\n\t}\n\n\tpublic openModal(modalRef: HTMLElement, activeElement?: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tthis.modalStack.set(modalRef, {\n\t\t\t\tactiveElement,\n\t\t\t});\n\t\t\tthis.renderModalIfExists();\n\t\t}\n\t}\n\n\tpublic closeModal(modalRef: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tconst activeElement = this.modalStack.get(modalRef)?.activeElement;\n\t\t\tthis.modalStack.delete(modalRef);\n\t\t\tthis.renderModalIfExists(activeElement);\n\t\t}\n\t}\n}\n","import { AlertType } from '../alert/types';\n\ntype Toast = {\n\theading: string;\n\tdescription: string;\n\ttype: AlertType;\n};\n\nexport class ToasterService {\n\tprivate readonly toastElement: HTMLKolToastElement;\n\n\tprivate readonly queue: Set<Toast> = new Set();\n\n\tprivate isOpen = false;\n\n\tconstructor(private readonly document: Document) {\n\t\tthis.toastElement = this.document.createElement('kol-toast');\n\t\tthis.toastElement.setAttribute('_level', '3');\n\t\tthis.toastElement.setAttribute('_show', 'false');\n\t\tthis.toastElement.setAttribute('_show-duration', '-1');\n\t\tthis.toastElement.setAttribute('_has-closer', 'true');\n\t\tthis.toastElement._on = {\n\t\t\tonClose: () => {\n\t\t\t\tconst next = this.queue.values().next();\n\t\t\t\tif (next.value) {\n\t\t\t\t\tthis.queue.delete(next.value as Toast);\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.showToast(next.value as Toast);\n\t\t\t\t\t}, 200);\n\t\t\t\t} else {\n\t\t\t\t\tthis.isOpen = false;\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t\tthis.document.body.insertBefore(this.toastElement, this.document.body.firstChild);\n\t}\n\n\t/**\n\t * Reiht einen neuen Toast in die Warteschlange ein, um ihn anzuzeigen.\n\t */\n\tpublic enqueue(data: Toast): void {\n\t\tif (this.isOpen) {\n\t\t\tthis.queue.add(data);\n\t\t} else {\n\t\t\tthis.showToast(data);\n\t\t}\n\t}\n\n\tprivate showToast(data: Toast): void {\n\t\tthis.toastElement.setAttribute('_heading', data.heading);\n\t\tthis.toastElement.setAttribute('_show', 'true');\n\t\tthis.toastElement.setAttribute('_type', data.type);\n\t\tthis.toastElement.innerText = data.description;\n\t\tthis.isOpen = true;\n\t}\n}\n","import { ModalService } from '../components/modal/service';\nimport { ToasterService } from '../components/toast/toaster';\nimport { processEnv } from './reuse';\n\nlet WINDOW: Window | null = null;\nlet DOCUMENT: Document | null = null;\n\nexport const configKoliBri = (window: Window): void => {\n\tif (window instanceof Window) {\n\t\tWINDOW = window;\n\t\tif (WINDOW.document instanceof Document) {\n\t\t\tDOCUMENT = window.document;\n\t\t} else {\n\t\t\tconsole.warn(`The given Window has no valid Document.`);\n\t\t}\n\t} else {\n\t\tconsole.warn(`The given Window is not valid.`);\n\t}\n};\n\nexport const getWindow = (): Window => (WINDOW || typeof window === 'undefined' ? (null as unknown as Window) : window);\nexport const getDocument = (): Document => (DOCUMENT || typeof getWindow().document === 'undefined' ? (null as unknown as Document) : getWindow().document);\n\nlet META_CONFIG: string | null = null;\nlet DEV_MODE: boolean | null = null;\nlet EXPERIMENTAL_MODE: boolean | null = null;\nlet COLOR_CONTRAST_ANALYSIS: boolean | null = null;\n\nexport const getDevMode = (): boolean => DEV_MODE === true;\nexport const getExperimentalMode = (): boolean => EXPERIMENTAL_MODE === true;\nexport const getColorContrastAnalysis = (): boolean => COLOR_CONTRAST_ANALYSIS === true;\n\ntype LogShield = {\n\tlabel: string;\n\tstyle: string;\n};\n\ntype LogShieldOptions = {\n\tclassifier?: string;\n\tforceLog?: boolean;\n\toverwriteStyle?: string;\n};\n\nexport class Log {\n\tprivate static shield: LogShield = {\n\t\tlabel: '%cKoliBri',\n\t\tstyle: 'color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000',\n\t};\n\n\tprivate static mapToArray(msg: unknown | unknown[]): unknown[] {\n\t\treturn Array.isArray(msg) ? msg : [msg];\n\t}\n\n\tprivate static handleClassifier(classifier?: string): string {\n\t\tif (typeof classifier === 'string' && classifier.length > 0) {\n\t\t\treturn `${Log.shield.label} | ${classifier}`;\n\t\t} else {\n\t\t\treturn Log.shield.label;\n\t\t}\n\t}\n\n\tprivate static getShield(options?: LogShieldOptions): string[] {\n\t\treturn [Log.handleClassifier(options?.classifier), `${Log.shield.style};${options?.overwriteStyle || ''}`];\n\t}\n\n\tpublic static debug(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.debug(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static info(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.info(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static trace(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.trace(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static warn(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.warn(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static error(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.error(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static throw(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tthrow new Error(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n}\n\nconst initMeta = (): void => {\n\tif (DEV_MODE === null && EXPERIMENTAL_MODE === null && COLOR_CONTRAST_ANALYSIS === null) {\n\t\tconst meta = getDocument().querySelector('meta[name=\"kolibri\"]');\n\t\tif (meta && meta.hasAttribute('content')) {\n\t\t\tMETA_CONFIG = meta.getAttribute('content');\n\t\t\tif (typeof META_CONFIG === 'string') {\n\t\t\t\tDEV_MODE = META_CONFIG.includes('dev-mode=true');\n\t\t\t\tEXPERIMENTAL_MODE = META_CONFIG.includes('experimental-mode=true');\n\t\t\t\tCOLOR_CONTRAST_ANALYSIS = META_CONFIG.includes('color-contrast-analysis=true');\n\t\t\t}\n\t\t}\n\t} else {\n\t\tconsole.warn(`You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.`);\n\t}\n};\n\nlet KoliBri: Record<string, unknown> | null = null;\nexport const getKoliBri = (): Record<string, unknown> => KoliBri || {};\nexport const initKoliBri = (): void => {\n\tif (KoliBri === null) {\n\t\tKoliBri = getWindow().KoliBri || {};\n\t\tconst Modal = new ModalService();\n\t\tconst Toaster = new ToasterService(getDocument());\n\t\tObject.defineProperty(KoliBri, 'Modal', {\n\t\t\tget: function (): ModalService {\n\t\t\t\treturn Modal;\n\t\t\t},\n\t\t});\n\t\tObject.defineProperty(KoliBri, 'Toaster', {\n\t\t\tget: function (): ToasterService {\n\t\t\t\treturn Toaster;\n\t\t\t},\n\t\t});\n\t\tinitMeta();\n\t\tLog.debug(\n\t\t\t`\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | \\`--' | |) /_ ,--.--. \\`--'\n\t| . ' | .-. | | | ,--. | .-. \\\\ | .--' ,--.\n\t| |\\\\ \\\\ | '-' | | | | | | '--' / | | | |\n\t\\`--' \\`--´ \\`---´ \\`--' \\`--' \\`------´ \\`--' \\`--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io\n\t\t`,\n\t\t\t{\n\t\t\t\tforceLog: true,\n\t\t\t}\n\t\t);\n\t} else {\n\t\tconsole.warn(`You can only initialize KoliBri once.`);\n\t}\n};\nexport { KoliBri };\n\nexport const renderDevAdvice = (): void => {\n\tif (getWindow().KoliBri === undefined) {\n\t\tObject.defineProperty(window, 'KoliBri', {\n\t\t\tget: function () {\n\t\t\t\treturn KoliBri;\n\t\t\t},\n\t\t});\n\t}\n\tif (getKoliBri().adviceShown !== true) {\n\t\tObject.defineProperty(KoliBri, 'adviceShown', {\n\t\t\tget: function () {\n\t\t\t\treturn true;\n\t\t\t},\n\t\t});\n\t\tLog.debug(\n\t\t\t`\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n`\n\t\t);\n\t}\n};\n\nlet nonce = (): string => Math.floor(Math.random() * 16777215).toString(16);\n\nif (processEnv === 'test') {\n\tnonce = (): string => 'nonce';\n}\n\nexport { nonce };\n"],"version":3}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* KoliBri - The accessible HTML-Standard
|
|
3
|
+
*/
|
|
4
|
+
import{i as initKoliBri,e as getDevMode,r as renderDevAdvice,g as getDocument,L as Log,b as getExperimentalMode,f as getColorContrastAnalysis,K as KoliBri}from"./dev.utils-4290338e.js";import{l as KoliBriUtils,n as koliBriA11yColorContrast,k as koliBriQuerySelector,q as koliBriQuerySelectorAll,t as koliBriQuerySelectorColors,p as parseJson,u as stringifyJson}from"./prop.validators-601f1068.js";import"./reuse-c2156413.js";import"./a11y.tipps-9f948961.js";import"./index-37b5cbcf.js";function prototypeKoliBri(o,t){try{Object.defineProperty(KoliBri,o,{get:function(){return t}})}catch(t){Log.debug(`KoliBri property ${o} is already bind.`)}}const metaModeLog=(o,t)=>Log.debug(`${o} ${t?"":"not "}activated`),initialize=()=>{if(initKoliBri(),getDevMode()){renderDevAdvice(),prototypeKoliBri("a11yColorContrast",koliBriA11yColorContrast),prototypeKoliBri("querySelector",koliBriQuerySelector),prototypeKoliBri("querySelectorAll",koliBriQuerySelectorAll),prototypeKoliBri("querySelectorColors",koliBriQuerySelectorColors),prototypeKoliBri("utils",(function(){return KoliBriUtils})),prototypeKoliBri("parseJson",parseJson),prototypeKoliBri("stringifyJson",stringifyJson);const o=getDocument().body,t=getDocument().createElement("svg");if(t.setAttribute("aria-label","KoliBri-DevTools"),t.setAttribute("xmlns","http://www.w3.org/2000/svg"),t.setAttribute("role","toolbar"),t.setAttribute("style","position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;"),t.innerHTML='<svg\n xmlns="http://www.w3.org/2000/svg"\n width="50"\n height="50"\n viewBox="0 0 600 600"\n>\n <path d="M353 322L213 304V434L353 322Z" fill="#047" />\n <path d="M209 564V304L149 434L209 564Z" fill="#047" />\n <path d="M357 316L417 250L361 210L275 244L357 316Z" fill="#047" />\n <path d="M353 318L35 36L213 300L353 318Z" fill="#047" />\n <path d="M329 218L237 92L250 222L272 241L329 218Z" fill="#047" />\n <path d="M391 286L565 272L421 252L391 286Z" fill="#047" />\n</svg>',getDocument().body.appendChild(t),metaModeLog("Development mode",getDevMode()),metaModeLog("Experimental mode",getExperimentalMode()),metaModeLog("Color contrast analysis",getColorContrastAnalysis()),getColorContrastAnalysis()){const t=setTimeout((()=>{clearTimeout(t),setInterval((()=>{KoliBriUtils.queryHtmlElementColors(getDocument().createElement("div"),koliBriA11yColorContrast(o),!1,!1)}),1e4)}),2500)}}};export{initialize};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"devtools-57a6a46f.js","mappings":";;;;;;;;;AAWA,SAAS,gBAAgB,CAAI,IAAY,EAAE,EAAK;EAC/C,IAAI;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE;MACpC,GAAG,EAAE;QACJ,OAAO,EAAE,CAAC;OACV;KACD,CAAC,CAAC;GACH;EAAC,OAAO,CAAC,EAAE;IACX,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,mBAAmB,CAAC,CAAC;GACvD;AACF,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,MAAe,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,MAAM,GAAG,EAAE,GAAG,MAAM,WAAW,CAAC,CAAC;MAEhG,UAAU,GAAG;EACzB,WAAW,EAAE,CAAC;EACd,IAAI,UAAU,EAAE,EAAE;IACjB,eAAe,EAAE,CAAC;IAElB,gBAAgB,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;IAChE,gBAAgB,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;IACxD,gBAAgB,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;IAC9D,gBAAgB,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,CAAC;IACpE,gBAAgB,CAAC,OAAO,EAAE;MACzB,OAAO,YAAY,CAAC;KACpB,CAAC,CAAC;IACH,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACzC,gBAAgB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC;IAEhC,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IACnD,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;IACxD,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,8EAA8E,CAAC,CAAC;IAC1G,GAAG,CAAC,SAAS,GAAG;;;;;;;;;;;;OAYX,CAAC;IAEN,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEpC,WAAW,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9C,WAAW,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACxD,WAAW,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAEnE,IAAI,wBAAwB,EAAE,EAAE;MAC/B,MAAM,OAAO,GAAG,UAAU,CAAC;QAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,WAAW,CAAC;UACX,YAAY,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;SACtH,EAAE,KAAK,CAAC,CAAC;OACV,EAAE,IAAI,CAAC,CAAC;KACT;GAmBD;AACF;;;;","names":[],"sources":["src/global/devtools.ts"],"sourcesContent":["import { getColorContrastAnalysis, getDevMode, getDocument, getExperimentalMode, initKoliBri, KoliBri, Log, renderDevAdvice } from '../utils/dev.utils';\nimport {\n\tkoliBriA11yColorContrast,\n\tkoliBriQuerySelector,\n\tkoliBriQuerySelectorAll,\n\tkoliBriQuerySelectorColors,\n\tKoliBriUtils,\n\tparseJson,\n\tstringifyJson,\n} from '../utils/prop.validators';\n\nfunction prototypeKoliBri<T>(name: string, cb: T) {\n\ttry {\n\t\tObject.defineProperty(KoliBri, name, {\n\t\t\tget: function () {\n\t\t\t\treturn cb;\n\t\t\t},\n\t\t});\n\t} catch (e) {\n\t\tLog.debug(`KoliBri property ${name} is already bind.`);\n\t}\n}\n\nconst metaModeLog = (name: string, active: boolean) => Log.debug(`${name} ${active ? '' : 'not '}activated`);\n\nexport const initialize = (): void => {\n\tinitKoliBri();\n\tif (getDevMode()) {\n\t\trenderDevAdvice();\n\n\t\tprototypeKoliBri('a11yColorContrast', koliBriA11yColorContrast);\n\t\tprototypeKoliBri('querySelector', koliBriQuerySelector);\n\t\tprototypeKoliBri('querySelectorAll', koliBriQuerySelectorAll);\n\t\tprototypeKoliBri('querySelectorColors', koliBriQuerySelectorColors);\n\t\tprototypeKoliBri('utils', function () {\n\t\t\treturn KoliBriUtils;\n\t\t});\n\t\tprototypeKoliBri('parseJson', parseJson);\n\t\tprototypeKoliBri('stringifyJson', stringifyJson);\n\n\t\tconst body = getDocument().body;\n\n\t\tconst div = getDocument().createElement('svg');\n\t\tdiv.setAttribute('aria-label', 'KoliBri-DevTools');\n\t\tdiv.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\t\tdiv.setAttribute('role', 'toolbar');\n\t\tdiv.setAttribute('style', 'position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;');\n\t\tdiv.innerHTML = `<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"50\"\n height=\"50\"\n viewBox=\"0 0 600 600\"\n>\n <path d=\"M353 322L213 304V434L353 322Z\" fill=\"#047\" />\n <path d=\"M209 564V304L149 434L209 564Z\" fill=\"#047\" />\n <path d=\"M357 316L417 250L361 210L275 244L357 316Z\" fill=\"#047\" />\n <path d=\"M353 318L35 36L213 300L353 318Z\" fill=\"#047\" />\n <path d=\"M329 218L237 92L250 222L272 241L329 218Z\" fill=\"#047\" />\n <path d=\"M391 286L565 272L421 252L391 286Z\" fill=\"#047\" />\n</svg>`;\n\n\t\tgetDocument().body.appendChild(div);\n\n\t\tmetaModeLog('Development mode', getDevMode());\n\t\tmetaModeLog('Experimental mode', getExperimentalMode());\n\t\tmetaModeLog('Color contrast analysis', getColorContrastAnalysis());\n\n\t\tif (getColorContrastAnalysis()) {\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tsetInterval(() => {\n\t\t\t\t\tKoliBriUtils.queryHtmlElementColors(getDocument().createElement('div'), koliBriA11yColorContrast(body), false, false);\n\t\t\t\t}, 10000);\n\t\t\t}, 2500);\n\t\t}\n\n\t\t// setTimeout(() => {\n\t\t// const kolButton = koliBriQuerySelector<HTMLButtonElement>(document, '[_label=\"Aktion ausführen\"]');\n\t\t// if (kolButton) {\n\t\t// const button = koliBriQuerySelector<HTMLButtonElement>(kolButton?.shadowRoot as ShadowRoot, 'button');\n\t\t// if (button) {\n\t\t// kolButton.style.backgroundColor = '#988';\n\t\t// button.style.backgroundColor = 'inherit';\n\t\t// button.style.color = '#988';\n\t\t// const kolButtonColors = koliBriQuerySelectorColors('[_label=\"Aktion ausführen\"]');\n\t\t// console.log(\n\t\t// koliBriQuerySelectorColors('button', {\n\t\t// ...kolButtonColors,\n\t\t// })\n\t\t// );\n\t\t// }\n\t\t// }\n\t\t// }, 2500);\n\t}\n};\n"],"version":3}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{b as watchBoolean}from"./prop.validators-
|
|
4
|
+
import{b as watchBoolean}from"./prop.validators-601f1068.js";const validateAriaExpanded=(a,d)=>{watchBoolean(a,"_ariaExpanded",d)},validateDisabled=(a,d)=>{watchBoolean(a,"_disabled",d)};export{validateDisabled as a,validateAriaExpanded as v};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"disabled-
|
|
1
|
+
{"file":"disabled-559fd371.js","mappings":";;;;;MAkBa,oBAAoB,GAAG,CAAC,SAAoC,EAAE,KAAe;EACzF,YAAY,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;AACjD;;MCJa,gBAAgB,GAAG,CAAC,SAAoC,EAAE,KAAe;EACrF,YAAY,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AAC7C;;;;","names":[],"sources":["src/types/props/aria-expanded.ts","src/types/props/disabled.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Markiert dieses Element als geöffnet, oder dass das verknüpfte Element (aria-controls/aria-owns) geöffnet ist.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n */\n/** en\n * Marks this element as open/expanded, or that the connected element (aria-controls/aria-owns) is open/expanded.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n */\nexport type PropAriaExpanded = {\n\tariaExpanded: boolean;\n};\n\n/* validator */\nexport const validateAriaExpanded = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_ariaExpanded', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Macht das Element nicht fokussierbar und lässt es alle Events ignorieren.\n */\n/** en\n * Makes the element not focusable and ignore all events.\n */\nexport type PropDisabled = {\n\tdisabled: boolean;\n};\n\n/* validator */\nexport const validateDisabled = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_disabled', value);\n};\n"],"version":3}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* KoliBri - The accessible HTML-Standard
|
|
3
|
+
*/
|
|
4
|
+
function getAlignment(e){return e.split("-")[1]}function getLengthFromAxis(e){return"y"===e?"height":"width"}function getSide(e){return e.split("-")[0]}function getMainAxisFromPlacement(e){return["top","bottom"].includes(getSide(e))?"x":"y"}function computeCoordsFromPlacement(e,t,n){let{reference:o,floating:i}=e;const r=o.x+o.width/2-i.width/2,l=o.y+o.height/2-i.height/2,s=getMainAxisFromPlacement(t),c=getLengthFromAxis(s),a=o[c]/2-i[c]/2,f="x"===s;let g;switch(getSide(t)){case"top":g={x:r,y:o.y-i.height};break;case"bottom":g={x:r,y:o.y+o.height};break;case"right":g={x:o.x+o.width,y:l};break;case"left":g={x:o.x-i.width,y:l};break;default:g={x:o.x,y:o.y}}switch(getAlignment(t)){case"start":g[s]-=a*(n&&f?-1:1);break;case"end":g[s]+=a*(n&&f?-1:1)}return g}const computePosition$1=async(e,t,n)=>{const{placement:o="bottom",strategy:i="absolute",middleware:r=[],platform:l}=n,s=r.filter(Boolean),c=await(null==l.isRTL?void 0:l.isRTL(t));let a=await l.getElementRects({reference:e,floating:t,strategy:i}),{x:f,y:g}=computeCoordsFromPlacement(a,o,c),u=o,m={},d=0;for(let n=0;n<s.length;n++){const{name:r,fn:p}=s[n],{x:h,y:w,data:y,reset:x}=await p({x:f,y:g,initialPlacement:o,placement:u,strategy:i,middlewareData:m,rects:a,platform:l,elements:{reference:e,floating:t}});f=null!=h?h:f,g=null!=w?w:g,m={...m,[r]:{...m[r],...y}},x&&d<=50&&(d++,"object"==typeof x&&(x.placement&&(u=x.placement),x.rects&&(a=!0===x.rects?await l.getElementRects({reference:e,floating:t,strategy:i}):x.rects),({x:f,y:g}=computeCoordsFromPlacement(a,u,c))),n=-1)}return{x:f,y:g,placement:u,strategy:i,middlewareData:m}};function evaluate(e,t){return"function"==typeof e?e(t):e}function expandPaddingObject(e){return{top:0,right:0,bottom:0,left:0,...e}}function getSideObjectFromPadding(e){return"number"!=typeof e?expandPaddingObject(e):{top:e,right:e,bottom:e,left:e}}function rectToClientRect(e){return{...e,top:e.y,left:e.x,right:e.x+e.width,bottom:e.y+e.height}}async function detectOverflow(e,t){var n;void 0===t&&(t={});const{x:o,y:i,platform:r,rects:l,elements:s,strategy:c}=e,{boundary:a="clippingAncestors",rootBoundary:f="viewport",elementContext:g="floating",altBoundary:u=!1,padding:m=0}=evaluate(t,e),d=getSideObjectFromPadding(m),p=s[u?"floating"===g?"reference":"floating":g],h=rectToClientRect(await r.getClippingRect({element:null==(n=await(null==r.isElement?void 0:r.isElement(p)))||n?p:p.contextElement||await(null==r.getDocumentElement?void 0:r.getDocumentElement(s.floating)),boundary:a,rootBoundary:f,strategy:c})),w="floating"===g?{...l.floating,x:o,y:i}:l.reference,y=await(null==r.getOffsetParent?void 0:r.getOffsetParent(s.floating)),x=await(null==r.isElement?void 0:r.isElement(y))&&await(null==r.getScale?void 0:r.getScale(y))||{x:1,y:1},v=rectToClientRect(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({rect:w,offsetParent:y,strategy:c}):w);return{top:(h.top-v.top+d.top)/x.y,bottom:(v.bottom-h.bottom+d.bottom)/x.y,left:(h.left-v.left+d.left)/x.x,right:(v.right-h.right+d.right)/x.x}}const min$1=Math.min,max$1=Math.max;function within(e,t,n){return max$1(e,min$1(t,n))}const arrow=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:i,rects:r,platform:l,elements:s}=t,{element:c,padding:a=0}=evaluate(e,t)||{};if(null==c)return{};const f=getSideObjectFromPadding(a),g={x:n,y:o},u=getMainAxisFromPlacement(i),m=getLengthFromAxis(u),d=await l.getDimensions(c),p="y"===u,h=p?"top":"left",w=p?"bottom":"right",y=p?"clientHeight":"clientWidth",x=r.reference[m]+r.reference[u]-g[u]-r.floating[m],v=g[u]-r.reference[u],b=await(null==l.getOffsetParent?void 0:l.getOffsetParent(c));let R=b?b[y]:0;R&&await(null==l.isElement?void 0:l.isElement(b))||(R=s.floating[y]||r.floating[m]);const C=x/2-v/2,E=R/2-d[m]/2-1,S=min$1(f[h],E),A=min$1(f[w],E),O=S,P=R-d[m]-A,T=R/2-d[m]/2+C,L=within(O,T,P),N=null!=getAlignment(i)&&T!=L&&r.reference[m]/2-(T<O?S:A)-d[m]/2<0?T<O?O-T:P-T:0;return{[u]:g[u]-N,data:{[u]:L,centerOffset:T-L+N}}}}),oppositeSideMap={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(e){return e.replace(/left|right|bottom|top/g,(e=>oppositeSideMap[e]))}function getAlignmentSides(e,t,n){void 0===n&&(n=!1);const o=getAlignment(e),i=getMainAxisFromPlacement(e),r=getLengthFromAxis(i);let l="x"===i?o===(n?"end":"start")?"right":"left":"start"===o?"bottom":"top";return t.reference[r]>t.floating[r]&&(l=getOppositePlacement(l)),{main:l,cross:getOppositePlacement(l)}}const oppositeAlignmentMap={start:"end",end:"start"};function getOppositeAlignmentPlacement(e){return e.replace(/start|end/g,(e=>oppositeAlignmentMap[e]))}function getExpandedPlacements(e){const t=getOppositePlacement(e);return[getOppositeAlignmentPlacement(e),t,getOppositeAlignmentPlacement(t)]}function getSideList(e,t,n){const o=["left","right"],i=["right","left"],r=["top","bottom"],l=["bottom","top"];switch(e){case"top":case"bottom":return n?t?i:o:t?o:i;case"left":case"right":return t?r:l;default:return[]}}function getOppositeAxisPlacements(e,t,n,o){const i=getAlignment(e);let r=getSideList(getSide(e),"start"===n,o);return i&&(r=r.map((e=>e+"-"+i)),t&&(r=r.concat(r.map(getOppositeAlignmentPlacement)))),r}const flip=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:o,middlewareData:i,rects:r,initialPlacement:l,platform:s,elements:c}=t,{mainAxis:a=!0,crossAxis:f=!0,fallbackPlacements:g,fallbackStrategy:u="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:d=!0,...p}=evaluate(e,t),h=getSide(o),w=getSide(l)===l,y=await(null==s.isRTL?void 0:s.isRTL(c.floating)),x=g||(w||!d?[getOppositePlacement(l)]:getExpandedPlacements(l));g||"none"===m||x.push(...getOppositeAxisPlacements(l,d,m,y));const v=[l,...x],b=await detectOverflow(t,p),R=[];let C=(null==(n=i.flip)?void 0:n.overflows)||[];if(a&&R.push(b[h]),f){const{main:e,cross:t}=getAlignmentSides(o,r,y);R.push(b[e],b[t])}if(C=[...C,{placement:o,overflows:R}],!R.every((e=>e<=0))){var E,S;const e=((null==(E=i.flip)?void 0:E.index)||0)+1,t=v[e];if(t)return{data:{index:e,overflows:C},reset:{placement:t}};let n=null==(S=C.filter((e=>e.overflows[0]<=0)).sort(((e,t)=>e.overflows[1]-t.overflows[1]))[0])?void 0:S.placement;if(!n)switch(u){case"bestFit":{var A;const e=null==(A=C.map((e=>[e.placement,e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)])).sort(((e,t)=>e[1]-t[1]))[0])?void 0:A[0];e&&(n=e);break}case"initialPlacement":n=l}if(o!==n)return{reset:{placement:n}}}return{}}}};async function convertValueToCoords(e,t){const{placement:n,platform:o,elements:i}=e,r=await(null==o.isRTL?void 0:o.isRTL(i.floating)),l=getSide(n),s=getAlignment(n),c="x"===getMainAxisFromPlacement(n),a=["left","top"].includes(l)?-1:1,f=r&&c?-1:1,g=evaluate(t,e);let{mainAxis:u,crossAxis:m,alignmentAxis:d}="number"==typeof g?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...g};return s&&"number"==typeof d&&(m="end"===s?-1*d:d),c?{x:m*f,y:u*a}:{x:u*a,y:m*f}}const offset=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:o}=t,i=await convertValueToCoords(t,e);return{x:n+i.x,y:o+i.y,data:i}}}};function getCrossAxis(e){return"x"===e?"y":"x"}const shift=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:i}=t,{mainAxis:r=!0,crossAxis:l=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=evaluate(e,t),a={x:n,y:o},f=await detectOverflow(t,c),g=getMainAxisFromPlacement(getSide(i)),u=getCrossAxis(g);let m=a[g],d=a[u];if(r){const e="y"===g?"bottom":"right";m=within(m+f["y"===g?"top":"left"],m,m-f[e])}if(l){const e="y"===u?"bottom":"right";d=within(d+f["y"===u?"top":"left"],d,d-f[e])}const p=s.fn({...t,[g]:m,[u]:d});return{...p,data:{x:p.x-n,y:p.y-o}}}}};function getWindow(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function getComputedStyle$1(e){return getWindow(e).getComputedStyle(e)}function isNode(e){return e instanceof getWindow(e).Node}function getNodeName(e){return isNode(e)?(e.nodeName||"").toLowerCase():"#document"}function isHTMLElement(e){return e instanceof HTMLElement||e instanceof getWindow(e).HTMLElement}function isShadowRoot(e){return"undefined"!=typeof ShadowRoot&&(e instanceof getWindow(e).ShadowRoot||e instanceof ShadowRoot)}function isOverflowElement(e){const{overflow:t,overflowX:n,overflowY:o,display:i}=getComputedStyle$1(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!["inline","contents"].includes(i)}function isTableElement(e){return["table","td","th"].includes(getNodeName(e))}function isContainingBlock(e){const t=isSafari(),n=getComputedStyle$1(e);return"none"!==n.transform||"none"!==n.perspective||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||["transform","perspective","filter"].some((e=>(n.willChange||"").includes(e)))||["paint","layout","strict","content"].some((e=>(n.contain||"").includes(e)))}function isSafari(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function isLastTraversableNode(e){return["html","body","#document"].includes(getNodeName(e))}const min=Math.min,max=Math.max,round=Math.round,floor=Math.floor,createCoords=e=>({x:e,y:e});function getCssDimensions(e){const t=getComputedStyle$1(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const i=isHTMLElement(e),r=i?e.offsetWidth:n,l=i?e.offsetHeight:o,s=round(n)!==r||round(o)!==l;return s&&(n=r,o=l),{width:n,height:o,$:s}}function isElement(e){return e instanceof Element||e instanceof getWindow(e).Element}function unwrapElement(e){return isElement(e)?e:e.contextElement}function getScale(e){const t=unwrapElement(e);if(!isHTMLElement(t))return createCoords(1);const n=t.getBoundingClientRect(),{width:o,height:i,$:r}=getCssDimensions(t);let l=(r?round(n.width):n.width)/o,s=(r?round(n.height):n.height)/i;return l&&Number.isFinite(l)||(l=1),s&&Number.isFinite(s)||(s=1),{x:l,y:s}}const noOffsets=createCoords(0);function getVisualOffsets(e){const t=getWindow(e);return isSafari()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:noOffsets}function shouldAddVisualOffsets(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==getWindow(e))&&t}function getBoundingClientRect(e,t,n,o){void 0===t&&(t=!1),void 0===n&&(n=!1);const i=e.getBoundingClientRect(),r=unwrapElement(e);let l=createCoords(1);t&&(o?isElement(o)&&(l=getScale(o)):l=getScale(e));const s=shouldAddVisualOffsets(r,n,o)?getVisualOffsets(r):createCoords(0);let c=(i.left+s.x)/l.x,a=(i.top+s.y)/l.y,f=i.width/l.x,g=i.height/l.y;if(r){const e=getWindow(r),t=o&&isElement(o)?getWindow(o):o;let n=e.frameElement;for(;n&&o&&t!==e;){const e=getScale(n),t=n.getBoundingClientRect(),o=getComputedStyle(n),i=t.left+(n.clientLeft+parseFloat(o.paddingLeft))*e.x,r=t.top+(n.clientTop+parseFloat(o.paddingTop))*e.y;c*=e.x,a*=e.y,f*=e.x,g*=e.y,c+=i,a+=r,n=getWindow(n).frameElement}}return rectToClientRect({width:f,height:g,x:c,y:a})}function getNodeScroll(e){return isElement(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function getDocumentElement(e){var t;return null==(t=(isNode(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function convertOffsetParentRelativeRectToViewportRelativeRect(e){let{rect:t,offsetParent:n,strategy:o}=e;const i=isHTMLElement(n),r=getDocumentElement(n);if(n===r)return t;let l={scrollLeft:0,scrollTop:0},s=createCoords(1);const c=createCoords(0);if((i||!i&&"fixed"!==o)&&(("body"!==getNodeName(n)||isOverflowElement(r))&&(l=getNodeScroll(n)),isHTMLElement(n))){const e=getBoundingClientRect(n);s=getScale(n),c.x=e.x+n.clientLeft,c.y=e.y+n.clientTop}return{width:t.width*s.x,height:t.height*s.y,x:t.x*s.x-l.scrollLeft*s.x+c.x,y:t.y*s.y-l.scrollTop*s.y+c.y}}function getClientRects(e){return Array.from(e.getClientRects())}function getWindowScrollBarX(e){return getBoundingClientRect(getDocumentElement(e)).left+getNodeScroll(e).scrollLeft}function getDocumentRect(e){const t=getDocumentElement(e),n=getNodeScroll(e),o=e.ownerDocument.body,i=max(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),r=max(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let l=-n.scrollLeft+getWindowScrollBarX(e);const s=-n.scrollTop;return"rtl"===getComputedStyle$1(o).direction&&(l+=max(t.clientWidth,o.clientWidth)-i),{width:i,height:r,x:l,y:s}}function getParentNode(e){if("html"===getNodeName(e))return e;const t=e.assignedSlot||e.parentNode||isShadowRoot(e)&&e.host||getDocumentElement(e);return isShadowRoot(t)?t.host:t}function getNearestOverflowAncestor(e){const t=getParentNode(e);return isLastTraversableNode(t)?e.ownerDocument?e.ownerDocument.body:e.body:isHTMLElement(t)&&isOverflowElement(t)?t:getNearestOverflowAncestor(t)}function getOverflowAncestors(e,t){var n;void 0===t&&(t=[]);const o=getNearestOverflowAncestor(e),i=o===(null==(n=e.ownerDocument)?void 0:n.body),r=getWindow(o);return i?t.concat(r,r.visualViewport||[],isOverflowElement(o)?o:[]):t.concat(o,getOverflowAncestors(o))}function getViewportRect(e,t){const n=getWindow(e),o=getDocumentElement(e),i=n.visualViewport;let r=o.clientWidth,l=o.clientHeight,s=0,c=0;if(i){r=i.width,l=i.height;const e=isSafari();(!e||e&&"fixed"===t)&&(s=i.offsetLeft,c=i.offsetTop)}return{width:r,height:l,x:s,y:c}}function getInnerBoundingClientRect(e,t){const n=getBoundingClientRect(e,!0,"fixed"===t),o=n.top+e.clientTop,i=n.left+e.clientLeft,r=isHTMLElement(e)?getScale(e):createCoords(1);return{width:e.clientWidth*r.x,height:e.clientHeight*r.y,x:i*r.x,y:o*r.y}}function getClientRectFromClippingAncestor(e,t,n){let o;if("viewport"===t)o=getViewportRect(e,n);else if("document"===t)o=getDocumentRect(getDocumentElement(e));else if(isElement(t))o=getInnerBoundingClientRect(t,n);else{const n=getVisualOffsets(e);o={...t,x:t.x-n.x,y:t.y-n.y}}return rectToClientRect(o)}function hasFixedPositionAncestor(e,t){const n=getParentNode(e);return!(n===t||!isElement(n)||isLastTraversableNode(n))&&("fixed"===getComputedStyle$1(n).position||hasFixedPositionAncestor(n,t))}function getClippingElementAncestors(e,t){const n=t.get(e);if(n)return n;let o=getOverflowAncestors(e).filter((e=>isElement(e)&&"body"!==getNodeName(e))),i=null;const r="fixed"===getComputedStyle$1(e).position;let l=r?getParentNode(e):e;for(;isElement(l)&&!isLastTraversableNode(l);){const t=getComputedStyle$1(l),n=isContainingBlock(l);n||"fixed"!==t.position||(i=null);(r?!n&&!i:!n&&"static"===t.position&&!!i&&["absolute","fixed"].includes(i.position)||isOverflowElement(l)&&!n&&hasFixedPositionAncestor(e,l))?o=o.filter((e=>e!==l)):i=t,l=getParentNode(l)}return t.set(e,o),o}function getClippingRect(e){let{element:t,boundary:n,rootBoundary:o,strategy:i}=e;const r=[..."clippingAncestors"===n?getClippingElementAncestors(t,this._c):[].concat(n),o],l=r[0],s=r.reduce(((e,n)=>{const o=getClientRectFromClippingAncestor(t,n,i);return e.top=max(o.top,e.top),e.right=min(o.right,e.right),e.bottom=min(o.bottom,e.bottom),e.left=max(o.left,e.left),e}),getClientRectFromClippingAncestor(t,l,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function getDimensions(e){return getCssDimensions(e)}function getRectRelativeToOffsetParent(e,t,n){const o=isHTMLElement(t),i=getDocumentElement(t),r="fixed"===n,l=getBoundingClientRect(e,!0,r,t);let s={scrollLeft:0,scrollTop:0};const c=createCoords(0);if(o||!o&&!r)if(("body"!==getNodeName(t)||isOverflowElement(i))&&(s=getNodeScroll(t)),isHTMLElement(t)){const e=getBoundingClientRect(t,!0,r,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&(c.x=getWindowScrollBarX(i));return{x:l.left+s.scrollLeft-c.x,y:l.top+s.scrollTop-c.y,width:l.width,height:l.height}}function getTrueOffsetParent(e,t){return isHTMLElement(e)&&"fixed"!==getComputedStyle$1(e).position?t?t(e):e.offsetParent:null}function getContainingBlock(e){let t=getParentNode(e);for(;isHTMLElement(t)&&!isLastTraversableNode(t);){if(isContainingBlock(t))return t;t=getParentNode(t)}return null}function getOffsetParent(e,t){const n=getWindow(e);if(!isHTMLElement(e))return n;let o=getTrueOffsetParent(e,t);for(;o&&isTableElement(o)&&"static"===getComputedStyle$1(o).position;)o=getTrueOffsetParent(o,t);return o&&("html"===getNodeName(o)||"body"===getNodeName(o)&&"static"===getComputedStyle$1(o).position&&!isContainingBlock(o))?n:o||getContainingBlock(e)||n}const getElementRects=async function(e){let{reference:t,floating:n,strategy:o}=e;const i=this.getOffsetParent||getOffsetParent,r=this.getDimensions;return{reference:getRectRelativeToOffsetParent(t,await i(n),o),floating:{x:0,y:0,...await r(n)}}};function isRTL(e){return"rtl"===getComputedStyle(e).direction}const platform={convertOffsetParentRelativeRectToViewportRelativeRect:convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement:getDocumentElement,getClippingRect:getClippingRect,getOffsetParent:getOffsetParent,getElementRects:getElementRects,getClientRects:getClientRects,getDimensions:getDimensions,getScale:getScale,isElement:isElement,isRTL:isRTL};function observeMove(e,t){let n,o=null;const i=getDocumentElement(e);function r(){clearTimeout(n),o&&o.disconnect(),o=null}return function l(s,c){void 0===s&&(s=!1),void 0===c&&(c=1),r();const{left:a,top:f,width:g,height:u}=e.getBoundingClientRect();if(s||t(),!g||!u)return;const m={rootMargin:-floor(f)+"px "+-floor(i.clientWidth-(a+g))+"px "+-floor(i.clientHeight-(f+u))+"px "+-floor(a)+"px",threshold:max(0,min(1,c))||1};let d=!0;function p(e){const t=e[0].intersectionRatio;if(t!==c){if(!d)return l();t?l(!1,t):n=setTimeout((()=>{l(!1,1e-7)}),100)}d=!1}try{o=new IntersectionObserver(p,{...m,root:i.ownerDocument})}catch(e){o=new IntersectionObserver(p,m)}o.observe(e)}(!0),r}function autoUpdate(e,t,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:l="function"==typeof ResizeObserver,layoutShift:s="function"==typeof IntersectionObserver,animationFrame:c=!1}=o,a=unwrapElement(e),f=i||r?[...a?getOverflowAncestors(a):[],...getOverflowAncestors(t)]:[];f.forEach((e=>{i&&e.addEventListener("scroll",n,{passive:!0}),r&&e.addEventListener("resize",n)}));const g=a&&s?observeMove(a,n):null;let u,m=-1,d=null;l&&(d=new ResizeObserver((e=>{let[o]=e;o&&o.target===a&&d&&(d.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame((()=>{d&&d.observe(t)}))),n()})),a&&!c&&d.observe(a),d.observe(t));let p=c?getBoundingClientRect(e):null;return c&&function t(){const o=getBoundingClientRect(e);!p||o.x===p.x&&o.y===p.y&&o.width===p.width&&o.height===p.height||n();p=o,u=requestAnimationFrame(t)}(),n(),()=>{f.forEach((e=>{i&&e.removeEventListener("scroll",n),r&&e.removeEventListener("resize",n)})),g&&g(),d&&d.disconnect(),d=null,c&&cancelAnimationFrame(u)}}const computePosition=(e,t,n)=>{const o=new Map,i={platform:platform,...n},r={...i.platform,_c:o};return computePosition$1(e,t,{...i,platform:r})};export{arrow as a,autoUpdate as b,computePosition as c,flip as f,offset as o,shift as s};
|