@public-ui/components 1.7.0-rc.0 → 1.7.0-rc.11
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/README.md +2 -2
- package/custom-elements.json +35 -48
- package/dist/cjs/{a11y.tipps-96ce9b37.js → a11y.tipps-1e475c27.js} +1 -1
- package/dist/cjs/{a11y.tipps-96ce9b37.js.map → a11y.tipps-1e475c27.js.map} +1 -1
- package/dist/cjs/align-625bbde9.js +4 -0
- package/dist/cjs/{align-cd2b9ee6.js.map → align-625bbde9.js.map} +1 -1
- package/dist/cjs/{alignment-6ed74ea9.js → alignment-68470406.js} +1 -1
- package/dist/cjs/{alignment-6ed74ea9.js.map → alignment-68470406.js.map} +1 -1
- package/dist/cjs/{alternative-button-link-role-957c8128.js → alternative-button-link-role-a753d0b6.js} +1 -1
- package/dist/cjs/{alternative-button-link-role-957c8128.js.map → alternative-button-link-role-a753d0b6.js.map} +1 -1
- package/dist/cjs/{app-globals-c189d70c.js → app-globals-10e266d5.js} +1 -1
- package/dist/cjs/{app-globals-c189d70c.js.map → app-globals-10e266d5.js.map} +1 -1
- package/dist/cjs/associated.controller-6e20fe7d.js +4 -0
- package/dist/cjs/associated.controller-6e20fe7d.js.map +1 -0
- package/dist/cjs/{color-ed7d7857.js → color-cd2c92dc.js} +1 -1
- package/dist/cjs/{color-ed7d7857.js.map → color-cd2c92dc.js.map} +1 -1
- package/dist/cjs/{controller-bcd6b37f.js → controller-14bba2e7.js} +1 -1
- package/dist/cjs/{controller-bcd6b37f.js.map → controller-14bba2e7.js.map} +1 -1
- package/dist/cjs/{controller-53b1b9d6.js → controller-4ea2c80b.js} +1 -1
- package/dist/cjs/{controller-53b1b9d6.js.map → controller-4ea2c80b.js.map} +1 -1
- package/dist/cjs/controller-91b1b447.js +4 -0
- package/dist/cjs/controller-91b1b447.js.map +1 -0
- package/dist/cjs/{controller-6d457e6b.js → controller-93d3940b.js} +1 -1
- package/dist/cjs/{controller-6d457e6b.js.map → controller-93d3940b.js.map} +1 -1
- package/dist/cjs/{controller-e5904c13.js → controller-ae8bcc09.js} +1 -1
- package/dist/cjs/{controller-e5904c13.js.map → controller-ae8bcc09.js.map} +1 -1
- package/dist/cjs/{controller-icon-03bf8b94.js → controller-icon-9050b0e3.js} +1 -1
- package/dist/cjs/{controller-icon-03bf8b94.js.map → controller-icon-9050b0e3.js.map} +1 -1
- package/dist/cjs/{custom-class-f7a6b479.js → custom-class-f25f110c.js} +1 -1
- package/dist/cjs/{custom-class-f7a6b479.js.map → custom-class-f25f110c.js.map} +1 -1
- package/dist/cjs/{dev.utils-044a40b7.js → dev.utils-2f2cc73a.js} +1 -1
- package/dist/cjs/dev.utils-2f2cc73a.js.map +1 -0
- package/dist/cjs/{devtools-3e16c661.js → devtools-ef27920f.js} +1 -1
- package/dist/cjs/{devtools-3e16c661.js.map → devtools-ef27920f.js.map} +1 -1
- package/dist/cjs/events-a0c291ce.js +4 -0
- package/dist/cjs/events-a0c291ce.js.map +1 -0
- package/dist/cjs/floating-ui.dom.esm-a5407206.js +4 -0
- package/dist/cjs/floating-ui.dom.esm-a5407206.js.map +1 -0
- package/dist/cjs/has-closer-44a8d3cd.js +4 -0
- package/dist/cjs/{has-closer-043e2606.js.map → has-closer-44a8d3cd.js.map} +1 -1
- package/dist/cjs/hide-label-3aef2eeb.js +4 -0
- package/dist/cjs/{hide-label-fe2e600f.js.map → hide-label-3aef2eeb.js.map} +1 -1
- package/dist/cjs/i18n-c00a5d22.js +4 -0
- package/dist/cjs/i18n-c00a5d22.js.map +1 -0
- package/dist/cjs/{icon-e53fc7f7.js → icon-b27f5eef.js} +1 -1
- package/dist/cjs/{icon-e53fc7f7.js.map → icon-b27f5eef.js.map} +1 -1
- package/dist/cjs/image-source-a9f233e4.js +4 -0
- package/dist/cjs/{image-source-e6a40864.js.map → image-source-a9f233e4.js.map} +1 -1
- package/dist/cjs/{index-51c274b1.js → index-21737b53.js} +1 -1
- package/dist/cjs/index-21737b53.js.map +1 -0
- package/dist/cjs/index-262e5591.js +5 -0
- package/dist/cjs/index-262e5591.js.map +1 -0
- package/dist/cjs/index-318ebe03.js +4 -0
- package/dist/cjs/index-318ebe03.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/index.cjs.js.map +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_3.cjs.entry.js +4 -0
- package/dist/cjs/kol-alert-wc_3.cjs.entry.js.map +1 -0
- package/dist/cjs/kol-alert.cjs.entry.js +1 -1
- package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js +1 -1
- package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-group-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link-text-switch.cjs.entry.js +1 -1
- package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-card.cjs.entry.js +1 -1
- package/dist/cjs/kol-details.cjs.entry.js +1 -1
- package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-form.cjs.entry.js +1 -1
- package/dist/cjs/kol-heading.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon-font-awesome.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon-icofont.cjs.entry.js +1 -1
- package/dist/cjs/kol-icon.cjs.entry.js +1 -1
- package/dist/cjs/kol-image.cjs.entry.js +1 -1
- package/dist/cjs/kol-indented-text.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-input.cjs.entry.js +4 -0
- package/dist/cjs/kol-input.cjs.entry.js.map +1 -0
- 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-group.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
- package/dist/cjs/kol-link.cjs.entry.js +1 -1
- package/dist/cjs/kol-logo.cjs.entry.js +1 -1
- package/dist/cjs/kol-modal.cjs.entry.js +1 -1
- package/dist/cjs/kol-nav.cjs.entry.js +1 -1
- package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
- package/dist/cjs/kol-popover.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_2.cjs.entry.js +1 -1
- package/dist/cjs/kol-span-wc_2.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-span.cjs.entry.js +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js +1 -1
- package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
- package/dist/cjs/kol-split-button.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
- package/dist/cjs/kol-symbol.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-table.cjs.entry.js +1 -1
- package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
- package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/kol-toast-container.cjs.entry.js +4 -0
- package/dist/cjs/kol-toast-container.cjs.entry.js.map +1 -0
- package/dist/cjs/kol-toast.cjs.entry.js +1 -1
- package/dist/cjs/kol-toast.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/kolibri.cjs.js.map +1 -1
- package/dist/cjs/{label-59b52b43.js → label-63f92d72.js} +1 -1
- package/dist/cjs/{label-59b52b43.js.map → label-63f92d72.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/open-df3fed7f.js +4 -0
- package/dist/cjs/{open-aa47c446.js.map → open-df3fed7f.js.map} +1 -1
- package/dist/cjs/{prop.validators-9c5ce3b2.js → prop.validators-581f2888.js} +1 -1
- package/dist/cjs/prop.validators-581f2888.js.map +1 -0
- package/dist/cjs/{reuse-5fad9b6e.js → reuse-d70546ae.js} +1 -1
- package/dist/cjs/reuse-d70546ae.js.map +1 -0
- package/dist/cjs/rows-bde56574.js +4 -0
- package/dist/cjs/{rows-e7af6c8c.js.map → rows-bde56574.js.map} +1 -1
- package/dist/cjs/show-35567054.js +4 -0
- package/dist/cjs/{show-a4068936.js.map → show-35567054.js.map} +1 -1
- package/dist/cjs/{suggestions-ce6b8b43.js → suggestions-0e0c508f.js} +1 -1
- package/dist/cjs/{suggestions-ce6b8b43.js.map → suggestions-0e0c508f.js.map} +1 -1
- package/dist/cjs/{tab-index-0c7777be.js → tab-index-03c155fe.js} +1 -1
- package/dist/cjs/{tab-index-0c7777be.js.map → tab-index-03c155fe.js.map} +1 -1
- package/dist/cjs/tooltip-align-c6acfdd2.js +4 -0
- package/dist/cjs/{tooltip-align-64e446cd.js.map → tooltip-align-c6acfdd2.js.map} +1 -1
- package/dist/cjs/{validation-78350ede.js → validation-73215ab7.js} +1 -1
- package/dist/cjs/{validation-78350ede.js.map → validation-73215ab7.js.map} +1 -1
- package/dist/cjs/{validation-9eb5efb0.js → validation-c4a3081d.js} +1 -1
- package/dist/cjs/{validation-9eb5efb0.js.map → validation-c4a3081d.js.map} +1 -1
- package/dist/components/align.js +1 -1
- package/dist/components/align.js.map +1 -1
- package/dist/components/alternative-button-link-role.js +1 -1
- package/dist/components/color.js +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/component16.js +1 -1
- package/dist/components/component16.js.map +1 -1
- package/dist/components/component17.js +4 -0
- package/dist/components/component17.js.map +1 -0
- package/dist/components/component2.js +1 -1
- package/dist/components/component2.js.map +1 -1
- package/dist/components/component3.js +1 -1
- package/dist/components/component3.js.map +1 -1
- package/dist/components/component5.js +1 -1
- package/dist/components/component5.js.map +1 -1
- package/dist/components/component6.js +1 -1
- package/dist/components/component8.js +1 -1
- package/dist/components/component8.js.map +1 -1
- package/dist/components/component9.js +1 -1
- package/dist/components/controller.js +1 -1
- package/dist/components/controller.js.map +1 -1
- package/dist/components/controller2.js +1 -1
- package/dist/components/controller4.js +1 -1
- package/dist/components/devtools.js +1 -1
- package/dist/components/events.js +4 -0
- package/dist/components/events.js.map +1 -0
- package/dist/components/i18n.js +1 -1
- package/dist/components/i18n.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/kol-accordion.js +1 -1
- package/dist/components/kol-breadcrumb.js +1 -1
- package/dist/components/kol-button-link.js +1 -1
- package/dist/components/kol-card.js +1 -1
- package/dist/components/kol-details.js +1 -1
- package/dist/components/kol-details.js.map +1 -1
- package/dist/components/kol-input-adapter-leanup.js +1 -1
- package/dist/components/kol-input-checkbox.js +1 -1
- package/dist/components/kol-input-checkbox.js.map +1 -1
- package/dist/components/kol-input-color.js +1 -1
- package/dist/components/kol-input-color.js.map +1 -1
- package/dist/components/kol-input-date.js +1 -1
- package/dist/components/kol-input-date.js.map +1 -1
- package/dist/components/kol-input-email.js +1 -1
- package/dist/components/kol-input-email.js.map +1 -1
- package/dist/components/kol-input-file.js +1 -1
- package/dist/components/kol-input-file.js.map +1 -1
- package/dist/components/kol-input-number.js +1 -1
- package/dist/components/kol-input-number.js.map +1 -1
- package/dist/components/kol-input-password.js +1 -1
- package/dist/components/kol-input-password.js.map +1 -1
- package/dist/components/kol-input-radio-group.js +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-link-button.js +1 -1
- package/dist/components/kol-link-group.js.map +1 -1
- package/dist/components/kol-logo.js +1 -1
- package/dist/components/kol-modal.js +1 -1
- package/dist/components/kol-nav.js +1 -1
- package/dist/components/kol-popover.js +1 -1
- package/dist/components/kol-progress.js +1 -1
- package/dist/components/kol-spin.js +1 -1
- package/dist/components/kol-spin.js.map +1 -1
- package/dist/components/kol-split-button.js +1 -1
- package/dist/components/kol-split-button.js.map +1 -1
- package/dist/components/kol-symbol.js.map +1 -1
- package/dist/components/kol-table.js +1 -1
- package/dist/components/kol-tabs.js +1 -1
- package/dist/components/kol-textarea.js +1 -1
- package/dist/components/kol-textarea.js.map +1 -1
- package/dist/components/kol-toast-container.d.ts +11 -0
- package/dist/components/kol-toast-container.js +4 -0
- package/dist/components/kol-toast-container.js.map +1 -0
- package/dist/components/kol-toast.js +1 -1
- package/dist/components/kol-toast.js.map +1 -1
- package/dist/components/prop.validators.js +1 -1
- package/dist/components/prop.validators.js.map +1 -1
- package/dist/components/rows.js +1 -1
- package/dist/components/shadow2.js +1 -1
- package/dist/components/shadow3.js +1 -1
- package/dist/components/suggestions.js +1 -1
- package/dist/components/validation.js +1 -1
- package/dist/esm/{a11y.tipps-de9972d7.js → a11y.tipps-696eb980.js} +1 -1
- package/dist/esm/{a11y.tipps-de9972d7.js.map → a11y.tipps-696eb980.js.map} +1 -1
- package/dist/esm/{align-914d7cec.js → align-c67fc17b.js} +1 -1
- package/dist/esm/{align-914d7cec.js.map → align-c67fc17b.js.map} +1 -1
- package/dist/esm/{alignment-aafa5e96.js → alignment-dbd89cd7.js} +1 -1
- package/dist/esm/{alignment-aafa5e96.js.map → alignment-dbd89cd7.js.map} +1 -1
- package/dist/esm/{alternative-button-link-role-b4b137dd.js → alternative-button-link-role-5110b902.js} +1 -1
- package/dist/esm/{alternative-button-link-role-b4b137dd.js.map → alternative-button-link-role-5110b902.js.map} +1 -1
- package/dist/esm/app-globals-d75b22c0.js +4 -0
- package/dist/esm/{app-globals-a5331ca0.js.map → app-globals-d75b22c0.js.map} +1 -1
- package/dist/esm/associated.controller-0561ded7.js +4 -0
- package/dist/esm/associated.controller-0561ded7.js.map +1 -0
- package/dist/esm/{color-4c79d0e0.js → color-61537d45.js} +1 -1
- package/dist/esm/{color-4c79d0e0.js.map → color-61537d45.js.map} +1 -1
- package/dist/esm/{controller-efc002af.js → controller-0db52e0d.js} +1 -1
- package/dist/esm/{controller-efc002af.js.map → controller-0db52e0d.js.map} +1 -1
- package/dist/esm/{controller-513bb459.js → controller-506ba2bf.js} +1 -1
- package/dist/esm/{controller-513bb459.js.map → controller-506ba2bf.js.map} +1 -1
- package/dist/esm/{controller-68483d1f.js → controller-5cc95f22.js} +1 -1
- package/dist/esm/{controller-68483d1f.js.map → controller-5cc95f22.js.map} +1 -1
- package/dist/esm/controller-85849189.js +4 -0
- package/dist/esm/controller-85849189.js.map +1 -0
- package/dist/esm/{controller-c2312abc.js → controller-c797fecb.js} +1 -1
- package/dist/esm/{controller-c2312abc.js.map → controller-c797fecb.js.map} +1 -1
- package/dist/esm/{controller-icon-5dd8ca8b.js → controller-icon-43a83f6c.js} +1 -1
- package/dist/esm/{controller-icon-5dd8ca8b.js.map → controller-icon-43a83f6c.js.map} +1 -1
- package/dist/esm/{custom-class-8262a744.js → custom-class-5aa0c118.js} +1 -1
- package/dist/esm/{custom-class-8262a744.js.map → custom-class-5aa0c118.js.map} +1 -1
- package/dist/esm/{dev.utils-eba8f2da.js → dev.utils-a315a059.js} +1 -1
- package/dist/esm/dev.utils-a315a059.js.map +1 -0
- package/dist/esm/{devtools-1b6f40bf.js → devtools-d5f9927e.js} +1 -1
- package/dist/esm/{devtools-1b6f40bf.js.map → devtools-d5f9927e.js.map} +1 -1
- package/dist/esm/events-2bb1065b.js +4 -0
- package/dist/esm/events-2bb1065b.js.map +1 -0
- package/dist/esm/floating-ui.dom.esm-9f2af09a.js +4 -0
- package/dist/esm/floating-ui.dom.esm-9f2af09a.js.map +1 -0
- package/dist/esm/{has-closer-ddaf3841.js → has-closer-6439048b.js} +1 -1
- package/dist/esm/{has-closer-ddaf3841.js.map → has-closer-6439048b.js.map} +1 -1
- package/dist/esm/{hide-label-e9d64d0e.js → hide-label-c05ac57c.js} +1 -1
- package/dist/esm/{hide-label-e9d64d0e.js.map → hide-label-c05ac57c.js.map} +1 -1
- package/dist/esm/i18n-9c49ff42.js +4 -0
- package/dist/esm/i18n-9c49ff42.js.map +1 -0
- package/dist/esm/{icon-b683fb48.js → icon-309643bd.js} +1 -1
- package/dist/esm/{icon-b683fb48.js.map → icon-309643bd.js.map} +1 -1
- package/dist/esm/image-source-24e6632e.js +4 -0
- package/dist/esm/{image-source-02189a77.js.map → image-source-24e6632e.js.map} +1 -1
- package/dist/esm/index-3702c36f.js +5 -0
- package/dist/esm/index-3702c36f.js.map +1 -0
- package/dist/esm/index-98978c65.js +4 -0
- package/dist/esm/index-98978c65.js.map +1 -0
- package/dist/esm/{index-accc567c.js → index-d49940eb.js} +1 -1
- package/dist/esm/index-d49940eb.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +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_3.entry.js +4 -0
- package/dist/esm/kol-alert-wc_3.entry.js.map +1 -0
- package/dist/esm/kol-alert.entry.js +1 -1
- package/dist/esm/kol-avatar-wc.entry.js +1 -1
- package/dist/esm/kol-avatar.entry.js +1 -1
- package/dist/esm/kol-badge.entry.js +1 -1
- package/dist/esm/kol-badge.entry.js.map +1 -1
- package/dist/esm/kol-breadcrumb.entry.js +1 -1
- package/dist/esm/kol-button-group-wc.entry.js +1 -1
- package/dist/esm/kol-button-group.entry.js +1 -1
- package/dist/esm/kol-button-link-text-switch.entry.js +1 -1
- package/dist/esm/kol-button-link.entry.js +1 -1
- package/dist/esm/kol-button.entry.js +1 -1
- package/dist/esm/kol-card.entry.js +1 -1
- package/dist/esm/kol-details.entry.js +1 -1
- package/dist/esm/kol-details.entry.js.map +1 -1
- package/dist/esm/kol-form.entry.js +1 -1
- package/dist/esm/kol-heading.entry.js +1 -1
- package/dist/esm/kol-icon-font-awesome.entry.js +1 -1
- package/dist/esm/kol-icon-icofont.entry.js +1 -1
- package/dist/esm/kol-icon.entry.js +1 -1
- package/dist/esm/kol-image.entry.js +1 -1
- package/dist/esm/kol-indented-text.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-input.entry.js +4 -0
- package/dist/esm/kol-input.entry.js.map +1 -0
- 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-group.entry.js.map +1 -1
- package/dist/esm/kol-link-wc.entry.js +1 -1
- package/dist/esm/kol-link.entry.js +1 -1
- package/dist/esm/kol-logo.entry.js +1 -1
- package/dist/esm/kol-modal.entry.js +1 -1
- package/dist/esm/kol-nav.entry.js +1 -1
- package/dist/esm/kol-pagination.entry.js +1 -1
- package/dist/esm/kol-popover.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_2.entry.js +1 -1
- package/dist/esm/kol-span-wc_2.entry.js.map +1 -1
- package/dist/esm/kol-span.entry.js +1 -1
- package/dist/esm/kol-spin.entry.js +1 -1
- package/dist/esm/kol-spin.entry.js.map +1 -1
- package/dist/esm/kol-split-button.entry.js +1 -1
- package/dist/esm/kol-split-button.entry.js.map +1 -1
- package/dist/esm/kol-symbol.entry.js +1 -1
- package/dist/esm/kol-symbol.entry.js.map +1 -1
- package/dist/esm/kol-table.entry.js +1 -1
- package/dist/esm/kol-tabs.entry.js +1 -1
- package/dist/esm/kol-textarea.entry.js +1 -1
- package/dist/esm/kol-textarea.entry.js.map +1 -1
- package/dist/esm/kol-toast-container.entry.js +4 -0
- package/dist/esm/kol-toast-container.entry.js.map +1 -0
- package/dist/esm/kol-toast.entry.js +1 -1
- package/dist/esm/kol-toast.entry.js.map +1 -1
- package/dist/esm/kol-version.entry.js +1 -1
- package/dist/esm/kolibri.js +1 -1
- package/dist/esm/kolibri.js.map +1 -1
- package/dist/esm/{label-14bf9651.js → label-448cbd66.js} +1 -1
- package/dist/esm/{label-14bf9651.js.map → label-448cbd66.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/open-fe96d521.js +4 -0
- package/dist/esm/{open-c85aa1b6.js.map → open-fe96d521.js.map} +1 -1
- package/dist/esm/{prop.validators-eed6b0ae.js → prop.validators-63a3830b.js} +1 -1
- package/dist/esm/prop.validators-63a3830b.js.map +1 -0
- package/dist/esm/reuse-3698e2f5.js +4 -0
- package/dist/esm/reuse-3698e2f5.js.map +1 -0
- package/dist/esm/rows-b5c0992f.js +4 -0
- package/dist/esm/{rows-2985bb0d.js.map → rows-b5c0992f.js.map} +1 -1
- package/dist/esm/show-05d5596e.js +4 -0
- package/dist/esm/{show-ec2bb13e.js.map → show-05d5596e.js.map} +1 -1
- package/dist/esm/{suggestions-2b03c4a1.js → suggestions-96b7eae8.js} +1 -1
- package/dist/esm/{suggestions-2b03c4a1.js.map → suggestions-96b7eae8.js.map} +1 -1
- package/dist/esm/{tab-index-2eec0401.js → tab-index-4e2f207e.js} +1 -1
- package/dist/esm/{tab-index-2eec0401.js.map → tab-index-4e2f207e.js.map} +1 -1
- package/dist/esm/tooltip-align-bf05a4a9.js +4 -0
- package/dist/esm/{tooltip-align-5eef0171.js.map → tooltip-align-bf05a4a9.js.map} +1 -1
- package/dist/esm/validation-03615ef3.js +4 -0
- package/dist/esm/{validation-9af28920.js.map → validation-03615ef3.js.map} +1 -1
- package/dist/esm/{validation-3c6bb1de.js → validation-06163250.js} +1 -1
- package/dist/esm/{validation-3c6bb1de.js.map → validation-06163250.js.map} +1 -1
- package/dist/kolibri/{a11y.tipps-de9972d7.js → a11y.tipps-696eb980.js} +1 -1
- package/dist/kolibri/align-c67fc17b.js +4 -0
- package/dist/kolibri/alignment-dbd89cd7.js +4 -0
- package/dist/kolibri/alternative-button-link-role-5110b902.js +4 -0
- package/dist/kolibri/app-globals-d75b22c0.js +4 -0
- package/dist/kolibri/{app-globals-a5331ca0.js.map → app-globals-d75b22c0.js.map} +1 -1
- package/dist/kolibri/associated.controller-0561ded7.js +4 -0
- package/dist/{cjs/associated.controller-046a3bc7.js.map → kolibri/associated.controller-0561ded7.js.map} +1 -1
- package/dist/kolibri/{color-4c79d0e0.js → color-61537d45.js} +1 -1
- package/dist/kolibri/{controller-efc002af.js → controller-0db52e0d.js} +1 -1
- package/dist/kolibri/{controller-513bb459.js → controller-506ba2bf.js} +1 -1
- package/dist/kolibri/{controller-68483d1f.js → controller-5cc95f22.js} +1 -1
- package/dist/kolibri/controller-85849189.js +4 -0
- package/dist/kolibri/{controller-4377db26.js.map → controller-85849189.js.map} +1 -1
- package/dist/kolibri/controller-c797fecb.js +4 -0
- package/dist/kolibri/{controller-c2312abc.js.map → controller-c797fecb.js.map} +1 -1
- package/dist/kolibri/{controller-icon-5dd8ca8b.js → controller-icon-43a83f6c.js} +1 -1
- package/dist/kolibri/{custom-class-8262a744.js → custom-class-5aa0c118.js} +1 -1
- package/dist/kolibri/{dev.utils-eba8f2da.js → dev.utils-a315a059.js} +1 -1
- package/dist/kolibri/{dev.utils-eba8f2da.js.map → dev.utils-a315a059.js.map} +1 -1
- package/dist/kolibri/{devtools-1b6f40bf.js → devtools-d5f9927e.js} +1 -1
- package/dist/kolibri/events-2bb1065b.js +4 -0
- package/dist/kolibri/events-2bb1065b.js.map +1 -0
- package/dist/kolibri/floating-ui.dom.esm-9f2af09a.js +4 -0
- package/dist/kolibri/floating-ui.dom.esm-9f2af09a.js.map +1 -0
- package/dist/kolibri/has-closer-6439048b.js +4 -0
- package/dist/kolibri/hide-label-c05ac57c.js +4 -0
- package/dist/kolibri/i18n-9c49ff42.js +4 -0
- package/dist/kolibri/i18n-9c49ff42.js.map +1 -0
- package/dist/kolibri/{icon-b683fb48.js → icon-309643bd.js} +1 -1
- package/dist/kolibri/image-source-24e6632e.js +4 -0
- package/dist/kolibri/{index-5ab2ea42.js → index-3702c36f.js} +2 -2
- package/dist/kolibri/index-3702c36f.js.map +1 -0
- package/dist/kolibri/index-98978c65.js +4 -0
- package/dist/kolibri/index-98978c65.js.map +1 -0
- package/dist/kolibri/{index-accc567c.js → index-d49940eb.js} +1 -1
- package/dist/kolibri/index-d49940eb.js.map +1 -0
- package/dist/kolibri/index.esm.js +1 -1
- package/dist/kolibri/index.esm.js.map +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_3.entry.js +4 -0
- package/dist/kolibri/kol-alert-wc_3.entry.js.map +1 -0
- package/dist/kolibri/kol-alert.entry.js +1 -1
- package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
- package/dist/kolibri/kol-avatar.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js +1 -1
- package/dist/kolibri/kol-badge.entry.js.map +1 -1
- package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
- package/dist/kolibri/kol-button-group-wc.entry.js +1 -1
- package/dist/kolibri/kol-button-group.entry.js +1 -1
- package/dist/kolibri/kol-button-link-text-switch.entry.js +1 -1
- package/dist/kolibri/kol-button-link.entry.js +1 -1
- package/dist/kolibri/kol-button.entry.js +1 -1
- package/dist/kolibri/kol-card.entry.js +1 -1
- package/dist/kolibri/kol-details.entry.js +1 -1
- package/dist/kolibri/kol-details.entry.js.map +1 -1
- package/dist/kolibri/kol-form.entry.js +1 -1
- package/dist/kolibri/kol-heading.entry.js +1 -1
- package/dist/kolibri/kol-icon-font-awesome.entry.js +1 -1
- package/dist/kolibri/kol-icon-icofont.entry.js +1 -1
- package/dist/kolibri/kol-icon.entry.js +1 -1
- package/dist/kolibri/kol-image.entry.js +1 -1
- package/dist/kolibri/kol-indented-text.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-input.entry.js +4 -0
- package/dist/kolibri/kol-input.entry.js.map +1 -0
- package/dist/kolibri/kol-kolibri.entry.js +1 -1
- package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
- package/dist/kolibri/kol-link-button.entry.js +1 -1
- package/dist/kolibri/kol-link-button.entry.js.map +1 -1
- package/dist/kolibri/kol-link-group.entry.js +1 -1
- package/dist/kolibri/kol-link-group.entry.js.map +1 -1
- package/dist/kolibri/kol-link-wc.entry.js +1 -1
- package/dist/kolibri/kol-link.entry.js +1 -1
- package/dist/kolibri/kol-logo.entry.js +1 -1
- package/dist/kolibri/kol-modal.entry.js +1 -1
- package/dist/kolibri/kol-nav.entry.js +1 -1
- package/dist/kolibri/kol-pagination.entry.js +1 -1
- package/dist/kolibri/kol-popover.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_2.entry.js +1 -1
- package/dist/kolibri/kol-span-wc_2.entry.js.map +1 -1
- package/dist/kolibri/kol-span.entry.js +1 -1
- package/dist/kolibri/kol-spin.entry.js +1 -1
- package/dist/kolibri/kol-spin.entry.js.map +1 -1
- package/dist/kolibri/kol-split-button.entry.js +1 -1
- package/dist/kolibri/kol-split-button.entry.js.map +1 -1
- package/dist/kolibri/kol-symbol.entry.js +1 -1
- package/dist/kolibri/kol-symbol.entry.js.map +1 -1
- package/dist/kolibri/kol-table.entry.js +1 -1
- package/dist/kolibri/kol-tabs.entry.js +1 -1
- package/dist/kolibri/kol-textarea.entry.js +1 -1
- package/dist/kolibri/kol-textarea.entry.js.map +1 -1
- package/dist/kolibri/kol-toast-container.entry.js +4 -0
- package/dist/kolibri/kol-toast-container.entry.js.map +1 -0
- package/dist/kolibri/kol-toast.entry.js +1 -1
- package/dist/kolibri/kol-toast.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-14bf9651.js → label-448cbd66.js} +1 -1
- package/dist/kolibri/open-fe96d521.js +4 -0
- package/dist/kolibri/{prop.validators-eed6b0ae.js → prop.validators-63a3830b.js} +1 -1
- package/dist/kolibri/{prop.validators-eed6b0ae.js.map → prop.validators-63a3830b.js.map} +1 -1
- package/dist/kolibri/reuse-3698e2f5.js +4 -0
- package/dist/kolibri/reuse-3698e2f5.js.map +1 -0
- package/dist/kolibri/rows-b5c0992f.js +4 -0
- package/dist/kolibri/show-05d5596e.js +4 -0
- package/dist/kolibri/suggestions-96b7eae8.js +4 -0
- package/dist/kolibri/{tab-index-2eec0401.js → tab-index-4e2f207e.js} +1 -1
- package/dist/kolibri/tooltip-align-bf05a4a9.js +4 -0
- package/dist/kolibri/validation-03615ef3.js +4 -0
- package/dist/kolibri/{validation-3c6bb1de.js → validation-06163250.js} +1 -1
- package/dist/types/components/badge/test/html.mock.d.ts +2 -1
- package/dist/types/components/details/DetailsAnimationController.d.ts +15 -0
- package/dist/types/components/details/component.d.ts +10 -3
- package/dist/types/components/details/types.d.ts +5 -0
- package/dist/types/components/input/component.d.ts +6 -2
- package/dist/types/components/span/component.d.ts +2 -0
- package/dist/types/components/span/test/html.mock.d.ts +4 -1
- package/dist/types/components/span/types.d.ts +2 -0
- package/dist/types/components/split-button/component.d.ts +2 -0
- package/dist/types/components/split-button/types.d.ts +3 -4
- package/dist/types/components/symbol/component.d.ts +2 -2
- package/dist/types/components/symbol/types.d.ts +1 -1
- package/dist/types/components/toast/component.d.ts +4 -18
- package/dist/types/components/toast/toaster.d.ts +3 -14
- package/dist/types/components/toast/types.d.ts +5 -9
- package/dist/types/components/toast-container/component.d.ts +9 -0
- package/dist/types/components/toast-container/types.d.ts +24 -0
- package/dist/types/components/tooltip/component.d.ts +5 -2
- package/dist/types/components/version/test/html.mock.d.ts +2 -1
- package/dist/types/components.d.ts +56 -56
- package/dist/types/core/i18n.d.ts +4 -2
- package/dist/types/dev/details-synced-open-state.d.ts +2 -0
- package/dist/types/dev/index.d.ts +1 -0
- package/dist/types/dev/reprod-accordion-does-not-toggle-with-open.d.ts +2 -0
- package/dist/types/dev/theme-registration.d.ts +1 -0
- package/dist/types/dev/toaster.d.ts +1 -0
- package/dist/types/i18n.d.ts +1 -1
- package/dist/types/locales/de.d.ts +1 -0
- package/dist/types/locales/en.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +3 -3
- package/dist/types/utils/events.d.ts +1 -1
- package/dist/types/utils/markdown.d.ts +1 -0
- package/dist/types/utils/reuse.d.ts +1 -1
- package/doc/button.md +2 -0
- package/doc/details.md +6 -5
- package/doc/icon-font-awesome.md +1 -1
- package/doc/icon-icofont.md +1 -1
- package/doc/input-date.md +21 -0
- package/doc/input-range.md +1 -2
- package/doc/input-text.md +1 -4
- package/doc/link-group.md +1 -1
- package/doc/quote.md +14 -16
- package/doc/select.md +12 -12
- package/doc/split-button.md +9 -16
- package/doc/toast-container.md +46 -0
- package/doc/toast.md +28 -39
- package/package.json +2 -2
- package/vscode-custom-data.json +34 -31
- package/dist/cjs/align-cd2b9ee6.js +0 -4
- package/dist/cjs/associated.controller-046a3bc7.js +0 -4
- package/dist/cjs/controller-4da78e89.js +0 -4
- package/dist/cjs/controller-4da78e89.js.map +0 -1
- package/dist/cjs/dev.utils-044a40b7.js.map +0 -1
- package/dist/cjs/floating-ui.dom.esm-c8fb0c49.js +0 -4
- package/dist/cjs/floating-ui.dom.esm-c8fb0c49.js.map +0 -1
- package/dist/cjs/has-closer-043e2606.js +0 -4
- package/dist/cjs/hide-label-fe2e600f.js +0 -4
- package/dist/cjs/i18n-5e4b8bf8.js +0 -4
- package/dist/cjs/i18n-5e4b8bf8.js.map +0 -1
- package/dist/cjs/image-source-e6a40864.js +0 -4
- package/dist/cjs/index-18912bca.js +0 -5
- package/dist/cjs/index-18912bca.js.map +0 -1
- package/dist/cjs/index-51c274b1.js.map +0 -1
- package/dist/cjs/index-f4a3c106.js +0 -4
- package/dist/cjs/index-f4a3c106.js.map +0 -1
- package/dist/cjs/kol-alert-wc_2.cjs.entry.js +0 -4
- package/dist/cjs/kol-alert-wc_2.cjs.entry.js.map +0 -1
- package/dist/cjs/kol-button-wc_2.cjs.entry.js +0 -4
- package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +0 -1
- package/dist/cjs/open-aa47c446.js +0 -4
- package/dist/cjs/prop.validators-9c5ce3b2.js.map +0 -1
- package/dist/cjs/reuse-5fad9b6e.js.map +0 -1
- package/dist/cjs/rows-e7af6c8c.js +0 -4
- package/dist/cjs/show-a4068936.js +0 -4
- package/dist/cjs/tooltip-align-64e446cd.js +0 -4
- package/dist/declare.d.ts +0 -26
- package/dist/esm/app-globals-a5331ca0.js +0 -4
- package/dist/esm/associated.controller-d0b8d035.js +0 -4
- package/dist/esm/associated.controller-d0b8d035.js.map +0 -1
- package/dist/esm/controller-4377db26.js +0 -4
- package/dist/esm/controller-4377db26.js.map +0 -1
- package/dist/esm/dev.utils-eba8f2da.js.map +0 -1
- package/dist/esm/floating-ui.dom.esm-0bd7d943.js +0 -4
- package/dist/esm/floating-ui.dom.esm-0bd7d943.js.map +0 -1
- package/dist/esm/i18n-a1e6f17e.js +0 -4
- package/dist/esm/i18n-a1e6f17e.js.map +0 -1
- package/dist/esm/image-source-02189a77.js +0 -4
- package/dist/esm/index-2bab8f5e.js +0 -4
- package/dist/esm/index-2bab8f5e.js.map +0 -1
- package/dist/esm/index-5ab2ea42.js +0 -5
- package/dist/esm/index-5ab2ea42.js.map +0 -1
- package/dist/esm/index-accc567c.js.map +0 -1
- package/dist/esm/kol-alert-wc_2.entry.js +0 -4
- package/dist/esm/kol-alert-wc_2.entry.js.map +0 -1
- package/dist/esm/kol-button-wc_2.entry.js +0 -4
- package/dist/esm/kol-button-wc_2.entry.js.map +0 -1
- package/dist/esm/open-c85aa1b6.js +0 -4
- package/dist/esm/prop.validators-eed6b0ae.js.map +0 -1
- package/dist/esm/reuse-c2156413.js +0 -4
- package/dist/esm/reuse-c2156413.js.map +0 -1
- package/dist/esm/rows-2985bb0d.js +0 -4
- package/dist/esm/show-ec2bb13e.js +0 -4
- package/dist/esm/tooltip-align-5eef0171.js +0 -4
- package/dist/esm/validation-9af28920.js +0 -4
- package/dist/kolibri/align-914d7cec.js +0 -4
- package/dist/kolibri/alignment-aafa5e96.js +0 -4
- package/dist/kolibri/alternative-button-link-role-b4b137dd.js +0 -4
- package/dist/kolibri/app-globals-a5331ca0.js +0 -4
- package/dist/kolibri/associated.controller-d0b8d035.js +0 -4
- package/dist/kolibri/associated.controller-d0b8d035.js.map +0 -1
- package/dist/kolibri/controller-4377db26.js +0 -4
- package/dist/kolibri/controller-c2312abc.js +0 -4
- package/dist/kolibri/floating-ui.dom.esm-0bd7d943.js +0 -4
- package/dist/kolibri/floating-ui.dom.esm-0bd7d943.js.map +0 -1
- package/dist/kolibri/has-closer-ddaf3841.js +0 -4
- package/dist/kolibri/hide-label-e9d64d0e.js +0 -4
- package/dist/kolibri/i18n-a1e6f17e.js +0 -4
- package/dist/kolibri/i18n-a1e6f17e.js.map +0 -1
- package/dist/kolibri/image-source-02189a77.js +0 -4
- package/dist/kolibri/index-2bab8f5e.js +0 -4
- package/dist/kolibri/index-2bab8f5e.js.map +0 -1
- package/dist/kolibri/index-5ab2ea42.js.map +0 -1
- package/dist/kolibri/index-accc567c.js.map +0 -1
- package/dist/kolibri/kol-alert-wc_2.entry.js +0 -4
- package/dist/kolibri/kol-alert-wc_2.entry.js.map +0 -1
- package/dist/kolibri/kol-button-wc_2.entry.js +0 -4
- package/dist/kolibri/kol-button-wc_2.entry.js.map +0 -1
- package/dist/kolibri/open-c85aa1b6.js +0 -4
- package/dist/kolibri/reuse-c2156413.js +0 -4
- package/dist/kolibri/reuse-c2156413.js.map +0 -1
- package/dist/kolibri/rows-2985bb0d.js +0 -4
- package/dist/kolibri/show-ec2bb13e.js +0 -4
- package/dist/kolibri/suggestions-2b03c4a1.js +0 -4
- package/dist/kolibri/tooltip-align-5eef0171.js +0 -4
- package/dist/kolibri/validation-9af28920.js +0 -4
- package/dist/types/core/declare.d.ts +0 -10
- package/jest-test-results.json +0 -1
- /package/dist/kolibri/{a11y.tipps-de9972d7.js.map → a11y.tipps-696eb980.js.map} +0 -0
- /package/dist/kolibri/{align-914d7cec.js.map → align-c67fc17b.js.map} +0 -0
- /package/dist/kolibri/{alignment-aafa5e96.js.map → alignment-dbd89cd7.js.map} +0 -0
- /package/dist/kolibri/{alternative-button-link-role-b4b137dd.js.map → alternative-button-link-role-5110b902.js.map} +0 -0
- /package/dist/kolibri/{color-4c79d0e0.js.map → color-61537d45.js.map} +0 -0
- /package/dist/kolibri/{controller-efc002af.js.map → controller-0db52e0d.js.map} +0 -0
- /package/dist/kolibri/{controller-513bb459.js.map → controller-506ba2bf.js.map} +0 -0
- /package/dist/kolibri/{controller-68483d1f.js.map → controller-5cc95f22.js.map} +0 -0
- /package/dist/kolibri/{controller-icon-5dd8ca8b.js.map → controller-icon-43a83f6c.js.map} +0 -0
- /package/dist/kolibri/{custom-class-8262a744.js.map → custom-class-5aa0c118.js.map} +0 -0
- /package/dist/kolibri/{devtools-1b6f40bf.js.map → devtools-d5f9927e.js.map} +0 -0
- /package/dist/kolibri/{has-closer-ddaf3841.js.map → has-closer-6439048b.js.map} +0 -0
- /package/dist/kolibri/{hide-label-e9d64d0e.js.map → hide-label-c05ac57c.js.map} +0 -0
- /package/dist/kolibri/{icon-b683fb48.js.map → icon-309643bd.js.map} +0 -0
- /package/dist/kolibri/{image-source-02189a77.js.map → image-source-24e6632e.js.map} +0 -0
- /package/dist/kolibri/{label-14bf9651.js.map → label-448cbd66.js.map} +0 -0
- /package/dist/kolibri/{open-c85aa1b6.js.map → open-fe96d521.js.map} +0 -0
- /package/dist/kolibri/{rows-2985bb0d.js.map → rows-b5c0992f.js.map} +0 -0
- /package/dist/kolibri/{show-ec2bb13e.js.map → show-05d5596e.js.map} +0 -0
- /package/dist/kolibri/{suggestions-2b03c4a1.js.map → suggestions-96b7eae8.js.map} +0 -0
- /package/dist/kolibri/{tab-index-2eec0401.js.map → tab-index-4e2f207e.js.map} +0 -0
- /package/dist/kolibri/{tooltip-align-5eef0171.js.map → tooltip-align-bf05a4a9.js.map} +0 -0
- /package/dist/kolibri/{validation-9af28920.js.map → validation-03615ef3.js.map} +0 -0
- /package/dist/kolibri/{validation-3c6bb1de.js.map → validation-06163250.js.map} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{c as t,a as e,w as s,m as i,s as a}from"./prop.validators-
|
|
4
|
+
import{c as t,a as e,w as s,m as i,s as a}from"./prop.validators-63a3830b.js";import{h as o,c as r}from"./label-448cbd66.js";import{a as n}from"./a11y.tipps-696eb980.js";import{S as l}from"./reuse-3698e2f5.js";import{I as h}from"./controller-85849189.js";const f=t=>{if("object"==typeof t&&null!==t){if("string"==typeof t.label&&t.label.length>0)return t.disabled=!0===t.disabled,t.label=`${t.label}`.trim(),!1===o(t.label,3)&&!1===r(t.label)&&n(`Ein abweichendes Aria-Label (${t.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`),!Array.isArray(t.options)||void 0===t.options.find((t=>!1===f(t)));if("number"==typeof t.label)return!0}return!1},c=(e,o,i={})=>{t(e,"_options",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),o,void 0,i)},u=(e,o,i={})=>{t(e,"_options",f,o,void 0,i)},p=(t,o)=>{e(t,"_required",o)},d=(t,e,o="")=>{e.forEach(((e,i)=>{const a=`${o}-${i}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?d(t,e.options,a):t.set(a,e))}))};class b extends h{constructor(t,e,o){super(t,e,o),this.component=t}validateRequired(t){p(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class m extends b{constructor(t,e,o){super(t,e,o),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,e)=>void 0!==e.find((e=>e.value===t)),this.beforePatchOptions=(t,e)=>{const o=e.has("_options")?e.get("_options"):this.component.state._options;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear(),d(this.keyOptionMap,o);const t=e.has("_value")?e.get("_value"):this.component.state._value;if(!1===this.isValueInOptions(t,o)){const t=o[0].value;e.set("_value",t),this.onStateChange()}}},this.component=t}validateOrientation(t){s(this.component,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),t,{defaultValue:"vertical"})}validateOptions(t){c(this.component,t,{hooks:{beforePatch:this.beforePatchOptions}})}validateValue(t){t=i(t),t=Array.isArray(t)?t[0]:t,a(this.component,"_value",t,{beforePatch:this.beforePatchOptions}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const e=setTimeout((()=>{clearTimeout(e),t(l)}))}},this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options||this.component._list),this.validateValue(this.component._value)}}export{b as I,m as a,d as f,u as v};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{v as s,I as t}from"./controller-
|
|
4
|
+
import{v as s,I as t}from"./controller-c797fecb.js";import{v as e}from"./suggestions-96b7eae8.js";import{w as i}from"./prop.validators-63a3830b.js";class a extends t{constructor(t,s,e){super(t,s,e),this.component=t}validateList(){}validateSuggestions(t){e(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions||this.component._list)}}class r extends a{constructor(t,s,e){super(t,s,e),this.hasError=!1,this.component=t}validateType(t){i(this.component,"_type",(t=>"string"==typeof t&&("text"===t||"search"===t||"url"===t||"tel"===t)),new Set(["String {text, search, url, tel}"]),t)}validateHasCounter(t){s(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateType(this.component._type),this.validateHasCounter(this.component._hasCounter)}}export{a as I,r as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{d as e}from"./a11y.tipps-
|
|
4
|
+
import{d as e}from"./a11y.tipps-696eb980.js";import{b as o}from"./dev.utils-a315a059.js";import{f as t,K as n}from"./prop.validators-63a3830b.js";const i=t=>{for(o()&&(e("↓ Search form element start."),console.log(t));t instanceof HTMLElement&&"FORM"!==t.tagName&&"KOL-FORM"!==t.tagName;)t=t.parentElement instanceof HTMLElement?t.parentElement:t.parentNode instanceof ShadowRoot?t.parentNode.host:null,o()&&console.log(t);return o()&&e("↑ Search form element finished."),t},s=(e={})=>{var o,a;const s=i(e.form);if(s instanceof HTMLElement){const e=new Event("reset",{bubbles:!0,cancelable:!0});if("FORM"===s.tagName)t(e,s),s.dispatchEvent(e);else if("KOL-FORM"===s.tagName){t(e,n.querySelector("form",s));const i=s;"function"==typeof(null===(o=i._on)||void 0===o?void 0:o.onReset)&&(null===(a=i._on)||void 0===a||a.onReset(e))}}},f=(e={})=>{var o,a;const s=i(e.form);if(s instanceof HTMLElement){const e=new SubmitEvent("submit",{bubbles:!0,cancelable:!0,submitter:s});if("FORM"===s.tagName)t(e,s),s.dispatchEvent(e);else if("KOL-FORM"===s.tagName){t(e,n.querySelector("form",s));const i=s;"function"==typeof(null===(o=i._on)||void 0===o?void 0:o.onSubmit)&&(null===(a=i._on)||void 0===a||a.onSubmit(e))}}};export{s as a,f as p};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* KoliBri - The accessible HTML-Standard
|
|
3
|
+
*/
|
|
4
|
+
import{a as t,d as i,s,o as e,p as h}from"./prop.validators-63a3830b.js";import{a}from"./label-448cbd66.js";import{g as o,a as r,d as n}from"./a11y.tipps-696eb980.js";import{s as d,t as l}from"./events-2bb1065b.js";import{v as c}from"./tab-index-4e2f207e.js";import{A as f}from"./associated.controller-0561ded7.js";import{v as u}from"./hide-label-c05ac57c.js";const v=t=>{const o="string"==typeof t._error&&t._error.length>0&&!0===t._touched,e="string"==typeof t._hint&&t._hint.length>0,n=[];return!0===o&&n.push(`${t._id}-error`),!0===e&&n.push(`${t._id}-hint`),{hasError:o,hasHint:e,ariaDescribedBy:n}},p=(o,e)=>{t(o,"_adjustHeight",e)},b=(o,e)=>{t(o,"_touched",e)};class m extends f{constructor(t,o,e){super(t,o,e),this.component=t}validateAlert(o){t(this.component,"_alert",o)}validateTouched(t){b(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class y extends m{constructor(t,o,e){super(t,o,e),this.valueChangeListeners=[],this.onFacade={onBlur:this.onBlur.bind(this),onChange:this.onChange.bind(this),onClick:this.onClick.bind(this),onFocus:this.onFocus.bind(this)},this.component=t}validateAccessKey(t){i(this.component,"_accessKey",t)}validateAdjustHeight(t){p(this.component,t)}validateDisabled(e){t(this.component,"_disabled",e),!0===e&&o()}validateError(t){i(this.component,"_error",t)}validateHideLabel(t){u(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideLabel&&r("Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.")}}})}validateHint(t){i(this.component,"_hint",t)}validateId(t){i(this.component,"_id",t,{hooks:{afterPatch:()=>{this.setAttribute("id",this.formAssociated,this.component.state._id)}},minLength:1}),""!==t&&void 0!==t||n("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){a(this.component,t)}validateOn(t){"object"==typeof t&&s(this.component,"_on",t)}validateSmartButton(t){e(t,(()=>{try{t=h(t)}catch(t){}s(this.component,"_smartButton",t)}))}validateTabIndex(t){c(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateLabel(this.component._label),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex)}onBlur(t){var o;this.component._alert=!0,this.component._touched=!0,d(t),l("blur",this.host),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onBlur)&&this.component._on.onBlur(t)}onChange(t){var o;const e=t.target.value;d(t),l("change",this.host,e),this.setFormAssociatedValue(e),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onChange)&&this.component._on.onChange(t,e),this.valueChangeListeners.forEach((t=>t(e)))}onClick(t){var o;d(t),l("click",this.host),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onClick)&&this.component._on.onClick(t)}onFocus(t){var o;this.component._alert=!0,d(t),l("focus",this.host),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onFocus)&&this.component._on.onFocus(t)}setValue(t,o){var e;this.setFormAssociatedValue(o),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{y as I,v as g};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getRenderStates","state","hasError","_error","length","_touched","hasHint","_hint","ariaDescribedBy","push","_id","validateAdjustHeight","component","value","watchBoolean","validateTouched","ControlledInputController","AssociatedInputController","constructor","name","host","super","this","validateAlert","componentWillLoad","_alert","InputController","valueChangeListeners","onFacade","onBlur","bind","onChange","onClick","onFocus","validateAccessKey","watchString","validateDisabled","a11yHintDisabled","validateError","validateHideLabel","hooks","afterPatch","_hideLabel","a11yHint","validateHint","validateId","setAttribute","formAssociated","minLength","devHint","validateLabel","validateLabelWithExpertSlot","validateOn","setState","validateSmartButton","objectObjectHandler","parseJson","e","validateTabIndex","_accessKey","_adjustHeight","_disabled","_label","_smartButton","_on","_tabIndex","event","stopPropagation","tryToDispatchKoliBriEvent","_a","target","setFormAssociatedValue","forEach","listener","setValue","addValueChangeListener"],"sources":["src/components/input/controller.ts","src/types/props/adjust-height.ts","src/types/props/touched.ts","src/components/input-adapter-leanup/controller.ts","src/components/@deprecated/input/controller.ts"],"sourcesContent":["import { TouchedPropType } from '../../types/props/touched';\n\n/**\n * Berechnet in Abhängigkeit des Component-State, wie die\n * aria-describedby-Attributs gesetzt werden sollen.\n *\n * @param state State der Component\n * @returns Render-States\n */\nexport const getRenderStates = (state: {\n\t_error?: string;\n\t_hint?: string;\n\t_id: string;\n\t_touched?: TouchedPropType;\n}): {\n\thasError: boolean;\n\thasHint: boolean;\n\tariaDescribedBy: string[];\n} => {\n\tconst hasError = typeof state._error === 'string' && state._error.length > 0 && state._touched === true;\n\tconst hasHint = typeof state._hint === 'string' && state._hint.length > 0;\n\n\tconst ariaDescribedBy: string[] = [];\n\tif (hasError === true) {\n\t\tariaDescribedBy.push(`${state._id}-error`);\n\t}\n\tif (hasHint === true) {\n\t\tariaDescribedBy.push(`${state._id}-hint`);\n\t}\n\treturn { hasError, hasHint, ariaDescribedBy };\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type AdjustHeightPropType = boolean;\n\n/**\n * Adjusts the height of the element to its content.\n */\nexport type PropAdjustHeight = {\n\tadjustHeight: AdjustHeightPropType;\n};\n\n/* validator */\nexport const validateAdjustHeight = (component: Generic.Element.Component, value?: AdjustHeightPropType): void => {\n\twatchBoolean(component, '_adjustHeight', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type TouchedPropType = boolean;\n\n/**\n * Shows if the input was touched by a user.\n */\nexport type PropTouched = {\n\ttouched: TouchedPropType;\n};\n\n/* validator */\nexport const validateTouched = (component: Generic.Element.Component, value?: TouchedPropType): void => {\n\twatchBoolean(component, '_touched', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { validateTouched } from '../../types/props/touched';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { AssociatedInputController } from './associated.controller';\nimport { Props, Watches } from './types';\n\nexport class ControlledInputController extends AssociatedInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\tvalidateTouched(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import { Generic } from '@a11y-ui/core';\n\nimport { InputTypeOnDefault } from '../../../types/input/types';\nimport { AdjustHeightPropType, validateAdjustHeight } from '../../../types/props/adjust-height';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../../types/props/label';\nimport { a11yHint, a11yHintDisabled, devHint } from '../../../utils/a11y.tipps';\nimport { stopPropagation, tryToDispatchKoliBriEvent } from '../../../utils/events';\nimport { objectObjectHandler, parseJson, setState, watchBoolean, watchString } from '../../../utils/prop.validators';\nimport { validateTabIndex } from '../../../utils/validators/tab-index';\nimport { ControlledInputController } from '../../input-adapter-leanup/controller';\nimport { Props as ButtonProps } from '../../button/types';\nimport { Props as AdapterProps } from '../../input-adapter-leanup/types';\nimport { Props, Watches } from './types';\nimport { validateHideLabel } from '../../../types/props/hide-label';\n\ntype ValueChangeListener = (value: string) => void;\n\nexport class InputController extends ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props & AdapterProps;\n\n\tprivate readonly valueChangeListeners: ValueChangeListener[] = [];\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAccessKey(value?: string): void {\n\t\twatchString(this.component, '_accessKey', value);\n\t}\n\n\tpublic validateAdjustHeight(value?: AdjustHeightPropType): void {\n\t\tvalidateAdjustHeight(this.component, value);\n\t}\n\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this.component, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\tpublic validateError(value?: string): void {\n\t\twatchString(this.component, '_error', value);\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideLabel) {\n\t\t\t\t\t\ta11yHint('Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateHint(value?: string): void {\n\t\twatchString(this.component, '_hint', value);\n\t}\n\n\tpublic validateId(value?: string): void {\n\t\twatchString(this.component, '_id', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('id', this.formAssociated, this.component.state._id as string);\n\t\t\t\t},\n\t\t\t},\n\t\t\tminLength: 1,\n\t\t});\n\t\tif (value === '' || typeof value === 'undefined') {\n\t\t\tdevHint(`Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.`);\n\t\t}\n\t}\n\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this.component, value);\n\t}\n\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tif (typeof value === 'object') {\n\t\t\tsetState(this.component, '_on', value);\n\t\t}\n\t}\n\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this.component, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAccessKey(this.component._accessKey);\n\t\tthis.validateAdjustHeight(this.component._adjustHeight);\n\t\tthis.validateError(this.component._error);\n\t\tthis.validateDisabled(this.component._disabled);\n\t\tthis.validateHideLabel(this.component._hideLabel);\n\t\tthis.validateHint(this.component._hint);\n\t\tthis.validateId(this.component._id);\n\t\tthis.validateLabel(this.component._label);\n\t\tthis.validateSmartButton(this.component._smartButton);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateTabIndex(this.component._tabIndex);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('blur', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tconst value = (event.target as HTMLInputElement).value;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('change', this.host, value);\n\n\t\t// Static form handling\n\t\tthis.setFormAssociatedValue(value);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\t/**\n\t\t\t * TODO\n\t\t\t * Value-Handling muss für InputDate und InputNumber optimiert werden\n\t\t\t * - value\n\t\t\t * - valueAsNumber\n\t\t\t * - valueAsDate\n\t\t\t */\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\n\t\t/**\n\t\t * TODO: Was ist das?\n\t\t */\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('click', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.component._alert = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('focus', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\n\t\t}\n\t}\n\n\tpublic setValue(event: Event, value: string | number | boolean): void {\n\t\tthis.setFormAssociatedValue(value as string);\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tpublic addValueChangeListener(listener: ValueChangeListener) {\n\t\tthis.valueChangeListeners.push(listener);\n\t}\n\n\t/**\n\t * Hinweis: In der Subklasse 'InputPasswordController'\n\t * werden die Methoden onBlur und onFocus\n\t * überschrieben.\n\t * Es werden somit zunächst die Methoden der\n\t * Subklasse ausgeführt und danach die der\n\t * Oberklassen.\n\t */\n\tpublic readonly onFacade = {\n\t\tonBlur: this.onBlur.bind(this),\n\t\tonChange: this.onChange.bind(this),\n\t\tonClick: this.onClick.bind(this),\n\t\tonFocus: this.onFocus.bind(this),\n\t};\n}\n"],"mappings":";;;4UASaA,EAAmBC,IAU/B,MAAMC,SAAkBD,EAAME,SAAW,UAAYF,EAAME,OAAOC,OAAS,GAAKH,EAAMI,WAAa,KACnG,MAAMC,SAAiBL,EAAMM,QAAU,UAAYN,EAAMM,MAAMH,OAAS,EAExE,MAAMI,EAA4B,GAClC,GAAIN,IAAa,KAAM,CACtBM,EAAgBC,KAAK,GAAGR,EAAMS,Y,CAE/B,GAAIJ,IAAY,KAAM,CACrBE,EAAgBC,KAAK,GAAGR,EAAMS,W,CAE/B,MAAO,CAAER,WAAUI,UAASE,kBAAiB,ECdvC,MAAMG,EAAuB,CAACC,EAAsCC,KAC1EC,EAAaF,EAAW,gBAAiBC,EAAM,ECDzC,MAAME,EAAkB,CAACH,EAAsCC,KACrEC,EAAaF,EAAW,WAAYC,EAAM,E,MCT9BG,UAAkCC,EAG9C,WAAAC,CAAmBN,EAA8CO,EAAcC,GAC9EC,MAAMT,EAAWO,EAAMC,GACvBE,KAAKV,UAAYA,C,CAGX,aAAAW,CAAcV,GACpBC,EAAaQ,KAAKV,UAAW,SAAUC,E,CAGjC,eAAAE,CAAgBF,GACtBE,EAAgBO,KAAKV,UAAWC,E,CAG1B,iBAAAW,GACNH,MAAMG,oBACNF,KAAKC,cAAcD,KAAKV,UAAUa,QAClCH,KAAKP,gBAAgBO,KAAKV,UAAUP,S,QCTzBqB,UAAwBV,EAKpC,WAAAE,CAAmBN,EAA8CO,EAAcC,GAC9EC,MAAMT,EAAWO,EAAMC,GAHPE,KAAAK,qBAA8C,GAsL/CL,KAAAM,SAAW,CAC1BC,OAAQP,KAAKO,OAAOC,KAAKR,MACzBS,SAAUT,KAAKS,SAASD,KAAKR,MAC7BU,QAASV,KAAKU,QAAQF,KAAKR,MAC3BW,QAASX,KAAKW,QAAQH,KAAKR,OAtL3BA,KAAKV,UAAYA,C,CAGX,iBAAAsB,CAAkBrB,GACxBsB,EAAYb,KAAKV,UAAW,aAAcC,E,CAGpC,oBAAAF,CAAqBE,GAC3BF,EAAqBW,KAAKV,UAAWC,E,CAG/B,gBAAAuB,CAAiBvB,GACvBC,EAAaQ,KAAKV,UAAW,YAAaC,GAC1C,GAAIA,IAAU,KAAM,CACnBwB,G,EAIK,aAAAC,CAAczB,GACpBsB,EAAYb,KAAKV,UAAW,SAAUC,E,CAGhC,iBAAA0B,CAAkB1B,GACxB0B,EAAkBjB,KAAKV,UAAWC,EAAO,CACxC2B,MAAO,CACNC,WAAY,KACX,GAAInB,KAAKV,UAAUX,MAAMyC,WAAY,CACpCC,EAAS,6H,MAOP,YAAAC,CAAa/B,GACnBsB,EAAYb,KAAKV,UAAW,QAASC,E,CAG/B,UAAAgC,CAAWhC,GACjBsB,EAAYb,KAAKV,UAAW,MAAOC,EAAO,CACzC2B,MAAO,CACNC,WAAY,KACXnB,KAAKwB,aAAa,KAAMxB,KAAKyB,eAAgBzB,KAAKV,UAAUX,MAAMS,IAAc,GAGlFsC,UAAW,IAEZ,GAAInC,IAAU,WAAaA,IAAU,YAAa,CACjDoC,EAAQ,yH,EAIH,aAAAC,CAAcrC,GACpBsC,EAA4B7B,KAAKV,UAAWC,E,CAGtC,UAAAuC,CAAWvC,GACjB,UAAWA,IAAU,SAAU,CAC9BwC,EAAS/B,KAAKV,UAAW,MAAOC,E,EAI3B,mBAAAyC,CAAoBzC,GAC1B0C,EAAoB1C,GAAO,KAC1B,IACCA,EAAQ2C,EAAuB3C,E,CAE9B,MAAO4C,G,CAGTJ,EAAS/B,KAAKV,UAAW,eAAgBC,EAAM,G,CAI1C,gBAAA6C,CAAiB7C,GACvB6C,EAAiBpC,KAAKV,UAAWC,E,CAG3B,iBAAAW,GACNH,MAAMG,oBACNF,KAAKY,kBAAkBZ,KAAKV,UAAU+C,YACtCrC,KAAKX,qBAAqBW,KAAKV,UAAUgD,eACzCtC,KAAKgB,cAAchB,KAAKV,UAAUT,QAClCmB,KAAKc,iBAAiBd,KAAKV,UAAUiD,WACrCvC,KAAKiB,kBAAkBjB,KAAKV,UAAU8B,YACtCpB,KAAKsB,aAAatB,KAAKV,UAAUL,OACjCe,KAAKuB,WAAWvB,KAAKV,UAAUF,KAC/BY,KAAK4B,cAAc5B,KAAKV,UAAUkD,QAClCxC,KAAKgC,oBAAoBhC,KAAKV,UAAUmD,cACxCzC,KAAK8B,WAAW9B,KAAKV,UAAUoD,KAC/B1C,KAAKoC,iBAAiBpC,KAAKV,UAAUqD,U,CAG5B,MAAApC,CAAOqC,G,MAChB5C,KAAKV,UAAUa,OAAS,KACxBH,KAAKV,UAAUP,SAAW,KAG1B8D,EAAgBD,GAChBE,EAA0B,OAAQ9C,KAAKF,MAGvC,WAAWiD,EAAA/C,KAAKV,UAAUoD,OAAG,MAAAK,SAAA,SAAAA,EAAExC,UAAW,WAAY,CACrDP,KAAKV,UAAUoD,IAAInC,OAAOqC,E,EAIlB,QAAAnC,CAASmC,G,MAClB,MAAMrD,EAASqD,EAAMI,OAA4BzD,MAGjDsD,EAAgBD,GAChBE,EAA0B,SAAU9C,KAAKF,KAAMP,GAG/CS,KAAKiD,uBAAuB1D,GAG5B,WAAWwD,EAAA/C,KAAKV,UAAUoD,OAAG,MAAAK,SAAA,SAAAA,EAAEtC,YAAa,WAAY,CAQvDT,KAAKV,UAAUoD,IAAIjC,SAASmC,EAAOrD,E,CAMpCS,KAAKK,qBAAqB6C,SAASC,GAAaA,EAAS5D,I,CAGhD,OAAAmB,CAAQkC,G,MAEjBC,EAAgBD,GAChBE,EAA0B,QAAS9C,KAAKF,MAGxC,WAAWiD,EAAA/C,KAAKV,UAAUoD,OAAG,MAAAK,SAAA,SAAAA,EAAErC,WAAY,WAAY,CACtDV,KAAKV,UAAUoD,IAAIhC,QAAQkC,E,EAInB,OAAAjC,CAAQiC,G,MACjB5C,KAAKV,UAAUa,OAAS,KAGxB0C,EAAgBD,GAChBE,EAA0B,QAAS9C,KAAKF,MAGxC,WAAWiD,EAAA/C,KAAKV,UAAUoD,OAAG,MAAAK,SAAA,SAAAA,EAAEpC,WAAY,WAAY,CACtDX,KAAKV,UAAUoD,IAAI/B,QAAQiC,E,EAItB,QAAAQ,CAASR,EAAcrD,G,MAC7BS,KAAKiD,uBAAuB1D,GAC5B,WAAWwD,EAAA/C,KAAKV,UAAUoD,OAAG,MAAAK,SAAA,SAAAA,EAAEtC,YAAa,WAAY,CACvDT,KAAKV,UAAUoD,IAAIjC,SAASmC,EAAOrD,E,EAI9B,sBAAA8D,CAAuBF,GAC7BnD,KAAKK,qBAAqBlB,KAAKgE,E"}
|
|
1
|
+
{"version":3,"names":["getRenderStates","state","hasError","_error","length","_touched","hasHint","_hint","ariaDescribedBy","push","_id","validateAdjustHeight","component","value","watchBoolean","validateTouched","ControlledInputController","AssociatedInputController","constructor","name","host","super","this","validateAlert","componentWillLoad","_alert","InputController","valueChangeListeners","onFacade","onBlur","bind","onChange","onClick","onFocus","validateAccessKey","watchString","validateDisabled","a11yHintDisabled","validateError","validateHideLabel","hooks","afterPatch","_hideLabel","a11yHint","validateHint","validateId","setAttribute","formAssociated","minLength","devHint","validateLabel","validateLabelWithExpertSlot","validateOn","setState","validateSmartButton","objectObjectHandler","parseJson","e","validateTabIndex","_accessKey","_adjustHeight","_disabled","_label","_smartButton","_on","_tabIndex","event","stopPropagation","tryToDispatchKoliBriEvent","_a","target","setFormAssociatedValue","forEach","listener","setValue","addValueChangeListener"],"sources":["src/components/input/controller.ts","src/types/props/adjust-height.ts","src/types/props/touched.ts","src/components/input-adapter-leanup/controller.ts","src/components/@deprecated/input/controller.ts"],"sourcesContent":["import { TouchedPropType } from '../../types/props/touched';\n\n/**\n * Berechnet in Abhängigkeit des Component-State, wie die\n * aria-describedby-Attributs gesetzt werden sollen.\n *\n * @param state State der Component\n * @returns Render-States\n */\nexport const getRenderStates = (state: {\n\t_error?: string;\n\t_hint?: string;\n\t_id: string;\n\t_touched?: TouchedPropType;\n}): {\n\thasError: boolean;\n\thasHint: boolean;\n\tariaDescribedBy: string[];\n} => {\n\tconst hasError = typeof state._error === 'string' && state._error.length > 0 && state._touched === true;\n\tconst hasHint = typeof state._hint === 'string' && state._hint.length > 0;\n\n\tconst ariaDescribedBy: string[] = [];\n\tif (hasError === true) {\n\t\tariaDescribedBy.push(`${state._id}-error`);\n\t}\n\tif (hasHint === true) {\n\t\tariaDescribedBy.push(`${state._id}-hint`);\n\t}\n\treturn { hasError, hasHint, ariaDescribedBy };\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type AdjustHeightPropType = boolean;\n\n/**\n * Adjusts the height of the element to its content.\n */\nexport type PropAdjustHeight = {\n\tadjustHeight: AdjustHeightPropType;\n};\n\n/* validator */\nexport const validateAdjustHeight = (component: Generic.Element.Component, value?: AdjustHeightPropType): void => {\n\twatchBoolean(component, '_adjustHeight', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type TouchedPropType = boolean;\n\n/**\n * Shows if the input was touched by a user.\n */\nexport type PropTouched = {\n\ttouched: TouchedPropType;\n};\n\n/* validator */\nexport const validateTouched = (component: Generic.Element.Component, value?: TouchedPropType): void => {\n\twatchBoolean(component, '_touched', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { validateTouched } from '../../types/props/touched';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { AssociatedInputController } from './associated.controller';\nimport { Props, Watches } from './types';\n\nexport class ControlledInputController extends AssociatedInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\tvalidateTouched(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import { Generic } from '@a11y-ui/core';\n\nimport { InputTypeOnDefault } from '../../../types/input/types';\nimport { AdjustHeightPropType, validateAdjustHeight } from '../../../types/props/adjust-height';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../../types/props/label';\nimport { a11yHint, a11yHintDisabled, devHint } from '../../../utils/a11y.tipps';\nimport { stopPropagation, tryToDispatchKoliBriEvent } from '../../../utils/events';\nimport { objectObjectHandler, parseJson, setState, watchBoolean, watchString } from '../../../utils/prop.validators';\nimport { validateTabIndex } from '../../../utils/validators/tab-index';\nimport { ControlledInputController } from '../../input-adapter-leanup/controller';\nimport { Props as ButtonProps } from '../../button/types';\nimport { Props as AdapterProps } from '../../input-adapter-leanup/types';\nimport { Props, Watches } from './types';\nimport { validateHideLabel } from '../../../types/props/hide-label';\n\ntype ValueChangeListener = (value: string) => void;\n\nexport class InputController extends ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props & AdapterProps;\n\n\tprivate readonly valueChangeListeners: ValueChangeListener[] = [];\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAccessKey(value?: string): void {\n\t\twatchString(this.component, '_accessKey', value);\n\t}\n\n\tpublic validateAdjustHeight(value?: AdjustHeightPropType): void {\n\t\tvalidateAdjustHeight(this.component, value);\n\t}\n\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this.component, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\tpublic validateError(value?: string): void {\n\t\twatchString(this.component, '_error', value);\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideLabel) {\n\t\t\t\t\t\ta11yHint('Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateHint(value?: string): void {\n\t\twatchString(this.component, '_hint', value);\n\t}\n\n\tpublic validateId(value?: string): void {\n\t\twatchString(this.component, '_id', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('id', this.formAssociated, this.component.state._id as string);\n\t\t\t\t},\n\t\t\t},\n\t\t\tminLength: 1,\n\t\t});\n\t\tif (value === '' || typeof value === 'undefined') {\n\t\t\tdevHint(`Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.`);\n\t\t}\n\t}\n\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this.component, value);\n\t}\n\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tif (typeof value === 'object') {\n\t\t\tsetState(this.component, '_on', value);\n\t\t}\n\t}\n\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this.component, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAccessKey(this.component._accessKey);\n\t\tthis.validateAdjustHeight(this.component._adjustHeight);\n\t\tthis.validateError(this.component._error);\n\t\tthis.validateDisabled(this.component._disabled);\n\t\tthis.validateHideLabel(this.component._hideLabel);\n\t\tthis.validateHint(this.component._hint);\n\t\tthis.validateId(this.component._id);\n\t\tthis.validateLabel(this.component._label);\n\t\tthis.validateSmartButton(this.component._smartButton);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateTabIndex(this.component._tabIndex);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('blur', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tconst value = (event.target as HTMLInputElement).value;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('change', this.host, value);\n\n\t\t// Static form handling\n\t\tthis.setFormAssociatedValue(value);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\t/**\n\t\t\t * TODO\n\t\t\t * Value-Handling muss für InputDate und InputNumber optimiert werden\n\t\t\t * - value\n\t\t\t * - valueAsNumber\n\t\t\t * - valueAsDate\n\t\t\t */\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\n\t\t/**\n\t\t * TODO: Was ist das?\n\t\t */\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('click', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.component._alert = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('focus', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\n\t\t}\n\t}\n\n\tpublic setValue(event: Event, value: string | number | boolean): void {\n\t\tthis.setFormAssociatedValue(value as string);\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tpublic addValueChangeListener(listener: ValueChangeListener) {\n\t\tthis.valueChangeListeners.push(listener);\n\t}\n\n\t/**\n\t * Hinweis: In der Subklasse 'InputPasswordController'\n\t * werden die Methoden onBlur und onFocus\n\t * überschrieben.\n\t * Es werden somit zunächst die Methoden der\n\t * Subklasse ausgeführt und danach die der\n\t * Oberklassen.\n\t */\n\tpublic readonly onFacade = {\n\t\tonBlur: this.onBlur.bind(this),\n\t\tonChange: this.onChange.bind(this),\n\t\tonClick: this.onClick.bind(this),\n\t\tonFocus: this.onFocus.bind(this),\n\t};\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* KoliBri - The accessible HTML-Standard
|
|
3
|
+
*/
|
|
4
|
+
import{a as t,w as s,e as i,d as e}from"./prop.validators-63a3830b.js";import{I as a}from"./controller-icon-43a83f6c.js";const h=(e,o)=>{t(e,"_hasCounter",o)};class o extends a{constructor(t,e,o){super(t,e,o),this.component=t}validateAutoComplete(t){s(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateHasCounter(t){h(this.component,t)}validateMaxLength(t){i(this.component,"_maxLength",t,{min:0})}validatePattern(t){e(this.component,"_pattern",t)}validatePlaceholder(t){e(this.component,"_placeholder",t)}validateReadOnly(e){t(this.component,"_readOnly",e)}validateRequired(e){t(this.component,"_required",e)}validateSize(t){i(this.component,"_size",t,{min:1})}validateValue(t){e(this.component,"_value",t),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateHasCounter(this.component._hasCounter),this.validateMaxLength(this.component._maxLength),this.validatePattern(this.component._pattern),this.validatePlaceholder(this.component._placeholder),this.validateReadOnly(this.component._readOnly),this.validateRequired(this.component._required),this.validateSize(this.component._size),this.validateValue(this.component._value)}onBlur(t){this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:this.placeholderCache}),this.placeholderCache=void 0,super.onBlur(t)}onFocus(t){this.placeholderCache=this.component.state._placeholder,this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:void 0}),super.onFocus(t)}}export{o as I,h as v};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["validateHasCounter","component","value","watchBoolean","InputPasswordController","InputIconController","constructor","name","host","super","this","validateAutoComplete","watchValidator","Set","validateMaxLength","watchNumber","min","validatePattern","watchString","validatePlaceholder","validateReadOnly","validateRequired","validateSize","validateValue","setFormAssociatedValue","state","_value","componentWillLoad","_autoComplete","_hasCounter","_maxLength","_pattern","_placeholder","_readOnly","_required","_size","onBlur","event","Object","assign","placeholderCache","undefined","onFocus"],"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 */\nexport type HasCounterPropType = boolean;\n\n/**\n * Shows the character count on the lower border of the input.\n */\nexport type PropHasCounter = {\n\thasCounter: HasCounterPropType;\n};\n\n/* validator */\nexport const validateHasCounter = (component: Generic.Element.Component, value?: HasCounterPropType): void => {\n\twatchBoolean(component, '_hasCounter', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { InputTypeOnOff } from '../../types/input/types';\nimport { validateHasCounter } from '../../types/props/has-counter';\nimport { watchBoolean, watchNumber, watchString, watchValidator } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputPasswordController extends InputIconController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate placeholderCache?: string;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_autoComplete',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'on' || value === 'off'),\n\t\t\tnew Set(['on | off']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic validateMaxLength(value?: number): void {\n\t\twatchNumber(this.component, '_maxLength', value, {\n\t\t\tmin: 0,\n\t\t});\n\t}\n\n\tpublic validatePattern(value?: string): void {\n\t\twatchString(this.component, '_pattern', value);\n\t}\n\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\tpublic validateReadOnly(value?: boolean): void {\n\t\twatchBoolean(this.component, '_readOnly', value);\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic 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"],"mappings":"
|
|
1
|
+
{"version":3,"names":["validateHasCounter","component","value","watchBoolean","InputPasswordController","InputIconController","constructor","name","host","super","this","validateAutoComplete","watchValidator","Set","validateMaxLength","watchNumber","min","validatePattern","watchString","validatePlaceholder","validateReadOnly","validateRequired","validateSize","validateValue","setFormAssociatedValue","state","_value","componentWillLoad","_autoComplete","_hasCounter","_maxLength","_pattern","_placeholder","_readOnly","_required","_size","onBlur","event","Object","assign","placeholderCache","undefined","onFocus"],"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 */\nexport type HasCounterPropType = boolean;\n\n/**\n * Shows the character count on the lower border of the input.\n */\nexport type PropHasCounter = {\n\thasCounter: HasCounterPropType;\n};\n\n/* validator */\nexport const validateHasCounter = (component: Generic.Element.Component, value?: HasCounterPropType): void => {\n\twatchBoolean(component, '_hasCounter', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { InputTypeOnOff } from '../../types/input/types';\nimport { validateHasCounter } from '../../types/props/has-counter';\nimport { watchBoolean, watchNumber, watchString, watchValidator } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputPasswordController extends InputIconController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate placeholderCache?: string;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_autoComplete',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'on' || value === 'off'),\n\t\t\tnew Set(['on | off']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic validateMaxLength(value?: number): void {\n\t\twatchNumber(this.component, '_maxLength', value, {\n\t\t\tmin: 0,\n\t\t});\n\t}\n\n\tpublic validatePattern(value?: string): void {\n\t\twatchString(this.component, '_pattern', value);\n\t}\n\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\tpublic validateReadOnly(value?: boolean): void {\n\t\twatchBoolean(this.component, '_readOnly', value);\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic 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"],"mappings":";;;+HAeaA,EAAqB,CAACC,EAAsCC,KACxEC,EAAaF,EAAW,cAAeC,EAAM,E,MCRjCE,UAAgCC,EAI5C,WAAAC,CAAmBL,EAA8CM,EAAcC,GAC9EC,MAAMR,EAAWM,EAAMC,GACvBE,KAAKT,UAAYA,C,CAGX,oBAAAU,CAAqBT,GAC3BU,EACCF,KAAKT,UACL,iBACCC,UAA0BA,IAAU,WAAaA,IAAU,MAAQA,IAAU,QAC9E,IAAIW,IAAI,CAAC,aACTX,E,CAIK,kBAAAF,CAAmBE,GACzBF,EAAmBU,KAAKT,UAAWC,E,CAG7B,iBAAAY,CAAkBZ,GACxBa,EAAYL,KAAKT,UAAW,aAAcC,EAAO,CAChDc,IAAK,G,CAIA,eAAAC,CAAgBf,GACtBgB,EAAYR,KAAKT,UAAW,WAAYC,E,CAGlC,mBAAAiB,CAAoBjB,GAC1BgB,EAAYR,KAAKT,UAAW,eAAgBC,E,CAGtC,gBAAAkB,CAAiBlB,GACvBC,EAAaO,KAAKT,UAAW,YAAaC,E,CAGpC,gBAAAmB,CAAiBnB,GACvBC,EAAaO,KAAKT,UAAW,YAAaC,E,CAGpC,YAAAoB,CAAapB,GACnBa,EAAYL,KAAKT,UAAW,QAASC,EAAO,CAC3Cc,IAAK,G,CAIA,aAAAO,CAAcrB,GACpBgB,EAAYR,KAAKT,UAAW,SAAUC,GACtCQ,KAAKc,uBAAuBd,KAAKT,UAAUwB,MAAMC,O,CAG3C,iBAAAC,GACNlB,MAAMkB,oBACNjB,KAAKC,qBAAqBD,KAAKT,UAAU2B,eACzClB,KAAKV,mBAAmBU,KAAKT,UAAU4B,aACvCnB,KAAKI,kBAAkBJ,KAAKT,UAAU6B,YACtCpB,KAAKO,gBAAgBP,KAAKT,UAAU8B,UACpCrB,KAAKS,oBAAoBT,KAAKT,UAAU+B,cACxCtB,KAAKU,iBAAiBV,KAAKT,UAAUgC,WACrCvB,KAAKW,iBAAiBX,KAAKT,UAAUiC,WACrCxB,KAAKY,aAAaZ,KAAKT,UAAUkC,OACjCzB,KAAKa,cAAcb,KAAKT,UAAUyB,O,CAGzB,MAAAU,CAAOC,GAoBhB3B,KAAKT,UAAUwB,MAAKa,OAAAC,OAAAD,OAAAC,OAAA,GAChB7B,KAAKT,UAAUwB,OAAK,CACvBO,aAActB,KAAK8B,mBAEpB9B,KAAK8B,iBAAmBC,UACxBhC,MAAM2B,OAAOC,E,CAGJ,OAAAK,CAAQL,GACjB3B,KAAK8B,iBAAmB9B,KAAKT,UAAUwB,MAAMO,aAC7CtB,KAAKT,UAAUwB,MAAKa,OAAAC,OAAAD,OAAAC,OAAA,GAChB7B,KAAKT,UAAUwB,OAAK,CACvBO,aAAcS,YAEfhC,MAAMiC,QAAQL,E"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{i as o}from"./icon-
|
|
4
|
+
import{i as o}from"./icon-309643bd.js";import{o as t,p as s,w as i}from"./prop.validators-63a3830b.js";import{i as r}from"./reuse-3698e2f5.js";import{I as e}from"./controller-85849189.js";const c=(o,t)=>{const e=o;"object"==typeof e&&null!==e&&(r(e.right,1)&&(e.right={icon:e.right}),r(e.left,1)&&(e.left={icon:e.left}),t.set("_icon",e))};class n extends e{constructor(o,t,e){super(o,t,e),this.component=o}validateIcon(e){t(e,(()=>{try{e=s(e)}catch(o){}i(this.component,"_icon",(t=>"object"==typeof t&&null!==t&&(r(t.left,1)||o(t.left)||r(t.right,1)||o(t.right))),new Set(["KoliBriHorizontalIcon"]),e,{hooks:{beforePatch:c},required:!0})}))}componentWillLoad(){super.componentWillLoad(),this.validateIcon(this.component._icon)}}export{n as I};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{w as a,d as o}from"./prop.validators-
|
|
4
|
+
import{w as a,d as o}from"./prop.validators-63a3830b.js";const r=(o,r)=>{a(o,"_variant",(a=>"primary"===a||"secondary"===a||"normal"===a||"danger"===a||"ghost"===a||"custom"===a),new Set(["KoliBriButtonVariant {primary, secondary, normal, danger, ghost, custom}"]),r,{defaultValue:"normal"})},s=(a,r)=>{o(a,"_customClass",r,{defaultValue:void 0})};export{r as a,s as v};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{p as e}from"./reuse-
|
|
4
|
+
import{p as e}from"./reuse-3698e2f5.js";class t{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 n=0;n<e.children.length;n++)this.lockFocus(e.children[n],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,n)=>{n.style.display=t===n?"inline":"none"})),l().body.style.maxHeight="100vh",l().body.style.overflow="hidden",this.lockFocus(l().body,t)}else l().body.style.maxHeight="unset",l().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?m.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)m.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide.");else{const n=null===(t=this.modalStack.get(e))||void 0===t?void 0:t.activeElement;this.modalStack.delete(e),this.renderModalIfExists(n)}}}let n=null,i=null;const o=e=>{e instanceof Window?(n=e,n.document instanceof Document?i=e.document:console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},s=()=>n||"undefined"==typeof window?null:window,l=()=>i||void 0===s().document?null:s().document;let a=null,c=null,r=null,u=null;const d=()=>!0===c,f=()=>!0===r,h=()=>!0===u;class m{static mapToArray(e){return Array.isArray(e)?e:[e]}static handleClassifier(e){return"string"==typeof e&&e.length>0?`${m.shield.label} | ${e}`:m.shield.label}static getShield(e){return[m.handleClassifier(null==e?void 0:e.classifier),`${m.shield.style};${(null==e?void 0:e.overwriteStyle)||""}`]}static debug(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.debug(...m.getShield(t),...m.mapToArray(e))}static info(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.info(...m.getShield(t),...m.mapToArray(e))}static trace(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.trace(...m.getShield(t),...m.mapToArray(e))}static warn(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.warn(...m.getShield(t),...m.mapToArray(e))}static error(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.error(...m.getShield(t),...m.mapToArray(e))}static throw(e,t){if(c||!0===(null==t?void 0:t.forceLog))throw new Error(...m.getShield(t),...m.mapToArray(e))}}m.shield={label:"%cKoliBri",style:"color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000"};const v=()=>{if(null===c&&null===r&&null===u){const e=l().querySelector('meta[name="kolibri"]');e&&e.hasAttribute("content")&&(a=e.getAttribute("content"),"string"==typeof a&&(c=a.includes("dev-mode=true"),r=a.includes("experimental-mode=true"),u=a.includes("color-contrast-analysis=true")))}else console.warn("You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.")};let p=null;const b=()=>p||{},M=()=>{if(null===p){p=s().KoliBri||{};const e=new t;Object.defineProperty(p,"Modal",{get:function(){return e}}),v(),m.debug("\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n\t| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n\t| |\\ \\ | '-' | | | | | | '--' / | | | |\n\t`--' `--´ `---´ `--' `--' `------´ `--' `--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 1.7.0-rc.11\n\t\t",{forceLog:!0})}else console.warn("You can only initialize KoliBri once.")},g=()=>{void 0===s().KoliBri&&Object.defineProperty(window,"KoliBri",{get:function(){return p}}),!0!==b().adviceShown&&(Object.defineProperty(p,"adviceShown",{get:function(){return!0}}),m.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 w=()=>Math.floor(16777215*Math.random()).toString(16);"test"===e&&(w=()=>"nonce");export{p as K,m as L,s as a,f as b,o as c,b as d,d as e,h as f,l as g,M as i,w as n,g as r};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ModalService","constructor","this","lockedElements","Map","modalStack","lockElement","htmlElement","tabIndex","getAttribute","HTMLAnchorElement","HTMLButtonElement","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","dataset","kolModal","undefined","set","setAttribute","style","userSelect","unlockElement","value","removeAttribute","delete","unlockLockedElements","forEach","bind","lockFocus","hostElement","excludeElement","HTMLElement","ShadowRoot","shadowRoot","i","children","length","renderModalIfExists","activeElement","has","get","timeout","setTimeout","clearTimeout","focus","size","modalKeys","Array","from","keys","modalRef","_value","display","getDocument","body","maxHeight","overflow","openModal","Log","warn","closeModal","_a","WINDOW","DOCUMENT","configKoliBri","window","Window","document","Document","console","getWindow","META_CONFIG","DEV_MODE","EXPERIMENTAL_MODE","COLOR_CONTRAST_ANALYSIS","getDevMode","getExperimentalMode","getColorContrastAnalysis","mapToArray","msg","isArray","handleClassifier","classifier","shield","label","getShield","options","overwriteStyle","debug","forceLog","info","trace","error","Error","initMeta","meta","querySelector","hasAttribute","includes","KoliBri","getKoliBri","initKoliBri","Modal","Object","defineProperty","renderDevAdvice","adviceShown","nonce","Math","floor","random","toString","processEnv"],"sources":["src/components/modal/service.ts","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 { ModalService } from '../components/modal/service';\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\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\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 | 1.7.0-rc.0\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["ModalService","constructor","this","lockedElements","Map","modalStack","lockElement","htmlElement","tabIndex","getAttribute","HTMLAnchorElement","HTMLButtonElement","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","dataset","kolModal","undefined","set","setAttribute","style","userSelect","unlockElement","value","removeAttribute","delete","unlockLockedElements","forEach","bind","lockFocus","hostElement","excludeElement","HTMLElement","ShadowRoot","shadowRoot","i","children","length","renderModalIfExists","activeElement","has","get","timeout","setTimeout","clearTimeout","focus","size","modalKeys","Array","from","keys","modalRef","_value","display","getDocument","body","maxHeight","overflow","openModal","Log","warn","closeModal","_a","WINDOW","DOCUMENT","configKoliBri","window","Window","document","Document","console","getWindow","META_CONFIG","DEV_MODE","EXPERIMENTAL_MODE","COLOR_CONTRAST_ANALYSIS","getDevMode","getExperimentalMode","getColorContrastAnalysis","mapToArray","msg","isArray","handleClassifier","classifier","shield","label","getShield","options","overwriteStyle","debug","forceLog","info","trace","error","Error","initMeta","meta","querySelector","hasAttribute","includes","KoliBri","getKoliBri","initKoliBri","Modal","Object","defineProperty","renderDevAdvice","adviceShown","nonce","Math","floor","random","toString","processEnv"],"sources":["src/components/modal/service.ts","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 { ModalService } from '../components/modal/service';\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\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\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 | 1.7.0-rc.11\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"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* KoliBri - The accessible HTML-Standard
|
|
3
3
|
*/
|
|
4
|
-
import{i as t,e as o,r as s,g as e,L as a,b as r,f as i,K as l}from"./dev.utils-
|
|
4
|
+
import{i as t,e as o,r as s,g as e,L as a,b as r,f as i,K as l}from"./dev.utils-a315a059.js";import{n,q as p,k as f,t as c,u as L,p as d,v as m}from"./prop.validators-63a3830b.js";import"./reuse-3698e2f5.js";import"./a11y.tipps-696eb980.js";import"./index-d49940eb.js";function u(t,e){try{Object.defineProperty(l,t,{get:function(){return e}})}catch(e){a.debug(`KoliBri property ${t} is already bind.`)}}const v=(t,e)=>a.debug(`${t} ${e?"":"not "}activated`),h=()=>{if(t(),o()){s(),u("a11yColorContrast",p),u("querySelector",f),u("querySelectorAll",c),u("querySelectorColors",L),u("utils",(function(){return n})),u("parseJson",d),u("stringifyJson",m);const t=e().body,a=e().createElement("svg");if(a.setAttribute("aria-label","KoliBri-DevTools"),a.setAttribute("xmlns","http://www.w3.org/2000/svg"),a.setAttribute("role","toolbar"),a.setAttribute("style","position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;"),a.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>',e().body.appendChild(a),v("Development mode",o()),v("Experimental mode",r()),v("Color contrast analysis",i()),i()){const o=setTimeout((()=>{clearTimeout(o),setInterval((()=>{n.queryHtmlElementColors(e().createElement("div"),p(t),!1,!1)}),1e4)}),2500)}}};export{h as initialize};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* KoliBri - The accessible HTML-Standard
|
|
3
|
+
*/
|
|
4
|
+
function t(t){t.stopImmediatePropagation(),t.stopPropagation()}function n(t,n){return new CustomEvent(`kol-${t}`,{bubbles:!0,cancelable:!0,composed:!0,detail:n})}function e(t,o,e){return t.dispatchEvent(n(o,e))}function o(t,n,o){n&&e(n,t,o)}export{t as s,o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["stopPropagation","event","stopImmediatePropagation","createKoliBriEvent","type","detail","CustomEvent","bubbles","cancelable","composed","dispatchKoliBriEvent","target","dispatch","dispatchEvent","tryToDispatchKoliBriEvent"],"sources":["src/utils/events.ts"],"sourcesContent":["// TODO: Should be synchronized with enums/events.ts\ntype KoliBriEventType = 'blur' | 'change' | 'click' | 'focus' | 'toggle';\n\nexport function stopPropagation(event: Event): void {\n\tevent.stopImmediatePropagation();\n\tevent.stopPropagation();\n}\n\nfunction createKoliBriEvent<T>(type: KoliBriEventType, detail: T): CustomEvent {\n\tconst event = new CustomEvent(`kol-${type}`, {\n\t\tbubbles: true,\n\t\tcancelable: true,\n\t\tcomposed: true,\n\t\tdetail: detail,\n\t});\n\treturn event;\n}\n\nfunction dispatchKoliBriEvent<T>(target: EventTarget, type: KoliBriEventType, detail?: T): boolean {\n\tconst dispatch = target.dispatchEvent(createKoliBriEvent(type, detail));\n\treturn dispatch;\n}\n\nexport function tryToDispatchKoliBriEvent<T>(type: KoliBriEventType, target?: EventTarget, detail?: T): void {\n\ttarget && dispatchKoliBriEvent(target, type, detail);\n}\n"],"mappings":";;;SAGgBA,EAAgBC,GAC/BA,EAAMC,2BACND,EAAMD,iBACP,CAEA,SAASG,EAAsBC,EAAwBC,GACtD,MAAMJ,EAAQ,IAAIK,YAAY,OAAOF,IAAQ,CAC5CG,QAAS,KACTC,WAAY,KACZC,SAAU,KACVJ,OAAQA,IAET,OAAOJ,CACR,CAEA,SAASS,EAAwBC,EAAqBP,EAAwBC,GAC7E,MAAMO,EAAWD,EAAOE,cAAcV,EAAmBC,EAAMC,IAC/D,OAAOO,CACR,C,SAEgBE,EAA6BV,EAAwBO,EAAsBN,GAC1FM,GAAUD,EAAqBC,EAAQP,EAAMC,EAC9C,Q"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* KoliBri - The accessible HTML-Standard
|
|
3
|
+
*/
|
|
4
|
+
const t=Math.min,n=Math.max,e=Math.round,o=Math.floor,i=t=>({x:t,y:t}),r={left:"right",right:"left",bottom:"top",top:"bottom"},s={start:"end",end:"start"};function c(e,o,i){return n(e,t(o,i))}function l(t,e){return"function"==typeof t?t(e):t}function f(t){return t.split("-")[0]}function a(t){return t.split("-")[1]}function u(t){return"x"===t?"y":"x"}function d(t){return"y"===t?"height":"width"}function m(t){return["top","bottom"].includes(f(t))?"y":"x"}function y(t){return u(m(t))}function p(t,e,n){void 0===n&&(n=!1);const o=a(t),i=y(t),r=d(i);let l="x"===i?o===(n?"end":"start")?"right":"left":"start"===o?"bottom":"top";return e.reference[r]>e.floating[r]&&(l=v(l)),[l,v(l)]}function h(t){const e=v(t);return[x(t),e,x(e)]}function x(t){return t.replace(/start|end/g,(t=>s[t]))}function g(t,e,n){const o=["left","right"],i=["right","left"],r=["top","bottom"],l=["bottom","top"];switch(t){case"top":case"bottom":return n?e?i:o:e?o:i;case"left":case"right":return e?r:l;default:return[]}}function w(t,e,n,o){const i=a(t);let r=g(f(t),"start"===n,o);return i&&(r=r.map((t=>t+"-"+i)),e&&(r=r.concat(r.map(x)))),r}function v(t){return t.replace(/left|right|bottom|top/g,(t=>r[t]))}function b(t){return{top:0,right:0,bottom:0,left:0,...t}}function A(t){return"number"!=typeof t?b(t):{top:t,right:t,bottom:t,left:t}}function R(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}function k(t,e,n){let{reference:o,floating:i}=t;const r=m(e),l=y(e),c=d(l),s=f(e),u="y"===r,p=o.x+o.width/2-i.width/2,h=o.y+o.height/2-i.height/2,g=o[c]/2-i[c]/2;let x;switch(s){case"top":x={x:p,y:o.y-i.height};break;case"bottom":x={x:p,y:o.y+o.height};break;case"right":x={x:o.x+o.width,y:h};break;case"left":x={x:o.x-i.width,y:h};break;default:x={x:o.x,y:o.y}}switch(a(e)){case"start":x[l]-=g*(n&&u?-1:1);break;case"end":x[l]+=g*(n&&u?-1:1)}return x}const S=async(t,e,n)=>{const{placement:o="bottom",strategy:i="absolute",middleware:r=[],platform:l}=n,c=r.filter(Boolean),s=await(null==l.isRTL?void 0:l.isRTL(e));let a=await l.getElementRects({reference:t,floating:e,strategy:i}),{x:f,y:u}=k(a,o,s),d=o,m={},p=0;for(let n=0;n<c.length;n++){const{name:r,fn:h}=c[n],{x:g,y:y,data:x,reset:w}=await h({x:f,y:u,initialPlacement:o,placement:d,strategy:i,middlewareData:m,rects:a,platform:l,elements:{reference:t,floating:e}});f=null!=g?g:f,u=null!=y?y:u,m={...m,[r]:{...m[r],...x}},w&&p<=50&&(p++,"object"==typeof w&&(w.placement&&(d=w.placement),w.rects&&(a=!0===w.rects?await l.getElementRects({reference:t,floating:e,strategy:i}):w.rects),({x:f,y:u}=k(a,d,s))),n=-1)}return{x:f,y:u,placement:d,strategy:i,middlewareData:m}};async function F(t,e){var n;void 0===e&&(e={});const{x:o,y:i,platform:r,rects:c,elements:s,strategy:a}=t,{boundary:f="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:m=!1,padding:p=0}=l(e,t),h=A(p),g=s[m?"floating"===d?"reference":"floating":d],y=R(await r.getClippingRect({element:null==(n=await(null==r.isElement?void 0:r.isElement(g)))||n?g:g.contextElement||await(null==r.getDocumentElement?void 0:r.getDocumentElement(s.floating)),boundary:f,rootBoundary:u,strategy:a})),x="floating"===d?{...c.floating,x:o,y:i}:c.reference,w=await(null==r.getOffsetParent?void 0:r.getOffsetParent(s.floating)),v=await(null==r.isElement?void 0:r.isElement(w))&&await(null==r.getScale?void 0:r.getScale(w))||{x:1,y:1},b=R(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({rect:x,offsetParent:w,strategy:a}):x);return{top:(y.top-b.top+h.top)/v.y,bottom:(b.bottom-y.bottom+h.bottom)/v.y,left:(y.left-b.left+h.left)/v.x,right:(b.right-y.right+h.right)/v.x}}const O=e=>({name:"arrow",options:e,async fn(n){const{x:o,y:i,placement:r,rects:s,platform:f,elements:u,middlewareData:m}=n,{element:p,padding:h=0}=l(e,n)||{};if(null==p)return{};const g=A(h),x={x:o,y:i},w=y(r),v=d(w),b=await f.getDimensions(p),R="y"===w,E=R?"top":"left",L=R?"bottom":"right",T=R?"clientHeight":"clientWidth",C=s.reference[v]+s.reference[w]-x[w]-s.floating[v],O=x[w]-s.reference[w],D=await(null==f.getOffsetParent?void 0:f.getOffsetParent(p));let S=D?D[T]:0;S&&await(null==f.isElement?void 0:f.isElement(D))||(S=u.floating[T]||s.floating[v]);const F=C/2-O/2,P=S/2-b[v]/2-1,k=t(g[E],P),W=t(g[L],P),z=k,X=S-b[v]-W,I=S/2-b[v]/2+F,H=c(z,I,X),V=!m.arrow&&null!=a(r)&&I!=H&&s.reference[v]/2-(I<z?k:W)-b[v]/2<0,B=V?I<z?I-z:I-X:0;return{[w]:x[w]+B,data:{[w]:H,centerOffset:I-H-B,...V&&{alignmentOffset:B}},reset:V}}}),T=function(t){return void 0===t&&(t={}),{name:"flip",options:t,async fn(e){var n,o;const{placement:i,middlewareData:r,rects:c,initialPlacement:s,platform:a,elements:u}=e,{mainAxis:d=!0,crossAxis:m=!0,fallbackPlacements:g,fallbackStrategy:y="bestFit",fallbackAxisSideDirection:x="none",flipAlignment:b=!0,...R}=l(t,e);if(null!=(n=r.arrow)&&n.alignmentOffset)return{};const E=f(i),L=f(s)===s,T=await(null==a.isRTL?void 0:a.isRTL(u.floating)),C=g||(L||!b?[v(s)]:h(s));g||"none"===x||C.push(...w(s,b,x,T));const A=[s,...C],O=await F(e,R),D=[];let S=(null==(o=r.flip)?void 0:o.overflows)||[];if(d&&D.push(O[E]),m){const t=p(i,c,T);D.push(O[t[0]],O[t[1]])}if(S=[...S,{placement:i,overflows:D}],!D.every((t=>t<=0))){var P,k;const t=((null==(P=r.flip)?void 0:P.index)||0)+1,e=A[t];if(e)return{data:{index:t,overflows:S},reset:{placement:e}};let n=null==(k=S.filter((t=>t.overflows[0]<=0)).sort(((t,e)=>t.overflows[1]-e.overflows[1]))[0])?void 0:k.placement;if(!n)switch(y){case"bestFit":{var W;const t=null==(W=S.map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,e)=>t+e),0)])).sort(((t,e)=>t[1]-e[1]))[0])?void 0:W[0];t&&(n=t);break}case"initialPlacement":n=s}if(i!==n)return{reset:{placement:n}}}return{}}}};async function P(t,e){const{placement:n,platform:o,elements:i}=t,r=await(null==o.isRTL?void 0:o.isRTL(i.floating)),c=f(n),s=a(n),u="y"===m(n),d=["left","top"].includes(c)?-1:1,p=r&&u?-1:1,h=l(e,t);let{mainAxis:g,crossAxis:y,alignmentAxis:x}="number"==typeof h?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...h};return s&&"number"==typeof x&&(y="end"===s?-1*x:x),u?{x:y*p,y:g*d}:{x:g*d,y:y*p}}const D=function(t){return void 0===t&&(t=0),{name:"offset",options:t,async fn(e){const{x:n,y:o}=e,i=await P(e,t);return{x:n+i.x,y:o+i.y,data:i}}}},M=function(t){return void 0===t&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:o,placement:i}=e,{mainAxis:r=!0,crossAxis:s=!1,limiter:a={fn:t=>{let{x:e,y:n}=t;return{x:e,y:n}}},...d}=l(t,e),p={x:n,y:o},h=await F(e,d),g=m(f(i)),y=u(g);let x=p[y],w=p[g];if(r){const t="y"===y?"bottom":"right";x=c(x+h["y"===y?"top":"left"],x,x-h[t])}if(s){const t="y"===g?"bottom":"right";w=c(w+h["y"===g?"top":"left"],w,w-h[t])}const v=a.fn({...e,[y]:x,[g]:w});return{...v,data:{x:v.x-n,y:v.y-o}}}}};function z(t){return B(t)?(t.nodeName||"").toLowerCase():"#document"}function C(t){var e;return(null==t||null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function L(t){var e;return null==(e=(B(t)?t.ownerDocument:t.document)||window.document)?void 0:e.documentElement}function B(t){return t instanceof Node||t instanceof C(t).Node}function E(t){return t instanceof Element||t instanceof C(t).Element}function I(t){return t instanceof HTMLElement||t instanceof C(t).HTMLElement}function N(t){return"undefined"!=typeof ShadowRoot&&(t instanceof ShadowRoot||t instanceof C(t).ShadowRoot)}function q(t){const{overflow:e,overflowX:n,overflowY:o,display:i}=X(t);return/auto|scroll|overlay|hidden|clip/.test(e+o+n)&&!["inline","contents"].includes(i)}function H(t){return["table","td","th"].includes(z(t))}function $(t){const e=V(),n=X(t);return"none"!==n.transform||"none"!==n.perspective||!!n.containerType&&"normal"!==n.containerType||!e&&!!n.backdropFilter&&"none"!==n.backdropFilter||!e&&!!n.filter&&"none"!==n.filter||["transform","perspective","filter"].some((t=>(n.willChange||"").includes(t)))||["paint","layout","strict","content"].some((t=>(n.contain||"").includes(t)))}function j(t){let e=_(t);for(;I(e)&&!W(e);){if($(e))return e;e=_(e)}return null}function V(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function W(t){return["html","body","#document"].includes(z(t))}function X(t){return C(t).getComputedStyle(t)}function Y(t){return E(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function _(t){if("html"===z(t))return t;const e=t.assignedSlot||t.parentNode||N(t)&&t.host||L(t);return N(e)?e.host:e}function G(t){const e=_(t);return W(e)?t.ownerDocument?t.ownerDocument.body:t.body:I(e)&&q(e)?e:G(e)}function J(t,e,n){var o;void 0===e&&(e=[]),void 0===n&&(n=!0);const i=G(t),r=i===(null==(o=t.ownerDocument)?void 0:o.body),l=C(i);return r?e.concat(l,l.visualViewport||[],q(i)?i:[],l.frameElement&&n?J(l.frameElement):[]):e.concat(i,J(i))}function K(t){const n=X(t);let o=parseFloat(n.width)||0,i=parseFloat(n.height)||0;const r=I(t),l=r?t.offsetWidth:o,c=r?t.offsetHeight:i,s=e(o)!==l||e(i)!==c;return s&&(o=l,i=c),{width:o,height:i,$:s}}function Q(t){return E(t)?t:t.contextElement}function U(t){const n=Q(t);if(!I(n))return i(1);const o=n.getBoundingClientRect(),{width:r,height:l,$:c}=K(n);let s=(c?e(o.width):o.width)/r,a=(c?e(o.height):o.height)/l;return s&&Number.isFinite(s)||(s=1),a&&Number.isFinite(a)||(a=1),{x:s,y:a}}const Z=i(0);function tt(t){const e=C(t);return V()&&e.visualViewport?{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}:Z}function nt(t,e,n){return void 0===e&&(e=!1),!(!n||e&&n!==C(t))&&e}function et(t,e,n,o){void 0===e&&(e=!1),void 0===n&&(n=!1);const r=t.getBoundingClientRect(),l=Q(t);let c=i(1);e&&(o?E(o)&&(c=U(o)):c=U(t));const s=nt(l,n,o)?tt(l):i(0);let a=(r.left+s.x)/c.x,f=(r.top+s.y)/c.y,u=r.width/c.x,d=r.height/c.y;if(l){const t=C(l),e=o&&E(o)?C(o):o;let n=t.frameElement;for(;n&&o&&e!==t;){const t=U(n),e=n.getBoundingClientRect(),o=X(n),i=e.left+(n.clientLeft+parseFloat(o.paddingLeft))*t.x,r=e.top+(n.clientTop+parseFloat(o.paddingTop))*t.y;a*=t.x,f*=t.y,u*=t.x,d*=t.y,a+=i,f+=r,n=C(n).frameElement}}return R({width:u,height:d,x:a,y:f})}function ot(t){let{rect:e,offsetParent:n,strategy:o}=t;const r=I(n),l=L(n);if(n===l)return e;let c={scrollLeft:0,scrollTop:0},s=i(1);const a=i(0);if((r||!r&&"fixed"!==o)&&(("body"!==z(n)||q(l))&&(c=Y(n)),I(n))){const t=et(n);s=U(n),a.x=t.x+n.clientLeft,a.y=t.y+n.clientTop}return{width:e.width*s.x,height:e.height*s.y,x:e.x*s.x-c.scrollLeft*s.x+a.x,y:e.y*s.y-c.scrollTop*s.y+a.y}}function it(t){return Array.from(t.getClientRects())}function rt(t){return et(L(t)).left+Y(t).scrollLeft}function st(t){const e=L(t),o=Y(t),i=t.ownerDocument.body,r=n(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),l=n(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let c=-o.scrollLeft+rt(t);const s=-o.scrollTop;return"rtl"===X(i).direction&&(c+=n(e.clientWidth,i.clientWidth)-r),{width:r,height:l,x:c,y:s}}function ct(t,e){const n=C(t),o=L(t),i=n.visualViewport;let r=o.clientWidth,l=o.clientHeight,c=0,s=0;if(i){r=i.width,l=i.height;const t=V();(!t||t&&"fixed"===e)&&(c=i.offsetLeft,s=i.offsetTop)}return{width:r,height:l,x:c,y:s}}function lt(t,e){const n=et(t,!0,"fixed"===e),o=n.top+t.clientTop,r=n.left+t.clientLeft,l=I(t)?U(t):i(1);return{width:t.clientWidth*l.x,height:t.clientHeight*l.y,x:r*l.x,y:o*l.y}}function ft(t,e,n){let o;if("viewport"===e)o=ct(t,n);else if("document"===e)o=st(L(t));else if(E(e))o=lt(e,n);else{const n=tt(t);o={...e,x:e.x-n.x,y:e.y-n.y}}return R(o)}function at(t,e){const n=_(t);return!(n===e||!E(n)||W(n))&&("fixed"===X(n).position||at(n,e))}function ut(t,e){const n=e.get(t);if(n)return n;let o=J(t,[],!1).filter((t=>E(t)&&"body"!==z(t))),i=null;const r="fixed"===X(t).position;let l=r?_(t):t;for(;E(l)&&!W(l);){const e=X(l),n=$(l);n||"fixed"!==e.position||(i=null);(r?!n&&!i:!n&&"static"===e.position&&!!i&&["absolute","fixed"].includes(i.position)||q(l)&&!n&&at(t,l))?o=o.filter((t=>t!==l)):i=e,l=_(l)}return e.set(t,o),o}function dt(e){let{element:o,boundary:i,rootBoundary:r,strategy:l}=e;const c=[..."clippingAncestors"===i?ut(o,this._c):[].concat(i),r],s=c[0],a=c.reduce(((e,i)=>{const r=ft(o,i,l);return e.top=n(r.top,e.top),e.right=t(r.right,e.right),e.bottom=t(r.bottom,e.bottom),e.left=n(r.left,e.left),e}),ft(o,s,l));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}}function mt(t){return K(t)}function yt(t,e,n){const o=I(e),r=L(e),l="fixed"===n,c=et(t,!0,l,e);let s={scrollLeft:0,scrollTop:0};const a=i(0);if(o||!o&&!l)if(("body"!==z(e)||q(r))&&(s=Y(e)),o){const t=et(e,!0,l,e);a.x=t.x+e.clientLeft,a.y=t.y+e.clientTop}else r&&(a.x=rt(r));return{x:c.left+s.scrollLeft-a.x,y:c.top+s.scrollTop-a.y,width:c.width,height:c.height}}function pt(t,e){return I(t)&&"fixed"!==X(t).position?e?e(t):t.offsetParent:null}function ht(t,e){const n=C(t);if(!I(t))return n;let o=pt(t,e);for(;o&&H(o)&&"static"===X(o).position;)o=pt(o,e);return o&&("html"===z(o)||"body"===z(o)&&"static"===X(o).position&&!$(o))?n:o||j(t)||n}const xt=async function(t){let{reference:e,floating:n,strategy:o}=t;const i=this.getOffsetParent||ht,r=this.getDimensions;return{reference:yt(e,await i(n),o),floating:{x:0,y:0,...await r(n)}}};function gt(t){return"rtl"===X(t).direction}const wt={convertOffsetParentRelativeRectToViewportRelativeRect:ot,getDocumentElement:L,getClippingRect:dt,getOffsetParent:ht,getElementRects:xt,getClientRects:it,getDimensions:mt,getScale:U,isElement:E,isRTL:gt};function vt(e,i){let r,l=null;const c=L(e);function s(){clearTimeout(r),l&&l.disconnect(),l=null}return function a(f,u){void 0===f&&(f=!1),void 0===u&&(u=1),s();const{left:d,top:m,width:p,height:h}=e.getBoundingClientRect();if(f||i(),!p||!h)return;const g={rootMargin:-o(m)+"px "+-o(c.clientWidth-(d+p))+"px "+-o(c.clientHeight-(m+h))+"px "+-o(d)+"px",threshold:n(0,t(1,u))||1};let y=!0;function x(t){const e=t[0].intersectionRatio;if(e!==u){if(!y)return a();e?a(!1,e):r=setTimeout((()=>{a(!1,1e-7)}),100)}y=!1}try{l=new IntersectionObserver(x,{...g,root:c.ownerDocument})}catch(t){l=new IntersectionObserver(x,g)}l.observe(e)}(!0),s}function bt(t,e,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:l="function"==typeof ResizeObserver,layoutShift:c="function"==typeof IntersectionObserver,animationFrame:s=!1}=o,a=Q(t),f=i||r?[...a?J(a):[],...J(e)]:[];f.forEach((t=>{i&&t.addEventListener("scroll",n,{passive:!0}),r&&t.addEventListener("resize",n)}));const u=a&&c?vt(a,n):null;let d,m=-1,p=null;l&&(p=new ResizeObserver((t=>{let[o]=t;o&&o.target===a&&p&&(p.unobserve(e),cancelAnimationFrame(m),m=requestAnimationFrame((()=>{p&&p.observe(e)}))),n()})),a&&!s&&p.observe(a),p.observe(e));let h=s?et(t):null;return s&&function e(){const o=et(t);!h||o.x===h.x&&o.y===h.y&&o.width===h.width&&o.height===h.height||n();h=o,d=requestAnimationFrame(e)}(),n(),()=>{f.forEach((t=>{i&&t.removeEventListener("scroll",n),r&&t.removeEventListener("resize",n)})),u&&u(),p&&p.disconnect(),p=null,s&&cancelAnimationFrame(d)}}const At=(t,e,n)=>{const o=new Map,i={platform:wt,...n},r={...i.platform,_c:o};return S(t,e,{...i,platform:r})};export{O as a,bt as b,At as c,T as f,D as o,M as s};
|